Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop

This commit is contained in:
Smidy13 committed 2021-06-03 21:40:41 +12:00
commit 42741386f3
288 files changed
+1708 -815

No files matched your search

@@ -1 +0,0 @@
{"type":"Workspace","name":"Ethereum-Integration-Under-Development","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"New Project Definition","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"790c56a4-deba-499f-9756-115fdb8cab44","savedPayload":{"position":{"x":25276.356993272086,"y":30604.11115747996},"targetPosition":{"x":25218.356993272086,"y":30630.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"8a5bbe7c-4a5c-4c4a-ad2b-38cf489c859a","savedPayload":{"position":{"x":25218.356993272086,"y":30630.11115747996},"targetPosition":{"x":25145.356993272086,"y":30724.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"56ceaef5-290c-4512-94c9-2f5fd13486d1","savedPayload":{"position":{"x":25145.356993272086,"y":30724.11115747996},"targetPosition":{"x":25092.356993272086,"y":30693.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Webhooks","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Webhooks","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Webhooks Check-Webhook","project":"Superalgos","id":"0a8d8265-e0f8-4f3a-96d0-bfe4bbbd3224","savedPayload":{"position":{"x":25136.356993272086,"y":30684.11115747996},"targetPosition":{"x":25152.356993272086,"y":30784.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Check-Webhook","id":"69f37820-ab16-4e19-bfd8-386dd6e249a3"}}}],"id":"718a49a9-deae-4849-a796-714feb1e08bc","savedPayload":{"position":{"x":25152.356993272086,"y":30784.11115747996},"targetPosition":{"x":25081.356993272086,"y":30703.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"31747cdc-3783-40be-860f-92e381003ffe","savedPayload":{"position":{"x":25081.356993272086,"y":30703.11115747996},"targetPosition":{"x":25092.356993272086,"y":30693.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Time-Frame-Market","project":"Superalgos","id":"1daa3ec2-c891-44ab-997a-f427a8586716","savedPayload":{"position":{"x":25041.356993272086,"y":30670.11115747996},"targetPosition":{"x":25039.356993272086,"y":30732.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Time-Frame-Daily","project":"Superalgos","id":"8225345d-7cd7-4889-99b0-af692402d269","savedPayload":{"position":{"x":24989.356993272086,"y":30689.11115747996},"targetPosition":{"x":25039.356993272086,"y":30732.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"Line truncated
@@ -0,0 +1 @@
{"type":"API Map","name":"CoinGecko","config":"{\n \"codeName\": \"CoinGecko\",\n \"protocol\": \"https\",\n \"portNumber\": \"\",\n \"hostName\": \"api.coingecko.com\",\n \"path\": \"api\",\n \"millisecondsBetweenCalls\": 4000\n}","project":"Superalgos","apiVersions":[{"type":"API Version","name":"Version 3","config":"{\n \"codeName\": \"v3\"\n}","project":"Superalgos","apiEndpoints":[{"type":"API Endpoint","name":"Coins","config":"{\n \"codeName\": \"coins\"\n}","project":"Superalgos","apiPathParameters":{"type":"API Path Parameters","name":"New API Path Parameters","project":"Superalgos","apiPathParameters":[{"type":"API Path Parameter","name":"ID ","config":"{\n \"codeName\": \"bitcoin\",\n \"isString\": false,\n \"isOptional\": false,\n \"description\": \"Get historical blocks (use the current offset returned in a response to calculate the offset you want to get)\",\n \"replaceBy\": \"@BaseAssetName\"\n}","project":"Superalgos","id":"7ad55ecd-aef9-4d5d-847a-76bf95d9dd1e","savedPayload":{"position":{"x":15608.615242270662,"y":10360.192378864667},"targetPosition":{"x":15348.807621135331,"y":10510.192378864667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"id":"06767740-6636-4345-aae6-34ff6edd3e6b","savedPayload":{"position":{"x":15348.807621135331,"y":10510.192378864667},"targetPosition":{"x":15089,"y":10660.192378864667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"apiQueryResponses":{"type":"API Query Responses","name":"New API Query Responses","project":"Superalgos","apiQueryResponses":[{"type":"API Query Response","name":"200 Successful","config":"{\n \"codeName\": \"200\",\n \"isError\": false\n}","project":"Superalgos","apiResponseSchema":{"type":"API Response Schema","name":"New API Response Schema","config":"{\n \"nodePath\": \"apiResponseReceivedObject\"\n}","project":"Superalgos","apiResponseFields":{"type":"API Response Field","name":"Root Object","config":"{\n \"codeName\": \"\",\n \"fieldType\": \"\",\n \"descrption\": \"This is the root object of the API response.\"\n}","project":"Superalgos","apiResponseFields":[{"type":"API Response Field","name":"market_cap_rank","config":"{\n \"codeName\": \"market_cap_rank\",\n \"fieldType\": \"number\",\n \"descrption\": \"Market Cap Rank of current responce\"\n}","project":"Superalgos","apiResponseFields":[],"id":"3e94e03f-0f7a-474c-bb83-1bcb58439c7a","savedPayload":{"position":{"x":16812.302174388584,"y":10985.928310152738},"targetPosition":{"x":16388.038105676656,"y":11410.192378864667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"API Response Field","name":"liquidity_score","config":"{\n \"codeName\": \"liquidity_score\",\n \"fieldType\": \"number\",\n \"descrption\": \"Liquidity score of returned asset as calculated by coingecko\"\n}","project":"Superalgos","apiResponseFields":[],"id":"2be7f9a7-da09-47a1-bd03-97e6f9181751","savedPayload":{"position":{"x":16907.65334794732,"y":11110.192378864667},"targetPosition":{"x":16388.038105676656,"y":11410.192378864667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"API Response Field","name":"last_updated","config":"{\n \"codeName\": \"last_updated\",\n \"fieldType\": \"string\",\n \"descrption\": \"Timestamp data was last updated\"\n}","project":"Superalgos","apiResponseFields":[],"id":"b916f7d2-215c-4f07-aaf1-5f900c762ef5","savedPayload":{"position":{"x":16967.5936014501,"y":11254.900951803154},"targetPosition":{"x":16388.038105676656,"y":11410.192378864667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"API Response Field","name":"sentiment_votes_up_percentage","config":"{\n \"codeName\": \"sentiment_votes_up_percentage\",\n \"fieldType\": \"number\",\n \"descrption\": \"Percentage of up votes for current returned asset\"\n}","project":"Superalgos","apiResponseFields":[],"id":"a8a0b9f2-6ec1-45c8-bf6a-f8f61cd11fb7","savedPayload":{"position":{"x":16988.038105676656,"y":11410.192378864667},"targetPosition":{"x":16388.038105676656,"y":11410.192378864667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"API Response Field","name":"sentiment_votes_down_percentage","config":"{\n \"codeName\": \"sentiment_votes_down_percentage\",\n \"fieldType\": \"number\",\n \"descrption\": \"PercenLine truncated
@@ -0,0 +1 @@
{"type":"Data Mine","name":"CoinGecko","config":"{\n \"codeName\": \"CoinGecko\"\n}","project":"Superalgos","sensorBots":[],"apiDataFetcherBots":[{"type":"API Data Fetcher Bot","name":"One Min Coin Stats","config":"{\n \"codeName\": \"One-Min-Coin-Stats\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Fetching Process","config":"{\n \"codeName\": \"Fetching-Process\",\n \"description\": \"Fetches Data from an API\",\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 60000,\n \"retryWaitTime\": 10000,\n \"botModule\": \"API Data Fetcher Fetching Process\"\n}","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"One Min One Min Coin Stats","project":"Superalgos","id":"6247617a-fba4-40c1-ad55-f6ade7f23311","savedPayload":{"position":{"x":11120.046367851623,"y":11166.412884293224},"targetPosition":{"x":10820.046367851623,"y":11166.412884293224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"One Min","id":"3f8bb3e0-362e-4730-8dfa-d1a9dfda3042"}}}],"outputDatasetFolders":[],"id":"b6fd03bd-50e7-4bfb-bb28-ab6f8148538f","savedPayload":{"position":{"x":10820.046367851623,"y":11166.412884293224},"targetPosition":{"x":10520.046367851623,"y":11166.412884293224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"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|Market Starting Point|Market Ending Point\"\n}","project":"Superalgos","id":"7a88292f-96bf-4b44-bca5-bf63c1206e0f","savedPayload":{"position":{"x":11039.661610122284,"y":11466.412884293224},"targetPosition":{"x":10779.853988986953,"y":11316.412884293224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"1655659f-c32e-4de8-b643-3ada3b0ed507"}}}],"dataDependencies":[],"dataMineDataDependencies":[],"id":"3676e726-b8e8-4fee-8b50-f6040e5cb536","savedPayload":{"position":{"x":10779.853988986953,"y":11316.412884293224},"targetPosition":{"x":10520.046367851623,"y":11166.412884293224},"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":"1655659f-c32e-4de8-b643-3ada3b0ed507","savedPayload":{"position":{"x":10670.046367851623,"y":11426.220505428555},"targetPosition":{"x":10520.046367851623,"y":11166.412884293224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"748bba0a-7846-434c-a09d-f0d0b64c8eeb","savedPayload":{"position":{"x":10520.046367851623,"y":11466.412884293224},"targetPosition":{"x":10520.046367851623,"y":11166.412884293224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"c39b6434-bcca-46ae-a995-70649eaf9869","savedPayload":{"position":{"x":10370.046367851623,"y":11426.220505428555},"targetPosition":{"x":10520.046367851623,"y":11166.412884293224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"592daeb4-7a16-440f-937a-096c79378fd4","savedPayload":{"position":{"x":10520.046367851623,"y":11166.412884293224},"targetPosition":{"x":10370.046367851623,"y":10906.605263157893},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"One Min Coin Stats","config":"{\n \"codeName\": \"One-Min-Coin-Stats\",\n \"singularVariableName\": \"oneMinCoinStats\",\n \"pluralVariableName\": \"oneMinCoinStats\"\n}","project":"Superalgos","datasets":[{"type":"Dataset Definition","name":"One Min","config":"{\n \"codeName\": \"One-Min\",\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.json\",\n \"validTimeFrames\": [\n \"Any Time FLine truncated
@@ -0,0 +1 @@
{"type":"Workspace","name":"BB Top Bounce Demo","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":" BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Sparta","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Sparta","project":"Superalgos","tasks":[{"type":"Task","name":"Exponential Moving Average (EMA)","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Exponential Moving Average (EMA)","config":"{ \n\"parameter1\": \"Value for parameter1 defined at the Product Definition\"\n}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Time-Frame-Market","project":"Superalgos","id":"33373e63-796b-4691-8f4b-0fb3b90b5d28","savedPayload":{"position":{"x":23190.023749611923,"y":29914.042580543206},"targetPosition":{"x":23479.801497498644,"y":29836.39686701245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Time-Frame-Daily","project":"Superalgos","id":"8b171cc0-aedc-4f0a-b7a5-50124088e83d","savedPayload":{"position":{"x":23190.023749611923,"y":29758.75115348169},"targetPosition":{"x":23479.801497498644,"y":29836.39686701245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"943ea24f-ee24-4eae-9b4b-e8a73122b1c2"}}}],"id":"90fed107-0484-460c-be94-366ff234fea0","savedPayload":{"position":{"x":23479.801497498644,"y":29836.39686701245},"targetPosition":{"x":23779.801497498644,"y":29836.39686701245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"90d0cf88-17fc-41a6-a4f8-8fed645f77c8","savedPayload":{"position":{"x":23779.801497498644,"y":29836.39686701245},"targetPosition":{"x":24079.801497498644,"y":29836.39686701245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Relative Strenght Index (RSI)","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Relative Strenght Index (RSI)","config":"{ \n\"parameter1\": \"Value for parameter1 defined at the Product Definition\"\n}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Relative Strenght Index (RSI) Multi-Time-Frame-Market","project":"Superalgos","id":"19e3c3e8-a730-42f2-921b-1078a4db587d","savedPayload":{"position":{"x":23270.408507341257,"y":29458.75115348169},"targetPosition":{"x":23560.186255227978,"y":29536.39686701245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"96f31416-5090-428a-be83-985a0b3ab275"}}},{"type":"Indicator Process Instance","name":"Relative Strenght Index (RSI) Multi-Time-Frame-Daily","project":"Superalgos","id":"2ff05562-6a61-4d0a-9e2b-20c8b70baa2a","savedPayload":{"position":{"x":23348.054220872014,"y":29324.264832656485},"targetPosition":{"x":23560.186255227978,"y":29536.39686701245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"f1177bcd-22dc-425b-8f30-878844aa82b8"}}}],"id":"4924c957-2670-47b7-a2f9-ee63f7634e68","savedPayload":{"position":{"x":23560.186255227978,"y":29536.39686701245},"targetPosition":{"x":23819.99387636331,"y":29686.39686701245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c4e909aa-fd70-49d2-98a6-6dbe7dd56c75","savedPayload":{"position":{"x":23819.99387636331,"y":29686.39686701245},"targetPosition":{"x":24079.801497498644,"y":298Line truncated
@@ -1 +0,0 @@
{"type":"Workspace","name":"BB Top Bounce","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Sparta","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Sparta","project":"Superalgos","tasks":[{"type":"Task","name":"Exponential Moving Average (EMA)","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Exponential Moving Average (EMA)","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Time-Frame-Market","project":"Superalgos","id":"c95597e5-5d5c-4dd7-9510-99874a022eac","savedPayload":{"position":{"x":23249.9640031147,"y":29769.33400760472},"targetPosition":{"x":23539.74175100142,"y":29691.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Time-Frame-Daily","project":"Superalgos","id":"e588dc58-d99c-4938-aaab-747d23408301","savedPayload":{"position":{"x":23249.9640031147,"y":29614.042580543206},"targetPosition":{"x":23539.74175100142,"y":29691.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"943ea24f-ee24-4eae-9b4b-e8a73122b1c2"}}}],"id":"44fefa5e-341a-43c7-8967-7545a6e229ad","savedPayload":{"position":{"x":23539.74175100142,"y":29691.688294073963},"targetPosition":{"x":23839.74175100142,"y":29691.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1e55a456-ff9c-48bf-b9ea-01082495fcc9","savedPayload":{"position":{"x":23839.74175100142,"y":29691.688294073963},"targetPosition":{"x":24139.74175100142,"y":29691.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Relative Strenght Index (RSI)","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Relative Strenght Index (RSI)","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Relative Strenght Index (RSI) Multi-Time-Frame-Market","project":"Superalgos","id":"7f2c9023-e07e-43f7-a6f3-b7399af54bd6","savedPayload":{"position":{"x":23627.609716645457,"y":28959.941017447334},"targetPosition":{"x":23839.74175100142,"y":29172.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"96f31416-5090-428a-be83-985a0b3ab275"}}},{"type":"Indicator Process Instance","name":"Relative Strenght Index (RSI) Multi-Time-Frame-Daily","project":"Superalgos","id":"be48bd61-bf78-49f5-8ac9-b433c9ee9dd5","savedPayload":{"position":{"x":23762.096037470663,"y":28882.295303916577},"targetPosition":{"x":23839.74175100142,"y":29172.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"f1177bcd-22dc-425b-8f30-878844aa82b8"}}}],"id":"fe19f69a-14f3-487c-a9d4-47ae3bd197b9","savedPayload":{"position":{"x":23839.74175100142,"y":29172.073051803298},"targetPosition":{"x":23989.74175100142,"y":29431.88067293863},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"50b773e6-93e5-485e-86fc-b454fef82dbb","savedPayload":{"position":{"x":23989.74175100142,"y":29431.88067293863},"targetPosition":{"x":24139.74175100142,"y":29691.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject"Line truncated
@@ -0,0 +1 @@
{"type":"Workspace","name":"Blank Template","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":" BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Candles","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Candles","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"19b380b6-4a45-4f25-b1d8-ea3518ec40ed","savedPayload":{"position":{"x":24808.356993272086,"y":30939.11115747996},"targetPosition":{"x":24803.356993272086,"y":30882.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"333d71a2-8a91-4be4-a566-76f2f384ff32","savedPayload":{"position":{"x":24803.356993272086,"y":30882.11115747996},"targetPosition":{"x":24890.356993272086,"y":30877.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2a06f154-cd4b-4199-8119-bd6a908aee53","savedPayload":{"position":{"x":24890.356993272086,"y":30877.11115747996},"targetPosition":{"x":24950.356993272086,"y":30916.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{ \n\"parameter1\": \"Value for parameter1 defined at the Product Definition\"\n}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Time-Frame-Market","project":"Superalgos","id":"0b2a20e9-e755-4140-b2af-8a45a68ebcce","savedPayload":{"position":{"x":25025.356993272086,"y":30945.11115747996},"targetPosition":{"x":25073.356993272086,"y":30871.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Time-Frame-Daily","project":"Superalgos","id":"943d6d0c-c4d5-49c5-b5c1-79fbe81678c1","savedPayload":{"position":{"x":25159.356993272086,"y":30808.11115747996},"targetPosition":{"x":25073.356993272086,"y":30871.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"ce4a8b8f-7893-45b4-a07d-a307214a4448","savedPayload":{"position":{"x":25073.356993272086,"y":30871.11115747996},"targetPosition":{"x":25044.356993272086,"y":30827.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2608ee25-2f7e-44d4-a6e7-22c91f07eaa7","savedPayload":{"position":{"x":25044.356993272086,"y":30827.11115747996},"targetPosition":{"x":24950.356993272086,"y":30916.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a9c9b5fe-5b3c-45bc-b18e-34872708ccff","savedPayload":{"position":{"x":24339.356993272086,"y":29468.073051803298},"targetPosition":{"x":24489.356993272086,"y":29727.88067293863},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2cf4816c-8e3f-455f-9e93-5c5ec3ed9476","savedPayload":{"position":{"x":24489.356993272086,"y":29727.88067293863},"targetPosition":{"x":24639.356993272086,"y":29987.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,Line truncated
@@ -1 +1 @@
{"type":"Workspace","name":"Exchange Keys Tests","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2017-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"f17f9567-af83-4292-a0dc-7c1c9dbf53b8","savedPayload":{"position":{"x":23148.696821492267,"y":29710.450985700143},"targetPosition":{"x":23448.696821492267,"y":29710.450985700143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"9eaa4440-c8bc-4daa-b858-efa1845087de","savedPayload":{"position":{"x":23448.696821492267,"y":29710.450985700143},"targetPosition":{"x":23748.696821492267,"y":29710.450985700143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"97e5a05e-9463-41a4-8255-a9487df56496","savedPayload":{"position":{"x":23748.696821492267,"y":29710.450985700143},"targetPosition":{"x":24048.696821492267,"y":29710.450985700143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Time-Frame-Market","project":"Superalgos","id":"1ef6762d-a20c-46e0-8183-6aac6dd9073a","savedPayload":{"position":{"x":23364.625131645007,"y":29136.186916988216},"targetPosition":{"x":23624.43275278034,"y":29286.186916988216},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Time-Frame-Daily","project":"Superalgos","id":"7b44275e-9446-4807-b9c2-4ba1107a5295","savedPayload":{"position":{"x":23474.43275278034,"y":29026.379295852883},"targetPosition":{"x":23624.43275278034,"y":29286.186916988216},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"78c835ef-be5b-4e74-8b0c-610afbbef304","savedPayload":{"position":{"x":23624.43275278034,"y":29286.186916988216},"targetPosition":{"x":23836.564787136303,"y":29498.31895134418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b4da2db7-fcae-4918-b38a-5e6966a9994b","savedPayload":{"position":{"x":23836.564787136303,"y":29498.31895134418},"targetPosition":{"x":24048.696821492267,"y":29710.450985700143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Bollinger Bands","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Bollinger Bands","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Bollinger Bands Multi-Time-Frame-Market","project":"Superalgos","id":"22a8694f-078e-4f1f-8470-7a7b25237397","savedPayload":{"position":{"x":23971.05110796151,"y":28820.673237813422},"targetPosition":{"x":24048.696821492267,"y":29110.450985700143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referencePLine truncated
{"type":"Workspace","name":"Exchange Keys Tests","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":" BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Candles","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Candles","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"8806c105-51f0-4e2e-bb17-9cdf286e0385","savedPayload":{"position":{"x":23579.934129866087,"y":29022.073051803298},"targetPosition":{"x":23839.74175100142,"y":29172.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"e10995a3-9554-43a3-b026-314987c99e66","savedPayload":{"position":{"x":23839.74175100142,"y":29172.073051803298},"targetPosition":{"x":24099.549372136753,"y":29322.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2bd6c6f9-f00f-4c0c-9139-11900a1fedd3","savedPayload":{"position":{"x":24099.549372136753,"y":29322.073051803298},"targetPosition":{"x":24359.356993272086,"y":29472.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{ \n\"parameter1\": \"Value for parameter1 defined at the Product Definition\"\n}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Time-Frame-Market","project":"Superalgos","id":"64019387-28f5-4958-801d-f058b5bb71fe","savedPayload":{"position":{"x":24281.71127974133,"y":28582.295303916577},"targetPosition":{"x":24359.356993272086,"y":28872.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Time-Frame-Daily","project":"Superalgos","id":"13d9f897-5d84-4997-9368-4dc2daee4c3f","savedPayload":{"position":{"x":24437.002706802843,"y":28582.295303916577},"targetPosition":{"x":24359.356993272086,"y":28872.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"8325b6ad-a56b-4e2d-bdcf-ec257fb25115","savedPayload":{"position":{"x":24359.356993272086,"y":28872.073051803298},"targetPosition":{"x":24359.356993272086,"y":29172.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"76df43b5-823a-4128-a794-1fbe5d24980d","savedPayload":{"position":{"x":24359.356993272086,"y":29172.073051803298},"targetPosition":{"x":24359.356993272086,"y":29472.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d0fe6f8f-99fa-46c2-bd9a-5c21910ec562","savedPayload":{"position":{"x":24359.356993272086,"y":29472.073051803298},"targetPosition":{"x":24509.356993272086,"y":29731.88067293863},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6c646696-3c38-468b-906e-515730640e48","savedPayload":{"position":{"x":24509.356993272086,"y":29731.88067293863},"targetPosition":{"x":24659.356993272086,"y":29991.688294073963},"floatingObject":{"isPinned":false,Line truncated
@@ -1 +1 @@
{"type":"Workspace","name":"Getting Started Tutorials","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":" BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"Resistances and Supports","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Resistances and Supports","config":"{ \n\"parameter1\": \"Value for parameter1 defined at the Product Definition\"\n}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Time-Frame-Market","project":"Superalgos","id":"afeed756-c931-4f34-b27c-12fd2b5ef39a","savedPayload":{"position":{"x":23310.348760844034,"y":29310.042580543206},"targetPosition":{"x":23600.126508730755,"y":29387.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"5d9b2729-43fb-4e7e-aa4f-b8477c424e51"}}},{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Time-Frame-Daily","project":"Superalgos","id":"f11443df-d85b-486c-acaf-a446a5086c09","savedPayload":{"position":{"x":23387.99447437479,"y":29175.556259718},"targetPosition":{"x":23600.126508730755,"y":29387.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"be19d91b-9337-4f84-96b3-f4e54ea12df5"}}}],"id":"e644a294-b0f0-4996-817e-0d95f92042d5","savedPayload":{"position":{"x":23600.126508730755,"y":29387.688294073963},"targetPosition":{"x":23859.934129866087,"y":29537.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"0f9200a1-81fe-4ef4-affc-f4a00c89a52a","savedPayload":{"position":{"x":23859.934129866087,"y":29537.688294073963},"targetPosition":{"x":24119.74175100142,"y":29687.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6e864d3c-4660-42c2-8499-7db31789fd12","savedPayload":{"position":{"x":24119.74175100142,"y":29687.688294073963},"targetPosition":{"x":24379.549372136753,"y":29837.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e04f5978-a32c-4950-a7e3-d2b8c0658000","savedPayload":{"position":{"x":24379.549372136753,"y":29837.688294073963},"targetPosition":{"x":24639.356993272086,"y":29987.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Masters","id":"35be7b1c-a0f7-4b5f-9ee1-8fb51595e959"}}},{"type":"Data Mine Tasks","name":"Candles","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Candles","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{\n \"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"ef7ba335-da83-4c53-9bb2-480360223fb5","savedPayload":{"position":{"x":24189.356993272086,"y":28608.265430667965},"targetPosition":{"x":24339.356993272086,"y":28868.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"92b80bac-30e0-410a-ac74-c8894ed52b64","savedPayload":{"position":{"x":24339.356993272086,"y":28868.073051803298},"targetPosition":{"x":24489.356993272086,"y":29127.88067293863},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":Line truncated
{"type":"Workspace","name":"Getting Started Tutorials","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":" BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"Resistances and Supports","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Resistances and Supports","config":"{ \n\"parameter1\": \"Value for parameter1 defined at the Product Definition\"\n}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Time-Frame-Market","project":"Superalgos","id":"afeed756-c931-4f34-b27c-12fd2b5ef39a","savedPayload":{"position":{"x":23310.348760844034,"y":29310.042580543206},"targetPosition":{"x":23600.126508730755,"y":29387.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"5d9b2729-43fb-4e7e-aa4f-b8477c424e51"}}},{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Time-Frame-Daily","project":"Superalgos","id":"f11443df-d85b-486c-acaf-a446a5086c09","savedPayload":{"position":{"x":23387.99447437479,"y":29175.556259718},"targetPosition":{"x":23600.126508730755,"y":29387.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"be19d91b-9337-4f84-96b3-f4e54ea12df5"}}}],"id":"e644a294-b0f0-4996-817e-0d95f92042d5","savedPayload":{"position":{"x":23600.126508730755,"y":29387.688294073963},"targetPosition":{"x":23859.934129866087,"y":29537.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"0f9200a1-81fe-4ef4-affc-f4a00c89a52a","savedPayload":{"position":{"x":23859.934129866087,"y":29537.688294073963},"targetPosition":{"x":24119.74175100142,"y":29687.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6e864d3c-4660-42c2-8499-7db31789fd12","savedPayload":{"position":{"x":24119.74175100142,"y":29687.688294073963},"targetPosition":{"x":24379.549372136753,"y":29837.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e04f5978-a32c-4950-a7e3-d2b8c0658000","savedPayload":{"position":{"x":24379.549372136753,"y":29837.688294073963},"targetPosition":{"x":24639.356993272086,"y":29987.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Masters","id":"35be7b1c-a0f7-4b5f-9ee1-8fb51595e959"}}},{"type":"Data Mine Tasks","name":"Candles","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Candles","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{\n \"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"ef7ba335-da83-4c53-9bb2-480360223fb5","savedPayload":{"position":{"x":24189.356993272086,"y":28608.265430667965},"targetPosition":{"x":24339.356993272086,"y":28868.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"92b80bac-30e0-410a-ac74-c8894ed52b64","savedPayload":{"position":{"x":24339.356993272086,"y":28868.073051803298},"targetPosition":{"x":24489.356993272086,"y":29127.88067293863},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":Line truncated
@@ -0,0 +1 @@
{"type":"Workspace","name":"Install a New Market Tutorial","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[],"id":"40af91d9-431c-4b7d-addc-aed37bc2f3fe","savedPayload":{"position":{"x":25089.356993272086,"y":30767.11115747996},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"learningTasks":{"type":"Learning Tasks","name":"New Learning Tasks","project":"Superalgos","projectLearningTasks":[],"id":"0818dfbe-61ea-40b8-8544-bee25d7f45be","savedPayload":{"position":{"x":25389.356993272086,"y":30767.11115747996},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"testingTradingTasks":{"type":"Testing Trading Tasks","name":"New Testing Trading Tasks","project":"Superalgos","projectTradingTasks":[],"id":"8117db0a-e418-4f56-8fe4-fda2ddac1cbb","savedPayload":{"position":{"x":25539.356993272086,"y":31026.918778615294},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"productionTradingTasks":{"type":"Production Trading Tasks","name":"New Production Trading Tasks","project":"Superalgos","projectTradingTasks":[],"id":"673caa5f-511d-4688-9305-e5f0f0f780cd","savedPayload":{"position":{"x":25389.356993272086,"y":31286.726399750627},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataStorage":{"type":"Data Storage","name":"New Data Storage","project":"Superalgos","dataMinesData":{"type":"Data Mines Data","name":"New Data Mines Data","project":"Superalgos","projectDataProducts":[],"id":"32e7c122-fa5a-4d00-9d71-d54e890e32de","savedPayload":{"position":{"x":25070.19913560607,"y":31588.15985816277},"targetPosition":{"x":25109.356993272086,"y":31290.726399750627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"tradingMinesData":{"type":"Trading Mines Data","name":"New Trading Mines Data","project":"Superalgos","projectTradingProducts":[],"id":"e4e268f3-a677-4f90-90a1-d87244e647e5","savedPayload":{"position":{"x":24959.356993272086,"y":31550.53402088596},"targetPosition":{"x":25109.356993272086,"y":31290.726399750627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"learningMinesData":{"type":"Learning Mines Data","name":"New Learning Mines Data","project":"Superalgos","projectLearningProducts":[],"id":"2845a687-becc-4c3b-bc79-b2293ba876ba","savedPayload":{"position":{"x":24871.350991184714,"y":31473.354828453244},"targetPosition":{"x":25109.356993272086,"y":31290.726399750627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e2697759-6038-4943-b90c-5a68651ff9a8","savedPayload":{"position":{"x":25089.356993272086,"y":31286.726399750627},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"d"}}},"id":"e452cf65-2b2b-44f2-9e67-bdd9d3c008e4","savedPayload":{"position":{"x":25239.356993272086,"y":31026.918778615294},"targetPosition":{"x":24939.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"3c165071-7558-4708-9999-8ffe71d346b1","savedPayload":{"position":{"x":24939.356993272086,"y":31026.918778615294},"targetPosition":{"x":24939.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},{"type":"Crypto Ecosystem","name":"My Crypto Ecosystem","project":"Superalgos","cryptoExchanges":[{"type":"Crypto Exchanges","name":"Tested","project":"Superalgos","Line truncated
@@ -1 +1 @@
{"type":"Workspace","name":"Tested Exchanges","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[],"id":"40af91d9-431c-4b7d-addc-aed37bc2f3fe","savedPayload":{"position":{"x":25089.356993272086,"y":30767.11115747996},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"learningTasks":{"type":"Learning Tasks","name":"New Learning Tasks","project":"Superalgos","projectLearningTasks":[],"id":"0818dfbe-61ea-40b8-8544-bee25d7f45be","savedPayload":{"position":{"x":25389.356993272086,"y":30767.11115747996},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"testingTradingTasks":{"type":"Testing Trading Tasks","name":"New Testing Trading Tasks","project":"Superalgos","projectTradingTasks":[],"id":"8117db0a-e418-4f56-8fe4-fda2ddac1cbb","savedPayload":{"position":{"x":25539.356993272086,"y":31026.918778615294},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"productionTradingTasks":{"type":"Production Trading Tasks","name":"New Production Trading Tasks","project":"Superalgos","projectTradingTasks":[],"id":"673caa5f-511d-4688-9305-e5f0f0f780cd","savedPayload":{"position":{"x":25389.356993272086,"y":31286.726399750627},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataStorage":{"type":"Data Storage","name":"New Data Storage","project":"Superalgos","dataMinesData":{"type":"Data Mines Data","name":"New Data Mines Data","project":"Superalgos","projectDataProducts":[],"id":"32e7c122-fa5a-4d00-9d71-d54e890e32de","savedPayload":{"position":{"x":25070.19913560607,"y":31588.15985816277},"targetPosition":{"x":25109.356993272086,"y":31290.726399750627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"tradingMinesData":{"type":"Trading Mines Data","name":"New Trading Mines Data","project":"Superalgos","projectTradingProducts":[],"id":"e4e268f3-a677-4f90-90a1-d87244e647e5","savedPayload":{"position":{"x":24959.356993272086,"y":31550.53402088596},"targetPosition":{"x":25109.356993272086,"y":31290.726399750627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"learningMinesData":{"type":"Learning Mines Data","name":"New Learning Mines Data","project":"Superalgos","projectLearningProducts":[],"id":"2845a687-becc-4c3b-bc79-b2293ba876ba","savedPayload":{"position":{"x":24871.350991184714,"y":31473.354828453244},"targetPosition":{"x":25109.356993272086,"y":31290.726399750627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e2697759-6038-4943-b90c-5a68651ff9a8","savedPayload":{"position":{"x":25089.356993272086,"y":31286.726399750627},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"d"}}},"id":"e452cf65-2b2b-44f2-9e67-bdd9d3c008e4","savedPayload":{"position":{"x":25239.356993272086,"y":31026.918778615294},"targetPosition":{"x":24939.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"3c165071-7558-4708-9999-8ffe71d346b1","savedPayload":{"position":{"x":24939.356993272086,"y":31026.918778615294},"targetPosition":{"x":24939.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},{"type":"Crypto Ecosystem","name":"My Crypto Ecosystem","project":"Superalgos","cryptoExchanges":[{"type":"Crypto Exchanges","name":"Tested","project":"Superalgos","exchanges":[Line truncated
{"type":"Workspace","name":"Tested Exchanges","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[],"id":"40af91d9-431c-4b7d-addc-aed37bc2f3fe","savedPayload":{"position":{"x":25089.356993272086,"y":30767.11115747996},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"learningTasks":{"type":"Learning Tasks","name":"New Learning Tasks","project":"Superalgos","projectLearningTasks":[],"id":"0818dfbe-61ea-40b8-8544-bee25d7f45be","savedPayload":{"position":{"x":25389.356993272086,"y":30767.11115747996},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"testingTradingTasks":{"type":"Testing Trading Tasks","name":"New Testing Trading Tasks","project":"Superalgos","projectTradingTasks":[],"id":"8117db0a-e418-4f56-8fe4-fda2ddac1cbb","savedPayload":{"position":{"x":25539.356993272086,"y":31026.918778615294},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"productionTradingTasks":{"type":"Production Trading Tasks","name":"New Production Trading Tasks","project":"Superalgos","projectTradingTasks":[],"id":"673caa5f-511d-4688-9305-e5f0f0f780cd","savedPayload":{"position":{"x":25389.356993272086,"y":31286.726399750627},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataStorage":{"type":"Data Storage","name":"New Data Storage","project":"Superalgos","dataMinesData":{"type":"Data Mines Data","name":"New Data Mines Data","project":"Superalgos","projectDataProducts":[],"id":"32e7c122-fa5a-4d00-9d71-d54e890e32de","savedPayload":{"position":{"x":25070.19913560607,"y":31588.15985816277},"targetPosition":{"x":25109.356993272086,"y":31290.726399750627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"tradingMinesData":{"type":"Trading Mines Data","name":"New Trading Mines Data","project":"Superalgos","projectTradingProducts":[],"id":"e4e268f3-a677-4f90-90a1-d87244e647e5","savedPayload":{"position":{"x":24959.356993272086,"y":31550.53402088596},"targetPosition":{"x":25109.356993272086,"y":31290.726399750627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"learningMinesData":{"type":"Learning Mines Data","name":"New Learning Mines Data","project":"Superalgos","projectLearningProducts":[],"id":"2845a687-becc-4c3b-bc79-b2293ba876ba","savedPayload":{"position":{"x":24871.350991184714,"y":31473.354828453244},"targetPosition":{"x":25109.356993272086,"y":31290.726399750627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e2697759-6038-4943-b90c-5a68651ff9a8","savedPayload":{"position":{"x":25089.356993272086,"y":31286.726399750627},"targetPosition":{"x":25239.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"d"}}},"id":"e452cf65-2b2b-44f2-9e67-bdd9d3c008e4","savedPayload":{"position":{"x":25239.356993272086,"y":31026.918778615294},"targetPosition":{"x":24939.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"3c165071-7558-4708-9999-8ffe71d346b1","savedPayload":{"position":{"x":24939.356993272086,"y":31026.918778615294},"targetPosition":{"x":24939.356993272086,"y":31026.918778615294},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},{"type":"Crypto Ecosystem","name":"My Crypto Ecosystem","project":"Superalgos","cryptoExchanges":[{"type":"Crypto Exchanges","name":"Tested","project":"Superalgos","exchanges":[{Line truncated
@@ -0,0 +1 @@
{"type":"Workspace","name":"Trading Bot Layers Tutorial","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":" BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Sparta","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Sparta","project":"Superalgos","tasks":[{"type":"Task","name":"Exponential Moving Average (EMA)","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Exponential Moving Average (EMA)","config":"{ \n\"parameter1\": \"Value for parameter1 defined at the Product Definition\"\n}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Time-Frame-Market","project":"Superalgos","id":"5289fbb5-258f-48ef-bdf9-8327d7ef51c6","savedPayload":{"position":{"x":23202.2460017252,"y":34612.10543995093},"targetPosition":{"x":23502.2460017252,"y":34612.10543995093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Time-Frame-Daily","project":"Superalgos","id":"12ac7bd5-8f41-4a27-bb95-fd5c96c9c351","savedPayload":{"position":{"x":23242.43838058987,"y":34462.10543995093},"targetPosition":{"x":23502.2460017252,"y":34612.10543995093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"943ea24f-ee24-4eae-9b4b-e8a73122b1c2"}}}],"id":"90c93f60-88dd-41e0-86fc-0ffbc0aa37fb","savedPayload":{"position":{"x":23502.2460017252,"y":34612.10543995093},"targetPosition":{"x":23792.023749611923,"y":34689.75115348169},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8f472780-c533-4c47-a60d-c429df9b7b08","savedPayload":{"position":{"x":23792.023749611923,"y":34689.75115348169},"targetPosition":{"x":24081.801497498644,"y":34767.396867012445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1daba52e-712d-4bb3-a5bc-0b955da9570d","savedPayload":{"position":{"x":24081.801497498644,"y":34767.396867012445},"targetPosition":{"x":24371.579245385365,"y":34845.0425805432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"52e681cc-43fb-43d3-a255-2d37df8815ab","savedPayload":{"position":{"x":24371.579245385365,"y":34845.0425805432},"targetPosition":{"x":24661.356993272086,"y":34922.68829407396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Sparta","id":"9cfffc48-486a-48cb-b641-98c82e314d3a"}}},{"type":"Data Mine Tasks","name":"Candles","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Candles","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"9d4e38bb-9d64-4d29-8f1f-34df78e75f80","savedPayload":{"position":{"x":23724.960890204195,"y":33766.6769487354},"targetPosition":{"x":23937.09292456016,"y":33978.80898309137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"38416023-f22c-413e-b72a-ddc76ca86397","savedPayload":{"position":{"x":23937.09292456016,"y":33978.80898309137},"targetPosition":{"x":24149.224958916122,"y":34190.94101744733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToPLine truncated
@@ -1 +1 @@
{"type":"Workspace","name":"Trading System Design Tutorials","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"d0ff77d8-76de-4d50-840a-e50a55ad7d1b","savedPayload":{"position":{"x":23464.287287440642,"y":29377.997434862405},"targetPosition":{"x":23762.643856051123,"y":29409.355973842703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"b4e33f51-f9ff-4ef3-a9b7-ccb904163cae","savedPayload":{"position":{"x":23762.643856051123,"y":29409.355973842703},"targetPosition":{"x":24061.000424661604,"y":29440.714512823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"23ae53f9-b478-4eb4-96e7-12d07d7ae4f0","savedPayload":{"position":{"x":24061.000424661604,"y":29440.714512823},"targetPosition":{"x":24359.356993272086,"y":29472.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Time-Frame-Market","project":"Superalgos","id":"dcf3d790-5362-4a95-b977-82d0cf0e07f1","savedPayload":{"position":{"x":23646.16814072914,"y":28934.397538066118},"targetPosition":{"x":23913.47009798565,"y":29070.59468798798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Time-Frame-Daily","project":"Superalgos","id":"775fadbd-5b55-41b2-81ac-454f5e52dca6","savedPayload":{"position":{"x":23750.078387481142,"y":28818.993517604355},"targetPosition":{"x":23913.47009798565,"y":29070.59468798798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"fc478301-77ac-4396-bd3b-915b4c681fa0","savedPayload":{"position":{"x":23913.47009798565,"y":29070.59468798798},"targetPosition":{"x":24136.413545628868,"y":29271.33386989564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"30054a4b-7c93-4a3a-a6db-2e0d38507b2e","savedPayload":{"position":{"x":24136.413545628868,"y":29271.33386989564},"targetPosition":{"x":24359.356993272086,"y":29472.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Bollinger Bands","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Bollinger Bands","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Bollinger Bands Multi-Time-Frame-Market","project":"Superalgos","id":"bf0f739f-98b7-4c73-ae06-8d3fe83147ce","savedPayload":{"position":{"x":24098.412828859568,"y":28617.882534106506},"targetPosition":{"x":24234.60997878143,"y":28885.184491363016},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenLine truncated
{"type":"Workspace","name":"Trading System Design Tutorials","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":" BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Candles","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Candles","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"57f64380-1c6b-40fd-b866-e005a1160cd1","savedPayload":{"position":{"x":23239.74175100142,"y":29691.688294073963},"targetPosition":{"x":23539.74175100142,"y":29691.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"76673a0e-0cff-4108-a305-e1fedbadaedc","savedPayload":{"position":{"x":23539.74175100142,"y":29691.688294073963},"targetPosition":{"x":23839.74175100142,"y":29691.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"83010a8a-4b3f-4e8d-952e-7468132f295c","savedPayload":{"position":{"x":23839.74175100142,"y":29691.688294073963},"targetPosition":{"x":24139.74175100142,"y":29691.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{ \n\"parameter1\": \"Value for parameter1 defined at the Product Definition\"\n}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Time-Frame-Market","project":"Superalgos","id":"89340d00-1f0f-4108-b432-45e2155073c1","savedPayload":{"position":{"x":23627.609716645457,"y":28959.941017447334},"targetPosition":{"x":23839.74175100142,"y":29172.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Time-Frame-Daily","project":"Superalgos","id":"14a64fa1-6850-4ed2-8fb3-2efe1a921f7d","savedPayload":{"position":{"x":23762.096037470663,"y":28882.295303916577},"targetPosition":{"x":23839.74175100142,"y":29172.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"0c91b2d3-c524-41a1-8388-b3d0688fd55d","savedPayload":{"position":{"x":23839.74175100142,"y":29172.073051803298},"targetPosition":{"x":23989.74175100142,"y":29431.88067293863},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c5947396-fe42-40f4-8a2c-c329b1ce4b0f","savedPayload":{"position":{"x":23989.74175100142,"y":29431.88067293863},"targetPosition":{"x":24139.74175100142,"y":29691.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"65288a80-2f65-4321-98dd-0ea50ba2f0b4","savedPayload":{"position":{"x":24139.74175100142,"y":29691.688294073963},"targetPosition":{"x":24399.549372136753,"y":29841.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2c58cd57-60d9-467c-b0b1-683de9ef3b7e","savedPayload":{"position":{"x":24399.549372136753,"y":29841.688294073963},"targetPosition":{"x":24659.356993272086,"y":29991.688294073963},"floatingObject":{"isPinned":falsLine truncated
@@ -1 +0,0 @@
{"type":"Workspace","name":"Weak-hands Buster v2","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Sparta","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Sparta","project":"Superalgos","tasks":[{"type":"Task","name":"EMA","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"EMA","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Time-Frame-Market","project":"Superalgos","id":"9adffd60-8756-44f0-9290-692711f43349","savedPayload":{"position":{"x":23320.126508730755,"y":29392.688294073963},"targetPosition":{"x":23620.126508730755,"y":29392.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Time-Frame-Daily","project":"Superalgos","id":"559fc728-018a-4e8e-a5fa-1e37958e4f6c","savedPayload":{"position":{"x":23470.126508730755,"y":29132.88067293863},"targetPosition":{"x":23620.126508730755,"y":29392.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"943ea24f-ee24-4eae-9b4b-e8a73122b1c2"}}}],"id":"82a8c05f-a6f6-4728-8271-7b327c2b72ee","savedPayload":{"position":{"x":23620.126508730755,"y":29392.688294073963},"targetPosition":{"x":23879.934129866087,"y":29542.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8ae4fc50-8c1f-4e45-9ffd-fad368816b9a","savedPayload":{"position":{"x":23879.934129866087,"y":29542.688294073963},"targetPosition":{"x":24139.74175100142,"y":29692.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51b49b9d-cb97-4d98-ad8f-9f691320bac2","savedPayload":{"position":{"x":24139.74175100142,"y":29692.688294073963},"targetPosition":{"x":24399.549372136753,"y":29842.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"63728769-73e4-474e-8aa3-0d82bedca08e","savedPayload":{"position":{"x":24399.549372136753,"y":29842.688294073963},"targetPosition":{"x":24659.356993272086,"y":29992.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Sparta","id":"9cfffc48-486a-48cb-b641-98c82e314d3a"}}},{"type":"Data Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"149bc037-9762-4737-b1b8-945b5ccee230","savedPayload":{"position":{"x":23931.241698334637,"y":28863.681567010735},"targetPosition":{"x":24173.94679664712,"y":29040.017142698478},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"507bc325-1cbd-40f4-85eb-cfe77b78000e","savedPayload":{"position":{"x":24173.94679664712,"y":29040.017142698478},"targetPosition":{"x":24416.651894959603,"y":29216.35271838622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7c28a4a4-86da-43be-9e89-Line truncated
@@ -0,0 +1 @@
{"type":"Workspace","name":"Weak-hands Buster v2 Demo","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":" BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Sparta","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Sparta","project":"Superalgos","tasks":[{"type":"Task","name":"Exponential Moving Average (EMA)","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Exponential Moving Average (EMA)","config":"{ \n\"parameter1\": \"Value for parameter1 defined at the Product Definition\"\n}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Time-Frame-Market","project":"Superalgos","id":"5289fbb5-258f-48ef-bdf9-8327d7ef51c6","savedPayload":{"position":{"x":23202.2460017252,"y":34612.10543995093},"targetPosition":{"x":23502.2460017252,"y":34612.10543995093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Time-Frame-Daily","project":"Superalgos","id":"12ac7bd5-8f41-4a27-bb95-fd5c96c9c351","savedPayload":{"position":{"x":23242.43838058987,"y":34462.10543995093},"targetPosition":{"x":23502.2460017252,"y":34612.10543995093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Time-Frame-Daily","id":"943ea24f-ee24-4eae-9b4b-e8a73122b1c2"}}}],"id":"90c93f60-88dd-41e0-86fc-0ffbc0aa37fb","savedPayload":{"position":{"x":23502.2460017252,"y":34612.10543995093},"targetPosition":{"x":23792.023749611923,"y":34689.75115348169},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8f472780-c533-4c47-a60d-c429df9b7b08","savedPayload":{"position":{"x":23792.023749611923,"y":34689.75115348169},"targetPosition":{"x":24081.801497498644,"y":34767.396867012445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1daba52e-712d-4bb3-a5bc-0b955da9570d","savedPayload":{"position":{"x":24081.801497498644,"y":34767.396867012445},"targetPosition":{"x":24371.579245385365,"y":34845.0425805432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"52e681cc-43fb-43d3-a255-2d37df8815ab","savedPayload":{"position":{"x":24371.579245385365,"y":34845.0425805432},"targetPosition":{"x":24661.356993272086,"y":34922.68829407396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Sparta","id":"9cfffc48-486a-48cb-b641-98c82e314d3a"}}},{"type":"Data Mine Tasks","name":"Candles","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Candles","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"9d4e38bb-9d64-4d29-8f1f-34df78e75f80","savedPayload":{"position":{"x":23724.960890204195,"y":33766.6769487354},"targetPosition":{"x":23937.09292456016,"y":33978.80898309137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"38416023-f22c-413e-b72a-ddc76ca86397","savedPayload":{"position":{"x":23937.09292456016,"y":33978.80898309137},"targetPosition":{"x":24149.224958916122,"y":34190.94101744733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParLine truncated
@@ -30,7 +30,7 @@
"config": true
},
"initialValues": {
"config": "{\"nodePath\": \"apiDataObject.data\"}"
"config": "{\"nodePath\": \"apiResponseReceivedObject.data\"}"
},
"addLeftIcons": true,
"level": 4,
@@ -30,7 +30,7 @@
"name": "pluginFilePosition",
"type": "node",
"childType": "Plugin File Position",
"autoAdd": false
"autoAdd": true
}
]
}
@@ -32,7 +32,8 @@
},
{
"style": "Subtitle",
"text": "Weak-hands Buster V2"
"text": "Trading Bot Layers Tutorial",
"updated": 1622625461403
},
{
"style": "List",
@@ -74,8 +75,8 @@
},
{
"style": "Subtitle",
"text": "Tested Exchanges",
"updated": 1621872378667
"text": "Install a New Market Tutorial",
"updated": 1622625477601
},
{
"style": "List",
@@ -0,0 +1,78 @@
{
"type": "replaceBy Config Property",
"definition": {
"text": "This property allows you to instruct the API Fetcher Bot to set a value to this parameter based on contextual information that can not be defined at the Data Mine or the API Map. This contextual information can be for example the current Base Asset or the current time.",
"updated": 1622476480596
},
"paragraphs": [
{
"style": "Block",
"text": "How To Use It",
"updated": 1622477226772
},
{
"style": "Subtitle",
"text": "replaceBy Config Property Usage"
},
{
"style": "Text",
"text": "This property is optional, meaning that the Bot will use the default value when it is not present. The default value for an API Query Parameter is the value configu property, while the default for an API Path Parameter is the codeName config property."
},
{
"style": "Text",
"text": "The possible values for this property are:"
},
{
"style": "List",
"text": "@BaseAsset: This will force the Bot to use the current Base Asset."
},
{
"style": "Javascript",
"text": "parameterValue = TS.projects.superalgos.globals.taskConstants.TASK_NODE\n.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName",
"updated": 1622476773559
},
{
"style": "List",
"text": "@QuotedAsset: This will force the Bot to use the current Quoted Asset.",
"updated": 1622476819686
},
{
"style": "Javascript",
"text": "parameterValue = TS.projects.superalgos.globals.taskConstants.TASK_NODE\n.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName",
"updated": 1622476849667
},
{
"style": "List",
"text": "@BeginCurrentMinute: This will instruct the Bot to use a timestamp at the begining of the current minute.",
"updated": 1622476907142
},
{
"style": "Javascript",
"text": "parameterValue = \nMath.trunc((new Date()).valueOf() / \nTS.projects.superalgos.globals.timeConstants.ONE_MIN_IN_MILISECONDS) * \nTS.projects.superalgos.globals.timeConstants.ONE_MIN_IN_MILISECONDS",
"updated": 1622477009814
},
{
"style": "List",
"text": "@EndCurrentMinute: This will instruct the Bot to use a timestamp at the ending of the current minute.",
"updated": 1622476926765
},
{
"style": "Javascript",
"text": "parameterValue = Math.trunc((new Date()).valueOf() / \nTS.projects.superalgos.globals.timeConstants.ONE_MIN_IN_MILISECONDS) * \nTS.projects.superalgos.globals.timeConstants.ONE_MIN_IN_MILISECONDS + \nTS.projects.superalgos.globals.timeConstants.ONE_MIN_IN_MILISECONDS - 1",
"updated": 1622477088684
},
{
"style": "Note",
"text": "If users assing a value that is not listed above, the property will be ingnored and the default value will be used.",
"updated": 1622477178155
},
{
"style": "Text",
"text": ""
},
{
"style": "Text",
"text": ""
}
]
}
@@ -31,7 +31,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.annualizedRateOfReturn.value = \n((( tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.beginBalance.value +\ntradingEngine.current.tradingEpisode.episodeBaseAsset.profitLoss.value ) / \ntradingEngine.current.tradingEpisode.episodeBaseAsset.beginBalance.value) ^\n(365 / tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeStatistics.days.value)) - 1\n\ntradingEngine.current.tradingEpisode.episodeQuotedAsset.annualizedRateOfReturn.value = \n((( tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.beginBalance.value +\ntradingEngine.current.tradingEpisode.episodeQuotedAsset.profitLoss.value ) / \ntradingEngine.current.tradingEpisode.episodeQuotedAsset.beginBalance.value) ^\n(365 / tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeStatistics.days.value)) - 1",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.annualizedRateOfReturn.value = \n((( tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.beginBalance.value +\ntradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.profitLoss.value ) / \ntradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.beginBalance.value) ^\n(365 / tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeStatistics.days.value)) - 1\n\ntradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.annualizedRateOfReturn.value = \n((( tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.beginBalance.value +\ntradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.profitLoss.value ) / \ntradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.beginBalance.value) ^\n(365 / tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeStatistics.days.value)) - 1",
"updated": 1609925166406
},
{
@@ -40,7 +40,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.annualizedRateOfReturn.value = \nMath.pow(\n ( tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.beginBalance.value +\n tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.profitLoss.value ) / \n tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.beginBalance.value\n , \n (365 / tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeStatistics.days.value)\n ) - 1\n\ntradingEngine.current.tradingEpisode.episodeQuotedAsset.annualizedRateOfReturn.value = \nMath.pow(\n ( tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.beginBalance.value +\n tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.profitLoss.value ) / \n tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.beginBalance.value\n , \n (365 / tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeStatistics.days.value)\n ) - 1",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.annualizedRateOfReturn.value = \nMath.pow(\n ( tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.beginBalance.value +\n tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.profitLoss.value ) / \n tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.beginBalance.value\n , \n (365 / tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeStatistics.days.value)\n ) - 1\n\ntradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.annualizedRateOfReturn.value = \nMath.pow(\n ( tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.beginBalance.value +\n tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.profitLoss.value ) / \n tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.beginBalance.value\n , \n (365 / tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeStatistics.days.value)\n ) - 1",
"updated": 1609925205928
},
{
@@ -6,8 +6,9 @@
},
"paragraphs": [
{
"style": "Text",
"text": "Right click and select the pencil button to enter edit mode."
"style": "Important",
"text": "For this node to be correctly installed and a reference stablished to the API Data Mine by the Install New Market procedure, both the Data Mine and the API Data Map needs to have exactly the same config property codeName, otherwise, this node will be created but you will have to stablish the reference manually.",
"updated": 1622472653778
}
]
}
@@ -11,12 +11,13 @@
"updated": 1621016234649
},
{
"style": "Subtitle",
"style": "Title",
"text": "How is it used?"
},
{
"style": "Text",
"text": "To use an API Map users need to setup a Task for an API Data Fetcher Bot. This set up is done automatically as part of the Install New Market procedure if an API Map is detected at the Worksapce. From within that Task, a reference to an API Map is established. "
"text": "To use an API Map users need to setup a Task for an API Data Fetcher Bot. This set up is done automatically as part of the Install Market procedure if an API Map is detected at the Worksapce. From within that Task, a reference to an API Map is established.",
"updated": 1622626543279
},
{
"style": "Text",
@@ -36,6 +37,11 @@
"style": "Title",
"text": "Configuration"
},
{
"style": "List",
"text": "codeName: this must be the same codeName as the Data Mine codeName in order for the Install New Market procedure to link them properly at the API Map Reference node.",
"updated": 1622472871204
},
{
"style": "List",
"text": "protocol: the protocol to be used to access the API. For now either http or https."
@@ -6,12 +6,12 @@
},
"paragraphs": [
{
"style": "Subtitle",
"style": "Title",
"text": "Configuration",
"updated": 1621018220723
},
{
"style": "Text",
"style": "Subtitle",
"text": "Important Properties"
},
{
@@ -21,11 +21,13 @@
},
{
"style": "List",
"text": "replaceBy: this property allows you to instruct the API Fetcher Bot to set a value to this parameter. The possible values are: @BaseAsset and @QuotedAsset"
"text": "replaceBy: this property allows you to instruct the API Fetcher Bot to set a value to this parameter replacing the current default and using contextual information available only at runtime. ",
"updated": 1622477486319
},
{
"style": "Important",
"text": "The replacedBy property is the way users have to send some contextual values to the API Server like for example the Base Asset or Quoted Asset of the Defautl Market."
"style": "Include",
"text": "Superalgos->Concept->replaceBy Config Property->How To Use It",
"updated": 1622477440806
}
]
}
@@ -1,8 +1,8 @@
{
"type": "API Path Parameters",
"definition": {
"text": "Path parameters are the type of parameters that are embedded as part of an URL path. They could be fixed string of texts or they could be a parameter that is replaced by the API Fetcher Bot for some value at runtime.",
"updated": 1621018106262
"text": "Path parameters are the type of parameters that are embedded as part of an URL path. They could be a fixed string of texts or they could be a parameter that is replaced by the API Fetcher Bot for some value at runtime.",
"updated": 1622336383876
},
"paragraphs": [
{
@@ -18,6 +18,15 @@
"style": "List",
"text": "value: It is the value to be used at this parameter. The API Map can define the value, that would be considered a default value. The same parameter defined at the Data Mine will have the actual value to be used replacing the default. If you are defining a API Map to be shared as a Plugin, you can avoid setting this property at the API Map level, and let the users set it at their Data Mine when they use your API Map. For completness, this parameter should be included at the the API Map even if the value property is not there.",
"updated": 1622160191941
},
{
"style": "List",
"text": "replaceBy: this property allows you to instruct the API Fetcher Bot to set a value to this parameter replacing the current default and using contextual information available only at runtime. ",
"updated": 1622477507235
},
{
"style": "Include",
"text": "Superalgos->Concept->replaceBy Config Property->How To Use It"
}
]
}
@@ -1,8 +1,8 @@
{
"type": "API Query Responses",
"definition": {
"text": "API calls producee responses. Under this section they are defined.",
"updated": 1621020920908
"text": "API calls produce responses. Under this section they are defined.",
"updated": 1622295146024
},
"paragraphs": [
{
@@ -33,8 +33,8 @@
},
{
"style": "Text",
"text": "In order to extract individual values for each Record Property, the API Data Fetcher Bot needs to dynamically discover the nodePath for each Record Propety at the response data structure and can do it as long as the API Response Field referenced is under the Data Root. To autodiscover the nodePath it uses the API Response Schame nodePath to locate the Data Root, and then it follows the reference from the API Response Field Reference node to the API Response Field and climb upwards until it reach the API Response Schema. While climbing upwards it discovers the nodePath that it needs to grabb the value from the response data structure. That is how it works.",
"updated": 1621972472491
"text": "In order to extract individual values for each Record Property, the API Data Fetcher Bot needs to dynamically discover the nodePath for each Record Propety at the response data structure and can do it as long as the API Response Field referenced is under the Data Root. To autodiscover the nodePath it uses the API Response Schema nodePath to locate the Data Root, and then it follows the reference from the API Response Field Reference node to the API Response Field and climbs upwards until it reach the API Response Schema. While climbing upwards it discovers the nodePath that it needs to grab the value from the response data structure. That is how it works.",
"updated": 1622372741883
},
{
"style": "Text",
@@ -17,8 +17,8 @@
},
{
"style": "List",
"text": "fieldType: This property declares if the data is number, a string an object or an array, those are the 4 possible values.",
"updated": 1621022104672
"text": "fieldType: This property declares if the data is number, a string, an object, or an array, those are the 4 possible values.",
"updated": 1622315306276
},
{
"style": "List",
@@ -7,8 +7,8 @@
"paragraphs": [
{
"style": "Text",
"text": "The API Map assumes the API Server will respond with string formatted in JSON. This means that the response will be a data structure of nestled objects and arrays. Users will need to map the response format into a API Response Schema by adding children to this node and to this node's children. All these descendants are of the same Node Type API Response Field. ",
"updated": 1621952655717
"text": "The API Map assumes the API Server will respond with string formatted in JSON. This means that the response will be a data structure of nestled objects and arrays. Users will need to map the response format into an API Response Schema by adding children to this node and to this node's children. All these descendants are of the same Node Type API Response Field.",
"updated": 1622312357188
},
{
"style": "Title",
@@ -7,8 +7,8 @@
"paragraphs": [
{
"style": "Note",
"text": "We expect every API to have at leat one version.",
"updated": 1621951647515
"text": "We expect every API to have at least one version.",
"updated": 1622291417472
},
{
"style": "Include",
@@ -59,7 +59,7 @@
},
{
"style": "Javascript",
"text": "if (chart.at01hs.bollingerBand.movingAverage * 0.98 > \ntradingEngine.current.position.stopLoss.value)\n{chart.at01hs.bollingerBand.movingAverage * 0.98}\nelse\n{tradingEngine.tradingCurrent.position.stopLoss.value}\n",
"text": "if (chart.at01hs.bollingerBand.movingAverage * 0.98 > \ntradingEngine.tradingCurrent.position.stopLoss.value)\n{chart.at01hs.bollingerBand.movingAverage * 0.98}\nelse\n{tradingEngine.tradingCurrent.position.stopLoss.value}\n",
"updated": 1609346601773
},
{
@@ -31,7 +31,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.profitLoss.value =\n tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value -\n sessionParameters.sessionBaseAsset.config.initialBalance\n \ntradingEngine.current.tradingEpisode.episodeQuotedAsset.profitLoss.value =\n tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value -\n sessionParameters.sessionQuotedAsset.config.initialBalance",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.profitLoss.value =\n tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value -\n sessionParameters.sessionBaseAsset.config.initialBalance\n \ntradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.profitLoss.value =\n tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value -\n sessionParameters.sessionQuotedAsset.config.initialBalance",
"updated": 1609880593226
},
{
@@ -45,7 +45,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.position.positionBaseAsset.profitLoss.value =\n tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value -\n tradingEngine.tradingCurrent.position.positionBaseAsset.beginBalance\n \ntradingEngine.current.position.positionQuotedAsset.profitLoss.value =\n tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value -\n tradingEngine.tradingCurrent.position.positionQuotedAsset.beginBalance",
"text": "tradingEngine.tradingCurrent.position.positionBaseAsset.profitLoss.value =\n tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value -\n tradingEngine.tradingCurrent.position.positionBaseAsset.beginBalance\n \ntradingEngine.tradingCurrent.position.positionQuotedAsset.profitLoss.value =\n tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value -\n tradingEngine.tradingCurrent.position.positionQuotedAsset.beginBalance",
"updated": 1609880668611
},
{
@@ -60,7 +60,7 @@
{
"style": "Include",
"text": "Superalgos->Topic->Data Mining - Fetching Data From APIs->Data Aggregation",
"updated": 1621974902589
"updated": 1622336877604
}
]
}
@@ -35,7 +35,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.ROI.value =\n tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.profitLoss.value /\n tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.beginBalance.value * 100 \n \ntradingEngine.current.tradingEpisode.episodeQuotedAsset.ROI.value =\n tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.profitLoss.value /\n tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.beginBalance.value * 100",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.ROI.value =\n tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.profitLoss.value /\n tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.beginBalance.value * 100 \n \ntradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.ROI.value =\n tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.profitLoss.value /\n tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.beginBalance.value * 100",
"updated": 1611332768337
},
{
@@ -53,7 +53,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.position.positionBaseAsset.ROI.value =\n tradingEngine.tradingCurrent.position.positionBaseAsset.profitLoss.value * 100 /\n tradingEngine.tradingCurrent.strategyOpenStage.stageBaseAsset.sizeFilled.value\n \ntradingEngine.current.position.positionQuotedAsset.ROI.value =\n tradingEngine.tradingCurrent.position.positionQuotedAsset.profitLoss.value * 100 /\n tradingEngine.tradingCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value",
"text": "tradingEngine.tradingCurrent.position.positionBaseAsset.ROI.value =\n tradingEngine.tradingCurrent.position.positionBaseAsset.profitLoss.value * 100 /\n tradingEngine.tradingCurrent.strategyOpenStage.stageBaseAsset.sizeFilled.value\n \ntradingEngine.tradingCurrent.position.positionQuotedAsset.ROI.value =\n tradingEngine.tradingCurrent.position.positionQuotedAsset.profitLoss.value * 100 /\n tradingEngine.tradingCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value",
"updated": 1611332799800
},
{
@@ -53,6 +53,15 @@
"style": "Title",
"text": "Saving Workspaces"
},
{
"style": "Text",
"text": "Any workspace that is saved by the user is a User Workspace.",
"updated": 1622634912210
},
{
"style": "Note",
"text": "User workspaces feature a purple background in the workspaces tab."
},
{
"style": "Text",
"text": "Workspaces are saved as JSON files in the My-Workspaces folder.",
@@ -75,8 +84,7 @@
},
{
"style": "Title",
"text": "Plugin Workspaces",
"updated": 1615892918302
"text": "Plugin Workspaces"
},
{
"style": "Text",
@@ -84,8 +92,9 @@
"updated": 1616259409951
},
{
"style": "Text",
"text": "In the Workspaces Tab, plugin workspaces are marked with the words \"Plugin\" so that you may differentiate them from your own workspaces."
"style": "Note",
"text": "In the workspaces tab, plugin workspaces are marked with the words \"Plugin Workspace\", and feature a black background so that you may differentiate them from your own workspaces.",
"updated": 1622634983432
},
{
"style": "Important",
@@ -0,0 +1,20 @@
{
"topic": "Bollinger Data Mine",
"pageNumber": "1",
"type": "Bollinger by @luis_fernando_molina",
"definition": {
"text": "The Bollinger Data Mine features the Bollinger Bands (BB), Percentage Bandwisth (%B), Bollinger Channels, and Bollinger Subchannels indicators.",
"updated": 1622481705188
},
"paragraphs": [
{
"style": "Title",
"text": "Maintainer:",
"updated": 1622481793076
},
{
"style": "Link",
"text": "@luis_fernando_molina (Telegram)->t.me/luis_fernando_molina"
}
]
}
@@ -1,7 +1,7 @@
{
"topic": "Masters Data Mine",
"pageNumber": 2,
"type": "Bollinger Bands (BB - %B) - Masters Indicator",
"topic": "Bollinger Data Mine",
"pageNumber": "2",
"type": "Bollinger Bands (BB - %B) - Bollinger Indicator",
"definition": {
"text": "The indicator produces the Bollinger Bands (BB) and Percentage Bandwith (%B), both in standard settings.",
"updated": 1610387450406
@@ -1,7 +1,7 @@
{
"topic": "Masters Data Mine",
"topic": "Bollinger Data Mine",
"pageNumber": 3,
"type": "Bollinger Channels - Masters Indicator",
"type": "Bollinger Channels - Bollinger Indicator",
"definition": {
"text": "The indicator produces the Bollinger Channels and Bollinger Sub-Channels products.",
"updated": 1610468458099
@@ -0,0 +1,20 @@
{
"topic": "Candles Data Mine",
"pageNumber": "1",
"type": "Candles by @luis_fernando_molina",
"definition": {
"text": "The Candles Data Mine features the Exchange Raw Data Sensor Bot and the Candles Volumes Indicator Bot.",
"updated": 1622481284246
},
"paragraphs": [
{
"style": "Title",
"text": "Maintainer:",
"updated": 1622481391711
},
{
"style": "Link",
"text": "@luis_fernando_molina (Telegram)->t.me/luis_fernando_molina"
}
]
}
@@ -1,7 +1,7 @@
{
"topic": "Masters Data Mine",
"pageNumber": 4,
"type": "Candles Volumes - Masters Indicator",
"topic": "Candles Data Mine",
"pageNumber": 2,
"type": "Candles Volumes - Candles Indicator",
"definition": {
"text": "The indicator processes one-minute candles into candles and volumes information for all time frames.",
"updated": 1610398384051
@@ -175,7 +175,8 @@
},
{
"style": "Text",
"text": "Masters Data Mine:"
"text": "Candles Data Mine:",
"updated": 1622559175746
},
{
"style": "List",
@@ -185,6 +186,10 @@
"style": "List",
"text": "Candles & Volumes"
},
{
"style": "Text",
"text": "Bollinger Data Mine:"
},
{
"style": "List",
"text": "Bollinger Bands & Percentage Bandwith"
@@ -163,7 +163,8 @@
},
{
"style": "Text",
"text": "Masters Data Mine:"
"text": "Candles Data Mine:",
"updated": 1622559136531
},
{
"style": "List",
@@ -173,6 +174,10 @@
"style": "List",
"text": "Candles & Volumes"
},
{
"style": "Text",
"text": "Bollinger Data Mine:"
},
{
"style": "List",
"text": "Bollinger Bands & Percentage Bandwith"
@@ -31,13 +31,13 @@
},
{
"style": "Title",
"text": "Brought to you by",
"text": "Maintainer",
"updated": 1616151282749
},
{
"style": "List",
"text": "@julian-molina (Telegram)",
"updated": 1616151219045
"style": "Link",
"text": "@julianmolina (Telegram)->t.me/julianmolina",
"updated": 1622623292203
}
]
}
@@ -34,20 +34,13 @@
},
{
"style": "Title",
"text": "Brought to you by",
"text": "Maintainer",
"updated": 1616151252550
},
{
"style": "List",
"text": "@julian-molina"
},
{
"style": "Text",
"text": ""
},
{
"style": "Text",
"text": ""
"style": "Link",
"text": "@julianmolina (Telegram)->t.me/julianmolina",
"updated": 1622623292203
}
]
}
@@ -3,25 +3,10 @@
"pageNumber": "4",
"type": "Tested Exchanges Plugin Workspace",
"definition": {
"text": "This workspace features the very basic setup for users to start with a clean slate. Use this workspace to start building your own Trading System. Alternatively, you may use this workspace to test new exchanges.",
"updated": 1616146238001
"text": "This workspace features the collection of Crypto Exchange nodes corresponding to exchanges that have been or are currently being tested. Use this workspace if you intend to test new exchanges.",
"updated": 1622624683862
},
"paragraphs": [
{
"style": "Title",
"text": "Tutorials",
"updated": 1616151026914
},
{
"style": "List",
"text": "Install a New Market Tutorial.",
"updated": 1616151119187
},
{
"style": "Important",
"text": "This workspace must be kept in a minimalist state to allow users to start from scratch.",
"updated": 1616156081401
},
{
"style": "Title",
"text": "Testing Workflow",
@@ -58,7 +43,7 @@
},
{
"style": "Title",
"text": "Brought to you by",
"text": "Maintainer",
"updated": 1616151450651
},
{
@@ -19,8 +19,8 @@
},
{
"style": "Title",
"text": "Brough to you by",
"updated": 1616151546656
"text": "Maintainer",
"updated": 1622623051979
},
{
"style": "List",
@@ -1,7 +1,7 @@
{
"topic": "Community Workspaces",
"pageNumber": "6",
"type": "Weak-Hands Buster v2 Plugin Workspace",
"type": "Weak-Hands Buster v2 Demo Plugin Workspace",
"definition": {
"text": "This workspace features the BTC-USDT - Weak-hands Buster - WHB Trading System setup for backtesting in Binance and the USDT/BTC market.",
"updated": 1616149302461
@@ -18,12 +18,13 @@
},
{
"style": "Title",
"text": "Brought to you by",
"text": "Maintainer",
"updated": 1616153657727
},
{
"style": "List",
"text": "@julian-molina"
"style": "Link",
"text": "@julianmolina (Telegram)->t.me/julianmolina",
"updated": 1622623292203
}
]
}
@@ -1,7 +1,7 @@
{
"topic": "Community Workspaces",
"pageNumber": "7",
"type": "BB Top Bounce Plugin Workspace",
"type": "BB Top Bounce Demo Plugin Workspace",
"definition": {
"text": "This workspace features the BTC-USDT - BB Top Bounce - BBTB Trading System setup for backtesting in Binance and the USDT/BTC market.",
"updated": 1616149302461
@@ -18,12 +18,13 @@
},
{
"style": "Title",
"text": "Brought to you by",
"text": "Maintainer",
"updated": 1616153683894
},
{
"style": "List",
"text": "@julian-molina"
"style": "Link",
"text": "@julianmolina (Telegram)->t.me/julianmolina",
"updated": 1622623292203
}
]
}
@@ -9,12 +9,13 @@
"paragraphs": [
{
"style": "Title",
"text": "Brought to you by",
"text": "Maintainer",
"updated": 1616153711861
},
{
"style": "List",
"text": "@luis_fernando_molina"
"style": "Link",
"text": "@luis_fernando_molina (Telegram)->t.me/luis_fernando_molina",
"updated": 1622625062405
}
]
}
@@ -9,12 +9,13 @@
"paragraphs": [
{
"style": "Title",
"text": "Brought to you by",
"text": "Maintainer",
"updated": 1616693330070
},
{
"style": "Text",
"text": "@luis-fernando-molina"
"style": "Link",
"text": "@luis_fernando_molina (Telegram)->t.me/luis_fernando_molina",
"updated": 1622625062405
}
]
}
@@ -3,8 +3,8 @@
"pageNumber": 10,
"type": "Custom Charts Tutorials Plugin Workspace",
"definition": {
"text": "This workspace will walk you through everything you need to know about setting up custom charts within your Design Space. The tutorials aim to offer step by step guidance taking you from charting beginner to charting expert.",
"updated": 1621990685106
"text": "This workspace will walk you through everything you need to know about setting up custom charts within the Design Space. The tutorials aim to offer step by step guidance taking you from charting beginner to charting expert.",
"updated": 1622624767597
},
"paragraphs": [
{
@@ -18,7 +18,7 @@
},
{
"style": "Title",
"text": "Brought to you by"
"text": "Maintainer"
},
{
"style": "List",
@@ -0,0 +1,38 @@
{
"topic": "Community Workspaces",
"pageNumber": "11",
"type": "Blank Template Plugin Workspace",
"definition": {
"text": "This is a minimalist workspace you may use to start from a clean slate.",
"updated": 1622623695656
},
"paragraphs": [
{
"style": "Title",
"text": "Features",
"updated": 1622623856267
},
{
"style": "List",
"text": "The basic system components including the Masters Trading Mine and the Candles Data Mine."
},
{
"style": "List",
"text": "The BTC-USDT Market installed on the Binance exchange."
},
{
"style": "Success",
"text": "You may switch to a different market by changing the configuration of the assets under the Exchange Assets node, and you may switch to a different exchange by changing the configuration of the Crypto Exchange node. You may find the configuration of other exchanges in the Tested Exchanges topic.",
"updated": 1622626283772
},
{
"style": "Title",
"text": "Maintainer"
},
{
"style": "Link",
"text": "@julianmolina (Telegram)->t.me/julianmolina",
"updated": 1622624415709
}
]
}
@@ -0,0 +1,29 @@
{
"topic": "Community Workspaces",
"pageNumber": "12",
"type": "Install a New Market Tutorial Plugin Workspace",
"definition": {
"text": "This workspace features a tutorial that teaches you how to work with different markets.",
"updated": 1622624869211
},
"paragraphs": [
{
"style": "Title",
"text": "Tutorials",
"updated": 1622624397458
},
{
"style": "Text",
"text": "Install a New Market Tutorial"
},
{
"style": "Title",
"text": "Maintainer"
},
{
"style": "Link",
"text": "@julianmolina (Telegram)->t.me/julianmolina",
"updated": 1622624415709
}
]
}
@@ -0,0 +1,21 @@
{
"topic": "Community Workspaces",
"pageNumber": "13",
"type": "API Data Fetcher Bot Demo Plugin Workspace",
"definition": {
"text": "This workspace features an example of how to build a new API Data Fetche Bot.",
"updated": 1622625013055
},
"paragraphs": [
{
"style": "Title",
"text": "Maintainer",
"updated": 1622625028937
},
{
"style": "Link",
"text": "@luis_fernando_molina (Telegram)->t.me/luis_fernando_molina",
"updated": 1622625062405
}
]
}
@@ -61,10 +61,14 @@
"text": "There is a Workspace called API Data Fetcher Bot Demo with a simple working example of the previous steps you can use as a reference.",
"updated": 1622230619069
},
{
"style": "Block",
"text": "Data Aggregation",
"updated": 1622336997587
},
{
"style": "Title",
"text": "How Does Data Aggregation Work?",
"updated": 1622230634850
"text": "How Does Data Aggregation Work?"
},
{
"style": "Text",
@@ -106,10 +110,14 @@
"style": "List",
"text": "Avg: This means that the average of all values found in the time range will be used as the value for the Record Proeprty."
},
{
"style": "Block",
"text": "Step By Step",
"updated": 1622372437520
},
{
"style": "Title",
"text": "Step by Step Guide to Fetch Data from an API",
"updated": 1622231458352
"text": "Step by Step Guide to Fetch Data from an API"
},
{
"style": "Text",
@@ -133,8 +141,8 @@
},
{
"style": "List",
"text": "Step #4: Read the API's documentation, indentify the endpoints, what parameters they require and what data they will provide you.",
"updated": 1621976675920
"text": "Step #4: Read the API's documentation, indentify the endpoints, what parameters they require and what data they will provide you. Another helpful way to see how the api responds is by typing the api endpoint into your browser and looking at the raw output.",
"updated": 1622469791527
},
{
"style": "List",
@@ -143,8 +151,8 @@
},
{
"style": "List",
"text": "Step #6: Create an API Map node, and start mapping the documented API by adding children to it.",
"updated": 1621976688595
"text": "Step #6: Create an API Map node, and start mapping the documented API by adding children to it. Especially pay attention to unnamed arrays and objects that may wrap the data.",
"updated": 1622470221717
},
{
"style": "List",
@@ -196,8 +204,13 @@
},
{
"style": "List",
"text": "Step #17: Pay attention to the special case of the required timeStamp Record Property. Specifically because it might be pointing to the header of the API response. Read the docs of the API Response Field Reference node to set up the nodePath property if necessary.",
"updated": 1622232714229
"text": "Step #17: The timestamp record property is the only required property. It helps keep the records you save organized. Addtionally, the timestamp may live in the header of the API responce. Read the docs of the API Response Field Reference node to set up the nodePath property if necessary.",
"updated": 1622475120505
},
{
"style": "Note",
"text": "It is a good idea to make sure you get the api fetcher bot running and debugged before moving on to the next step.",
"updated": 1622475171484
},
{
"style": "List",
@@ -3,7 +3,7 @@
"pageNumber": "3",
"type": "Create the Plugins-Docs Branch in Old Forks",
"definition": {
"text": "If your Superalgos fork is older than April 6, 2021, you must create the plugin-docs branch before you may switch to that branch! Newer forks already have the branch, so you don't need to follow this guide in that case!",
"text": "If your Superalgos fork is older than April 6, 2021, you must create the plugins-docs branch before you may switch to that branch! Newer forks already have the branch, so you don't need to follow this guide in that case!",
"updated": 1618155549345
},
"paragraphs": [
@@ -1,24 +1,20 @@
{
"topic": "Masters Data Mine",
"pageNumber": 1,
"type": "Masters By @Luis-Fernando-Molina",
"type": "Masters by @luis_fernando_molina",
"definition": {
"text": "The set of indicators built in the Masters data mine include candles, volumes, candle channels, volume channels, Bollinger bands (BB), Percentage Bandwidth (%B), Bollinger Channels, Bollinger Sub-Channels, and Supports and Resistances.",
"updated": 1611685914850
"text": "The Masters Data Mine features the Supports and Resistances indicator.",
"updated": 1622480871389
},
"paragraphs": [
{
"style": "Text",
"text": "The Masters data mine is brought to you by...",
"style": "Title",
"text": "Maintainer",
"updated": 1611685963401
},
{
"style": "Link",
"text": "@Luis-Fernando-Molina->github.com/Luis-Fernando-Molina"
},
{
"style": "Success",
"text": "Collaborate with this data mine and report issues directly at the Superalgos repository."
"text": "@luis_fernando_molina (Telegram)->t.me/luis_fernando_molina"
}
]
}
@@ -1,6 +1,6 @@
{
"topic": "Masters Data Mine",
"pageNumber": 5,
"pageNumber": 2,
"type": "Resistances and Supports - Masters Indicator",
"definition": {
"text": "The indicator keeps track of resistances and supports levels for the entire dataset.",
@@ -218,7 +218,7 @@
},
{
"style": "Javascript",
"text": "tradingEngineOrder.orderQuotedAsset.size.value =\ntradingEngine.current.tradingEpisode.episodeQuotedAsset.balance.value",
"text": "tradingEngineOrder.orderQuotedAsset.size.value =\ntradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value",
"updated": 1610220358264
},
{
@@ -190,7 +190,7 @@
},
{
"style": "Javascript",
"text": "tradingEngineOrder.orderStatistics.actualRate.value =\ntradingEngine.current.tradingEpisode.candle.max.value",
"text": "tradingEngineOrder.orderStatistics.actualRate.value =\ntradingEngine.tradingCurrent.tradingEpisode.candle.max.value",
"updated": 1610223027648
},
{
@@ -211,7 +211,7 @@
},
{
"style": "Javascript",
"text": "tradingEngineOrder.orderStatistics.actualRate.value =\ntradingEngine.current.tradingEpisode.candle.min.value",
"text": "tradingEngineOrder.orderStatistics.actualRate.value =\ntradingEngine.tradingCurrent.tradingEpisode.candle.min.value",
"updated": 1610223044937
},
{
@@ -82,7 +82,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value =\ntradingEngine.current.tradingEpisode.episodeBaseAsset.balance.value +\npreviousBaseAssetSizeFilled",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value =\ntradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value +\npreviousBaseAssetSizeFilled",
"updated": 1610224035951
},
{
@@ -92,7 +92,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value =\ntradingEngine.current.tradingEpisode.episodeBaseAsset.balance.value -\ntradingEngineOrder.orderBaseAsset.sizeFilled.value",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value =\ntradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value -\ntradingEngineOrder.orderBaseAsset.sizeFilled.value",
"updated": 1610224081072
},
{
@@ -102,7 +102,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value =\ntradingEngine.current.tradingEpisode.episodeQuotedAsset.balance.value -\npreviousQuotedAssetSizeFilled +\npreviousQuotedAssetFeesPaid",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value =\ntradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value -\npreviousQuotedAssetSizeFilled +\npreviousQuotedAssetFeesPaid",
"updated": 1610224107848
},
{
@@ -112,7 +112,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value =\ntradingEngine.current.tradingEpisode.episodeQuotedAsset.balance.value +\ntradingEngineOrder.orderQuotedAsset.sizeFilled.value -\ntradingEngineOrder.orderQuotedAsset.feesPaid.value",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value =\ntradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value +\ntradingEngineOrder.orderQuotedAsset.sizeFilled.value -\ntradingEngineOrder.orderQuotedAsset.feesPaid.value",
"updated": 1610224148958
},
{
@@ -126,7 +126,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value =\ntradingEngine.current.tradingEpisode.episodeBaseAsset.balance.value -\npreviousBaseAssetSizeFilled +\npreviousBaseAssetFeesPaid",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value =\ntradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value -\npreviousBaseAssetSizeFilled +\npreviousBaseAssetFeesPaid",
"updated": 1610224182969
},
{
@@ -136,7 +136,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value =\ntradingEngine.current.tradingEpisode.episodeBaseAsset.balance.value +\ntradingEngineOrder.orderBaseAsset.sizeFilled.value -\ntradingEngineOrder.orderBaseAsset.feesPaid.value",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value =\ntradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value +\ntradingEngineOrder.orderBaseAsset.sizeFilled.value -\ntradingEngineOrder.orderBaseAsset.feesPaid.value",
"updated": 1610224202075
},
{
@@ -146,7 +146,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value =\ntradingEngine.current.tradingEpisode.episodeQuotedAsset.balance.value +\npreviousQuotedAssetSizeFilled",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value =\ntradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value +\npreviousQuotedAssetSizeFilled",
"updated": 1610224219415
},
{
@@ -156,7 +156,7 @@
},
{
"style": "Javascript",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value =\ntradingEngine.current.tradingEpisode.episodeQuotedAsset.balance.value -\ntradingEngineOrder.orderQuotedAsset.sizeFilled.value",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value =\ntradingEngine.tradingCurrent.tradingEpisode.episodeQuotedAsset.balance.value -\ntradingEngineOrder.orderQuotedAsset.sizeFilled.value",
"updated": 1610224237924
},
{
@@ -0,0 +1,15 @@
{
"topic": "Repository Branches",
"pageNumber": "1",
"type": "Introduction",
"definition": {
"text": "The Superalgos Repository has 4 main branches, each one with it's own purpose: Master, Develop, Plugins-Docs and Next-Version.",
"updated": 1622467436519
},
"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."
}
]
}
@@ -0,0 +1,34 @@
{
"topic": "Repository Branches",
"pageNumber": "2",
"type": "Master",
"definition": {
"text": "The Master branch is where the stable code or current version is located at. This is the branch where the software is installed from by default. ",
"updated": 1622467520315
},
"paragraphs": [
{
"style": "Text",
"text": "Users of Superalgos running the stable version at Master discuss several topics here:",
"updated": 1622468372179
},
{
"style": "Link",
"text": "Telegram Community Group->t.me/superalgoscommunity",
"updated": 1622468544375
},
{
"style": "Text",
"text": "When they have issues with the stable version at Master, they ask for help here:"
},
{
"style": "Link",
"text": "Telegram Technical Support Group->t.me/superalgossupport",
"updated": 1622468555501
},
{
"style": "Text",
"text": ""
}
]
}
@@ -0,0 +1,21 @@
{
"topic": "Repository Branches",
"pageNumber": "3",
"type": "Develop",
"definition": {
"text": "The Develop branch is the branch that is being used by developers involved in contributing to Superalgos. All the changes at this branch are sent to the Master branch everytime there is a new release. The Develop branch purpose is for accumulating changes at the codebase untiil the release date when all these changes are moved into the Master branch.",
"updated": 1622467883706
},
"paragraphs": [
{
"style": "Text",
"text": "Contributors working at this branch coordinate their here:",
"updated": 1622468223194
},
{
"style": "Link",
"text": "Telegram Developers Group->t.me/superalgosdevelop",
"updated": 1622468567484
}
]
}
@@ -0,0 +1,21 @@
{
"topic": "Repository Branches",
"pageNumber": "4",
"type": "Plugins-Docs",
"definition": {
"text": "The branch Plugins-Docs is used by contributors of Plugins, documentations or tutorials. This branch in syncronized with Develop and Master everytime a new version is released, and it's purpose is to allow the flow of docs pages, plugins and tutorials into the master branch at a higher rate than changes at the codebase done at the Develop branch. This means that the Master branch might have many updates in between releases.",
"updated": 1622467789596
},
"paragraphs": [
{
"style": "Text",
"text": "Contributors working at this branch coordinate their here:",
"updated": 1622468204165
},
{
"style": "Link",
"text": "Telegram Docs Group->t.me/superalgosdocs",
"updated": 1622468607270
}
]
}
@@ -0,0 +1,21 @@
{
"topic": "Repository Branches",
"pageNumber": "5",
"type": "Next-Version",
"definition": {
"text": "The Next-Version branch is where developers work when they are working on features that will not be part of the next release, but the release following that one. After a release, this branch is merged into Develop and devs continue working there. ",
"updated": 1622468029634
},
"paragraphs": [
{
"style": "Text",
"text": "Contributors working at this branch coordinate their here:",
"updated": 1622468300604
},
{
"style": "Link",
"text": "Telegram Developers Group->t.me/superalgosdevelop",
"updated": 1622468627270
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Ho sentito che il mio amico, Welcome Tutorial, ti ha fatto fare un giro e stupito con qualche banale trucchetto...che esibizionista!",
"updated": 1619458689320
"updated": 1619458689320,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Beh, ora è il momento di fare sul serio!",
"updated": 1619458717851
"updated": 1619458717851,
"style": "Note"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "IT",
"text": "Imparare Superalgos è impegantivo! Non perchè sia difficile, ma perchè il sistema è vasto, molto flessibile e costruito secondo un nuovo paradigma che non è scontato all'inizio...",
"updated": 1619458791004
"updated": 1619458791004,
"style": "Text"
}
]
},
@@ -49,7 +52,8 @@
{
"language": "IT",
"text": "Ma non preoccuparti! Se presti attenzione e segui i tutorial, imparerai tutto in un battibaleno! In ogni caso, sappi che molte persone rileggono i tutorial più di una volta!",
"updated": 1619458852073
"updated": 1619458852073,
"style": "Callout"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Il lato sinistro del menù di un nodo è generalmente sempre uguale. Il lato destro, invece, è specifico per ogni tipo di nodo!",
"updated": 1619459213047
"updated": 1619459213047,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Diamo un'occhiata al lato sinistro!",
"updated": 1619459263897
"updated": 1619459263897,
"style": "Note"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "IT",
"text": "Il design space è basato sul paradigma di un workspace auto-organizzato, in cui i nodi tendono a trovare la propria posizione guidati da specifiche proprietà che puoi controllare dal menù di ogni nodo.",
"updated": 1619459329778
"updated": 1619459329778,
"style": "Text"
}
]
},
@@ -49,7 +52,8 @@
{
"language": "IT",
"text": "Clicca il pulsante \"pin\" nell'angolo in alto a sinistra del nodo Session Base Asset. Ora trascina il nodo e rilascialo! Poi trascina e rilascia un qualsiasi altro nodo senza cliccare \"pin\". Vedi la differenza?",
"updated": 1619459430359
"updated": 1619459430359,
"style": "Callout"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Quando un nodo è \"pinned\", è fissato a una posizione indipendentemente dal resto delle proprietà di disposizione!",
"updated": 1619459518708
"updated": 1619459518708,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Puoi fissare un nodo, una struttura di nodi o anche un'intera gerarchia. Proviamo un'altra cosa...",
"updated": 1619459542669
"updated": 1619459542669,
"style": "Text"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "IT",
"text": "Fissa il nodo Trading Parameters e trascinalo via!",
"updated": 1619459606476
"updated": 1619459606476,
"style": "Callout"
}
]
},
@@ -49,7 +52,8 @@
{
"language": "IT",
"text": "Nota come tutti i nodi figli seguono il nodo padre, ma il nodo Session Base Asset rimane fisso! Prima di proseguire, togli il pin da tutti i nodi per tenere in ordine il workspace!",
"updated": 1619459651253
"updated": 1619459651253,
"style": "Note"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Uno scenario tipico è modificare una strategia inclusa nel sistema per iniziare con un setup già pronto.",
"updated": 1619590461442
"updated": 1619590461442,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Mettiamo che hai completato i tutorial di Superalgos e sei pronto a sperimentare con una strategia. Vuoi iniziare da una strategia esistente e modificare qualche dettaglio per capire meglio come funziona il tutto. La strategia in questione è inclusa come un plugin in uno specifico workspace.",
"updated": 1619590579206
"updated": 1619590579206,
"style": "Text"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "In questi casi, devi cancellare il nodo Plugin File corrispondente al Trading System e ripristinare l'originle presente in \\Plugins\\Trading-Systems come fosse un backup: trascina il file e rilascialo nel Design Space!",
"updated": 1619590641442
"updated": 1619590641442,
"style": "Success"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Di default, i nodi sono bloccati in una simmetria rotazionale intorno al nodo padre. La simmetria può coprire 360 gradi o meno, in base alle impostazioni!",
"updated": 1619459700633
"updated": 1619459700633,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Cliccando il pulsante Angle to Parent nel menù del nodo, cicli attraverso cinque impostazioni: 360, 180, 90, 45 o disabilitato.",
"updated": 1619459742464
"updated": 1619459742464,
"style": "Text"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Dai un'occhiata alle impostazioni attive su ognuno dei nodi figli del nodo Backtesting Session: il nodo Trading Parameters, Trading System Reference e Trading Engine Reference. Sono tutti su 180 gradi, giusto?",
"updated": 1619459812078
"updated": 1619459812078,
"style": "Callout"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Quando tutti i nodi figlio sono impostati a 180 gradi, ogni nodo prende posizione in una frazione di un semicerchio, in posizione normale al nodo padre.",
"updated": 1619459891459
"updated": 1619459891459,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Ma che succede se uno dei nodi figli ha un'altro valore per l'impostazione Angle to Parent? Vediamo subito!",
"updated": 1619459962741
"updated": 1619459962741,
"style": "Text"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "IT",
"text": "Clicca una volta sulla proprietà Angle to Parent del nodo Trading Parameters e esci dal menù!",
"updated": 1619459998306
"updated": 1619459998306,
"style": "Callout"
}
]
},
@@ -49,7 +52,8 @@
{
"language": "IT",
"text": "Il nodo prende posizione in un angolo di 90 gradi! Fai lo stesso con i nodi Trading System Reference e Trading Engine Reference!",
"updated": 1619460071962
"updated": 1619460071962,
"style": "Text"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Nota come hai modificato l'impostazione Angle to Parent su nodi fratelli e come ognuno di essi ha reagito alla nuova impostazione in maniera indipendente dagli altri!",
"updated": 1619460136934
"updated": 1619460136934,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Puoi controllare la posizione di ogni nodo dal suo menù. Nè il padre nè i fratelli influenzano la posizione, a parte per un'eccezione:",
"updated": 1619460176032
"updated": 1619460176032,
"style": "Text"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "IT",
"text": "Vai al nodo Backtesting Session e seleziona Add Missing Children dal lato destro del menù!",
"updated": 1619460209880
"updated": 1619460209880,
"style": "Callout"
}
]
},
@@ -49,7 +52,8 @@
{
"language": "IT",
"text": "Nota come il nodo Social Bots ha ereditato la proprietà Angle to Parent dal più vicino nodo fratello!",
"updated": 1619460248115
"updated": 1619460248115,
"style": "Success"
}
]
},
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "L'opzione successiva nel menù controlla la distanza del nodo dal proprio padre. Cliccando sul pulsante, cicli tra le varie opzioni.",
"updated": 1619460455860
"updated": 1619460455860,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "La distanza di un nodo dal padre è definita relativamente alla distanza del padre dal suo stesso padre (il \"nonno\" del nodo). Le opzioni sono:",
"updated": 1619460512182
"updated": 1619460512182,
"style": "Text"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Rosa: 0.25X",
"updated": 1619460519997
"updated": 1619460519997,
"style": "List"
}
]
},
@@ -49,7 +52,8 @@
{
"language": "IT",
"text": "Arancione: 0.5X",
"updated": 1619460530100
"updated": 1619460530100,
"style": "List"
}
]
},
@@ -60,7 +64,8 @@
{
"language": "IT",
"text": "Verde: 1X",
"updated": 1619460537594
"updated": 1619460537594,
"style": "List"
}
]
},
@@ -71,7 +76,8 @@
{
"language": "IT",
"text": "Blu: 1.5X",
"updated": 1619460541700
"updated": 1619460541700,
"style": "List"
}
]
},
@@ -82,7 +88,8 @@
{
"language": "IT",
"text": "Rosso: 2X",
"updated": 1619460546342
"updated": 1619460546342,
"style": "List"
}
]
},
@@ -94,7 +101,8 @@
{
"language": "IT",
"text": "Se scegliamo l'opzione verde, la distanza del nodo dal padre sarà la stessa che separa il nodo padre dal proprio nodo padre!",
"updated": 1619460620886
"updated": 1619460620886,
"style": "Text"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Prova differenti impostazioni per la distanza del nodo Trading System Reference! Cliccai il tasto con il metro!",
"updated": 1619460658554
"updated": 1619460658554,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Facile, no? E che succede quando i nodi che stai regolando hanno a loro volta dei figli?",
"updated": 1619460693659
"updated": 1619460693659,
"style": "Text"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "IT",
"text": "Scopriamolo! Clicca una volta il bottone Distance To Parent sul nodo Trading Parameters!",
"updated": 1619460737845
"updated": 1619460737845,
"style": "Callout"
}
]
},
@@ -49,7 +52,8 @@
{
"language": "IT",
"text": "Siccome hai aumentato la distanza che separa il nodo Trading Parameters dal nodo Backtesting Session, la distanza dei figli del nodo Trading Parameters è aumentata allo stesso modo!",
"updated": 1619460842878
"updated": 1619460842878,
"style": "Note"
}
]
},
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Il motivo per cui la distanza di un nodo dal padre è relativa alla distanza del padre dal proprio padre ti permette di modificare lunghe strutture di nodi!",
"updated": 1619460922873
"updated": 1619460922873,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Clicca una volta sul pulsante Distance to Parent del nodo Network!",
"updated": 1619460938644
"updated": 1619460938644,
"style": "Callout"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Wow, hai visto? Questi strumenti ti permettono il pieno controllo su come organizzi visualmente le gerarchie!",
"updated": 1619461000739
"updated": 1619461000739,
"style": "Text"
}
]
},
@@ -50,7 +53,8 @@
{
"language": "IT",
"text": "Prova a cancellare la proprietà Distance To Parent sul nodo Testing Trading Tasks. Come vedi, puoi impostare una distanza arbitraria dal nodo padre, ma l'angolo con esso rimane fisso.",
"updated": 1619461092123
"updated": 1619461092123,
"style": "Success"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Il pulsante cicla tra diverse opzioni di disposizione che influenzano il piazzamento di un nodo in relazione al proprio padre.",
"updated": 1619461143331
"updated": 1619461143331,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Nel disegno, il punto arancione rappresenta il nodo padre e il punto blu rappresenta il nodo nella disposizione definita dalla proprietà.",
"updated": 1619461184162
"updated": 1619461184162,
"style": "Text"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Concava: questo è il valore di default. Il nodo si posiziona su una circonfernza intorno al padre.",
"updated": 1619461223814
"updated": 1619461223814,
"style": "List"
}
]
},
@@ -50,7 +53,8 @@
{
"language": "IT",
"text": "Convessa: il nodo si posiziona su una curva convessa.",
"updated": 1619461243343
"updated": 1619461243343,
"style": "List"
}
]
},
@@ -62,7 +66,8 @@
{
"language": "IT",
"text": "Verticale-Destra: su una retta verticale a destra.",
"updated": 1619461264796
"updated": 1619461264796,
"style": "List"
}
]
},
@@ -74,7 +79,8 @@
{
"language": "IT",
"text": "Verticale-Sinistra: su una retta verticale a sinistra.",
"updated": 1619461283974
"updated": 1619461283974,
"style": "List"
}
]
},
@@ -86,7 +92,8 @@
{
"language": "IT",
"text": "Orizzontale-Sotto: su una retta orizzontale in basso.",
"updated": 1619461322656
"updated": 1619461322656,
"style": "List"
}
]
},
@@ -98,7 +105,8 @@
{
"language": "IT",
"text": "Orizzontale-Sopra: su una retta orizzontale in alto.",
"updated": 1619461319085
"updated": 1619461319085,
"style": "List"
}
]
},
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Sperimentando con questa proprietà, ti accorgerai che spesso non si comporta in modo chiaro o prevedibile.",
"updated": 1619461378348
"updated": 1619461378348,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "L'implementazione attuale di questa proprietà non è ottimale. Se sei uno sviluppatore, questa potrebbe essere una grande opportunità per analizzare il codice esistente e rendere più utilizzabile questa funzionalità!",
"updated": 1619461465723
"updated": 1619461465723,
"style": "Important"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Sperimenta pure con questa funzionalità, ma probabilmente vorrai tornare alla proprietà di default!",
"updated": 1619461498671
"updated": 1619461498671,
"style": "Callout"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "La proprietà freeze ha senso in circostanze molto specifiche: quando le animazioni sono attive a livello del Design Space.",
"updated": 1619461541404
"updated": 1619461541404,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Il Design Space offre diverse personalizzazioni, tra le quali l'attivazione dell'animazione dell'universo. Quando è attiva, l'intero spazio diventa vivo!",
"updated": 1619461604832
"updated": 1619461604832,
"style": "Text"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Non approfondiremo la materia ora: non è parte del curriculum di educazione base!",
"updated": 1619461641768
"updated": 1619461641768,
"style": "Note"
}
]
},
@@ -50,7 +53,8 @@
{
"language": "IT",
"text": "L'opzione freeze blocca le connessioni del nodo con il padre e i propri figli: le linee di collegamento diventano blu. Quando le animazioni sono attive, questa opzione rilascia le risorse della CPU perchè il sistema smette di calcolare la posizione e lo stato del nodo.",
"updated": 1619461763901
"updated": 1619461763901,
"style": "Text"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "I Backups sono molto potenti, e hanno diversi casi d' uso! Quando clicchi sul pulsante del backup, il nodo e i suoi figli sono salvati in un file JSON!",
"updated": 1619465895765
"updated": 1619465895765,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Puoi fare il backup di una struttura di nodi per salvare il tuo lavoro o mantenere una copia della struttura.",
"updated": 1619465931399
"updated": 1619465931399,
"style": "Text"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Fai un backup del nodo Trading System e controlla la tua cartella Downloads!",
"updated": 1619465951034
"updated": 1619465951034,
"style": "Callout"
}
]
},
@@ -50,7 +53,8 @@
{
"language": "IT",
"text": "Il file viene scaricato dal browser e salvato nella cartella Downloads di default. Se fai più backup dello stesso nodo, i file salvati e rinominati con numeri in sequenza.",
"updated": 1619466028542
"updated": 1619466028542,
"style": "Note"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Mettiamo che tu voglia testare una strategia con diversi set di parametri: inizia facendo un backup del nodo Trading Parameters!",
"updated": 1619466111095
"updated": 1619466111095,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Ora hai un backup di tutti i parametri di trading, e puoi cambiarli a piacimento sapendo di poter sempre ripristinare la versione originale! Se sei su Chrome, il backup deve essere visibile nell'angolo in basso a sinistra della finestra del browser.",
"updated": 1619466247645
"updated": 1619466247645,
"style": "Text"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Ora trascina il file di backup e rilascialo nel Design Space. È così che si ripristina un backup!",
"updated": 1619466286103
"updated": 1619466286103,
"style": "Callout"
}
]
},
@@ -50,7 +53,8 @@
{
"language": "IT",
"text": "Facile, no? Nel prossimo step, ti mostrerò come tornare a utilizzare la versione originale!",
"updated": 1619466338500
"updated": 1619466338500,
"style": "Text"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Dobbiamo soltanto collegare il backup del nodo Trading Parameters al nodo Backtesting Session.",
"updated": 1619466868713
"updated": 1619466868713,
"style": "Definition"
}
]
},
@@ -25,7 +26,8 @@
{
"language": "IT",
"text": "Fai click con il tasto destro sul nodo Trading Parameters e trascinalo vicino al nodo Backtesting Session. Rilascialo quando vedi un anello arancione intorno ad esso!",
"updated": 1619466965635
"updated": 1619466965635,
"style": "Callout"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "IT",
"text": "Ecco qua! Il backup del nodo Trading Parameters è ripristinato e pronto all'uso.",
"updated": 1619467003032
"updated": 1619467003032,
"style": "Text"
}
]
},
@@ -49,7 +52,8 @@
{
"language": "IT",
"text": "Nota che puoi cancellare il secondo nodo Trading Parameters se vuoi, o puoi tenerlo da parte per un uso futuro.",
"updated": 1619467046273
"updated": 1619467046273,
"style": "Note"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "I nodi che non appartengono a una gerarchia non sono calcolati. Esistono nel workspace, ma non influenzano i calcoli del sistema in alcun modo.",
"updated": 1619467123969
"updated": 1619467123969,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "È quindi possibile conservare un numero qualsiasi di nodi o strutture scollegati dalle gerarchie, per quanto tempo si desidera, tenendoli a disposizione per un uso futuro o per un qualsiasi altro motivo.",
"updated": 1619467283026
"updated": 1619467283026,
"style": "Text"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Uno scenario comune è mantenere versioni multiple di alcune configurazioni mentre si costruiscono strategie, così da poter testare un set di regole e cambiarlo con un altro al test successivo. È perfino possibile mantenere diverse versioni di intere strategie!",
"updated": 1619467375126
"updated": 1619467375126,
"style": "Success"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Le References sono il modo in cui i nodi ottengono dati da altri nodi. È un concetto cruciale, quindi fai attenzione!",
"updated": 1619500676047
"updated": 1619500676047,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Leggi attentamente questa pagina! Se non sei uno sviluppatore, potresti volerla rileggere finchè non hai afferrato bene i concetti!",
"updated": 1619500726572
"updated": 1619500726572,
"style": "Callout"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "In breve, le References hanno...",
"updated": 1619500753323
"updated": 1619500753323,
"style": "Text"
}
]
},
@@ -50,7 +53,8 @@
{
"language": "IT",
"text": "una direzione: in uscita o in entrata",
"updated": 1619500782894
"updated": 1619500782894,
"style": "List"
}
]
},
@@ -61,7 +65,8 @@
{
"language": "IT",
"text": "uno scope: interno o esterno",
"updated": 1619500797304
"updated": 1619500797304,
"style": "List"
}
]
},
@@ -73,7 +78,8 @@
{
"language": "IT",
"text": "Il concetto di scope di una Reference è cruciale per comprendere la differenza tra backups e cloni!",
"updated": 1619500844066
"updated": 1619500844066,
"style": "Note"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Nota i due nodi sotto Backtesting Session: Trading System Reference e Trading Engine Reference. A cosa servono questi nodi?",
"updated": 1619500944274
"updated": 1619500944274,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Backtesting Session deve referenziare il Trading System così da ottenere le regole per il trading. Deve anche avere un riferimento al Trading Engine così da avere info relative alla sessione di trading. Un nodo può però stabilire solo una reference in uscita!",
"updated": 1619501079718
"updated": 1619501079718,
"style": "Text"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Ecco perchè questi nodi esistono: sono un supporto per il nodo Backtesting Session, così che ognuno di essi abbia un collegamento in uscita con un altro nodo!",
"updated": 1619501188069
"updated": 1619501188069,
"style": "Note"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Quando passi con il mouse sopra un nodo con una reference in uscita, questa diventa visibile.",
"updated": 1619501234351
"updated": 1619501234351,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Ma c'è anche un modo per rendere tutte le reference visibili!",
"updated": 1619501260308
"updated": 1619501260308,
"style": "Text"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Premi: Ctrl + Shift + Alt + Key-R",
"updated": 1619501297328
"updated": 1619501297328,
"style": "Callout"
}
]
},
@@ -50,7 +53,8 @@
{
"language": "IT",
"text": "Ora vedi le references in uscita sia dal nodo Trading System che dal nodo Trading Engine Reference.",
"updated": 1619501324177
"updated": 1619501324177,
"style": "Text"
}
]
},
@@ -62,7 +66,8 @@
{
"language": "IT",
"text": "Fai click con il tasto destro per accedere alla mappa del Design Space e identificare le altre references ora visibili.",
"updated": 1619501364541
"updated": 1619501364541,
"style": "Success"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "E se i nodi sono troppo lontani tra loro, magari in due diverse gerarchie? Guarda il video per imparare un paio di trucchi!",
"updated": 1619501705796
"updated": 1619501705796,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Questi trucchi ti faciliteranno:",
"updated": 1619501769226
"updated": 1619501769226,
"style": "Text"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "IT",
"text": "Usa la mappa del design space tante volte quante serve per trovare il percorso tra i nodi.",
"updated": 1619501801090
"updated": 1619501801090,
"style": "List"
}
]
},
@@ -48,7 +51,8 @@
{
"language": "IT",
"text": "Fissa il nodo che sposterai, così da poterlo lasciare in qualunque momento quando avrai bisogno di aprire il design space per cercare direzioni.",
"updated": 1619501872996
"updated": 1619501872996,
"style": "List"
}
]
},
@@ -60,7 +64,8 @@
{
"language": "IT",
"text": "Usa Ctrl / Cmd + tasti freccia per trascinare il nodo attraverso lo schermo dopo averci cliccato sopra. Tieni premuti i tasti e il nodo volerà!",
"updated": 1619501949818
"updated": 1619501949818,
"style": "List"
}
]
},
@@ -71,7 +76,8 @@
{
"language": "IT",
"text": "Rimuovi il pin una volta stabilita la reference, così da rimandare il nodo al suo posto.",
"updated": 1619501980789
"updated": 1619501980789,
"style": "List"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Se non lo hai già fatto, stabilisci una reference dal Trading System Reference al Lightning Strike Trading System!",
"updated": 1619502021908
"updated": 1619502021908,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Forse troverai questa tecnica per creare le reference un po' caotica o poco pratica. Se hai idee su come migliorarla, apri pure una feature request issue su Github. Considerà però quanto segue:",
"updated": 1619502100883
"updated": 1619502100883,
"style": "Text"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "IT",
"text": "In un workspace complesso, centinaia di nodi potrebbero accettare una reference.",
"updated": 1619502129280
"updated": 1619502129280,
"style": "List"
}
]
},
@@ -49,7 +52,8 @@
{
"language": "IT",
"text": "La reference deve essere stabilita in modo univoco tra una coppia di nodi.",
"updated": 1619502166682
"updated": 1619502166682,
"style": "List"
}
]
},
@@ -60,7 +64,8 @@
{
"language": "IT",
"text": "Ti assicuro che comunque non è complicato se lo fai un paio di volte!",
"updated": 1619502186118
"updated": 1619502186118,
"style": "Success"
}
]
},
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Analogamente alle Node Attaching Rules, ogni nodo ha regole di compatibilità per le References.",
"updated": 1619502324183
"updated": 1619502324183,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Vail al menù del nodo Trading System Reference, clicca sull'help e scorri in fondo alla pagina!",
"updated": 1619502365211
"updated": 1619502365211,
"style": "Callout"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Se sei uno sviluppatore, ti interesserà sapere che Node Attaching Rules e Node Reference Rules sono definite nel file AppSchema.json nella cartella Schema di un Progetto.",
"updated": 1619502424887
"updated": 1619502424887,
"style": "Note"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Ora che hai capito le references, possiamo addentrarci di più nei Backups e magari discuterne le differenze rispetto ai cloni!",
"updated": 1619502554578
"updated": 1619502554578,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Hai ancora altro da studiare! Leggi attentamente questa pagina, contiene informazioni importanti.",
"updated": 1619502598925
"updated": 1619502598925,
"style": "Callout"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Per riassumere:",
"updated": 1619502608841
"updated": 1619502608841,
"style": "Text"
}
]
},
@@ -50,7 +53,8 @@
{
"language": "IT",
"text": "References in uscita: sono sempre mantenute.",
"updated": 1619502707293
"updated": 1619502707293,
"style": "List"
}
]
},
@@ -62,7 +66,8 @@
{
"language": "IT",
"text": "References in entrata: sono mantenute solo quando la struttura originale è cancellata prima di ripristinare il backup.",
"updated": 1619502660450
"updated": 1619502660450,
"style": "List"
}
]
},
@@ -74,7 +79,8 @@
{
"language": "IT",
"text": "References interne: rimangono interne, ma solo se la struttura originale viene prima cancellata.",
"updated": 1619502703045
"updated": 1619502703045,
"style": "List"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Proviamo gli esempi che hai appena letto, così da imparare bene!",
"updated": 1619502744066
"updated": 1619502744066,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Fai un backup del nodo Lightning Strike Task e ripristinalo senza cancellare il nodo originale. Poi ripeti l'operazione, ma cancella il nodo originale prima di ripristinare il backup.",
"updated": 1619502813746
"updated": 1619502813746,
"style": "Callout"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Verifica che, in entrambi i casi, le references in uscita dal Trading System Reference e dal Trading Engine References sono mantenute.",
"updated": 1619502861169
"updated": 1619502861169,
"style": "Text"
}
]
},
@@ -50,7 +53,8 @@
{
"language": "IT",
"text": "Ricorda che le references in uscita sono sempre mantenute!",
"updated": 1619502874482
"updated": 1619502874482,
"style": "Success"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Sarò pedante su questo topic! Ora proviamo il secondo esempio!",
"updated": 1619502967378
"updated": 1619502967378,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Fai un backup del nodo Trading System! Ripristina il backup senza cancellare l'originale. Poi ripristinalo di nuovo, ma questa volta cancellando prima il nodo originale!",
"updated": 1619503042022
"updated": 1619503042022,
"style": "Callout"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "IT",
"text": "Verifica che le references in ingresso sono mantenute solo nel secondo caso!",
"updated": 1619503065417
"updated": 1619503065417,
"style": "Text"
}
]
},
@@ -49,7 +52,8 @@
{
"language": "IT",
"text": "Ricorda che, per mantenere le reference in entrata, devi cancellare la struttura originale prima di ripristinare il backup!",
"updated": 1619503100070
"updated": 1619503100070,
"style": "Success"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Proviamo il terzo esempio! Nota le references che vanno dai Polygon Vertices ai punti sotto il nodo Chart Points!",
"updated": 1619503169774
"updated": 1619503169774,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Fai un backup del nodo Shapes e ripristinalo senza cancellare l'originale. Poi ripeti l'operazione, cancellando prima il nodo originale.",
"updated": 1619503205236
"updated": 1619503205236,
"style": "Text"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "IT",
"text": "Nota che, nel primo caso, le references si sono trasformate in reference esterne! Nel secondo caso, invece, sono rimaste interne!",
"updated": 1619503254934
"updated": 1619503254934,
"style": "Callout"
}
]
},
@@ -49,7 +52,8 @@
{
"language": "IT",
"text": "Ricorda che le references rimangono interne solo cancellando la struttura originale prima del ripristino!",
"updated": 1619503283883
"updated": 1619503283883,
"style": "Success"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Spero tu abbia afferrato i meccanismi dei backup e di come le references si comportano nei vari casi di ripristino!",
"updated": 1619503394556
"updated": 1619503394556,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Non hai bisogno di memorizzare ogni scenario. Se comprendi come funzionano le references, puoi dedurne il comportamento in ogni caso!",
"updated": 1619503471627
"updated": 1619503471627,
"style": "Text"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Ricorda che ogni nodo ha un ID! Quando viene stabilita una reference, entrambi i nodi hanno un ID univoco. Le references in uscita non dipendono dall'ID del nodo, ma quelle in entrata sì! Se il nodo salvato può essere ripristinato con lo stesso ID allora le references in entrata saranno mantenute, altrimenti cambieranno o andranno perse!",
"updated": 1619503580082
"updated": 1619503580082,
"style": "Note"
}
]
}
@@ -1,6 +1,6 @@
{
"tutorial": "Basic Education",
"pageNumber": "37",
"pageNumber": 37,
"type": "Tutorial Step - Only Share Shares!",
"definition": {
"text": "Shares are just like Backups, but the resulting file is stripped off sensitive personal information!",
@@ -60,8 +60,8 @@
},
{
"style": "Success",
"text": "You just created a new workspace! Go to the My-Workspaces folder to verify the new file is there.",
"updated": 1615907412107,
"text": "Go to the My-Workspaces folder to verify the new file is there. Find it in the workspaces tab too!",
"updated": 1622635421285,
"translations": [
{
"language": "IT",
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "I Plugins sono strutture di dati incluse nel sistema e che puoi integrare in ogni workspace usando l'apposita gerarchia.",
"updated": 1619554267111
"updated": 1619554267111,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "I Plugins sono creati per essere riutilizzabili. Per questo motivo sono progettati per essere integrati in qualsiasi workspace.",
"updated": 1619554339495
"updated": 1619554339495,
"style": "Text"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "IT",
"text": "Espandi il nodo Plugins!",
"updated": 1619554350367
"updated": 1619554350367,
"style": "Callout"
}
]
},
@@ -49,7 +52,8 @@
{
"language": "IT",
"text": "Come vedi dalla struttura della gerarchia, ci sono diversi tipi di plugins! Sono salvati in appositi files JSON in una cartella di riferimento. Dai un'occhiata!",
"updated": 1619554435988
"updated": 1619554435988,
"style": "Text"
}
]
},
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Cerca il nodo Plugin Trading Systems e espandilo! Vedrai un nodo Plugin File chiamato Masters-Lightning-Strike...",
"updated": 1619554497047
"updated": 1619554497047,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Lightning Strike è il Trading System demo che hai utilizzato nel Welcome Tutorial. È incluso in questo workspace come plugin!",
"updated": 1619554546740
"updated": 1619554546740,
"style": "Text"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Segui la linea tratteggiata arancione finchè trovi il nodo a cui si connette! Usa i tasti Ctrl + frecce sulla tastiera per andare più veloce!",
"updated": 1619554592294
"updated": 1619554592294,
"style": "Callout"
}
]
},
@@ -50,7 +53,8 @@
{
"language": "IT",
"text": "Ben fatto! Hai trovato il nodo Lightning Strike Trading System. Se lo trascini a lato, troverai il nodo Plugin File Position.",
"updated": 1619554669930
"updated": 1619554669930,
"style": "Text"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Ricordi che ho detto che i file plugin vengono ricreati ogni volta che ricarichi il Workspace? Questo ha delle conseguenze immediate...",
"updated": 1619590273553
"updated": 1619590273553,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Le gerarchie incluse come plugins non sono salvate a livello del workspace, quindi i cambiamenti che applichi ai loro oggetti non sono persistenti. Se vuoi modificare un plugin e mantenere i cambiamenti in futuro, devi clonarlo o fare il backup e lavorare sulla copia.",
"updated": 1619590378028
"updated": 1619590378028,
"style": "Warning"
}
]
},
@@ -38,7 +40,8 @@
{
"language": "IT",
"text": "Nei prossimi step vedremo più in dettaglio quanto detto!",
"updated": 1619590413453
"updated": 1619590413453,
"style": "Success"
}
]
}
@@ -13,7 +13,8 @@
{
"language": "IT",
"text": "Visto che ho parlato di testare exchanges, vediamo un attimo come Superalgos li gestisce e quali puoi usare...",
"updated": 1619590965438
"updated": 1619590965438,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "IT",
"text": "Superalgos usa CCXT, una libreria open-source che propone uno standard per chiamate agli API degli exchange. Il sistema è compatibile con exchange che seguono questo standard:",
"updated": 1619591042345
"updated": 1619591042345,
"style": "Text"
}
]
},
@@ -43,7 +45,8 @@
{
"language": "IT",
"text": "Purtroppo non è abbastanza apparire in quella lista. Molti exchange non sono in effetti compatibili! Per questo motivo, la community testa attivamente varo exchanges, documentando quali possono essere usati in Superalgos e come. Questo è il topic dei Docs che tratta l'argomento. Leggi il TOC per vedere quali exchange sono stati testati.",
"updated": 1619591237097
"updated": 1619591237097,
"style": "Note"
}
]
}
Loaded 100 of 288 files, more files were not shown because too many files have changed in this diff. Show more