Merge pull request #1530 from Superalgos/develop
Develop into Master: Hot Fix Getting Started Plugin
This commit is contained in:
260 files changed
+201888
-24080
No files matched your search
@@ -16,9 +16,8 @@ exports.newMultiProject = function () {
|
||||
Here we will setup the CL object, with all the
|
||||
projects and modules that will have inside.
|
||||
*/
|
||||
global.CL = {
|
||||
projects: {}
|
||||
}
|
||||
CL.projects = {}
|
||||
|
||||
for (let i = 0; i < PROJECTS_SCHEMA.length; i++) {
|
||||
let projectDefinition = PROJECTS_SCHEMA[i]
|
||||
global.CL.projects[projectDefinition.propertyName] = {}
|
||||
|
||||
+40
-43
@@ -18,7 +18,7 @@ process.on('uncaughtException', function (err) {
|
||||
process.on('unhandledRejection', (reason, p) => {
|
||||
// Signal user that a necissary node module is missing
|
||||
if (reason.code == 'MODULE_NOT_FOUND') {
|
||||
console.log("[ERROR] Node Modules not found. Running the node setup command and then restart")
|
||||
console.log("[ERROR] Dependency library not found. Please try running the 'node setup' command and then restart the Client.")
|
||||
console.log('[ERROR] Client -> client-> reason = ' + JSON.stringify(reason))
|
||||
process.exit(1)
|
||||
}
|
||||
@@ -54,6 +54,9 @@ global.CUSTOM_FAIL_RESPONSE = {
|
||||
message: 'Custom Message'
|
||||
}
|
||||
|
||||
/* The CL object is accesible everywhere at the Superalgos Client */
|
||||
global.CL = {}
|
||||
|
||||
/* Servers */
|
||||
let WEB_SERVER = require('./webServer.js')
|
||||
let DATA_FILE_SERVER = require('./dataFileServer.js')
|
||||
@@ -67,7 +70,7 @@ let WEB3_SERVER = require('./web3Server.js')
|
||||
let GITHUB_SERVER = require('./githubServer.js')
|
||||
|
||||
/* Network Interfaces */
|
||||
let WEB_SOCKETS_INTERFACE = require('./webSocketsServer.js')
|
||||
let WEB_SOCKETS_INTERFACE = require('./webSocketsInterface.js')
|
||||
let HTTP_INTERFACE = require('./httpInterface.js')
|
||||
|
||||
try {
|
||||
@@ -81,82 +84,76 @@ try {
|
||||
Setting up external dependencies.
|
||||
*/
|
||||
CL.nodeModules = {
|
||||
fs: require('fs'),
|
||||
fs: require('fs'),
|
||||
nodeFetch: require('node-fetch')
|
||||
}
|
||||
|
||||
/*
|
||||
Setting up servers running inside this Client.
|
||||
*/
|
||||
CL.servers = {}
|
||||
console.log('CLIENT SERVERS:')
|
||||
console.log('')
|
||||
|
||||
WEB_SERVER = WEB_SERVER.newWebServer()
|
||||
WEB_SERVER.initialize()
|
||||
WEB_SERVER.run()
|
||||
CL.servers.WEB_SERVER = WEB_SERVER.newWebServer()
|
||||
CL.servers.WEB_SERVER.initialize()
|
||||
CL.servers.WEB_SERVER.run()
|
||||
console.log('Web Server .................................................. Started')
|
||||
|
||||
UI_FILE_SERVER = UI_FILE_SERVER.newUIFileServer()
|
||||
UI_FILE_SERVER.initialize()
|
||||
UI_FILE_SERVER.run()
|
||||
CL.servers.UI_FILE_SERVER = UI_FILE_SERVER.newUIFileServer()
|
||||
CL.servers.UI_FILE_SERVER.initialize()
|
||||
CL.servers.UI_FILE_SERVER.run()
|
||||
console.log('UI File Server .............................................. Started')
|
||||
|
||||
PROJECT_FILE_SERVER = PROJECT_FILE_SERVER.newProjectFileServer()
|
||||
PROJECT_FILE_SERVER.initialize()
|
||||
PROJECT_FILE_SERVER.run()
|
||||
CL.servers.PROJECT_FILE_SERVER = PROJECT_FILE_SERVER.newProjectFileServer()
|
||||
CL.servers.PROJECT_FILE_SERVER.initialize()
|
||||
CL.servers.PROJECT_FILE_SERVER.run()
|
||||
console.log('Project File Server ......................................... Started')
|
||||
|
||||
PLUGIN_SERVER = PLUGIN_SERVER.newPluginServer()
|
||||
PLUGIN_SERVER.initialize()
|
||||
PLUGIN_SERVER.run()
|
||||
CL.servers.PLUGIN_SERVER = PLUGIN_SERVER.newPluginServer()
|
||||
CL.servers.PLUGIN_SERVER.initialize()
|
||||
CL.servers.PLUGIN_SERVER.run()
|
||||
console.log('Plugin Server ............................................... Started')
|
||||
|
||||
DATA_FILE_SERVER = DATA_FILE_SERVER.newDataFileServer()
|
||||
DATA_FILE_SERVER.initialize()
|
||||
DATA_FILE_SERVER.run()
|
||||
CL.servers.DATA_FILE_SERVER = DATA_FILE_SERVER.newDataFileServer()
|
||||
CL.servers.DATA_FILE_SERVER.initialize()
|
||||
CL.servers.DATA_FILE_SERVER.run()
|
||||
console.log('Data File Server ............................................ Started')
|
||||
|
||||
EVENT_SERVER = EVENT_SERVER.newEventServer()
|
||||
EVENT_SERVER.initialize()
|
||||
EVENT_SERVER.run()
|
||||
CL.servers.EVENT_SERVER = EVENT_SERVER.newEventServer()
|
||||
CL.servers.EVENT_SERVER.initialize()
|
||||
CL.servers.EVENT_SERVER.run()
|
||||
console.log('Events Server ............................................... Started')
|
||||
|
||||
TASK_MANAGER_SERVER = TASK_MANAGER_SERVER.newTaskManagerServer(WEB_SOCKETS_INTERFACE, EVENT_SERVER)
|
||||
TASK_MANAGER_SERVER = TASK_MANAGER_SERVER.newTaskManagerServer()
|
||||
TASK_MANAGER_SERVER.initialize()
|
||||
TASK_MANAGER_SERVER.run()
|
||||
console.log('Task Manager Server ......................................... Started')
|
||||
|
||||
CCXT_SERVER = CCXT_SERVER.newCCXTServer()
|
||||
CCXT_SERVER.initialize()
|
||||
CCXT_SERVER.run()
|
||||
CL.servers.CCXT_SERVER = CCXT_SERVER.newCCXTServer()
|
||||
CL.servers.CCXT_SERVER.initialize()
|
||||
CL.servers.CCXT_SERVER.run()
|
||||
console.log('CCXT Server ................................................. Started')
|
||||
|
||||
WEB3_SERVER = WEB3_SERVER.newWeb3Server()
|
||||
WEB3_SERVER.initialize()
|
||||
WEB3_SERVER.run()
|
||||
CL.servers.WEB3_SERVER = WEB3_SERVER.newWeb3Server()
|
||||
CL.servers.WEB3_SERVER.initialize()
|
||||
CL.servers.WEB3_SERVER.run()
|
||||
console.log('WEB3 Server ................................................. Started')
|
||||
|
||||
GITHUB_SERVER = GITHUB_SERVER.newGithubServer()
|
||||
GITHUB_SERVER.initialize()
|
||||
GITHUB_SERVER.run()
|
||||
CL.servers.GITHUB_SERVER = GITHUB_SERVER.newGithubServer()
|
||||
CL.servers.GITHUB_SERVER.initialize()
|
||||
CL.servers.GITHUB_SERVER.run()
|
||||
console.log('Github Server ............................................... Started')
|
||||
|
||||
console.log('')
|
||||
console.log('CLIENT INTERFACES:')
|
||||
console.log('')
|
||||
|
||||
WEB_SOCKETS_INTERFACE = WEB_SOCKETS_INTERFACE.newWebSocketsInterface(EVENT_SERVER)
|
||||
WEB_SOCKETS_INTERFACE = WEB_SOCKETS_INTERFACE.newWebSocketsInterface()
|
||||
WEB_SOCKETS_INTERFACE.initialize()
|
||||
WEB_SOCKETS_INTERFACE.run()
|
||||
console.log('Web Sockets Interface ....................................... Listening at port ' + global.env.WEB_SOCKETS_INTERFACE_PORT)
|
||||
|
||||
HTTP_INTERFACE = HTTP_INTERFACE.newHttpInterface(
|
||||
WEB_SERVER,
|
||||
DATA_FILE_SERVER,
|
||||
PROJECT_FILE_SERVER,
|
||||
UI_FILE_SERVER,
|
||||
PLUGIN_SERVER,
|
||||
CCXT_SERVER,
|
||||
WEB3_SERVER,
|
||||
GITHUB_SERVER
|
||||
)
|
||||
HTTP_INTERFACE = HTTP_INTERFACE.newHttpInterface()
|
||||
HTTP_INTERFACE.initialize()
|
||||
HTTP_INTERFACE.run()
|
||||
console.log('Http Interface .............................................. Listening at port ' + global.env.HTTP_INTERFACE_PORT)
|
||||
|
||||
+24
-21
@@ -1,13 +1,4 @@
|
||||
exports.newHttpInterface = function newHttpInterface(
|
||||
WEB_SERVER,
|
||||
DATA_FILE_SERVER,
|
||||
PROJECT_FILE_SERVER,
|
||||
UI_FILE_SERVER,
|
||||
PLUGIN_SERVER,
|
||||
CCXT_SERVER,
|
||||
WEB3_SERVER,
|
||||
GITHUB_SERVER
|
||||
) {
|
||||
exports.newHttpInterface = function newHttpInterface() {
|
||||
|
||||
/*
|
||||
IMPORTANT: If you are reviewing the code of the project please note
|
||||
@@ -111,7 +102,7 @@ exports.newHttpInterface = function newHttpInterface(
|
||||
switch (params.method) {
|
||||
case 'getNetworkClientStatus': {
|
||||
|
||||
let serverResponse = await WEB3_SERVER.getNetworkClientStatus(
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.getNetworkClientStatus(
|
||||
params.host,
|
||||
params.port,
|
||||
params.interface
|
||||
@@ -122,7 +113,7 @@ exports.newHttpInterface = function newHttpInterface(
|
||||
}
|
||||
case 'createWalletAccount': {
|
||||
|
||||
let serverResponse = await WEB3_SERVER.createWalletAccount(
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.createWalletAccount(
|
||||
params.entropy
|
||||
)
|
||||
|
||||
@@ -131,7 +122,7 @@ exports.newHttpInterface = function newHttpInterface(
|
||||
}
|
||||
case 'getWalletBalances': {
|
||||
|
||||
let serverResponse = await WEB3_SERVER.getWalletBalances(
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.getWalletBalances(
|
||||
params.host,
|
||||
params.port,
|
||||
params.interface,
|
||||
@@ -143,7 +134,7 @@ exports.newHttpInterface = function newHttpInterface(
|
||||
}
|
||||
case 'signData': {
|
||||
|
||||
let serverResponse = await WEB3_SERVER.signData(
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.signData(
|
||||
params.privateKey,
|
||||
params.data
|
||||
)
|
||||
@@ -153,13 +144,22 @@ exports.newHttpInterface = function newHttpInterface(
|
||||
}
|
||||
case 'recoverAddress': {
|
||||
|
||||
let serverResponse = await WEB3_SERVER.recoverAddress(
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.recoverAddress(
|
||||
params.signature
|
||||
)
|
||||
|
||||
respondWithContent(JSON.stringify(serverResponse), httpResponse)
|
||||
return
|
||||
}
|
||||
case 'mnemonicToPrivateKey': {
|
||||
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.mnemonicToPrivateKey(
|
||||
params.mnemonic
|
||||
)
|
||||
|
||||
respondWithContent(JSON.stringify(serverResponse), httpResponse)
|
||||
return
|
||||
}
|
||||
default: {
|
||||
respondWithContent(JSON.stringify({ error: 'Method ' + params.method + ' is invalid.' }), httpResponse)
|
||||
}
|
||||
@@ -1048,7 +1048,7 @@ exports.newHttpInterface = function newHttpInterface(
|
||||
switch (params.method) {
|
||||
case 'getGithubStars': {
|
||||
|
||||
let serverResponse = await GITHUB_SERVER.getGithubStars(
|
||||
let serverResponse = await CL.servers.GITHUB_SERVER.getGithubStars(
|
||||
params.repository,
|
||||
params.username,
|
||||
params.token
|
||||
@@ -1059,7 +1059,7 @@ exports.newHttpInterface = function newHttpInterface(
|
||||
}
|
||||
case 'getGithubWatchers': {
|
||||
|
||||
let serverResponse = await GITHUB_SERVER.getGithubWatchers(
|
||||
let serverResponse = await CL.servers.GITHUB_SERVER.getGithubWatchers(
|
||||
params.repository,
|
||||
params.username,
|
||||
params.token
|
||||
@@ -1070,7 +1070,7 @@ exports.newHttpInterface = function newHttpInterface(
|
||||
}
|
||||
case 'getGithubForks': {
|
||||
|
||||
let serverResponse = await GITHUB_SERVER.getGithubForks(
|
||||
let serverResponse = await CL.servers.GITHUB_SERVER.getGithubForks(
|
||||
params.repository,
|
||||
params.username,
|
||||
params.token
|
||||
@@ -1081,7 +1081,7 @@ exports.newHttpInterface = function newHttpInterface(
|
||||
}
|
||||
case 'mergePullRequests': {
|
||||
|
||||
let serverResponse = await GITHUB_SERVER.mergePullRequests(
|
||||
let serverResponse = await CL.servers.GITHUB_SERVER.mergePullRequests(
|
||||
params.commitMessage,
|
||||
params.username,
|
||||
params.token
|
||||
@@ -1092,8 +1092,11 @@ exports.newHttpInterface = function newHttpInterface(
|
||||
}
|
||||
case 'payContributors': {
|
||||
|
||||
let serverResponse = await WEB3_SERVER.payContributors(
|
||||
params.signature
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.payContributors(
|
||||
params.contractAddress,
|
||||
params.contractAbi,
|
||||
params.paymentsArray,
|
||||
params.mnemonic
|
||||
)
|
||||
|
||||
respondWithContent(JSON.stringify(serverResponse), httpResponse)
|
||||
|
||||
Generated
+304
-4190
File diff suppressed because it is too large.
Load diff
+5
-2
@@ -10,12 +10,15 @@
|
||||
"@octokit/rest": "^18.9.0",
|
||||
"ccxt": "^1.51.98",
|
||||
"child_process": "^1.0.2",
|
||||
"ethereumjs-common": "^1.5.2",
|
||||
"ethereumjs-tx": "^2.1.2",
|
||||
"ethers": "^5.4.4",
|
||||
"lookpath": "^1.2.2",
|
||||
"node-fetch": "2.6.1",
|
||||
"open": "^6.4.0",
|
||||
"rimraf": "^3.0.2",
|
||||
"simple-git": "^2.42.0",
|
||||
"web3": "^1.5.0",
|
||||
"ws": "^7.4.6",
|
||||
"node-fetch": "2.6.1"
|
||||
"ws": "^7.4.6"
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
exports.newTaskManagerServer = function newTaskManagerServer(WEB_SOCKETS_INTERFACE, EVENT_SERVER) {
|
||||
exports.newTaskManagerServer = function newTaskManagerServer() {
|
||||
|
||||
let thisObject = {
|
||||
initialize: initialize,
|
||||
@@ -263,7 +263,7 @@
|
||||
responseWaiters.set(command.callerId, responseCallBack)
|
||||
}
|
||||
|
||||
EVENT_SERVER.onMessage(JSON.stringify(command), thisObject.onMessage)
|
||||
CL.servers.EVENT_SERVER.onMessage(JSON.stringify(command), thisObject.onMessage)
|
||||
} catch (err) {
|
||||
console.log('[ERROR] Client -> Task Manager Server -> sendCommand -> Error Sending Command to Events Server -> command = ' + JSON.stringify(command))
|
||||
console.log('[ERROR] Client -> Task Manager Server -> sendCommand -> Error Sending Command to Events Server -> error = ' + err.stack)
|
||||
|
||||
@@ -8,6 +8,8 @@ exports.newWeb3Server = function newWeb3Server() {
|
||||
getWalletBalances: getWalletBalances,
|
||||
signData: signData,
|
||||
recoverAddress: recoverAddress,
|
||||
mnemonicToPrivateKey: mnemonicToPrivateKey,
|
||||
payContributors: payContributors,
|
||||
initialize: initialize,
|
||||
finalize: finalize,
|
||||
run: run
|
||||
@@ -236,4 +238,106 @@ exports.newWeb3Server = function newWeb3Server() {
|
||||
return { error: 'Could not recover address. ' + err.stack }
|
||||
}
|
||||
}
|
||||
|
||||
async function mnemonicToPrivateKey(mnemonic) {
|
||||
try {
|
||||
const ethers = require('ethers')
|
||||
let wallet = ethers.Wallet.fromMnemonic(mnemonic)
|
||||
|
||||
if (wallet.privateKey !== undefined) {
|
||||
return {
|
||||
address: wallet.address,
|
||||
privateKey: wallet.privateKey,
|
||||
result: 'Ok'
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
address: undefined,
|
||||
privateKey: undefined,
|
||||
result: 'Fail'
|
||||
}
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
return { error: 'Could not convert to Private Key. ' + err.stack }
|
||||
}
|
||||
}
|
||||
|
||||
async function payContributors(contractAddress, contractAbi, paymentsArray, mnemonic) {
|
||||
try {
|
||||
let response = await mnemonicToPrivateKey(mnemonic)
|
||||
let privateKey = response.privateKey
|
||||
|
||||
for (let i = 0; i < paymentsArray.length; i++) {
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(10000)
|
||||
let payment = paymentsArray[i]
|
||||
sendTokens(
|
||||
i + 1,
|
||||
payment.userProfile,
|
||||
payment.from,
|
||||
payment.to,
|
||||
payment.amount
|
||||
)
|
||||
}
|
||||
|
||||
async function sendTokens(number, userProfile, fromAddress, toAddress, tokenAmount) {
|
||||
try {
|
||||
console.log('')
|
||||
console.log('---------------------------------------------------------------------------------------------------------------------------------------------------')
|
||||
console.log(' Payment # ' + number + ' - User Profile: ' + userProfile + ' - SA Tokens Amount: ' + tokenAmount / 1000000000000000000 + ' - Address: ' + toAddress)
|
||||
console.log('---------------------------------------------------------------------------------------------------------------------------------------------------')
|
||||
console.log('')
|
||||
|
||||
const Tx = require('ethereumjs-tx').Transaction;
|
||||
const web3 = new Web3(new Web3.providers.HttpProvider('https://bsc-dataseed.binance.org/'))
|
||||
const amount = web3.utils.toHex(tokenAmount)
|
||||
privateKey = privateKey.replace('0x', '')
|
||||
const privateKeyBuffer = Buffer.from(privateKey, 'hex')
|
||||
const contractAbiObject = JSON.parse(contractAbi)
|
||||
const contract = new web3.eth.Contract(contractAbiObject, contractAddress, { from: fromAddress })
|
||||
const Common = require('ethereumjs-common').default
|
||||
const BSC_FORK = Common.forCustomChain(
|
||||
'mainnet',
|
||||
{
|
||||
name: 'Binance Smart Chain Mainnet',
|
||||
networkId: 56,
|
||||
chainId: 56,
|
||||
url: 'https://bsc-dataseed.binance.org/'
|
||||
},
|
||||
'istanbul',
|
||||
);
|
||||
|
||||
const nonce = await web3.eth.getTransactionCount(fromAddress);
|
||||
|
||||
const rawTransaction = {
|
||||
"from": fromAddress,
|
||||
"gasPrice": web3.utils.toHex(5000000000),
|
||||
"gasLimit": web3.utils.toHex(210000),
|
||||
"to": contractAddress, "value": "0x0",
|
||||
"data": contract.methods.transfer(toAddress, amount).encodeABI(),
|
||||
"nonce": web3.utils.toHex(nonce)
|
||||
};
|
||||
|
||||
const transaction = new Tx(rawTransaction, { 'common': BSC_FORK })
|
||||
transaction.sign(privateKeyBuffer)
|
||||
|
||||
console.log('Transaction:', rawTransaction)
|
||||
const result = await web3.eth.sendSignedTransaction('0x' + transaction.serialize().toString('hex'))
|
||||
console.log('Result:', result)
|
||||
return result
|
||||
} catch (err) {
|
||||
console.log('[ERROR] web3Server -> sendTokens -> err.stack = ' + err.stack)
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
address: wallet.address,
|
||||
privateKey: wallet.privateKey,
|
||||
result: 'Ok'
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
return { error: 'Could not convert to Private Key. ' + err.stack }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
exports.newWebSocketsInterface = function newWebSocketsInterface(EVENT_SERVER) {
|
||||
exports.newWebSocketsInterface = function newWebSocketsInterface() {
|
||||
|
||||
const MODULE = "Web Sockets Interface"
|
||||
const LOG_INFO = false
|
||||
|
||||
let thisObject = {
|
||||
@@ -76,7 +75,7 @@
|
||||
lastNonce = nonce
|
||||
|
||||
try {
|
||||
let jsonCheck = JSON.parse(messageToEventServer)
|
||||
JSON.parse(messageToEventServer)
|
||||
} catch (err) {
|
||||
console.log('[ERROR] Client -> Web Sockets Interface -> run -> setUpWebSocketServer -> Message received from the browser is not a valid JSON. message = ' + message.substring(0, 1000))
|
||||
console.log('[ERROR] Client -> Web Sockets Interface -> run -> setUpWebSocketServer -> Message received from the browser is not a valid JSON. messageToEventServer = ' + messageToEventServer)
|
||||
@@ -92,7 +91,7 @@
|
||||
}
|
||||
|
||||
|
||||
EVENT_SERVER.onMessage(messageToEventServer, onResponse)
|
||||
CL.servers.EVENT_SERVER.onMessage(messageToEventServer, onResponse)
|
||||
|
||||
function onResponse(message) {
|
||||
socket.send(message)
|
||||
@@ -0,0 +1,22 @@
|
||||
exports.newClientInterface = function newClientInterface() {
|
||||
|
||||
let thisObject = {
|
||||
initialize: initialize,
|
||||
finalize: finalize,
|
||||
run: run
|
||||
}
|
||||
|
||||
return thisObject
|
||||
|
||||
function finalize() {
|
||||
|
||||
}
|
||||
|
||||
function initialize() {
|
||||
|
||||
}
|
||||
|
||||
function run() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
exports.newEvent = function newEvent() {
|
||||
|
||||
let thisObject = {
|
||||
id: undefined,
|
||||
githubUsername: undefined,
|
||||
blockchainAccount: undefined,
|
||||
following: undefined,
|
||||
followers: undefined,
|
||||
followingCount: undefined,
|
||||
followersCount: undefined,
|
||||
tradeCopying: undefined,
|
||||
tradeCopiers: undefined,
|
||||
tradeCopyingCount: undefined,
|
||||
tradeCopiersCount: undefined,
|
||||
ranking: undefined,
|
||||
joined: undefined,
|
||||
initialize: initialize,
|
||||
finalize: finalize
|
||||
}
|
||||
|
||||
thisObject.following = new Map()
|
||||
thisObject.followers = new Map()
|
||||
|
||||
thisObject.tradeCopying = new Map()
|
||||
thisObject.tradeCopiersCount = new Map()
|
||||
|
||||
return thisObject
|
||||
|
||||
function finalize() {
|
||||
|
||||
}
|
||||
|
||||
function initialize() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
[
|
||||
{
|
||||
"type": "post",
|
||||
"timestamp": 12343242342,
|
||||
"userProfile": "Luis-Fernando-Molina",
|
||||
"hash": "dhaHSkjasdmwhdajSHSJhewshed"
|
||||
},
|
||||
{
|
||||
"type": "reply",
|
||||
"timestamp": 12343242342,
|
||||
"userProfile": "Luis-Fernando-Molina",
|
||||
"hash": "dhaHSkjasdmwhdajSHSJhewshed",
|
||||
"relatedEvent": "daawerewdhkasdSdGHGjdsasd"
|
||||
},
|
||||
{
|
||||
"type": "trade",
|
||||
"timestamp": 12343242342,
|
||||
"userProfile": "Luis-Fernando-Molina",
|
||||
"hash": "dhaHSkjasdmwhdajSHSJhewshed"
|
||||
},
|
||||
{
|
||||
"type": "reaction",
|
||||
"timestamp": 12343242342,
|
||||
"userProfile": "Luis-Fernando-Molina",
|
||||
"hash": "dhaHSkjasdmwhdajSHSJhewshed"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"userProfiles": [
|
||||
{
|
||||
"username": "Luis-Fernando-Molina",
|
||||
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db",
|
||||
"posts": [
|
||||
{
|
||||
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db",
|
||||
"replyTo": "a8de78f0-c3e4-4a2a-b7e8-f659073969db"
|
||||
}
|
||||
],
|
||||
"replies": [
|
||||
{
|
||||
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db",
|
||||
"replyTo": "a8de78f0-c3e4-4a2a-b7e8-f659073969db"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
|
||||
|
||||
let usersProfiles = new Map() // Here we will store the user profiles and their statistics.
|
||||
let timeline = [] // A time ordered list of Posts and Trades.
|
||||
let events = new Map()
|
||||
let hashGraph = {}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
exports.newPeerInterface = function newPeerInterface() {
|
||||
|
||||
let thisObject = {
|
||||
initialize: initialize,
|
||||
finalize: finalize,
|
||||
run: run
|
||||
}
|
||||
|
||||
return thisObject
|
||||
|
||||
function finalize() {
|
||||
|
||||
}
|
||||
|
||||
function initialize() {
|
||||
|
||||
}
|
||||
|
||||
function run() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
[
|
||||
{
|
||||
"userProfile": "Luis-Fernando-Molina",
|
||||
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db",
|
||||
"followers": 0,
|
||||
"following": 0,
|
||||
"ranking": 0,
|
||||
"joined": 123423423423,
|
||||
"account": "asd23123aff23q2bcaa21447567"
|
||||
},
|
||||
{
|
||||
"userProfile": "Luis-Fernando-Molina",
|
||||
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db",
|
||||
"followers": 0,
|
||||
"following": 0,
|
||||
"ranking": 0,
|
||||
"joined": 123423423423,
|
||||
"account": "asd23123aff23q2bcaa21447567"
|
||||
}
|
||||
]
|
||||
|
||||
// a map by userProfile would be needed.
|
||||
@@ -0,0 +1,27 @@
|
||||
[
|
||||
{
|
||||
"type": "post",
|
||||
"timestamp": 12343242342,
|
||||
"userProfile": "Luis-Fernando-Molina",
|
||||
"hash": "dhaHSkjasdmwhdajSHSJhewshed"
|
||||
},
|
||||
{
|
||||
"type": "post",
|
||||
"timestamp": 12343242342,
|
||||
"userProfile": "Luis-Fernando-Molina",
|
||||
"hash": "dhaHSkjasdmwhdajSHSJhewshed",
|
||||
"relatedEvent": "daawerewdhkasdSdGHGjdsasd"
|
||||
},
|
||||
{
|
||||
"type": "trade",
|
||||
"timestamp": 12343242342,
|
||||
"userProfile": "Luis-Fernando-Molina",
|
||||
"hash": "dhaHSkjasdmwhdajSHSJhewshed"
|
||||
},
|
||||
{
|
||||
"type": "post",
|
||||
"timestamp": 12343242342,
|
||||
"userProfile": "Luis-Fernando-Molina",
|
||||
"hash": "dhaHSkjasdmwhdajSHSJhewshed"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,36 @@
|
||||
exports.newUserProfile = function newUserProfile() {
|
||||
|
||||
let thisObject = {
|
||||
id: undefined,
|
||||
githubUsername: undefined,
|
||||
blockchainAccount: undefined,
|
||||
following: undefined,
|
||||
followers: undefined,
|
||||
followingCount: undefined,
|
||||
followersCount: undefined,
|
||||
tradeCopying: undefined,
|
||||
tradeCopiers: undefined,
|
||||
tradeCopyingCount: undefined,
|
||||
tradeCopiersCount: undefined,
|
||||
ranking: undefined,
|
||||
joined: undefined,
|
||||
initialize: initialize,
|
||||
finalize: finalize
|
||||
}
|
||||
|
||||
thisObject.following = new Map()
|
||||
thisObject.followers = new Map()
|
||||
|
||||
thisObject.tradeCopying = new Map()
|
||||
thisObject.tradeCopiersCount = new Map()
|
||||
|
||||
return thisObject
|
||||
|
||||
function finalize() {
|
||||
|
||||
}
|
||||
|
||||
function initialize() {
|
||||
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1456,7 +1456,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "24e17411-dccd-44b9-864d-ee83550186a8",
|
||||
"savedPayload": {
|
||||
@@ -1484,7 +1484,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "f6a486fc-4b6d-4a18-8059-8d48606686fd",
|
||||
"savedPayload": {
|
||||
@@ -2064,7 +2064,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "d435f8db-8340-4e1a-b133-3f0042fc1e07",
|
||||
"savedPayload": {
|
||||
@@ -2092,7 +2092,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "971a060c-3d24-412a-bf75-7f0fa1fabcdd",
|
||||
"savedPayload": {
|
||||
@@ -3111,7 +3111,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "b2698fb2-3dee-406f-9bd6-461771adb181",
|
||||
"savedPayload": {
|
||||
@@ -3138,8 +3138,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "3fe1f916-855f-47bc-9aa8-e0886622a572",
|
||||
"savedPayload": {
|
||||
@@ -3773,7 +3773,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "bda8eb74-bd2b-42d8-b008-03caa80d16d6",
|
||||
"savedPayload": {
|
||||
@@ -3800,8 +3800,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "87bf9691-6101-4040-8b27-6540b188fa1b",
|
||||
"savedPayload": {
|
||||
@@ -4820,7 +4820,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "59b1356d-d6fa-48c1-8fce-7f401cc9e35c",
|
||||
"savedPayload": {
|
||||
@@ -4847,8 +4847,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "96eac3f2-a173-4696-80d6-4866ac70fae3",
|
||||
"savedPayload": {
|
||||
@@ -5867,7 +5867,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "7a5661e9-3a10-409f-b3f3-8f24e7a95429",
|
||||
"savedPayload": {
|
||||
@@ -5894,8 +5894,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "88bd54f9-1bd3-4d3b-a21e-2ae9f782c1d2",
|
||||
"savedPayload": {
|
||||
@@ -6832,7 +6832,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "b3baf8e8-71e8-47a7-8416-badf212e875d",
|
||||
"savedPayload": {
|
||||
@@ -6859,8 +6859,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "40f46850-0aa7-4bf9-9afa-4c4319d92fe6",
|
||||
"savedPayload": {
|
||||
@@ -9088,7 +9088,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "26d3e757-9a6e-4807-b8a8-652cf276affa",
|
||||
"savedPayload": {
|
||||
@@ -9115,8 +9115,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "78d41812-18af-4c1f-9968-1515e52203ab",
|
||||
"savedPayload": {
|
||||
@@ -9696,7 +9696,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "86c91781-e7fd-4386-94e4-3fbe975e6828",
|
||||
"savedPayload": {
|
||||
@@ -9724,7 +9724,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "d5e4394d-53f1-4ad6-88b4-573106658488",
|
||||
"savedPayload": {
|
||||
@@ -10716,7 +10716,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "2523677a-0ecc-4cc0-99e5-73fd37c25c51",
|
||||
"savedPayload": {
|
||||
@@ -10743,8 +10743,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "81365e5b-be43-4260-b014-150d3f6ee0f7",
|
||||
"savedPayload": {
|
||||
@@ -11736,7 +11736,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "098ad037-e7fb-4c55-938e-f63f79479848",
|
||||
"savedPayload": {
|
||||
@@ -11763,8 +11763,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "9934146b-c25b-4c8f-bc83-f5bbe212b48d",
|
||||
"savedPayload": {
|
||||
@@ -12783,7 +12783,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "a1419254-9026-4a52-8bd1-ca626af821b7",
|
||||
"savedPayload": {
|
||||
@@ -12810,8 +12810,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "1aa7b3bf-5c36-4a3b-9e8d-335153025634",
|
||||
"savedPayload": {
|
||||
@@ -13445,7 +13445,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "1d0a210c-3e18-4880-a465-ff12f28b8e15",
|
||||
"savedPayload": {
|
||||
@@ -13472,8 +13472,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "6728ff43-3ba4-448e-8ba7-2403732961b1",
|
||||
"savedPayload": {
|
||||
@@ -14410,7 +14410,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "0f1d28de-9c7d-40d9-907a-cbbfbaa1b3b2",
|
||||
"savedPayload": {
|
||||
@@ -14437,8 +14437,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "28f0f7e8-de79-4e87-b46c-6818784ff3b2",
|
||||
"savedPayload": {
|
||||
@@ -16665,7 +16665,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "055e39d4-6317-4018-a821-d5ab90aa5a79",
|
||||
"savedPayload": {
|
||||
@@ -16692,8 +16692,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "0856af01-bb1d-4dd5-8e4b-6cf3ab90678b",
|
||||
"savedPayload": {
|
||||
@@ -17327,7 +17327,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "afb3fbdc-8f38-49ff-acb5-f127c98ddb12",
|
||||
"savedPayload": {
|
||||
@@ -17355,7 +17355,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "1c7fd7e8-4b5e-4a34-80b2-99b99cc4fd4f",
|
||||
"savedPayload": {
|
||||
@@ -17989,7 +17989,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "0e28708b-348e-4b29-b82c-c17ddf9f23f1",
|
||||
"savedPayload": {
|
||||
@@ -18017,7 +18017,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "2690a9f4-b1d5-41ac-994c-3d44efbf0ea6",
|
||||
"savedPayload": {
|
||||
@@ -18651,7 +18651,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "23421928-fb4b-40ad-ba05-29c0dcd52c47",
|
||||
"savedPayload": {
|
||||
@@ -18679,7 +18679,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "324cb3b8-b070-4ccc-a3ae-78da3b14626a",
|
||||
"savedPayload": {
|
||||
@@ -20298,7 +20298,7 @@
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Market",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "58672420-221d-489d-bfcd-6fc94a08ae33",
|
||||
"savedPayload": {
|
||||
@@ -20325,8 +20325,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Dataset Definition",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }",
|
||||
"name": "Multi-Time-Frame-Daily",
|
||||
"config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }",
|
||||
"project": "Foundations",
|
||||
"id": "7e1a5932-d556-44ff-8c6d-f82b568ed845",
|
||||
"savedPayload": {
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"type":"Data Mine","name":"Zeus","config":"{ \n\"codeName\": \"Zeus\"\n}","project":"Foundations","sensorBots":[],"indicatorBots":[{"type":"Indicator Bot","name":"Super Trend","config":"{ \n\"codeName\": \"Super-Trend\"\n}","project":"Foundations","processes":[{"type":"Process Definition","name":"Multi-Time-Frame-Market","config":" {\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Market\"\n }\n }","project":"Foundations","processOutput":{"type":"Process Output","name":"New Process Output","project":"Foundations","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Market Super Trend","project":"Foundations","id":"2412939e-1585-47f9-8d09-7ea8dd7c8bf0","savedPayload":{"position":{"x":21786.83642206419,"y":17775.938049371594},"targetPosition":{"x":21825.659278829567,"y":17920.826923314955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"7c8e7a6f-99c8-4d90-9f44-e3e9e909eb88"}}}],"outputDatasetFolders":[],"id":"74212c63-4a69-407d-80ec-d39ee2d8df74","savedPayload":{"position":{"x":21825.659278829567,"y":17920.826923314955},"targetPosition":{"x":21864.482135594946,"y":18065.715797258315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Foundations","statusDependencies":[{"type":"Status Dependency","name":"Super Trend Multi-Time-Frame-Market","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Foundations","id":"5a35d0d1-cfed-4893-84ab-344a77c7d252","savedPayload":{"position":{"x":21792.127849125704,"y":17516.13042823626},"targetPosition":{"x":21942.127849125704,"y":17775.938049371594},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"25f05344-3e7f-4d5f-ab1c-d72689a85764"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Time-Frame-Market","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Foundations","id":"2a42dd15-1e04-4826-bd5f-85d95fbae135","savedPayload":{"position":{"x":22019.77356265646,"y":17486.160301484873},"targetPosition":{"x":21942.127849125704,"y":17775.938049371594},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Market","project":"Foundations","id":"88a45f27-a0b8-4234-b7aa-f139400305db","savedPayload":{"position":{"x":22201.935470261036,"y":17625.938049371594},"targetPosition":{"x":21942.127849125704,"y":17775.938049371594},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"eef38121-80a2-4471-b909-24acdc4d213a","savedPayload":{"position":{"x":21942.127849125704,"y":17775.938049371594},"targetPosition":{"x":21864.482135594946,"y":18065.715797258315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Foundations","id":"25f05344-3e7f-4d5f-ab1c-d72689a85764","savedPayload":{"position":{"x":22076.61416995091,"y":17853.58376290235},"targetPosition":{"x":21864.482135594946,"y":18065.715797258315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Time-Frame-Market","project":"Foundations","id":"d9b0ffbd-c1bd-4e43-a00d-04a6b6fb470b","savedPayload":{"position":{"x":22154.259883481667,"y":17988.070083727558},"targetPosition":{"x":21864.482135594946,"y":18065.715797258315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","projeLine truncated
|
||||
{"type":"Data Mine","name":"Zeus","config":"{ \n\"codeName\": \"Zeus\"\n}","project":"Superalgos","sensorBots":[],"apiDataFetcherBots":[],"indicatorBots":[{"type":"Indicator Bot","name":"Super Trend","config":"{ \n\"codeName\": \"Super-Trend\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Multi-Time-Frame-Market","config":" {\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Market\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Market Super Trend","project":"Superalgos","id":"2412939e-1585-47f9-8d09-7ea8dd7c8bf0","savedPayload":{"position":{"x":34664.87658172835,"y":17409.843880743556},"targetPosition":{"x":34703.69943849373,"y":17554.732754686916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"7c8e7a6f-99c8-4d90-9f44-e3e9e909eb88"}}}],"outputDatasetFolders":[],"id":"74212c63-4a69-407d-80ec-d39ee2d8df74","savedPayload":{"position":{"x":34703.69943849373,"y":17554.732754686916},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"5a35d0d1-cfed-4893-84ab-344a77c7d252","savedPayload":{"position":{"x":34670.168008789864,"y":17150.036259608223},"targetPosition":{"x":34820.168008789864,"y":17409.843880743556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"25f05344-3e7f-4d5f-ab1c-d72689a85764"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"2a42dd15-1e04-4826-bd5f-85d95fbae135","savedPayload":{"position":{"x":34897.81372232062,"y":17120.066132856835},"targetPosition":{"x":34820.168008789864,"y":17409.843880743556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Market","project":"Superalgos","id":"88a45f27-a0b8-4234-b7aa-f139400305db","savedPayload":{"position":{"x":35079.9756299252,"y":17259.843880743556},"targetPosition":{"x":34820.168008789864,"y":17409.843880743556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"eef38121-80a2-4471-b909-24acdc4d213a","savedPayload":{"position":{"x":34820.168008789864,"y":17409.843880743556},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"25f05344-3e7f-4d5f-ab1c-d72689a85764","savedPayload":{"position":{"x":34954.65432961507,"y":17487.489594274313},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"d9b0ffbd-c1bd-4e43-a00d-04a6b6fb470b","savedPayload":{"position":{"x":35032.30004314583,"y":17621.97591509952},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"d405bfe9-74f9-4419-8288-94229c9813a6","savedPayload":{"position":{"x":35032.300043145Line truncated
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -9,6 +9,14 @@
|
||||
"propertyToCheckFor": "githubAPI",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
{
|
||||
"action": "Add UI Object",
|
||||
"label": "Add Web3 API",
|
||||
"relatedUiObject": "Web3 API",
|
||||
"disableIfPropertyIsDefined": true,
|
||||
"propertyToCheckFor": "web3API",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
{
|
||||
"action": "Delete UI Object",
|
||||
"askConfirmation": true,
|
||||
@@ -27,6 +35,11 @@
|
||||
"name": "githubAPI",
|
||||
"type": "node",
|
||||
"childType": "Github API"
|
||||
},
|
||||
{
|
||||
"name": "web3API",
|
||||
"type": "node",
|
||||
"childType": "Web3 API"
|
||||
}
|
||||
],
|
||||
"isPersonalData": true
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
},
|
||||
{
|
||||
"action": "Add UI Object",
|
||||
"label": "Add Dependency Product Folder",
|
||||
"relatedUiObject": "Dependency Product Folder",
|
||||
"label": "Add Data Dependency Folder",
|
||||
"relatedUiObject": "Data Dependency Folder",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
{
|
||||
"action": "Add UI Object",
|
||||
"label": "Add Tutorial",
|
||||
"iconProject": "Education",
|
||||
"relatedUiObject": "Tutorial",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
@@ -19,6 +20,13 @@
|
||||
"relatedUiObject": "Plugins",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
{
|
||||
"action": "Add UI Object",
|
||||
"label": "Add Crypto Ecosystem",
|
||||
"disableIfPropertyIsDefined": true,
|
||||
"relatedUiObject": "Crypto Ecosystem",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
{
|
||||
"action": "Add UI Object",
|
||||
"label": "Add APIs",
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
{
|
||||
"action": "Add Missing Plugin Tutorials",
|
||||
"label": "Add Missing Tutorials",
|
||||
"iconProject": "Education",
|
||||
"askConfirmation": true,
|
||||
"confirmationLabel": "Confirm to Proceed",
|
||||
"workDoneLabel": "Done",
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"type": "Web3 API",
|
||||
"menuItems": [
|
||||
{
|
||||
"action": "Configure",
|
||||
"label": "Configure",
|
||||
"iconPathOn": "configuration",
|
||||
"iconPathOff": "configuration",
|
||||
"dontShowAtFullscreen": true,
|
||||
"actionFunction": "uiObject.configEditor.activate"
|
||||
},
|
||||
{
|
||||
"action": "Delete UI Object",
|
||||
"askConfirmation": true,
|
||||
"confirmationLabel": "Confirm to Delete",
|
||||
"label": "Delete",
|
||||
"iconPathOn": "delete-entity",
|
||||
"iconPathOff": "delete-entity",
|
||||
"actionFunction": "payload.executeAction"
|
||||
}
|
||||
],
|
||||
"editors": {
|
||||
"config": true
|
||||
},
|
||||
"initialValues": {
|
||||
"config": "{ \n\"token\": \"\", \n\"mnemonic\": \"\"\n}"
|
||||
},
|
||||
"addLeftIcons": true,
|
||||
"level": 1,
|
||||
"attachingRules": {
|
||||
"compatibleTypes": "->APIs->"
|
||||
},
|
||||
"propertyNameAtParent": "web3API",
|
||||
"isPersonalData": true
|
||||
}
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Bot Products",
|
||||
"definition": {
|
||||
"text": "A bot products node is an organizational device used to arrange data products corresponding to a specific bot."
|
||||
"text": "A bot products node is an organizational device used to arrange data products corresponding to a specific bot.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Un nodo bot products es un dispositivo organizativo que se utiliza para organizar los productos de datos correspondientes a un bot específico.",
|
||||
"updated": 1628902888224
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Dashboard",
|
||||
"definition": {
|
||||
"text": "A dashboard is a collection of time machines, each containing any number of charts."
|
||||
"text": "A dashboard is a collection of time machines, each containing any number of charts.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Un dashboard es una colección de máquinas del tiempo, cada una de las cuales contiene un número indeterminado de gráficos.",
|
||||
"updated": 1628897543779
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Data Mine Tasks",
|
||||
"definition": {
|
||||
"text": "The data mine tasks node is an organizational device that groups tasks corresponding to the referenced data mine."
|
||||
"text": "The data mine tasks node is an organizational device that groups tasks corresponding to the referenced data mine.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El nodo data mine tasks es un dispositivo organizativo que agrupa las tareas correspondientes a la mina de datos referenciada.",
|
||||
"updated": 1629581022406
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Manage Stage",
|
||||
"definition": {
|
||||
"text": "The manage stage deals with the setting and management of stop loss and take profit targets, both to protect your capital and to increase the efficiency of your trading system."
|
||||
"text": "The manage stage deals with the setting and management of stop loss and take profit targets, both to protect your capital and to increase the efficiency of your trading system.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El manage stage se ocupa del establecimiento y la gestión de objetivos de stop loss y take profit, tanto para proteger su capital como para aumentar la eficiencia de su sistema de trading.",
|
||||
"updated": 1629580869439
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
+8
-1
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Market Sell Order",
|
||||
"definition": {
|
||||
"text": "A market sell order is an instruction sent to the exchange to sell the base asset, for immediate execution at current market prices."
|
||||
"text": "A market sell order is an instruction sent to the exchange to sell the base asset, for immediate execution at current market prices.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Un market sell orderes una instrucción enviada a la bolsa para vender el activo base, para su ejecución inmediata a los precios actuales del mercado.",
|
||||
"updated": 1629580936448
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Mines",
|
||||
"definition": {
|
||||
"text": "Mines refers to the different types of mines for which definitions exist in the form of hierarchies. At this stage, the node may spawn Data Mine, Trading Mine, and Learning Mine hierarchies."
|
||||
"text": "Mines refers to the different types of mines for which definitions exist in the form of hierarchies. At this stage, the node may spawn Data Mine, Trading Mine, and Learning Mine hierarchies.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Mines se refiere a los diferentes tipos de minas para las que existen definiciones en forma de jerarquías. En esta etapa, el nodo puede generar jerarquías de Data Mine, Trading Mine, y Learning Mine.",
|
||||
"updated": 1628903154447
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Open",
|
||||
"definition": {
|
||||
"text": "Open is the rate at the datetime of the begin property, as provided by the exchange. That is, the rate at the open of the candle."
|
||||
"text": "Open is the rate at the datetime of the begin property, as provided by the exchange. That is, the rate at the open of the candle.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Open es la tasa en la fecha y hora de la propiedad de inicio, según lo dispuesto por el exchange. Es decir, la tasa de apertura de la vela.",
|
||||
"updated": 1628897429918
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Position",
|
||||
"definition": {
|
||||
"text": "Position is the section of the data structure that keeps track of information within the scope of each position, and during the time a position is open."
|
||||
"text": "Position is the section of the data structure that keeps track of information within the scope of each position, and during the time a position is open.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Position es la sección de la estructura de datos que realiza un seguimiento de la información dentro del alcance de cada puesto, y durante el tiempo que un puesto está abierto.",
|
||||
"updated": 1629580398836
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Slippage",
|
||||
"definition": {
|
||||
"text": "The slippage is an assumption on the difference between the simulated rate and the actual fill rate of a market order, most relevant in the context of backtesting and paper-trading sessions. The parameter is a tool to make simulations more realistic."
|
||||
"text": "The slippage is an assumption on the difference between the simulated rate and the actual fill rate of a market order, most relevant in the context of backtesting and paper-trading sessions. The parameter is a tool to make simulations more realistic.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El slippage es una suposición sobre la diferencia entre la tasa simulada y la tasa de ejecución real de una orden de mercado, más relevante en el contexto de las sesiones de backtesting y de paper-trading. El parámetro es una herramienta para hacer que las simulaciones sean más realistas.",
|
||||
"updated": 1629581196113
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Stop Loss",
|
||||
"definition": {
|
||||
"text": "Stop loss is the current stop loss target, as defined in the manage stage of the corresponding strategy."
|
||||
"text": "Stop loss is the current stop loss target, as defined in the manage stage of the corresponding strategy.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Stop loss es el objetivo actual de stop loss, según se define en la etapa de gestión de la estrategia correspondiente.",
|
||||
"updated": 1629580794189
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Strategies",
|
||||
"definition": {
|
||||
"text": "Strategies counts the number of times strategies have been triggered-on, in the context of the parent node."
|
||||
"text": "Strategies counts the number of times strategies have been triggered-on, in the context of the parent node.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Strategies cuenta el número de veces que se han activado las estrategias, en el contexto del nodo padre.",
|
||||
"updated": 1629581287671
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Strategy",
|
||||
"definition": {
|
||||
"text": "The strategy section of the trading engine keeps track of information relating to the trading strategies that are triggered-on, during the time they remain open."
|
||||
"text": "The strategy section of the trading engine keeps track of information relating to the trading strategies that are triggered-on, during the time they remain open.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El strategy sección del motor de trading realiza un seguimiento de la información relacionada con las estrategias de trading que se activan, durante el tiempo que permanecen abiertas.",
|
||||
"updated": 1629580247307
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Take Profit",
|
||||
"definition": {
|
||||
"text": "Take profit is the current take profit target, as defined in the manage stage of the corresponding strategy."
|
||||
"text": "Take profit is the current take profit target, as defined in the manage stage of the corresponding strategy.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Take profit es el objetivo actual de obtención de beneficios, según se define en la etapa de gestión de la estrategia correspondiente.",
|
||||
"updated": 1629579903804
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Target Rate",
|
||||
"definition": {
|
||||
"text": "The target rate is a reference rate that may affect simulations and that, in combination with the placement of managed stop loss and managed take profit targets, is used to determine whether the targets have been hit."
|
||||
"text": "The target rate is a reference rate that may affect simulations and that, in combination with the placement of managed stop loss and managed take profit targets, is used to determine whether the targets have been hit.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El target rate es una tasa de referencia que puede afectar a las simulaciones y que, en combinación con la ubicación de los objetivos de stop loss gestionados y take profit gestionados, se utiliza para determinar si se han alcanzado los objetivos.",
|
||||
"updated": 1629580668142
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
@@ -143,4 +150,4 @@
|
||||
"text": "As you see, flexibility is a key design feature in Superalgos."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
+8
-1
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Time Frame Scale",
|
||||
"definition": {
|
||||
"text": "The time frame scale controls the time frame setting, that is, the period represented by each candle, either of the time machine or of the timeline chart, depending on where the node is located."
|
||||
"text": "The time frame scale controls the time frame setting, that is, the period represented by each candle, either of the time machine or of the timeline chart, depending on where the node is located.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El time frame scale controla la configuración del marco de tiempo, es decir, el período representado por cada vela, ya sea de la máquina del tiempo o del gráfico de la línea de tiempo, dependiendo de dónde se encuentre el nodo.",
|
||||
"updated": 1628898828318
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Time Frame",
|
||||
"definition": {
|
||||
"text": "The time frame determines the collection of candles to be analyzed during a backtesting session, and the frequency with which the trading bot runs on paper trading, forward testing, and live trading sessions."
|
||||
"text": "The time frame determines the collection of candles to be analyzed during a backtesting session, and the frequency with which the trading bot runs on paper trading, forward testing, and live trading sessions.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El time frame determina la colección de velas que se analizarán durante una sesión de backtesting y la frecuencia con la que el robot comercial se ejecuta en papel trading, forward testing, y live trading sessions.",
|
||||
"updated": 1628903433039
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -5,10 +5,12 @@
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Un time machine sincroniza varios gráficos de línea de tiempo en la misma línea de tiempo. Los gráficos de la línea de tiempo dentro de un time machine pueden tener diferentes escalas de tasas o escalas de marco de tiempo, pero su escala de tiempo siempre coincidirá.",
|
||||
"updated": 1624406787659
|
||||
"text": "Un time machine sincroniza múltiples gráficos de línea de tiempo en la misma línea de tiempo. Gráficos de línea de tiempo dentro de un time machine pueden tener diferentes escalas de tasas o escalas de marco de tiempo, pero su escala de tiempo siempre coincidirá. ",
|
||||
"updated": 1628644798838,
|
||||
"style": "Definition"
|
||||
}
|
||||
]
|
||||
],
|
||||
"updated": 1628644911381
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
+8
-1
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Trading Mine Products",
|
||||
"definition": {
|
||||
"text": "Trading mine products are references established with trading mines to facilitate establishing data product references with multiple products in the given mine."
|
||||
"text": "Trading mine products are references established with trading mines to facilitate establishing data product references with multiple products in the given mine.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Trading mine products son referencias establecidas con trading minas para facilitar el establecimiento de referencias de productos de datos con múltiples productos en la mina determinada.",
|
||||
"updated": 1628899003801
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Trading Mine",
|
||||
"definition": {
|
||||
"text": "A trading mine is a hierarchy that contains definitions of trading bots and their plotters. These definitions make up the actual programs of such bots—the source code."
|
||||
"text": "A trading mine is a hierarchy that contains definitions of trading bots and their plotters. These definitions make up the actual programs of such bots—the source code.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Un trading mine es una jerarquía que contiene definiciones de trading bots y sus conspiradores. Estas definiciones constituyen los programas reales de dichos bots: el código fuente.",
|
||||
"updated": 1628906153772
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
+8
-1
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Trigger Off Event",
|
||||
"definition": {
|
||||
"text": "The trigger-off event defines the situation in which the corresponding strategy shall be triggered-off. A strategy that is triggered-off releases the capital in reserve and makes it available to other strategies in the trading system."
|
||||
"text": "The trigger-off event defines the situation in which the corresponding strategy shall be triggered-off. A strategy that is triggered-off releases the capital in reserve and makes it available to other strategies in the trading system.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El evento trigger-off define la situación en la que se activará la estrategia correspondiente. Una estrategia que se activa libera el capital en reserva y lo pone a disposición de otras estrategias en el sistema de trading.",
|
||||
"updated": 1629580571614
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
+8
-1
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Trigger On Event",
|
||||
"definition": {
|
||||
"text": "The trigger-on event defines the set of rules that need to be met for the corresponding strategy to be triggered on. A strategy that is triggered may use all the capital available to the trading system, and prevents other strategies in the system from triggering."
|
||||
"text": "The trigger-on event defines the set of rules that need to be met for the corresponding strategy to be triggered on. A strategy that is triggered may use all the capital available to the trading system, and prevents other strategies in the system from triggering.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El trigger-on event define el conjunto de reglas que deben cumplirse para que se active la estrategia correspondiente. Una estrategia que se activa puede utilizar todo el capital disponible para el sistema de trading y evita que se activen otras estrategias en el sistema.",
|
||||
"updated": 1629580618624
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"type": "Trigger On",
|
||||
"definition": {
|
||||
"text": "Counts the periods since the last time a strategy was triggered on."
|
||||
"text": "Counts the periods since the last time a strategy was triggered on.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Cuenta los períodos desde la última vez que se activó una estrategia.",
|
||||
"updated": 1629580287934
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"review": "Superalgos Project Review",
|
||||
"pageNumber": 22,
|
||||
"type": "Superalgos Review - Incredible intuitive trading tool",
|
||||
"definition": {
|
||||
"text": "Superalgos is an incredible tool, alowing all kinds of traders to work together with an intuitive GUI. The app has a quite steep learning curve and seems at the beginning quite overwhelming but the tutorials are done in a way which guides you quickly through all the important features and one understands that the complexity which seems difficult to master in the beginning allows for an incredible flexibility without having to know a lot about programming.\n\nThe strongest feature of the app is however its community-driven apporach allowing users to alter the software and thereby to contribute to the project. Meaning that not only developpers can contribute but also experienced traders with little or no programming knowledge or also motivated newcomers as every little improvement counts.\n\nAs the software is an ever-increasing project I am looking forward to explore it more and to help to contribute.\n\nfredericopitz",
|
||||
"updated": 1629365654376
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
|
||||
}
|
||||
]
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"review": "Superalgos Project Review",
|
||||
"pageNumber": 22,
|
||||
"type": "Superalgos Review - Vast software with great tutorials",
|
||||
"definition": {
|
||||
"text": "It's awesome how nice the getting started is...",
|
||||
"updated": 1629309124632
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
|
||||
}
|
||||
]
|
||||
}
|
||||
+2
-2
@@ -14,8 +14,8 @@
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Tus contribuciones se cargaron en tu Superalgos Fork y Pull Request fue enviado al repositorio principal de Superalgos.",
|
||||
"updated": 1628205473844
|
||||
"text": "Tus contribuciones se cargaron en tu Superalgos Fork y tu Pull Request fue enviado al repositorio principal de Superalgos.",
|
||||
"updated": 1628207320785
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+13
-3
@@ -146,12 +146,22 @@
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The Masters Data Mine features the definition of the Webhooks sensor bot used to monitor incoming notifications. You need to run an instance of this bot in the data mining section of the exchange and market of your choice.",
|
||||
"updated": 1615370092995
|
||||
"text": "The Webhooks Data Mine features the definition of the Webhooks sensor bot used to monitor incoming notifications. You need to run an instance of this bot in the data mining section of the exchange and market of your choice.",
|
||||
"updated": 1629361373616
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The default workspace does not feature these tasks. To create a task for the Webhooks sensor bot, you need to uninstall and re-install the corresponding market."
|
||||
"text": "The Getting-Started-Tutorials workspace does not have this Data Mine as a plugin so you will need to add it first. To do that locate the Plugins node, expand it and at the Plugins Data Mines add a New Plugin File. You can setup it's configuration like this:"
|
||||
},
|
||||
{
|
||||
"style": "Json",
|
||||
"text": "{\n \"project\": \"Foundations\",\n \"fileName\": \"Webhooks\",\n \"folderName\": \"Data-Mines\",\n \"nodeType\": \"Data Mine\",\n \"saveWithWorkspace\": false\n}",
|
||||
"updated": 1629361560976
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The default workspace does not feature these tasks. To create a task for the Webhooks sensor bot, you need to uninstall and re-install the corresponding market. The prcess of installing a market adds all the tasks needed to run all the bots defined at all Data Mines present at the workspace.",
|
||||
"updated": 1629361603647
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
|
||||
+8
-1
@@ -4,7 +4,14 @@
|
||||
"type": "Workspaces",
|
||||
"definition": {
|
||||
"text": "Workspaces are a powerful concept. They enable working on multiple settings in an orderly fashion.",
|
||||
"updated": 1615893371936
|
||||
"updated": 1615893371936,
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Workspaces son un concepto poderoso. Permiten trabajar en múltiples entornos de forma ordenada.",
|
||||
"updated": 1629579704727
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
+8
-1
@@ -4,7 +4,14 @@
|
||||
"type": "Simple Moving Average",
|
||||
"definition": {
|
||||
"text": "A simple moving average (SMA) calculates the average of a selected range of prices, usually closing prices, by the number of periods in that range.",
|
||||
"updated": 1622686933380
|
||||
"updated": 1622686933380,
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Un simple moving average (SMA) calcula el promedio de un rango seleccionado de precios, generalmente precios de cierre, por el número de períodos en ese rango.",
|
||||
"updated": 1629579640550
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
+8
-1
@@ -4,7 +4,14 @@
|
||||
"type": "Basic Education Tutorial",
|
||||
"definition": {
|
||||
"text": "This tutorial complements the information delivered in the Welcome to Superalgos Tutorial, focusing on the Nodes Menu, Backups, Clones and Shares, Plugins, Workspaces, References, and more.",
|
||||
"updated": 1616697309196
|
||||
"updated": 1616697309196,
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Este tutorial complementa la información entregada en el Welcome to Superalgos Tutorial, centrándose en el Nodes Menu, Backups, Clones y Shares, Plugins, Workspaces, References, y más.",
|
||||
"updated": 1628897004689
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
+2
-2
@@ -46,8 +46,8 @@
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Hit the following key combination:<br/> Ctrl + Shift + Alt + Key-R",
|
||||
"updated": 1615804638167,
|
||||
"text": "Hit the following key combination: Ctrl + Shift + Key-R or Cmd + Shift + Key-R on a Mac",
|
||||
"updated": 1629705646789,
|
||||
"translations": [
|
||||
{
|
||||
"language": "IT",
|
||||
|
||||
+15
-8
@@ -6,7 +6,7 @@
|
||||
"text": "Let's talk about my friend, the search box in the Docs. She has a bit of a double life: she searches, but also commands!",
|
||||
"updated": 1616756994691,
|
||||
"icon": {
|
||||
"name": "strategy-manage-stage",
|
||||
"name": "Strategy\\strategy-manage-stage",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"translations": [
|
||||
@@ -19,7 +19,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Hablemos de mi amigo, el cuadro de búsqueda en Documentos. Tiene una doble vida: busca, ¡pero también manda!",
|
||||
"updated": 1628112617535
|
||||
"updated": 1628112617535,
|
||||
"style": "Definition"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -38,7 +39,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El cuadro de búsqueda también es interfaz de línea de comandos! La lista de comandos tiene que ver con:",
|
||||
"updated": 1628113873377
|
||||
"updated": 1628113873377,
|
||||
"style": "Text"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -56,7 +58,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Producir y editar los documentos.",
|
||||
"updated": 1628113477717
|
||||
"updated": 1628113477717,
|
||||
"style": "List"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -67,7 +70,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Obteniendo actualizaciones.",
|
||||
"updated": 1628113492383
|
||||
"updated": 1628113492383,
|
||||
"style": "List"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -85,7 +89,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Contribuir con trabajo al proyecto.",
|
||||
"updated": 1628113514180
|
||||
"updated": 1628113514180,
|
||||
"style": "List"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -103,7 +108,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "¡Trabajemos en un ejemplo práctico! ¡Te enseñaré cómo editar los documentos y cómo contribuir con un par de comandos!",
|
||||
"updated": 1628113897204
|
||||
"updated": 1628113897204,
|
||||
"style": "Callout"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -121,7 +127,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Prepararé los siguientes pasos con una pequeña historia ... ¡Espero que les guste la idea!",
|
||||
"updated": 1628113581278
|
||||
"updated": 1628113581278,
|
||||
"style": "Text"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+9
-5
@@ -5,7 +5,7 @@
|
||||
"definition": {
|
||||
"text": "Superalgos is free for everyone because we want your help! We want the best minds in the space to help us build the ultimate trading automation platform!",
|
||||
"icon": {
|
||||
"name": "nodes-highlights",
|
||||
"name": "Nodes\\nodes-highlights",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"updated": 1610719931963,
|
||||
@@ -19,7 +19,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "¡Superalgos es gratis para todos porque queremos tu ayuda! ¡Queremos que las mejores mentes nos ayuden a construir la plataforma de automatización trading definitiva!",
|
||||
"updated": 1628116911425
|
||||
"updated": 1628116911425,
|
||||
"style": "Definition"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -38,7 +39,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "¡Tu primera contribución es tu feedback!",
|
||||
"updated": 1628116797218
|
||||
"updated": 1628116797218,
|
||||
"style": "Callout"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -56,7 +58,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": " ¡Queremos tener tu primera impresión, fresca de la experiencia reciente! Y queremos que sus comentarios iniciales sean la primera de muchas contribuciones al proyecto.",
|
||||
"updated": 1628117475146
|
||||
"updated": 1628117475146,
|
||||
"style": "Text"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -74,7 +77,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "No necesitas ser un programador estrella o un trader profesional para contribuir. ¡Se espera que cada usuario retribuya! ¡Te diré cómo!",
|
||||
"updated": 1628118458317
|
||||
"updated": 1628118458317,
|
||||
"style": "Success"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+9
-5
@@ -6,7 +6,7 @@
|
||||
"text": "Free-riding is not cool! We know that once you start contributing, you will inspire more people to follow your lead!",
|
||||
"updated": 1619786483852,
|
||||
"icon": {
|
||||
"name": "bullet-error",
|
||||
"name": "Bullet\\bullet-error",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"translations": [
|
||||
@@ -19,7 +19,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "¡Aprovecharse no es cool! Sabemos que una vez que comiences a contribuir, inspirarás a más personas a seguir tu ejemplo.",
|
||||
"updated": 1628119445138
|
||||
"updated": 1628119445138,
|
||||
"style": "Definition"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -38,7 +39,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El proyecto ha implementado un poderoso esquema de incentivos para promover el comportamiento deseado y fomentar una cultura de colaboración. ¡Estamos distribuyendo el token de Superalgos (SA) exclusivamente entre los contribuyentes!",
|
||||
"updated": 1628121558894
|
||||
"updated": 1628121558894,
|
||||
"style": "Text"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -60,7 +62,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "¡Combatimos el free-riding con incentivos!",
|
||||
"updated": 1628121572845
|
||||
"updated": 1628121572845,
|
||||
"style": "Success"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -78,7 +81,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "¡Pongamos en marcha tu primera contribución! ¡Primero, te enseñaré cómo cambiar de rama!",
|
||||
"updated": 1628121589878
|
||||
"updated": 1628121589878,
|
||||
"style": "Callout"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
"definition": {
|
||||
"text": "There are a few things you should consider every time you switch branches! Let's go through a quick list before you proceed!",
|
||||
"icon": {
|
||||
"name": "bullet-warning",
|
||||
"name": "Bullet\\bullet-warning",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"updated": 1618147991903,
|
||||
|
||||
+13
-7
@@ -5,7 +5,7 @@
|
||||
"definition": {
|
||||
"text": "Now that everything's clear, let's do the switch and get ready for what comes next!",
|
||||
"icon": {
|
||||
"name": "docs-success-style",
|
||||
"name": "Docs\\docs-success-style",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"updated": 1617019411568,
|
||||
@@ -19,7 +19,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Ahora que todo está claro, ¡hagamos el cambio y prepárete para lo que viene a continuación!",
|
||||
"updated": 1628127987969
|
||||
"updated": 1628127987969,
|
||||
"style": "Definition"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -38,7 +39,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Esto es lo que necesitas hacer:",
|
||||
"updated": 1628128191379
|
||||
"updated": 1628128191379,
|
||||
"style": "Text"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -56,7 +58,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Regresa al pie de página y selecciona Plugins-Docs como tu Current Branch.",
|
||||
"updated": 1628128266760
|
||||
"updated": 1628128266760,
|
||||
"style": "List"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -74,7 +77,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Obtendrás una página que explica lo que se está haciendo. Luego, aparecerá otra página que te informará del resultado y te explicará que debes reiniciar la aplicación.",
|
||||
"updated": 1628128508302
|
||||
"updated": 1628128508302,
|
||||
"style": "List"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -92,7 +96,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Cierra la aplicación y reiníciela (navegador y consola).",
|
||||
"updated": 1628128700479
|
||||
"updated": 1628128700479,
|
||||
"style": "List"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -110,7 +115,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Encuentra el Beyond the Basics Tutorial en la esquina inferior derecha del Workspace y selecciona \"Resume\" en el menú. Si \"Resume\" No funciona, encuentra el \"Welcome Back!\" bajo el Branches Topic y haz clic en \"Play\" en el menú.",
|
||||
"updated": 1628128938546
|
||||
"updated": 1628128938546,
|
||||
"style": "List"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+7
-4
@@ -5,7 +5,7 @@
|
||||
"definition": {
|
||||
"text": "If you didn't mess up the command, you should get a new page with the title you set, an invitation to write a summary, and more instructions below!",
|
||||
"icon": {
|
||||
"name": "docs-action-edit-paragraph",
|
||||
"name": "Docs\\docs-action-edit-paragraph",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"updated": 1616875304376,
|
||||
@@ -19,7 +19,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Si no has estropeado el comando, deberías obtener una nueva página con el título que estableciste, una invitación para escribir un resumen y más instrucciones a continuación.\n",
|
||||
"updated": 1628187369107
|
||||
"updated": 1628187369107,
|
||||
"style": "Definition"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -38,7 +39,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Si recibes un mensaje de error, léelo y soluciona el problema. Es probable que se trate de la sintaxis del comando. ¡Siempre puedes retroceder un paso para recuperar el comando original!",
|
||||
"updated": 1628187419945
|
||||
"updated": 1628187419945,
|
||||
"style": "Note"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -56,7 +58,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "En el siguiente paso, analizaremos cómo funciona el comando.",
|
||||
"updated": 1628187437392
|
||||
"updated": 1628187437392,
|
||||
"style": "Success"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+11
-6
@@ -5,7 +5,7 @@
|
||||
"definition": {
|
||||
"text": "I'll give you a few pointers on how to edit the page! Right-click on a paragraph to get the styles menu. The pencil starts edit mode...",
|
||||
"icon": {
|
||||
"name": "docs-action-edit-paragraph",
|
||||
"name": "Docs\\docs-action-edit-paragraph",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"updated": 1616880288897,
|
||||
@@ -19,7 +19,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "¡Te daré algunos consejos sobre cómo editar la página! Haga clic derecho en un párrafo para obtener el menú de estilos. El lápiz inicia el modo de edición ...",
|
||||
"updated": 1628189538173
|
||||
"updated": 1628189538173,
|
||||
"style": "Definition"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -32,7 +33,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Esto es un H1... H2 es mas pequeño!",
|
||||
"updated": 1628189607019
|
||||
"updated": 1628189607019,
|
||||
"style": "Subtitle"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -63,7 +65,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "La cuarta columna presenta notas (como esta), junto con consejos, recuadros importantes y de advertencia.",
|
||||
"updated": 1628189734281
|
||||
"updated": 1628189734281,
|
||||
"style": "Note"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -75,7 +78,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Utiliza JS para agregar código === \"¡diseñado por prisma!\"",
|
||||
"updated": 1628189857508
|
||||
"updated": 1628189857508,
|
||||
"style": "Javascript"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -93,7 +97,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Abc| convierte el párrafo en texto sin formato. ¡Eso debería ser suficiente para que tu reseña se vea genial! ¡Explicaré el resto del menú más adelante!",
|
||||
"updated": 1628189894586
|
||||
"updated": 1628189894586,
|
||||
"style": "Text"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+7
-4
@@ -6,7 +6,7 @@
|
||||
"text": "These comments about your first impressions on Superalgos are your first contribution, and for that we thank you!",
|
||||
"updated": 1610735268141,
|
||||
"icon": {
|
||||
"name": "bullet-warning",
|
||||
"name": "Bullet\\bullet-warning",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"translations": [
|
||||
@@ -19,7 +19,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Estos comentarios sobre tus primeras impresiones en Superalgos son tu primer aporte, ¡y por eso te agradecemos!",
|
||||
"updated": 1628190090733
|
||||
"updated": 1628190090733,
|
||||
"style": "Definition"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -38,7 +39,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Para que tu reseña se combine en el repositorio de Superalgos, debes firmarla con tu nombre de usuario de GitHub.com en el último párrafo de la página. ¡Esto es importante para que luego puedas encontrar la página usando la búsqueda! Siempre puedes volver y editarlo.",
|
||||
"updated": 1628190305617
|
||||
"updated": 1628190305617,
|
||||
"style": "Important"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -56,7 +58,8 @@
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Las contribuciones te hacen ganar Superalgos SA Tokens y están sujetos a los términos de la Apache Licence 2.0. En resumen, los Colaboradores brindan una concesión expresa de derechos de autor / derechos de patente.",
|
||||
"updated": 1628190213182
|
||||
"updated": 1628190213182,
|
||||
"style": "Note"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 1,
|
||||
"type": "Creating Your User Profile Tutorial",
|
||||
"definition": {
|
||||
"text": "This Tutorial walks you through the steps to create a User Profile and begin the journey to participating in Superalgos Governance.",
|
||||
"updated": 1629146822189
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Title",
|
||||
"text": "About This Tutorial"
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Workspace: Token Distribution Superalgos.",
|
||||
"updated": 1629146723735
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Maintainer: @harrellbm (Telegram, and Discord)."
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 2,
|
||||
"type": "Tutorial Step - Better Together",
|
||||
"definition": {
|
||||
"text": "Welcome to Superalgos Governance! Today I will walk you through everything you need to know about creating a Superalgos User Profile and joining the Governance network!",
|
||||
"updated": 1629164302622,
|
||||
"icon": {
|
||||
"name": "governance",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "As a completely open source and collaborative project, Superalgos is not run by any singular set of people. ",
|
||||
"updated": 1629164311647
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "Even the core team, who are dedicated to improving and maintaining Superalgos, do not directly control the path development will take. ",
|
||||
"updated": 1629164322397
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Instead, the governance system distributes decision making power across all User Profiles by leveraging the SA token.",
|
||||
"updated": 1629701444641
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 3,
|
||||
"type": "Tutorial Step - Make sure You’re Comfortable",
|
||||
"definition": {
|
||||
"text": "Before you jump into governance, it’s important you know how Superalgos works!",
|
||||
"updated": 1629720525960,
|
||||
"icon": {
|
||||
"name": "Pool\\pools",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "We have got a lot of exciting things to talk about, but I want to make sure you can follow along easily. ",
|
||||
"updated": 1629164474591
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "If you haven't already, make sure you go through the Getting Started Tutorials before continuing!",
|
||||
"updated": 1629720338031
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
"text": "No need to be an expert, but you will need some general knowledge of the system to understand what this is all about!",
|
||||
"updated": 1629720316727
|
||||
}
|
||||
]
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 4,
|
||||
"type": "Tutorial Step - One Token to Rule Them All",
|
||||
"definition": {
|
||||
"text": "Unlike some crypto currencies the SA token actually means something!",
|
||||
"updated": 1629162158011,
|
||||
"icon": {
|
||||
"name": "Programs\\staking-program",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The SA token is a BEP20 token hosted on the Binance Smart Chain (BSC). It represents your amount of investment in the Superalgos project and community. It is a way to reward and grow the Superalgos user base and development pool.",
|
||||
"updated": 1629164803435
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "The project distributes tokens exclusively among contributors!"
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
"text": "This means that the more you contribute to the project and help others, the more tokens you will earn!",
|
||||
"updated": 1629164817915
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 5,
|
||||
"type": "Tutorial Step - With Tokens Comes Responsibility",
|
||||
"definition": {
|
||||
"text": "Holding tokens does more than just show commitment. SA tokens also confer governance power!",
|
||||
"updated": 1629162449407,
|
||||
"icon": {
|
||||
"name": "governance",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The more tokens you hold the more influence you can have over the direction of the project. This means, by owning SA tokens, you hold the power to use those tokens to exert influence over what parts of the system will be developed and how the community will evolve.",
|
||||
"updated": 1629165111109
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "This works in a cycle. The more you contribute, the more tokens you earn, the more say you have!"
|
||||
}
|
||||
]
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 6,
|
||||
"type": "Tutorial Step - A Mighty Meritocracy",
|
||||
"definition": {
|
||||
"text": "Superalgos does not reward freeloading! Real contributions to the project and community are what get rewarded with SA tokens and Governance power.",
|
||||
"updated": 1629162653518,
|
||||
"icon": {
|
||||
"name": "Position\\positions",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The fancy word for this kind of project governance is meritocracy. In other words, the more you contribute to the improvement of Superalgos, and to the support of our community, the more governance power you earn to influence the future of the Superalgos project.",
|
||||
"updated": 1629165463461
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "This is a collaboration! Only together can we continue to make Superalgos the game changer it is today no matter what the future may bring.",
|
||||
"updated": 1629165548280
|
||||
}
|
||||
]
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 7,
|
||||
"type": "Tutorial Step - A Worthy Contribution",
|
||||
"definition": {
|
||||
"text": "No matter who you are, you can bring value to the Superalgos network!",
|
||||
"updated": 1629162880545,
|
||||
"icon": {
|
||||
"name": "Programs\\referral-program",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Success",
|
||||
"text": "Each of us bring unique talents and experience into our work with Superalgos. Even if you are not a programmer or expert trader there is still ways for you to get involved and grow the project!",
|
||||
"updated": 1629165838038
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "One of the first contributions you can make to the project is getting involved in governance itself. The network of users guiding Superalgos is an integral part of the success of our open collaboration. You bring value to the network just by being a part of it!"
|
||||
}
|
||||
]
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 8,
|
||||
"type": "Tutorial Step - What’s in a Profile?",
|
||||
"definition": {
|
||||
"text": "So what are we waiting for? Let’s get started! To participate in Governance you will first need a User Profile.",
|
||||
"updated": 1629163040597,
|
||||
"icon": {
|
||||
"name": "User\\user-profile",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Your profile is set up just like the rest of the Superalgos system. It is a hierarchy of nodes. Only this hierarchy defines how you intend to use the Token Power you have earned or is delegated to you by other users. ",
|
||||
"updated": 1629165991225
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "By channelling your token power you help decide what parts of the system will be incentivised for further development and who will be rewarded for the community roles they have played.",
|
||||
"updated": 1629166027369
|
||||
}
|
||||
]
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 9,
|
||||
"type": "Tutorial Step - Program Participation",
|
||||
"definition": {
|
||||
"text": "How you use your Token Power is defined within a number of different Programs within your profile hierarchy.",
|
||||
"updated": 1629163374967,
|
||||
"icon": {
|
||||
"name": "User\\user-referrer",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "These programs help organize the types of development and community relationships you want to reward. ",
|
||||
"updated": 1629166399952
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "For instance, the Claims Program lets you present claims for the work you’ve done. While the Support Program lets you thank other Superalgos users that have helped you with technical support. ",
|
||||
"updated": 1629166416422
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "We’ll cover all these and other programs in detail once you have a working profile!"
|
||||
}
|
||||
]
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 10,
|
||||
"type": "Tutorial Step - Where it all Begins",
|
||||
"definition": {
|
||||
"text": "Here we are at the head of the governance project. Let’s get that profile created!",
|
||||
"updated": 1629163572836,
|
||||
"icon": {
|
||||
"name": "governance",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Click the Add Profile Constructor button.",
|
||||
"updated": 1629163599518
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Now position the resulting Profile Constructor node where it is easy to see.",
|
||||
"updated": 1629163626525
|
||||
}
|
||||
]
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 11,
|
||||
"type": "Tutorial Step - Profile in a Heartbeat",
|
||||
"definition": {
|
||||
"text": "The Profile Constructor is the device you will use to set up your profile.",
|
||||
"updated": 1629552461547,
|
||||
"icon": {
|
||||
"name": "profile-constructor",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Not only that but it will create a unique Binance Smart Chain wallet that is connected with your profile. We call it your Governance Address.",
|
||||
"updated": 1629166742408
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "However, if you already own a BSC wallet you will have the option to link that address instead of creating a new one.",
|
||||
"updated": 1629552662270
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Your Governance Address will allow you to receive the SA tokens you earn. Superalgos will also read the balance of this address to become aware of the number of SA tokens you hold, and assign your profile an equivalent amount of Token Power.",
|
||||
"updated": 1629166705049
|
||||
}
|
||||
]
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 12,
|
||||
"type": "Tutorial Step - Pump that Heartbeat!",
|
||||
"definition": {
|
||||
"text": "Now let’s configure that Profile Constructor!",
|
||||
"updated": 1629167519082,
|
||||
"icon": {
|
||||
"name": "configuration",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Click the configuration option and enter your GitHub username like this:",
|
||||
"updated": 1629553104003
|
||||
},
|
||||
{
|
||||
"style": "Json",
|
||||
"text": "{\n\"githubUsername\": \"My-Awesome-Username\"\n\"mnemonic\": \"\"\n}",
|
||||
"updated": 1629706380660
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "If you want to link an address you already own, type the twelve word mnemonic associated with your address under the mnemonic property. If not, leave the property blank and the system will make a new one for you!",
|
||||
"updated": 1629706491511
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 13,
|
||||
"type": "Tutorial Step - Oh so Shiny",
|
||||
"definition": {
|
||||
"text": "We are almost there. Now click Build Profile and watch the magic happen. That’s right, you just created your profile!",
|
||||
"icon": {
|
||||
"name": "User\\user-profile",
|
||||
"project": "Governance"
|
||||
},
|
||||
"updated": 1629721281167
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "While we didn’t have to break a sweat making your profile, some pretty amazing things happened behind the scenes. ",
|
||||
"updated": 1629553522636
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "The constructor just generated your user profile, and either linked your address or created a unique SA Token Governance address. ",
|
||||
"updated": 1629553674568
|
||||
}
|
||||
]
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 14,
|
||||
"type": "Tutorial Step - Only You",
|
||||
"definition": {
|
||||
"text": "The profile constructor also did some work to make sure only you can change your profile.",
|
||||
"updated": 1629553865897,
|
||||
"icon": {
|
||||
"name": "User\\user-profile",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "A cryptographic message with your GitHub.com username has been signed with the private key corresponding to your governance address. This message will be stored in your User Profile so that we may authenticate it comes from you once you submit your profile as a plugin to the Governance Project.",
|
||||
"updated": 1629553908808
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
"text": ". What this means is that your profile, and its associated token address, can only be accessed and changed by you!",
|
||||
"updated": 1629553923815
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 15,
|
||||
"type": "Tutorial Step - Under the Hood",
|
||||
"definition": {
|
||||
"text": "Let's take a little closer look at the cryptographic signature in your new profile.",
|
||||
"updated": 1629554334739,
|
||||
"icon": {
|
||||
"name": "User\\user-profile",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Click the configuration option on your User Profile node and take a look at what's inside.",
|
||||
"updated": 1629554250933
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Wow that’s a lot of numbers! Again, this is how the governance system will know that this User Profile belongs to the private key that signed the message, which in turn belongs to the address that will hold the tokens that confer your profile with Token Power.",
|
||||
"updated": 1629554289159
|
||||
}
|
||||
]
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 16,
|
||||
"type": "Tutorial Step - Save the Key!",
|
||||
"definition": {
|
||||
"text": "Now that you have a new rocking Profile, let’s talk some more about that private key. ",
|
||||
"updated": 1629554694993,
|
||||
"icon": {
|
||||
"name": "Key\\key-reference",
|
||||
"project": "Foundations"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Your private key is the way you will be able to add your governance address to a crypto wallet. Superalgos generates it locally on your computer. This means that there is no one else in the world that has access, or knowledge, of your key.",
|
||||
"updated": 1629578744466
|
||||
},
|
||||
{
|
||||
"style": "Warning",
|
||||
"text": "This is the most important part of this tutorial! You must backup your private key!",
|
||||
"updated": 1629578829982
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "If you linked a previously owned address you will not need to save the private key but should back up the contents of the constructor for safety."
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 17,
|
||||
"type": "Tutorial Step - Profile Backup",
|
||||
"definition": {
|
||||
"text": "Later on, you will be rewarded with Superalgos SA Tokens to the address you just generated. But before that happens, you must safely store the private key that you will use to access the address.",
|
||||
"updated": 1629579328664,
|
||||
"icon": {
|
||||
"name": "Exchange\\exchange-account-asset",
|
||||
"project": "Foundations"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "At this point, Superalgos doesn’t offer a built-in solution to securely back up your private keys. All the system does is generate a BSC address / private key pair and deliver it in the configuration of the Profile Constructor node. It is up to you to decide how you are going to handle this sensitive information.",
|
||||
"updated": 1629578959187
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Access the configuration of the Profile Constructor. You will find the address and private key, so that you may back up the information in whatever way you see fit.",
|
||||
"updated": 1629578990303
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 18,
|
||||
"type": "Tutorial Step - Delete the Constructor",
|
||||
"definition": {
|
||||
"text": "After you have made sure to back up the contents of the Profile Constructor it's time to clean up shop.",
|
||||
"updated": 1629582388020,
|
||||
"icon": {
|
||||
"name": "Docs\\docs-action-delete-paragraph",
|
||||
"project": "Foundations"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Once you are satisfied with your backup of the private key, delete the Profile Constructor node! ",
|
||||
"updated": 1629582405899
|
||||
},
|
||||
{
|
||||
"style": "Warning",
|
||||
"text": "It is not safe to store your private key at the Workspace, as you may accidentally submit it to GitHub.com with one of your contributions. Also, remember that workspaces are saved on disk as unencrypted JSON files, with no security whatsoever."
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 19,
|
||||
"type": "Tutorial Step - Make it Official",
|
||||
"definition": {
|
||||
"text": "Now we are ready to push your new profile to the main Superalgos repository! ",
|
||||
"updated": 1629583003718,
|
||||
"icon": {
|
||||
"name": "Programs\\github-program",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "If you have gone through the welcome tutorials already, you should have set up your GitHub authentication and submitted a review. Submitting your profile will be exactly the same. Easy right!",
|
||||
"updated": 1629583038275
|
||||
},
|
||||
{
|
||||
"style": "Warning",
|
||||
"text": "If this sounds strange to you. Read the docs page open to the right and go through the steps to set up your GitHub authentication. Then come back here and we'll finish up!",
|
||||
"updated": 1629583121545
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 20,
|
||||
"type": "Tutorial Step - To Infinity and Beyond",
|
||||
"definition": {
|
||||
"text": "If you have submitted a review then you are ready to go. We will be using the app.contribute command again to finish submitting your profile.",
|
||||
"updated": 1629583914664,
|
||||
"icon": {
|
||||
"name": "User\\user-profile",
|
||||
"project": "Governance"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Go to the docs panel and type the following command into the search bar:",
|
||||
"updated": 1629726858200
|
||||
},
|
||||
{
|
||||
"style": "Json",
|
||||
"text": "app.contribute This is my first submission of User Profile [add your name here]",
|
||||
"updated": 1629726765903
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "If everything is set up correctly you should see the message appear that your pull request has been submitted. This means that your profile has been sent to the main Superalgos repository and will be automatically merged in just a few minutes!"
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"tutorial": "Creating Your User Profile Tutorial",
|
||||
"pageNumber": 21,
|
||||
"type": "Tutorial Step - Welcome aboard!",
|
||||
"definition": {
|
||||
"text": "You did it! You are now officially a part of the Superalgos governance community! Now that you have a profile there are a few important things to do.",
|
||||
"updated": 1629585105331,
|
||||
"icon": {
|
||||
"name": "Announcement\\announcement",
|
||||
"project": "Foundations"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "If you generated a Governance address using the profile constructor then you will want to connect that address to a wallet so that you have control of your tokens. ",
|
||||
"updated": 1629585389120
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "You will find guides to do that here: Building Your Profile",
|
||||
"updated": 1629585521857
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Not only that, but you will want to begin participating in all of the exciting governance programs available! My friend here will take you through that next step in your governance journey.",
|
||||
"updated": 1629585212515
|
||||
}
|
||||
]
|
||||
}
|
||||
+40
-8
@@ -5,30 +5,40 @@
|
||||
"definition": {
|
||||
"text": "Let’s build the mother of all trading strategies: The Moving Average Cross!",
|
||||
"icon": {
|
||||
"name": "Tutorial/tutorial",
|
||||
"name": "Tutorial\\tutorial",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"updated": 1614275495850,
|
||||
"updated": 1629342747241,
|
||||
"translations": [
|
||||
{
|
||||
"language": "DE",
|
||||
"text": "Lass uns die Mutter aller Handelsstrategien aufbauen: Die Moving Average Überkreuzung!",
|
||||
"updated": 1622970055812,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Construyamos la madre de todas las estrategias trading: The Moving Average Cross",
|
||||
"updated": 1629342995750
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "For this tutorial I assume that",
|
||||
"updated": 1614240501976,
|
||||
"text": "For this tutorial I assume that:",
|
||||
"updated": 1629342738424,
|
||||
"translations": [
|
||||
{
|
||||
"language": "DE",
|
||||
"text": "Für dieses Lernprogramm gehe ich davon aus, dass",
|
||||
"updated": 1622970071369,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Para este tutorial supongo que:",
|
||||
"updated": 1629343108610
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -41,8 +51,14 @@
|
||||
"text": "du das Willkommens-Tutorial im Workspace \"Erste Schritte\" absolviert haben",
|
||||
"updated": 1622970086389,
|
||||
"style": "List"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Has hecho el Welcome Tutorial en el Getting Started Workspace",
|
||||
"updated": 1629343127301
|
||||
}
|
||||
]
|
||||
],
|
||||
"updated": 1629342770748
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
@@ -53,32 +69,48 @@
|
||||
"text": "du dich sicher im Workspace und in den Charts bewegen kannst.",
|
||||
"updated": 1622970109192,
|
||||
"style": "List"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Te sientes cómodo moviéndote por el Workspace y los Charts",
|
||||
"updated": 1629343147093
|
||||
}
|
||||
]
|
||||
],
|
||||
"updated": 1629342792390
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "You have a basic understanding about what is a Trading Bot and a strategy",
|
||||
"updated": 1614275543824,
|
||||
"updated": 1629342812080,
|
||||
"translations": [
|
||||
{
|
||||
"language": "DE",
|
||||
"text": "du hast ein grundlegendes Verständnis davon, was ein Trading Bot und eine Trading Strategie ist",
|
||||
"updated": 1622970162593,
|
||||
"style": "List"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Tienes un conocimiento básico sobre lo que es un Trading Bot y una estrategia",
|
||||
"updated": 1629343167648
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "We will build a bot to backtest a strategy based on Simple Moving Average Cross between SMA50 and SMA200 on 4h TF, a classic!",
|
||||
"updated": 1622980039332,
|
||||
"updated": 1629342831236,
|
||||
"translations": [
|
||||
{
|
||||
"language": "DE",
|
||||
"text": "Wir werden einen Bot bauen, der auf eine Simple Moving Average Überkreuzung zwischen SMA50 und SMA200 auf 4h TF(Time Frame) basierende Strategie backtestet, ein Klassiker!",
|
||||
"updated": 1622980080284,
|
||||
"style": "Note"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Construiremos un bot para probar una estrategia basada en Simple Moving Average Cross entre SMA50 y SMA200 en 4h TF, ¡un clásico!",
|
||||
"updated": 1629343206412
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+19
-4
@@ -4,9 +4,9 @@
|
||||
"type": "Tutorial Step - Look around",
|
||||
"definition": {
|
||||
"text": "Workspaces can be changed!",
|
||||
"updated": 1614241100778,
|
||||
"updated": 1629344688461,
|
||||
"icon": {
|
||||
"name": "Layer/layer",
|
||||
"name": "Layer\\layer",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"translations": [
|
||||
@@ -15,6 +15,11 @@
|
||||
"text": "Workspaces können angepasst werden!",
|
||||
"updated": 1622977673407,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Workspaces pueden ser cambiados",
|
||||
"updated": 1629344801370
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -22,26 +27,36 @@
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "I arranged the workspace in a slightly different way compared to Getting Started. It's a good practice to customize the workspace to keep it tidy and clean. Remember that every hierarchy, node or offspring can impact on your machine resources.",
|
||||
"updated": 1614241304126,
|
||||
"updated": 1629344708619,
|
||||
"translations": [
|
||||
{
|
||||
"language": "DE",
|
||||
"text": "Ich habe den Workspace im Vergleich zu Getting Started (\"Erste Schritte\") etwas anders angeordnet. Es ist eine gute Praxis, den Workspace anzupassen, um ihn aufgeräumt und sauber zu halten. Denke daran, dass jede Hierarchie, jeder Knoten und jeder Nachfolgende Auswirkungen auf deine Maschinenressourcen haben kann.",
|
||||
"updated": 1622977620392,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Arreglé el workspace de una manera ligeramente diferente en comparación con Getting Started. Es una buena práctica personalizar el workspace para mantenerlo ordenado y limpio. Recuerda que cada jerarquía, nodo o descendencia puede afectar los recursos de tu máquina.",
|
||||
"updated": 1629344864911
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
"text": "Have a look around, right click on empty space and explore the Workspace I arranged for you!",
|
||||
"updated": 1614334045360,
|
||||
"updated": 1629344734628,
|
||||
"translations": [
|
||||
{
|
||||
"language": "DE",
|
||||
"text": "Schau dich um, klicke mit der rechten Maustaste auf eine leere Fläche und erkunde den Workspace, den ich für dich eingerichtet habe!",
|
||||
"updated": 1622977643971,
|
||||
"style": "Success"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Echa un vistazo, haga clic derecho en el espacio vacío y explore el Workspace. ¡Lo arreglé para ti!",
|
||||
"updated": 1629344896872
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+21
-1
@@ -5,7 +5,7 @@
|
||||
"definition": {
|
||||
"text": "Not only Workspaces can be modified",
|
||||
"icon": {
|
||||
"name": "Data/data-mine",
|
||||
"name": "Data\\data-mine",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"updated": 1614241455319,
|
||||
@@ -15,6 +15,11 @@
|
||||
"text": "Nicht nur Workspaces können modifiziert werden.",
|
||||
"updated": 1622977759915,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "No solo Workspaces se pueden modificar",
|
||||
"updated": 1629346887546
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -29,6 +34,11 @@
|
||||
"text": "SA ist sehr modular und kann so angeordnet werden, wie wir es für unsere Bedürfnisse bevorzugen.",
|
||||
"updated": 1622977780236,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "SA es muy modular y se puede organizar de la manera que prefiramos para nuestras necesidades.",
|
||||
"updated": 1629347317411
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -41,6 +51,11 @@
|
||||
"text": "Ich habe für dich einen sehr einfachen Workspace mit einer neuen Data Mine vorbereitet und die Knoten angeordnet, wobei ich alles gelöscht habe, was ich für dieses Tutorial nicht benötige.",
|
||||
"updated": 1622977811209,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Te preparé un muy básico Workspace con un nuevo Data Mine y organize los nodos eliminando todo lo que no necesito para este tutorial.",
|
||||
"updated": 1629347385771
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -53,6 +68,11 @@
|
||||
"text": "In SA können Data Mines hinzugefügt und entfernt werden, aber die auf der Festplatte gespeicherten Daten werden nicht gelöscht, wenn du einen Indikator entfernst!",
|
||||
"updated": 1622977843713,
|
||||
"style": "Success"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "En SA, las minas de datos se pueden agregar y eliminar, pero los datos guardados en su disco duro no se eliminarán si eliminas un indicador.",
|
||||
"updated": 1629347666344
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+36
-1
@@ -5,7 +5,7 @@
|
||||
"definition": {
|
||||
"text": "Let's build the mother of all strategies!",
|
||||
"icon": {
|
||||
"name": "Strategy/strategy",
|
||||
"name": "Strategy\\strategy",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"updated": 1614241902261,
|
||||
@@ -15,6 +15,11 @@
|
||||
"text": "Lass uns die Mutter aller Strategien erstellen!",
|
||||
"updated": 1622977892890,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "¡Construyamos la madre de todas las estrategias!",
|
||||
"updated": 1629347747877
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -29,6 +34,11 @@
|
||||
"text": "Um eine Strategie backtesten zu können, müssen wir sie erst einmal schreiben oder klar im Kopf haben. Auf folgenden Eckpfeilern basiert unser Test:",
|
||||
"updated": 1622979087886,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Para realizar una prueba retrospectiva de una estrategia, primero debemos escribirla o tenerla clara en nuestra mente. Así que estas son las piedras angulares en las que se basa nuestra prueba:",
|
||||
"updated": 1629347848333
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -41,6 +51,11 @@
|
||||
"text": "Strategie verwendet SMA50 und SMA200",
|
||||
"updated": 1622977962657,
|
||||
"style": "List"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Strategy usa SMA50 y SMA200",
|
||||
"updated": 1629347862168
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -53,6 +68,11 @@
|
||||
"text": "Die Strategie basiert auf 4h TF (Time Frame)",
|
||||
"updated": 1622979509680,
|
||||
"style": "List"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Strategy está basado en 4H TF",
|
||||
"updated": 1629347891997
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -65,6 +85,11 @@
|
||||
"text": "Der Bot wird das Asset kaufen, wenn der SMA50 den SMA200 nach oben kreuzt",
|
||||
"updated": 1622978113525,
|
||||
"style": "List"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El bot comprará el asset cuando SMA50 cruzar hasta SMA200",
|
||||
"updated": 1629347952235
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -77,6 +102,11 @@
|
||||
"text": "Stop Loss wird auf 20% vom Einstiegspunkt gesetzt",
|
||||
"updated": 1622978127244,
|
||||
"style": "List"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Stop Loss está fijado en 20% desde la entrada",
|
||||
"updated": 1629348020213
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -89,6 +119,11 @@
|
||||
"text": "Take Profit wird auf 100% oder auf SMA50 kreuzt SMA200 nach unten gesetzt",
|
||||
"updated": 1622978244002,
|
||||
"style": "List"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Take Profit está fijado en 100% o en SMA50 cruzar abajo SMA200",
|
||||
"updated": 1629348082752
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+31
-1
@@ -5,7 +5,7 @@
|
||||
"definition": {
|
||||
"text": "Trading System is already set up. Let's have a look!",
|
||||
"icon": {
|
||||
"name": "Trading/trading-system-reference",
|
||||
"name": "Trading\\trading-system-reference",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"updated": 1614242955916,
|
||||
@@ -15,6 +15,11 @@
|
||||
"text": "Das Trading System ist bereits aufgesetzt. Lass es uns anschauen!",
|
||||
"updated": 1622978283268,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Trading System ya está configurado. ¡Echemos un vistazo!",
|
||||
"updated": 1629348173186
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -29,6 +34,11 @@
|
||||
"text": "ie Strategie ist bereits umgesetzt. Schauen wir sie uns einmal an, um sie zu verstehen!",
|
||||
"updated": 1622978294304,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "La estrategia ya está desplegada. ¡Así que echemos un vistazo para entenderlo!",
|
||||
"updated": 1629348191210
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -41,6 +51,11 @@
|
||||
"text": "Wie du sehen kannst, hat ein Tradingsystem zwei Hauptnachfolger:",
|
||||
"updated": 1622978319793,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Como puedes ver, un Trading System tiene 2 descendientes principales:",
|
||||
"updated": 1629348227357
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -54,6 +69,11 @@
|
||||
"text": "Dynamic Indicators (\"Dynamische Indikatoren\"): Damit kannst du On-The-Fly-Indikatoren erstellen",
|
||||
"updated": 1622978351655,
|
||||
"style": "List"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Dynamic Indicators: Esto te permite crear indicadores sobre la marcha",
|
||||
"updated": 1629348275874
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -67,6 +87,11 @@
|
||||
"text": "Trading Strategy (\"Handelsstrategie\"): Hier definieren wir Parameter, Bedingungen und Formeln für unsere Strategie",
|
||||
"updated": 1622978372386,
|
||||
"style": "List"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Trading Strategy: Es donde definimos parámetros, condiciones y fórmulas para nuestra estrategia.",
|
||||
"updated": 1629348244296
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -79,6 +104,11 @@
|
||||
"text": "Dieses Tutorial behandelt keine Definitionen oder Konzepte, die in SA verwendet werden. In diesem Tutorial geht es nur darum, wie man eine Strategie einsetzt!",
|
||||
"updated": 1622978385419,
|
||||
"style": "Success"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Este tutorial no cubre definiciones o conceptos usados en SA. ¡Este tutorial solo trata sobre cómo implementar una estrategia!",
|
||||
"updated": 1629348296182
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -15,6 +15,11 @@
|
||||
"text": "Trigger Stage ist unser Talent Scout.",
|
||||
"updated": 1622978455848,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Trigger Stagees es nuestro talento scout",
|
||||
"updated": 1629348587860
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -29,6 +34,11 @@
|
||||
"text": "Unsere Strategie basiert auf dem SMA-Kreuz und in diesem Knoten können wir den Bot anweisen, nach Bedingungen zu suchen, die erfüllt sein müssen, um einen Handel zu tätigen.",
|
||||
"updated": 1622978530689,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Nuestra estrategia se basa en el cruce de SMA y es en este nodo donde podemos instruir al bot para que busque las condiciones que deben cumplirse para realizar una operación.",
|
||||
"updated": 1629348884906
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -41,6 +51,11 @@
|
||||
"text": "In dieser Phase geht es darum, den Markt zu überprüfen und zu entscheiden, ob die Bedingungen einen Handel wert sind oder nicht!",
|
||||
"updated": 1622978559675,
|
||||
"style": "Important"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "¡Esta etapa se trata de verificar el mercado y decidir si algunas condiciones valen la pena o no!",
|
||||
"updated": 1629348903247
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -54,6 +69,11 @@
|
||||
"text": "Werfen wir einen Blick auf seine drei Nachfolger und ich zeige dir ein paar kleine Tricks, um die Strategie schnellstmöglich zu implementieren!",
|
||||
"updated": 1622978601078,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "¡Echemos un vistazo a sus 3 descendientes y te muestro algunos pequeños trucos para implementar la estrategia de la manera más rápida posible!",
|
||||
"updated": 1629348921004
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+30
@@ -15,6 +15,11 @@
|
||||
"text": "Reserviere Geldmittel!",
|
||||
"updated": 1622978638588,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "¡Reserva algunos fondos!",
|
||||
"updated": 1629349159115
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -29,6 +34,11 @@
|
||||
"text": "Beim Ereignis Trigger On geht es darum, deine Mittel zu reservieren (zu sperren) und sie dem Bot zur Verfügung zu stellen.",
|
||||
"updated": 1622981206455,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El evento Trigger On consiste en reservar (bloquear) sus fondos y ponerlos a disposición del bot.",
|
||||
"updated": 1629349408557
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -45,6 +55,11 @@
|
||||
"text": "Was ich tun muss, ist:",
|
||||
"updated": 1622978676342,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Lo que necesito hacer es:",
|
||||
"updated": 1629349429401
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -57,6 +72,11 @@
|
||||
"text": "Definiere den TF (Time Frame)",
|
||||
"updated": 1622978697311,
|
||||
"style": "List"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Definir el TF",
|
||||
"updated": 1629349443558
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -69,6 +89,11 @@
|
||||
"text": "Definiere das SMA50/200 Kreuz",
|
||||
"updated": 1622978711889,
|
||||
"style": "List"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Definir el SMA50/200 cross",
|
||||
"updated": 1629349524087
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -81,6 +106,11 @@
|
||||
"text": "Zur Definition, verwende ich zwei Bedingungen:",
|
||||
"updated": 1622981248271,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Para definir una cruz utilizo 2 condiciones:",
|
||||
"updated": 1629351309083
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+15
@@ -15,6 +15,11 @@
|
||||
"text": "Wenn du keine Bedingung benötigst setze es einfach auf „False“ oder „True“!",
|
||||
"updated": 1622978946854,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Si no necesitas una condición, configúrela en False o True!",
|
||||
"updated": 1629352241171
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -29,6 +34,11 @@
|
||||
"text": "Für meinen Backtest benötige ich keine Trigger Off Bedingung, also schreibe ich einfach False in den Javascript-Code",
|
||||
"updated": 1622978973861,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Para mi backtest no necesito un Trigger Off condición, así que solo escribo false en codigo Javascript",
|
||||
"updated": 1629354481694
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -42,6 +52,11 @@
|
||||
"text": "Denke daran, dass Bedingungen nur True oder False sein können. Wenn ich Javascript-Code innerhalb dieser Art von Knoten schreibe, müssen sie True oder False auswerten, weil das, was ich schreibe, im Wesentlichen ein Test ist.",
|
||||
"updated": 1622978923884,
|
||||
"style": "Success"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Recuerda que Conditions puede ser solo True o False. Cuando escribo código Javascript dentro de este tipo de nodos, deben evaluar True o False porque esencialmente lo que estoy escribiendo es una prueba.",
|
||||
"updated": 1629354487276
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -15,6 +15,11 @@
|
||||
"text": "Zeit, um Position zu beziehen!",
|
||||
"updated": 1622979146522,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Tiempo para tomar Position!",
|
||||
"updated": 1629355595189
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -29,6 +34,11 @@
|
||||
"text": "In diesem Knoten verwende ich den gleichen Trick wie beim Trigger Off Event (Ereignis), erzwinge aber in diesem Fall den Wert True. Ich habe bereits im Trigger On Event definiert, was meine Bedingungen sind. In diesem Knoten kann ich also einfach die beiden Bedingungen kopieren und auf True setzen.",
|
||||
"updated": 1622981314446,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "En este nodo utilizo el mismo truco utilizado para el Trigger Off Event pero en este caso obligándolo a True.Ya lo definí en el Trigger On Event cuales son mis condiciones. Entonces en este nodo puedo simplemente copiar las dos condiciones o configurarlo en True.",
|
||||
"updated": 1629355939657
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -41,6 +51,11 @@
|
||||
"text": "Wenn ich mehr Bedingungen benötige, kann ich sie natürlich nach meinen Bedürfnissen hinzufügen oder ändern!",
|
||||
"updated": 1622979260265,
|
||||
"style": "Success"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "¡Por supuesto, si necesito más condiciones, puedo agregarlas o modificarlas según mis necesidades!",
|
||||
"updated": 1629355966149
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -53,6 +68,11 @@
|
||||
"text": "Cool. Meine Definitionen sind festgelegt. Es ist an der Zeit, zur Open Stage überzugehen!",
|
||||
"updated": 1622981356171,
|
||||
"style": "Note"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Súper. Mis definiciones iniciales están establecidas. ¡Es hora de pasar al Open Stage!",
|
||||
"updated": 1629356060233
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+16
-1
@@ -5,7 +5,7 @@
|
||||
"definition": {
|
||||
"text": "The Open Stage is where bot take position!",
|
||||
"icon": {
|
||||
"name": "Open/open-stage",
|
||||
"name": "Open\\open-stage",
|
||||
"project": "Foundations"
|
||||
},
|
||||
"updated": 1614260398081,
|
||||
@@ -15,6 +15,11 @@
|
||||
"text": "Die Open Stage ist der Zeitpunkt, an dem der Bot die Position einnimmt!",
|
||||
"updated": 1622979315892,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El Open Stage es donde el bot toma posición!",
|
||||
"updated": 1629356240122
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -29,6 +34,11 @@
|
||||
"text": "Die Strategie, die ich backtesten möchte, basiert auf 4h TF und die Strategie ist Long (steigende Kurse). Das bedeutet, dass der Bot das Asset kaufen wird, um es später zu verkaufen (zu einem besseren Preis, wie wir hoffen!). Um die Dinge einfach zu halten, muss ich nur den TF im Target Rate-Knoten angeben, indem ich meinen vollen Saldo im Target Size in Quoted Asset verwende.",
|
||||
"updated": 1622979336945,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "La estrategia que quiero hacer backtesting se basa en 4h TF y la estrategia es Long. Esto significa que el bot Buy el asset para después Sell (¡a un mejor precio esperamos!). Para simplificar las cosas, todo lo que tengo que hacer es indicar el TF en el nodo Target Rate usando todo mi saldo en el Target Size en Quoted Asset.",
|
||||
"updated": 1629356415752
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -42,6 +52,11 @@
|
||||
"text": "Wenn unser Markt BTC/USDT ist, dann ist das Quoted Asset USDT und Base Asset ist BTC.",
|
||||
"updated": 1622979556680,
|
||||
"style": "Success"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "Si nuestro mercado es BTC/USDT entonces la Quoted Asset is USDT y Base Asset es BTC",
|
||||
"updated": 1629356454601
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+17
@@ -15,6 +15,12 @@
|
||||
"text": "Gewinn mitnehmen (Take Profit) oder einen Verlust begrenzen (Stop Loss)?!",
|
||||
"updated": 1622979661677,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "El Manage Stagees donde el bot comprueba si tiene que hacer Take Profit o un Stop Loss",
|
||||
"updated": 1629356619813,
|
||||
"style": "Definition"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -29,6 +35,12 @@
|
||||
"text": "In dieser Phase prüft der Bot, ob der Preis Take Profit (TP) oder Stop Loss (SL) erreicht hat. Die anfänglichen Bedingungen für meine Strategie waren, einen SL bei 20% vom Einstieg zu setzen und einen TP bei 100% oder wenn MA50 unter MA200 kreuzt.",
|
||||
"updated": 1622979639862,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "En esta etapa, el bot comprueba si el precio ha llegado a Take Profit (TP) o Stop Loss (SL). Las condiciones iniciales para mi estrategia fueron establecer un SL al 20% desde la entrada y un TP al 100% o cuando MA50 cruza por debajo de MA200.",
|
||||
"updated": 1629356685676,
|
||||
"style": "Text"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -60,6 +72,11 @@
|
||||
"text": "Die Take Profit Formel ist ein wenig aufwendiger:",
|
||||
"updated": 1622979702092,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "La fórmula Take Profit es un poco más elaborada:",
|
||||
"updated": 1629423638424
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
Loaded 100 of 260 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user