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

This commit is contained in:
Brenden Harrell committed 2021-03-30 10:04:18 -05:00
commit 3586d9ad06
419 files changed
+6597 -1661

No files matched your search

+4 -4
View File
@@ -520,14 +520,14 @@ color: #ffd1a9;
.docs-footer-language {
width: 30px;
margin-top: 10px;
padding: 10 10px;
margin-top: 7px;
padding: 7 7px;
}
.docs-footer-language-selected {
width: 30px;
margin-top: 10px;
padding: 10 10px;
margin-top: 7px;
padding: 7 7px;
background-color: rgba(230, 234, 234, 0.2);
/* border: 1px solid rgba(205, 212, 213, 0.5); DELETE Candidate*/
border: 1px solid rgba(200, 200, 200, .5);
+2 -3
View File
@@ -56,8 +56,7 @@
onresize="onResize()">
<div id="contributors" class="credits">
<p id="credits-page-status-paragraph" class="credits-yellow">The UI is loading...</p>
<p>Superalgos is <span class="credits-red">open source</span> and <span class="credits-red">free</span>, for <span class="credits-red">everyone</span>, <span class="credits-red">forever</span>, and it's
<span class="credits-red">relentlessly improving</span> thanks to the involvement of contributors:</p>
<p>Superalgos is <span class="credits-red">open source</span>, <span class="credits-red">forever free</span> for <span class="credits-red">everyone</span>, and is <span class="credits-red">constantly improving</span> thanks to the involvement of contributors:</p>
<p>Luis Fernando Molina, Julian Molina, Andreja Cobeljic, Matías Benitez, Ira Miller, Eduardo Remis,
Jeff Braun, rico4dev, 9808us, Barry Low, Nikola Bjelogrlic, Hirajin Koizuko, Francisco J. Santillán, Norman,
Viktoria B., Guillermo V., Carl J, Daniel J.,
@@ -65,7 +64,7 @@
Diego M., CarnivalBen,
Sebastian E., Bogdan P., Marko V., Igor S., Niksa K., Rodrigo M., Nicanor M., Alejandro P., Mateo H., Lan
T., Leon A., Uroš R., Filip M., Vladimir J. and Pavle B.</p>
<p>Thanks for giving a <span class="credits-red">star</span> to the Superalgos <span class="credits-red">repo at GitHub.com</span>... It helps other devs find the project!</p>
<p>Please, <span class="credits-red">give a star to the Superalgos repo at GitHub.com...</span> It helps other devs find the project!</p>
</div>
<div id="masterApp"></div>
<div id="canvasApp"></div>
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 918 KiB

@@ -0,0 +1,12 @@
<svg width="112" height="112" viewBox="0 0 112 112" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M56 112C67.0758 112 77.9028 108.716 87.1119 102.562C96.3211 96.4089 103.499 87.6629 107.737 77.4303C111.976 67.1976 113.085 55.9379 110.924 45.0749C108.763 34.212 103.43 24.2338 95.598 16.402C87.7662 8.57027 77.788 3.23679 66.9251 1.07602C56.0621 -1.08475 44.8024 0.0242338 34.5697 4.26274C24.3371 8.50125 15.5911 15.6789 9.4377 24.8881C3.28434 34.0972 0 44.9242 0 56C0 70.8521 5.89998 85.0959 16.402 95.598C26.9041 106.1 41.1479 112 56 112V112Z" fill="#23292F"/>
<path d="M76.49 32.15H84.91L67.4 49.62C64.3568 52.6598 60.2314 54.3673 55.93 54.3673C51.6286 54.3673 47.5032 52.6598 44.46 49.62L27 32.15H35.41L48.71 45.42C50.6375 47.3454 53.2506 48.4269 55.975 48.4269C58.6994 48.4269 61.3125 47.3454 63.24 45.42L76.49 32.15Z" fill="white"/>
<path d="M35.37 80.74H27L44.57 63.16C47.6132 60.1202 51.7386 58.4127 56.04 58.4127C60.3414 58.4127 64.4668 60.1202 67.51 63.16L85.12 80.74H76.71L63.31 67.36C61.3825 65.4346 58.7694 64.3531 56.045 64.3531C53.3206 64.3531 50.7075 65.4346 48.78 67.36L35.37 80.74Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0">
<rect width="112" height="112" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -1 +1 @@
{"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-Period-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-Period-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Period-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-Period-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-Period-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-Period-Market","id":"96f31416-5090-428a-be83-985a0b3ab275"}}},{"type":"Indicator Process Instance","name":"Relative Strenght Index (RSI) Multi-Period-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-Period-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":{"isRunning":false}}}],"id":"93Line truncated
{"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-Period-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-Period-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Period-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-Period-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-Period-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-Period-Market","id":"96f31416-5090-428a-be83-985a0b3ab275"}}},{"type":"Indicator Process Instance","name":"Relative Strenght Index (RSI) Multi-Period-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-Period-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":{"isRunning":false}}}],"id":"93Line truncated
@@ -1 +1 @@
{"type":"Workspace","name":"Getting Started","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":"d244c564-4e86-43c7-9796-dc3b6294ec8b","savedPayload":{"position":{"x":23490.023749611923,"y":29239.135911211026},"targetPosition":{"x":23779.801497498644,"y":29316.781624741783},"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":"343313ae-5705-484d-8bf8-aed25ba61cfa","savedPayload":{"position":{"x":23779.801497498644,"y":29316.781624741783},"targetPosition":{"x":24069.579245385365,"y":29394.42733827254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a8f38508-1cac-4ab1-815f-d338fc813377","savedPayload":{"position":{"x":24069.579245385365,"y":29394.42733827254},"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-Period-Market","project":"Superalgos","id":"f0ef12ed-f0fd-4b88-8e15-27cf24265a5f","savedPayload":{"position":{"x":23799.549372136753,"y":28802.457809532632},"targetPosition":{"x":24059.356993272086,"y":28952.457809532632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Daily","project":"Superalgos","id":"7c8b312c-09bf-4c59-853f-1592391a9c57","savedPayload":{"position":{"x":24059.356993272086,"y":28652.457809532632},"targetPosition":{"x":24059.356993272086,"y":28952.457809532632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"8d58e84b-d7ef-464f-8079-0ec0887e3da3","savedPayload":{"position":{"x":24059.356993272086,"y":28952.457809532632},"targetPosition":{"x":24209.356993272086,"y":29212.265430667965},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bf29e3bd-9386-408b-9091-042da0c53e81","savedPayload":{"position":{"x":24209.356993272086,"y":29212.265430667965},"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":"Resistances and Supports","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Resistances and Supports","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Period-Market","project":"Superalgos","id":"a707814e-b81b-4102-9b5b-4e2fe969324f","savedPayload":{"position":{"x":24437.002706802843,"y":28602.739808143135},"targetPosition":{"x":24514.6484203336,"y":28892.517556029856},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"refeLine truncated
{"type":"Workspace","name":"Getting Started","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":"d244c564-4e86-43c7-9796-dc3b6294ec8b","savedPayload":{"position":{"x":23490.023749611923,"y":29239.135911211026},"targetPosition":{"x":23779.801497498644,"y":29316.781624741783},"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":"343313ae-5705-484d-8bf8-aed25ba61cfa","savedPayload":{"position":{"x":23779.801497498644,"y":29316.781624741783},"targetPosition":{"x":24069.579245385365,"y":29394.42733827254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a8f38508-1cac-4ab1-815f-d338fc813377","savedPayload":{"position":{"x":24069.579245385365,"y":29394.42733827254},"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-Period-Market","project":"Superalgos","id":"f0ef12ed-f0fd-4b88-8e15-27cf24265a5f","savedPayload":{"position":{"x":23799.549372136753,"y":28802.457809532632},"targetPosition":{"x":24059.356993272086,"y":28952.457809532632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Daily","project":"Superalgos","id":"7c8b312c-09bf-4c59-853f-1592391a9c57","savedPayload":{"position":{"x":24059.356993272086,"y":28652.457809532632},"targetPosition":{"x":24059.356993272086,"y":28952.457809532632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"8d58e84b-d7ef-464f-8079-0ec0887e3da3","savedPayload":{"position":{"x":24059.356993272086,"y":28952.457809532632},"targetPosition":{"x":24209.356993272086,"y":29212.265430667965},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bf29e3bd-9386-408b-9091-042da0c53e81","savedPayload":{"position":{"x":24209.356993272086,"y":29212.265430667965},"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":"Resistances and Supports","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Resistances and Supports","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Period-Market","project":"Superalgos","id":"a707814e-b81b-4102-9b5b-4e2fe969324f","savedPayload":{"position":{"x":24437.002706802843,"y":28602.739808143135},"targetPosition":{"x":24514.6484203336,"y":28892.517556029856},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"refeLine truncated
@@ -0,0 +1 @@
{"type":"Workspace","name":"Hello World 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":"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":"Simple Moving Average (SMA)","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Simple Moving Average (SMA)","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Simple Moving Average (SMA) Multi-Period-Market","project":"Superalgos","id":"fde9aeb6-2b65-4ba5-a8b3-07f2b189a9ec","savedPayload":{"position":{"x":23969.74175100142,"y":29687.688294073963},"targetPosition":{"x":24119.74175100142,"y":29687.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"456269f6-9849-4d5f-9c8c-7cd7d1eef297"}}},{"type":"Indicator Process Instance","name":"Simple Moving Average (SMA) Multi-Period-Daily","project":"Superalgos","id":"17d24742-6026-4fe5-b400-69df5a057aa1","savedPayload":{"position":{"x":24044.74175100142,"y":29557.784483506297},"targetPosition":{"x":24119.74175100142,"y":29687.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"333ae5d7-7ec1-4f08-b206-91e3b4f2c99f"}}}],"id":"a773898a-8b8f-4654-b907-a4f0b988d59e","savedPayload":{"position":{"x":24119.74175100142,"y":29687.688294073963},"targetPosition":{"x":24249.645561569087,"y":29762.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a98d1697-98c9-44dc-a4b2-b777917ca292","savedPayload":{"position":{"x":24249.645561569087,"y":29762.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":"802f1ee2-1dba-4999-8b29-068b68aee9ef","savedPayload":{"position":{"x":24379.549372136753,"y":29837.688294073963},"targetPosition":{"x":24509.45318270442,"y":29912.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d24c01eb-3d21-430e-a965-cbf645bb7853","savedPayload":{"position":{"x":24509.45318270442,"y":29912.688294073963},"targetPosition":{"x":24639.356993272086,"y":29987.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"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":"9de8a5c8-7c2e-4625-afa4-176c43777eb3","savedPayload":{"position":{"x":24414.356993272086,"y":29297.976862370964},"targetPosition":{"x":24489.356993272086,"y":29427.88067293863},"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":"d96308e3-a9ae-4a87-ad7c-cf7948fe0939","savedPayload":{"position":{"x":24489.356993272086,"y":29427.88067293863},"targetPosition":{"x":24564.356993272086,"y":29557.784483506297},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fa7991b3-e23e-4cLine truncated
@@ -1 +0,0 @@
{"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
@@ -0,0 +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
@@ -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-Period-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-Period-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-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-Period-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-Period-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},"referenceParent":{"type":"PLine 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":"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-Period-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-Period-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-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-Period-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-Period-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},"referenceParent":{"type":"PLine truncated
@@ -1 +0,0 @@
{"type":"Workspace","name":"Hello World 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":"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":"Simple Moving Average (SMA)","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Simple Moving Average (SMA)","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Simple Moving Average (SMA) Multi-Period-Market","project":"Superalgos","id":"fde9aeb6-2b65-4ba5-a8b3-07f2b189a9ec","savedPayload":{"position":{"x":23969.74175100142,"y":29687.688294073963},"targetPosition":{"x":24119.74175100142,"y":29687.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"456269f6-9849-4d5f-9c8c-7cd7d1eef297"}}},{"type":"Indicator Process Instance","name":"Simple Moving Average (SMA) Multi-Period-Daily","project":"Superalgos","id":"17d24742-6026-4fe5-b400-69df5a057aa1","savedPayload":{"position":{"x":24044.74175100142,"y":29557.784483506297},"targetPosition":{"x":24119.74175100142,"y":29687.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"333ae5d7-7ec1-4f08-b206-91e3b4f2c99f"}}}],"id":"a773898a-8b8f-4654-b907-a4f0b988d59e","savedPayload":{"position":{"x":24119.74175100142,"y":29687.688294073963},"targetPosition":{"x":24249.645561569087,"y":29762.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a98d1697-98c9-44dc-a4b2-b777917ca292","savedPayload":{"position":{"x":24249.645561569087,"y":29762.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":"802f1ee2-1dba-4999-8b29-068b68aee9ef","savedPayload":{"position":{"x":24379.549372136753,"y":29837.688294073963},"targetPosition":{"x":24509.45318270442,"y":29912.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d24c01eb-3d21-430e-a965-cbf645bb7853","savedPayload":{"position":{"x":24509.45318270442,"y":29912.688294073963},"targetPosition":{"x":24639.356993272086,"y":29987.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"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":"9de8a5c8-7c2e-4625-afa4-176c43777eb3","savedPayload":{"position":{"x":24414.356993272086,"y":29297.976862370964},"targetPosition":{"x":24489.356993272086,"y":29427.88067293863},"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":"d96308e3-a9ae-4a87-ad7c-cf7948fe0939","savedPayload":{"position":{"x":24489.356993272086,"y":29427.88067293863},"targetPosition":{"x":24564.356993272086,"y":29557.784483506297},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fa7991b3-e23e-4cLine truncated
@@ -1 +1 @@
{"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-Period-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-Period-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Period-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-Period-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-d01b202f27eb","sLine truncated
{"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-Period-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-Period-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Period-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-Period-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-d01b202f27eb","sLine truncated
+5 -2
View File
@@ -15452,6 +15452,10 @@
{
"codeName": "ZAR",
"iconName": "zar"
},
{
"codeName": "XRP",
"iconName": "xrp"
}
]
},
@@ -15785,8 +15789,7 @@
}
],
"initialValues": {
"config": "{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}"
},
"config": "{ \n\"codeName\": \"DOUBLE_CLICK_ON_THIS_STRING_TO_SELECT_IT_XXX_DELETE_IT_AND_PASTE_YOUR_EXCHANGE_API_PUBLIC_KEY\",\n\"secret\": \"REPLACE_THIS_STRING_WITH_YOUR_API_KEY_SECRET\"\n,\n\"uid\": \"REPLACE_THIS_STRING_WITH_YOUR_UID_IF_NECESSARY\"\n}" },
"addLeftIcons": true,
"editors": {
"config": true
@@ -16,7 +16,8 @@
},
{
"style": "Success",
"text": "To do a tutorial, load the corresponding plugin workspace, find the tutorial at the bottom of the design space, and select Run on the menu."
"text": "To do a tutorial, load the corresponding plugin workspace, find the tutorial at the bottom of the design space, and select Play on the menu.",
"updated": 1617036749800
},
{
"style": "Text",
@@ -24,7 +25,8 @@
},
{
"style": "Text",
"text": "The recommended order is given by the list of chapters below, but the truth is doing all tutorials is what matters, regardless of the order."
"text": "The recommended order is given by the list below, but the truth is doing all tutorials is what matters, regardless of the order.",
"updated": 1617036785768
},
{
"style": "Title",
@@ -88,6 +88,11 @@
"text": "XV->Superalgos->Topic->Troubleshooting->Superalgos is a vast system and you will run into confusing situations while learning it. You must acquire the knowledge on how to analyze the issues that you may encounter. There usually is a good explanation for what is going on. This chapter helps you in that process.",
"updated": 1611649840313
},
{
"style": "Chapter",
"text": "XVI->Superalgos->Topic->Contributing to Superalgos->Superalgos is a Community project. Everything you build with Superalgos is susceptible to be contributed to the project. Contributing to the project earns you Superalgos (SA) tokens! This chapter covers how you may contribute some of the intelligence you build for yourself, and also how you may get involved with the project at a deeper level.",
"updated": 1617094031124
},
{
"style": "Text",
"text": ""
@@ -1,8 +1,8 @@
{
"type": "List of Plugin Workspaces and Tutorials",
"definition": {
"text": "Tutorials exists withing specific workspaces. This is a list of the workspaces shipping with Superalgos and the tutorials each of the feature.",
"updated": 1613848190790
"text": "Tutorials exists withing specific workspaces. This is a list of the workspaces shipping with Superalgos and the tutorials each of them feature.",
"updated": 1616703721108
},
"paragraphs": [
{
@@ -16,15 +16,18 @@
},
{
"style": "List",
"text": "Welcome to Superalgos!"
"text": "Welcome to Superalgos Tutorial",
"updated": 1616703643988
},
{
"style": "List",
"text": "Developers Intro"
"text": "Basic Education Tutorial",
"updated": 1616695524660
},
{
"style": "List",
"text": "Install a New Market"
"text": "Contribute to Superalgos Tutorial",
"updated": 1616703652140
},
{
"style": "Subtitle",
@@ -32,7 +35,17 @@
},
{
"style": "List",
"text": "Trading Bot Layers"
"text": "Trading Bot Layers Tutorial",
"updated": 1616703658875
},
{
"style": "Subtitle",
"text": "Hello World Tutorial Plugin Workspace",
"updated": 1616695480453
},
{
"style": "List",
"text": "Hello World Tutorial"
},
{
"style": "Subtitle",
@@ -40,19 +53,32 @@
},
{
"style": "List",
"text": "Intro to Trading Systems"
"text": "Intro to Trading Systems Tutorial",
"updated": 1616703668889
},
{
"style": "List",
"text": "Defining a Trading Idea"
"text": "Defining a Trading Idea Tutorial",
"updated": 1616703676357
},
{
"style": "List",
"text": "Testing a Trading Idea - The Trigger Stage"
"text": "Testing a Trading Idea - The Trigger Stage Tutorial",
"updated": 1616703683018
},
{
"style": "List",
"text": "Testing a Trading Idea - The Other Stages"
"text": "Testing a Trading Idea - The Other Stages Tutorial",
"updated": 1616703689861
},
{
"style": "Subtitle",
"text": "Tested Exchanges Plugin Workspace"
},
{
"style": "List",
"text": "Install a New Market Tutorial",
"updated": 1616703698477
},
{
"style": "Text",
@@ -140,10 +140,14 @@
"text": "THIS IS NOT FINANCIAL ADVICE. ALTHOUGH STRATEGIES SHIPPING WITH SUPERALGOS MAY BE FULLY FUNCTIONAL, SUPERALGOS DOES NOT MAKE ANY EXPRESS OR IMPLIED RECOMMENDATION AS OF HOW YOU SHOULD USE THEM. WE SHARE STRATEGIES FOR EDUCATIONAL PURPOSES ONLY. TRADE AT YOUR OWN RISK.<br/><br/><b>Performance in backtesting is not an indication of live trading performance.</b> Live performance may vary in relation to performance in backtesting, for better or for worse, most likely for worse. This happens because the design of trading strategies is done after the fact, with the hindsight of what happened in a certain range of the market. Patterns upon which strategies may be based on may keep occurring or not. Trading strategies attempt to interpret patterns and predict what may follow, but they are far from being perfect or accurate. The best-case scenario is a strategy being right more times than it is wrong.<br/><br/><b>Live performance is not an indication of future performance. </b>Similarly, even when a strategy has delivered a certain performance trading live, there is no guarantee of what performance the strategy may achieve in the future. Live performance results are certainly more valuable than backtesting or simulated performance but still can’t predict the future.<br/><br/><b>Trading strategies lose effectiveness with time. </b>How much time? No-one knows. Markets evolve, change, go through different cycles, both long and short-term, some of which may not have been tested. That is true for all markets, let alone crypto, which is a very young market, still in its very early stages. Crypto markets change dramatically fast, as the market cap increases, more pro-traders enter the space, more smart money pours larger capitals, more bots take over operations of ever-increasing volumes, more complexity is added to the ecosystem with the availability of derivative markets, and so on.",
"updated": 1611676109591
},
{
"style": "Block",
"text": "Dummy",
"updated": 1616149124238
},
{
"style": "Title",
"text": "Contributions Reminder",
"updated": 1613588536814
"text": "Contributions Reminder"
},
{
"style": "Block",
@@ -0,0 +1,12 @@
{
"type": "Labels",
"definition": {
"text": "Write the definition for this Node."
},
"paragraphs": [
{
"style": "Text",
"text": "Left click and select the pencil button to enter edit mode."
}
]
}
@@ -0,0 +1,12 @@
{
"type": "Learning System",
"definition": {
"text": "Write the definition for this Node."
},
"paragraphs": [
{
"style": "Text",
"text": "Left click and select the pencil button to enter edit mode."
}
]
}
@@ -14,13 +14,13 @@
},
{
"style": "Text",
"text": "When set at the level of the time machine, the scale settings affect all charts within the time machine. When set at the level of the timeline chart, the settings override the rate scale at the time machine level. ",
"updated": 1610136729523
"text": "When set at the level of the time machine, the scale settings affect all charts within the time machine. When set at the level of the timeline chart, the settings override the rate scale at the time machine level.",
"updated": 1616512866155
},
{
"style": "Success",
"text": "This allows having multiple charts on the same time machine, each with a different rate scale. This is the way to set up indicators the are designed for a scale different than that of the rate of the assets in the market. For example, the RSI and Percentage Bandwidth indicators oscillate between 0 and 100.",
"updated": 1610136956037
"text": "This allows having multiple charts on the same time machine, each with a different rate scales. This is the way to set up indicators the are designed for a scale different than that of the rate of the assets in the market. For example, the RSI and Percentage Bandwidth indicators oscillate between 0 and 100.",
"updated": 1616512886656
},
{
"style": "Title",
@@ -32,7 +32,8 @@
},
{
"style": "Text",
"text": "In technical terms, the minimum and maximum scale values are constantly changing as, whenever you pan across the charts, you are directly affecting the minimum and maximum scale values. That said, the actual scale may change dynamically or not, depending on the scale-automation settings."
"text": "In technical terms, the minimum and maximum scale values are constantly changing as, whenever you pan the charts vertically, you are directly affecting the minimum and maximum scale values. That said, the actual scale may change dynamically or not, depending on the scale-automation settings.",
"updated": 1616512946283
},
{
"style": "Title",
@@ -40,18 +41,19 @@
},
{
"style": "Text",
"text": "The system features an automatic adjustment of the scale, which is turned on by default in our shared workspaces. The scale may be automatic in its minimum value, in its maximum value, or both."
"text": "The system features an automatic adjustment of the scale, which is turned on by default in some of the Plugin Workspaces. The scale may be automatic in its minimum value, in its maximum value, on both, or on none (manual mode).",
"updated": 1616513013651
},
{
"style": "Text",
"style": "List",
"text": "When the scale is automatic in the minimum value, the scale is adjusted so that no piece of information in the span of the chart ever remains below the bottom of the chart. As a result, the lowest data point aligns with the bottom of the chart."
},
{
"style": "Text",
"style": "List",
"text": "When the scale is automatic in the maximum value, the scale is adjusted so that no piece of information in the span of the chart ever remains above the top of the chart. As a result, the highest data point aligns with the top of the chart."
},
{
"style": "Text",
"style": "List",
"text": "The scale may be automated on either, or both minimum and maximum values at the same time. In the later case, no data point in the span of the chart ever remains out of the visible area of the chart, as the lowest data point aligns with the bottom of the chart and the highest aligns with the top."
},
{
@@ -70,6 +72,11 @@
"style": "Text",
"text": "The offset is a feature of the rate scale by which the scale may be shifted upwards or downwards. As a result, charts aligned on the vertical axis&mdash;synchronized in datetime by a shared time machine&mdash;may be put one above the other. In technical terms, what happens is that the scale is shifted upwards or downwards."
},
{
"style": "Block",
"text": "Charts",
"updated": 1616673863766
},
{
"style": "Title",
"text": "Rate Scale at the Charts"
@@ -81,8 +88,17 @@
},
{
"style": "Text",
"text": "To change the automatic scale settings, place the mouse pointer over the corresponding time machine or timeline chart rate box, press the <kbd>Shift</kbd> key and slowly scroll the wheel of the mouse. The action cycles through different possible scale automation settings. Notice a tiny green triangle below and/or above the rate scale icon.",
"updated": 1609783256953
"text": "To change the automatic scale settings, place the mouse pointer over the corresponding time machine or timeline chart rate box, press the Shift key and slowly scroll the wheel of the mouse. The action cycles through different possible scale automation settings. ",
"updated": 1616513170991
},
{
"style": "Text",
"text": "You may also place the mouse pointer on the scale box and use the side arrows ← → to toggle through the different automation settings.",
"updated": 1616513210816
},
{
"style": "Success",
"text": "Notice a tiny green triangle below and/or above the rate scale icon."
},
{
"style": "List",
@@ -107,11 +123,13 @@
},
{
"style": "Text",
"text": "2. To adjust the scale, make sure either or both minimum and maximum values are in manual mode. Place the mouse pointer over the corresponding time machine or timeline chart rate box and scroll the wheel of the mouse. The scale will increase or decrease accordingly, depending on which values are set to manual."
"text": "To adjust the scale, make sure either or both minimum and maximum values are in manual mode. Place the mouse pointer over the corresponding time machine or timeline chart rate box and scroll the wheel of the mouse. The scale will increase or decrease accordingly, depending on which values are set to manual.",
"updated": 1616513228715
},
{
"style": "Text",
"text": "{% include image.html file='interface/rate-scale-01.gif' url='yes' max-width='100' caption='When the scale is set to manual, scrolling the mouse wheel on top of the rate scale box changes the scale.' %}"
"text": "Alternatively, you may also place the mouse pointer on the scale box and use the vertical arrows ↑ ↓ to affect the scale.",
"updated": 1616513309746
},
{
"style": "Text",
@@ -128,11 +146,8 @@
},
{
"style": "Text",
"text": "3. To shift or offset a timeline chart on the vertical axis, place the mouse pointer on the rate box, left-click and drag upwards or downwards, as desired. The timeline chart will shift in the specified direction while the remaining charts stay in the same position."
},
{
"style": "Text",
"text": "{% include image.html file='interface/rate-scale-02.gif' url='yes' max-width='100' caption='To control the offset between timeline charts, right-click on the rate box and drag upwards or downwards.' %}"
"text": "To shift or offset a timeline chart on the vertical axis, place the mouse pointer on the rate box, left-click and drag upwards or downwards, as desired. The timeline chart will shift in the specified direction while the remaining charts stay in the same position.",
"updated": 1616513340914
},
{
"style": "Note",
@@ -30,6 +30,10 @@
"text": "To set a time frame value, place the mouse pointer over the corresponding time machine or timeline chart time frame box and scroll the mouse wheel.",
"updated": 1609783625339
},
{
"style": "Text",
"text": "Alternatively, you may place the mouse pointer and use the up and down arrows ↑ ↓ to toggle through the available time frames."
},
{
"style": "Block",
"text": "Configuring",
@@ -26,23 +26,25 @@
},
{
"style": "Text",
"text": "The system features an automatic adjustment of the scale, which is turned on by default in our shared workspaces. The scale may be automatic in its minimum value, in its maximum value, or both."
"text": "The system features an automatic adjustment of the scale, which is turned on by default in some of the Plugin Workspaces. The scale may be automatic in its minimum value, in its maximum value, in both, or none (manual mode).",
"updated": 1616506577511
},
{
"style": "Text",
"style": "List",
"text": "When the scale is automatic in the minimum value, the scale is adjusted so that the chart shows all data from the beginning of the market. Panning the charts under such setting has the effect of compressing and decompressing the data against the left border of the chart."
},
{
"style": "Text",
"style": "List",
"text": "When the scale is automatic in the maximum value, the scale is adjusted so that the chart shows all data until the end of the market. In such case, panning the charts has the effect of compressing and decompressing the data against the right border of the chart."
},
{
"style": "Text",
"style": "List",
"text": "When the scale is automatic in both the minimum and maximum value, the scale is adjusted so that the chart shows the whole market. In such case, when you click and drag to pan the charts, the settings turns back to manual on both ends of the chart."
},
{
"style": "Note",
"text": "Having the time scale set to automatic by default helps finding the data as soon as it starts being processed the first time you run the Masters bot instances."
"text": "Having the time scale set to automatic by default helps finding the data as soon as it starts being processed the first time you run the Masters Data Mine Bots.",
"updated": 1616506548663
},
{
"style": "Title",
@@ -67,8 +69,18 @@
},
{
"style": "Text",
"text": "To change the automatic scale settings, place the mouse pointer over the corresponding time box, press the <kbd>Shift</kbd> key and slowly scroll the wheel of the mouse. The action cycles through different possible scale automation settings. Notice a tiny green triangle to the sides of the time scale icon.",
"updated": 1609782562160
"text": "To change the automatic scale settings, place the mouse pointer over the corresponding time box, press the Shift key and slowly scroll the wheel of the mouse.",
"updated": 1616506660450
},
{
"style": "Text",
"text": "If you run into issues using the mouse wheel (certain OS + browser + mouse combinations may not work as expected), you may also point the mouse at the scale box and use ↑ ↓ to toggle through the different automatic modes.",
"updated": 1616506765350
},
{
"style": "Success",
"text": "Notice the tiny green triangles to the sides of the time scale icon.",
"updated": 1616506804850
},
{
"style": "List",
@@ -93,11 +105,8 @@
},
{
"style": "Text",
"text": "2. To adjust the scale, make sure either or both minimum and maximum values are in manual mode. Place the mouse pointer over the time box and scroll the wheel of the mouse. The scale will increase or decrease accordingly, depending on which values are set to manual."
},
{
"style": "Text",
"text": "{% include image.html file='interface/time-scale-01.gif' url='yes' max-width='100' caption='When the scale is set to manual, scrolling the mouse wheel on top of the time scale box changes the scale.' %}"
"text": "To adjust the scale, make sure either or both minimum and maximum values are in manual mode. Place the mouse pointer over the time box and scroll the wheel of the mouse. The scale will increase or decrease accordingly, depending on which values are set to manual.",
"updated": 1616512684144
},
{
"style": "Text",
@@ -80,8 +80,8 @@
},
{
"style": "Text",
"text": "Superalgos ships with several plugin workspaces. These are pre-configured workspaces built for specific purposes, for example, to host tutorials, demo strategies, and so on.",
"updated": 1615894320467
"text": "Superalgos ships with several Plugin Workspaces. These are pre-configured workspaces built for specific purposes, for example, to host tutorials, demo strategies, and so on.",
"updated": 1616259409951
},
{
"style": "Text",
@@ -0,0 +1,20 @@
{
"review": "Superalgos Project Review",
"pageNumber": 3,
"type": "Superalgos Review - A 1 Month Review (novice)",
"definition": {
"text": "This is an update review after one month of working with and learning Superalgos\n",
"updated": 1616179126953
},
"paragraphs": [
{
"style": "Text",
"text": "I have been using Superalgos for about a month now. Prior to Superalgos, my trading knowledge and experience was limited. Admittedly, the initial learning curve was a bit overwhelming. I’m fairly new to the whole programming world, my recent introduction to raspberry pi’s is how I stumbled across Superalgos on GitHub. Ive had some fun with the getting started strategy, and have tweaked it here and there to achieve different results with success. At this point I probably have over 100 hours working through tutorials, no joke. Ive had to take what I’m learning through the tutorials, and investigate further on exchange sites / trading strategy sites, and am starting to develop a more clear understanding. I haven’t had any success with the other strategies yet. I seem to have little issues here and there with references sometimes not appearing and having to manually go through and apply them. But Ive also had some hardware issues that have held me back I think. My MacBook doesn’t love the charting during backtesting and trading, its slow and glitchy. Ive had some success running the server on my pi and gui on my Macbook. I may try my pc eventually. All in all, most of my issues are user error. Overall, I think Superalgos is a fantastic program, and community, and Im incredibly stoked to be a part of it and hope to make some valuable contributions one day!",
"updated": 1616180208859
},
{
"style": "Text",
"text": "GitHub:ndd91"
}
]
}
@@ -0,0 +1,23 @@
{
"review": "Superalgos Project Review",
"pageNumber": 5,
"type": "Superalgos Review - actually beginner-friendlier than your regular bot site!",
"definition": {
"text": "Write a summary for this review page."
},
"paragraphs": [
{
"style": "Text",
"text": "I'm new to bots and I'm neither a seasoned trader nor a coder. Trying to get some commercial bot to run, I soon gave up because I didn't understand what I was doing. Sure, Superalgos looks intimidating at first, and it will certainly take me a lot of effort to get my head around it, but then again, everything is laid out there to study - while all the over-complicated stuff has been mercifully hidden from me. And with its beautiful design, it sort of feels like you're playing a game ;)",
"updated": 1616262546510
},
{
"style": "Text",
"text": "This is just a stub. Looking forward to contribute more to this brilliant project!"
},
{
"style": "Text",
"text": "-pisukesoramame"
}
]
}
@@ -0,0 +1,60 @@
{
"review": "Superalgos Project Review",
"pageNumber": 6,
"type": "Superalgos Review - The Most Powerful Trading System To Date (But Also the Most Complex)",
"definition": {
"text": "Superalgos is by far the most powerful, intuitive, and flexible trading system available today. It's so much more than a traditional trading bot. The power and extensibility of this open-source marvel is mind-blowing. However, it's often said that nothing in life worth having is easy, and that's certainly true of Superalgos. You'll have to invest a lot of time and patience to learn a system that has more features than the newest Tesla. Is it worth it? Absolutely!",
"updated": 1616413671040
},
"paragraphs": [
{
"style": "Text",
"text": "I stumbled across Superalgos a few month ago when I was researching free trading bots for cryptocurrency and saw a post about a new open-source trading system available through Github. It was the best find of my life. Although this system is very early in its development, it is already developed enough to allow complicated trading strategies to be implemented, and it has undergone massive improvement in just the short time I've been using it.",
"updated": 1616414254789
},
{
"style": "Text",
"text": "Superalgos is a visual, layered system. It taked object-oreineted technology to a new level never before seen in a user environment. Until now, you had to work for a multi-national finance enterprise to find this kind of sophistication in a software system. Put the time and effort into learning it, and you'll have unbelievable trading power at your fingertips. This system definitely give you the tools to implement profitable trading strategies in multiple markets and exchanges simultaneously, whether you use existing strategies (which are soon to come to this primordial system) or develop your own complex trading algorithms. Yet, you don't have to know programming to use it, but learming simple javascript commands, functions, and operators will help."
},
{
"style": "Text",
"text": "The most important thing to make Superalgos work for you is to take the time to learn as much about it as possible. First, do the 'Welcome to Superalgos!' tutorial, and do it multiple times to catch the nuances you missed in previous reviews of the tutorial. Then do the 'Install a New Market' tutorial and the trading system design tutorials (in a separate plug-in) multiple times. Finally go through the Users Manual in the documentation to learn about all the important features in this comprehensive software package.",
"updated": 1616418160500
},
{
"style": "Text",
"text": "This program is supported by a vibrant user and developer community on Telegram. Join it and ask any questions you might have to help you understand and progress through the system. Superalgos is a dynamic development system. If you see something missing or would like an enhancement, just ask, and if it makes sense, you may be surprised by how quickly it gets implemented.",
"updated": 1616422495138
},
{
"style": "Text",
"text": "Before you know it, you'll be able to develop custom trading indicators and sophisticated strategies that you can thoroughly test on untold markets and then share these profit-making tools with the rest of the Superalgos partnership.",
"updated": 1616421994567
},
{
"style": "Text",
"text": "Superalgos is a goldmine, and it can pay off like one if you put in the time and effort upfront, and colloborate with the community. Happy Trading!",
"updated": 1616422536155
},
{
"style": "Text",
"text": "DougJCook"
},
{
"style": "Text",
"text": ""
},
{
"style": "Text",
"text": ""
},
{
"style": "Text",
"text": ""
},
{
"style": "Text",
"text": ""
}
]
}
@@ -17,29 +17,29 @@
"paragraphs": [
{
"style": "Success",
"text": "You now have the latest version of Superalgos. Just remember to restart the Client and the UI. If you have Tasks running, you should first stop the tasks, and then restart the Client, so that you can run those task again using the updated codebase.",
"updated": 1615458633005,
"text": "You now have the latest version of Superalgos. Just remember to restart the Client and the UI. If you have Tasks running, you should first stop the tasks, and then restart the Client, so that you can run those tasks again using the updated codebase.",
"updated": 1616081292001,
"translations": [
{
"language": "ID",
"text": "Sekarang anda memiliki Superalgos versi terbaru. Perlu diingat untuk selalu memulai ulang Client dan UI. Jika memiliki Task yang berjalan, maka anda harus menghentikan Task tersebut terlebih dahulu, lalu memulai ulang Client, sehingga anda dapat menjalankan Task tersebut lagi menggunakan codebase yang terupdate.",
"updated": 1613892095568,
"text": "Sekarang Superalgos berada diversi terbaru. Perlu diingat untuk selalu restart Client dan UI. Jika memiliki Task yang berjalan, maka anda harus menghentikan Task tersebut terlebih dahulu, lalu memulai ulang Client, sehingga anda dapat menjalankan Task tersebut lagi menggunakan codebase yang terupdate. ",
"updated": 1616762115115,
"style": "Success"
}
]
},
{
"style": "Note",
"text": "The update you made, only affects the Client which you are connected to via http using your browser. If you have more Clients running as part of a Network, you will need to update them too, etither manually using Git or by navigating with your browser to their URL and doing running the App Update Command there.",
"text": "The update you made only affects the Client which you are connected to via http using your browser. If you have more Clients running as part of a Network, you will need to update them too, either manually using Git, or by navigating with your browser to their URL and running the App Update Command there.",
"translations": [
{
"language": "ID",
"text": "Pembaruan yang Anda buat, hanya mempengaruhi Client yang terhubung melalui http menggunakan browser ini. Jika Anda memiliki lebih banyak Client yang berjalan sebagai bagian dari Network, anda juga perlu memperbaruinya, baik secara manual menggunakan Git atau dengan menavigasikan browser anda ke URL tujuan dan menjalankan App Update Command di sana.",
"updated": 1613892300538,
"text": "Pembaruan yang Anda buat, hanya berlaku di Client ini yang terkoneksi http dengan browser. Jika kamu memiliki banyak Client yang berjalan di Network, juga harus diperbaharui, baik secara manual menggunakan Git atau dengan menavigasikan browser ke URL tujuan dan menjalankan App Update Command di sana. ",
"updated": 1616762450808,
"style": "Note"
}
],
"updated": 1615458652244
"updated": 1616081262353
}
]
}
@@ -8,8 +8,8 @@
"translations": [
{
"language": "ID",
"text": "Proses pembaruan berjalan dengan lancar namun tidak ada perubahan yang terjadi karena versi Superalgos anda sudah diversi paling baru dengan cabang saat ini. Tidak perlu tindakan lebih lanjut.",
"updated": 1613892507215,
"text": "Proses pembaruan berjalan lancar namun tidak ada perubahan karena versi instalasi sudah terbaru dengan branch sekarang . Tidak perlu tindakan lebih lanjut.",
"updated": 1616761518007,
"style": "Definition"
}
]
@@ -22,10 +22,14 @@
"text": "Superalgos->Node->Time Scale->Content",
"updated": 1610137173127
},
{
"style": "Include",
"text": "Superalgos->Node->Time Scale->Charts",
"updated": 1616673746726
},
{
"style": "Title",
"text": "Rate Scale",
"updated": 1610137179866
"text": "Rate Scale"
},
{
"style": "Include",
@@ -37,10 +41,14 @@
"text": "Superalgos->Node->Rate Scale->Content",
"updated": 1610137185478
},
{
"style": "Include",
"text": "Superalgos->Node->Rate Scale->Charts",
"updated": 1616673907214
},
{
"style": "Title",
"text": "Time Frame Scale",
"updated": 1610137195480
"text": "Time Frame Scale"
},
{
"style": "Include",
@@ -49,8 +57,12 @@
},
{
"style": "Include",
"text": "Superalgos->Node->Time Frame Scale->Content",
"updated": 1610137202224
"text": "Superalgos->Node->Time Frame Scale->Content"
},
{
"style": "Include",
"text": "Superalgos->Node->Time Frame Scale->Charts",
"updated": 1616673811765
}
]
}
@@ -1,7 +1,7 @@
{
"topic": "Community Trading Systems",
"pageNumber": "1",
"type": "BTC-USDT - Weak-hands Buster (WHB)",
"type": "BTC-USDT - Weak-hands Buster - WHB",
"definition": {
"text": "A trading system based on the break down of the Bollinger Bands idea, designed to accumulate Bitcoin, targeting major downward market moves.",
"updated": 1611675437927
@@ -1,7 +1,7 @@
{
"topic": "Community Trading Systems",
"pageNumber": "2",
"type": "BTC-USDT - BB Top Bounce (BBTB)",
"type": "BTC-USDT - BB Top Bounce - BBTB",
"definition": {
"text": "A trading system based on the bounce off the upper Bollinger Band idea, designed to accumulate Bitcoin, targeting a big range of market situations.",
"updated": 1611678251886
@@ -0,0 +1,16 @@
{
"topic": "Community Workspaces",
"pageNumber": "1",
"type": "Plugin Workspaces",
"definition": {
"text": "Superalgos ships with several plugin workspaces set up by the community to facilitate user onboarding. This topic covers each of them and explains their purpose.",
"updated": 1616145035073
},
"paragraphs": [
{
"style": "Text",
"text": "Each plugin workspace shipping with Superalgos was built with a specific purpose. ",
"updated": 1616172565179
}
]
}
@@ -0,0 +1,43 @@
{
"topic": "Community Workspaces",
"pageNumber": "2",
"type": "Getting Started Plugin Workspace",
"definition": {
"text": "This workspace is the first point of contact with Superalgos. It's purpose is to get new users familiar with all the basic aspects of Superalgos.",
"updated": 1616145473343
},
"paragraphs": [
{
"style": "Title",
"text": "Tutorials",
"updated": 1616151142805
},
{
"style": "List",
"text": "Welcome to Superalgos Tutorial"
},
{
"style": "List",
"text": "Basic Education Tutorial"
},
{
"style": "List",
"text": "Contribute to Superalgos Tutorial"
},
{
"style": "Important",
"text": "It's important to keep this workspace clean, light and simple, to ensure that the first experience is not cumbersome or limits users with small hardware.",
"updated": 1616145428799
},
{
"style": "Title",
"text": "Brought to you by",
"updated": 1616151282749
},
{
"style": "List",
"text": "@julian-molina",
"updated": 1616151219045
}
]
}
@@ -0,0 +1,53 @@
{
"topic": "Community Workspaces",
"pageNumber": "3",
"type": "Trading System Design Tutorials Plugin Workspace",
"definition": {
"text": "This workspace features a series of tutorials about designing trading systems. It is the first step users should take to learn about building strategies after completing their basic education.",
"updated": 1616145724293
},
"paragraphs": [
{
"style": "Title",
"text": "Tutorials",
"updated": 1616151265546
},
{
"style": "List",
"text": "Intro to Trading Systems Tutorial"
},
{
"style": "List",
"text": "Defining a Trading Idea Tutorial"
},
{
"style": "List",
"text": "Testing a Trading Idea - The Trigger Stage Tutorial"
},
{
"style": "List",
"text": "Testing a Trading Idea - The Other Stages Tutorial"
},
{
"style": "Important",
"text": "This series must keep growing to cover trade execution and trade management with specific examples."
},
{
"style": "Title",
"text": "Brought to you by",
"updated": 1616151252550
},
{
"style": "List",
"text": "@julian-molina"
},
{
"style": "Text",
"text": ""
},
{
"style": "Text",
"text": ""
}
]
}
@@ -0,0 +1,70 @@
{
"topic": "Community Workspaces",
"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
},
"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",
"updated": 1616156093719
},
{
"style": "Text",
"text": "The Crypto Ecosystem hierarchy features five different Crypto Exchanges nodes reflecting the status of the tests of each of the exchanges."
},
{
"style": "List",
"text": "Untested: Exchanges for which there is no recorded history of tests.",
"updated": 1616155760279
},
{
"style": "List",
"text": "Testing Queue: Exchanges that developers are currently testing.",
"updated": 1616155779390
},
{
"style": "List",
"text": "Failed OHLCVs Tests: Exchanges that were tested but failed to serve OHLCV data in the expected manner. Exchanges in this queue are not usable at the moment. Further efforts may be required to put them to work.",
"updated": 1616155913345
},
{
"style": "List",
"text": "Trading Tests Pending: Exchanges that have passed the OHLCV tests (are able to serve data in the manner Superalgos expects it) and are awaiting live trading tests.",
"updated": 1616156044085
},
{
"style": "List",
"text": "Tested: Exchanges that have been tested for data-mining and live trading, and that everyone should be able to use without hassle.",
"updated": 1616156004370
},
{
"style": "Title",
"text": "Brought to you by",
"updated": 1616151450651
},
{
"style": "List",
"text": "@us9808",
"updated": 1616151454415
}
]
}
@@ -0,0 +1,30 @@
{
"topic": "Community Workspaces",
"pageNumber": "5",
"type": "Hello World Tutorial Plugin Workspace",
"definition": {
"text": "This workspace serves as a demonstration on how to build a very simple strategy, complementing the education provided by the Trading System Design Tutorials Plugin Workspace, with a different approach.",
"updated": 1616148044271
},
"paragraphs": [
{
"style": "Title",
"text": "Tutorials",
"updated": 1616151478524
},
{
"style": "List",
"text": "Hello World Tutorial",
"updated": 1616151556035
},
{
"style": "Title",
"text": "Brough to you by",
"updated": 1616151546656
},
{
"style": "List",
"text": "@us9808"
}
]
}
@@ -0,0 +1,29 @@
{
"topic": "Community Workspaces",
"pageNumber": "6",
"type": "Weak-Hands Buster v2 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
},
"paragraphs": [
{
"style": "Note",
"text": "Learn about the BTC-USDT - Weak-hands Buster - WHB strategy before using this workspace!",
"updated": 1616149471944
},
{
"style": "Include",
"text": "Superalgos->Concept->Reusable Snippets->Trading System Disclaimer"
},
{
"style": "Title",
"text": "Brought to you by",
"updated": 1616153657727
},
{
"style": "List",
"text": "@julian-molina"
}
]
}
@@ -0,0 +1,29 @@
{
"topic": "Community Workspaces",
"pageNumber": "7",
"type": "BB Top Bounce 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
},
"paragraphs": [
{
"style": "Note",
"text": "Learn about the BTC-USDT - BB Top Bounce - BBTB strategy before using this workspace!",
"updated": 1616149471944
},
{
"style": "Include",
"text": "Superalgos->Concept->Reusable Snippets->Trading System Disclaimer"
},
{
"style": "Title",
"text": "Brought to you by",
"updated": 1616153683894
},
{
"style": "List",
"text": "@julian-molina"
}
]
}
@@ -0,0 +1,20 @@
{
"topic": "Community Workspaces",
"pageNumber": "8",
"type": "Exchange Keys Tests Plugin Workspace",
"definition": {
"text": "This workspace features four simple Trading Systems with their four respective trading tasks under the Production Trading Tasks node in the Network so that you may easily test your Exchange Account Key.",
"updated": 1616150355126
},
"paragraphs": [
{
"style": "Title",
"text": "Brought to you by",
"updated": 1616153711861
},
{
"style": "List",
"text": "@luis_fernando_molina"
}
]
}
@@ -0,0 +1,20 @@
{
"topic": "Community Workspaces",
"pageNumber": "9",
"type": "Machine Learning Demo Plugin Workspace",
"definition": {
"text": "The workspace features the basic setup to start exploring the integration of the TensorFlow Project.",
"updated": 1616693308998
},
"paragraphs": [
{
"style": "Title",
"text": "Brought to you by",
"updated": 1616693330070
},
{
"style": "Text",
"text": "@luis-fernando-molina"
}
]
}
@@ -0,0 +1,21 @@
{
"topic": "Contributing to Superalgos",
"pageNumber": 1,
"type": "How to Contribute to Superalgos",
"definition": {
"text": "This topic covers the logistics and details of how to contribute different kinds of assets to the project, including a Trading System, a Data Mine, icons, documentation, translations, and so on.",
"updated": 1617032255373
},
"paragraphs": [
{
"style": "Text",
"text": "Scan the table of contents below to find the documentation about how to contribute the kind of asset you may have in mind.",
"updated": 1617032405931
},
{
"style": "Success",
"text": "If there is no explanation about the type of asset you wish to contribute, please reach out to the team in the Superalgos Community Group!",
"updated": 1617032427271
}
]
}
@@ -1,6 +1,6 @@
{
"topic": "Contributing to Superalgos",
"pageNumber": "1",
"pageNumber": 2,
"type": "How to Contribute a Trading System",
"definition": {
"text": "To contribute a Trading System, you must provide the trading system file, a clean workspace, and proper documentation.",
@@ -1,6 +1,6 @@
{
"topic": "Contributing to Superalgos",
"pageNumber": "2",
"pageNumber": 3,
"type": "How to Contribute Icons",
"definition": {
"text": "Superalgos' visual interface features hundreds of icons and many more icons are required with each release, as new functionality is rolled out. Designing icons is a great way to leave your mark, as it puts your work directly in front of every user!",
@@ -1,6 +1,6 @@
{
"topic": "Contributing to Superalgos",
"pageNumber": "3",
"pageNumber": 4,
"type": "How to Contribute to the Docs",
"definition": {
"text": "Helping with keeping the Docs up to date, improving the delivery of the information, expanding on explanations, or simply fixing typos and grammar mistakes makes for a better user experience and lowers entry barriers for new users.",
@@ -1,6 +1,6 @@
{
"topic": "Contributing to Superalgos",
"pageNumber": "4",
"pageNumber": 5,
"type": "How to Contribute Translations",
"definition": {
"text": "The Docs are originally written in English. Making Superalgos more accessible is a key endeavor to grow the Community and the user base. Translating tutorials and software documentation into languages other than English is of huge value!",
@@ -23,9 +23,9 @@
"updated": 1613822457097
},
{
"style": "Note",
"text": "Before you being, please read the page Docs In English.",
"updated": 1613822688747
"style": "Include",
"text": "Superalgos->Topic->Docs In English->Content",
"updated": 1616762047762
},
{
"style": "Text",
@@ -48,9 +48,14 @@
"updated": 1613824072677
},
{
"style": "Text",
"text": "As explained in the How to Contribute to the Docs page, you must switch to the develop branch and make sure your system is up to date.",
"updated": 1613825583367
"style": "List",
"text": "As explained in the How to Contribute to the Docs page, you must switch your Contributions Branch and your Current Branch to the develop branch. Remember to restart the app after the switch.",
"updated": 1616762259778
},
{
"style": "List",
"text": "Make sure your system is up to date running the app.update command.",
"updated": 1616762308286
},
{
"style": "List",
@@ -71,6 +76,11 @@
"text": "Remember that translations exist at the level of each paragraph. Always make sure that the translation you input matches the correct paragraph. This is important because if a paragraph is updated in the English version, all translations will get a notice that the particular paragraph may be outdated.",
"updated": 1613824142107
},
{
"style": "List",
"text": "Participate in the Superalgos Docs Group. Let people know what part of the Docs or which Tutorial you will be working with. This basic coordination will help avoid conflicts when more than one user works on the same pages at the same time.",
"updated": 1616762526615
},
{
"style": "Success",
"text": "You may start with the translation of the Docs in [Language] page that you land on after you switch the language.",
@@ -1,49 +0,0 @@
{
"topic": "Crypto Ecosystem",
"pageNumber": "4",
"type": "How to Set Up a New Exchange",
"definition": {
"text": "To set up a new exchange, find it in the Untested crypto exchanges node and bring it to a less crowded crypto exchanges node to make room for the new setup. Then add the assets and the markets you wish to work with, and finally, install the markets.",
"updated": 1611651356918
},
"paragraphs": [
{
"style": "Text",
"text": "Not all tested exchanges are set up in the default workspace. If you wish to use an exchange that is not set up in the workspace, you may set it up yourself following the instructions below.",
"updated": 1611651386757
},
{
"style": "Title",
"text": "Start Here",
"updated": 1611651407421
},
{
"style": "Text",
"text": "1. Expand the Untested crypto exchanges node in the crypto ecosystem hierarchy."
},
{
"style": "Text",
"text": "2. Locate the desired exchange, detach it from its parent, and attach it to the Testing Queue crypto exchanges node. You may choose to attach your select exchange node to any other crypto exchanges node, or even add a new one. This is merely for organizational purposes and to keep the workspace tidy."
},
{
"style": "Note",
"text": "If the exchange you are looking for is not available there, it means it can not be setup in Superalgos at this point, likely for either or both of the following reasons: 1. The exchange does not provide one-minute candles; 2. The exchange does not provide a list of markets. Not all exchanges supported by the CCXT library comply in full with the standards proposed.",
"updated": 1611651421882
},
{
"style": "Success",
"text": "There are over 60 exchanges complying with the CCXT library API standard, an open-source effort to standardize communications with crypto exchanges, to the level required by Superalgos. If your exchange is not among those 60 plus exchanges, you may want to consider trading somewhere else. This is why: automating trading at your exchange requires building and maintaining a custom connector to speak with their API. It is unlikely that you will find an open-source project—or even a commercial solution—willing to do that, unless your exchange is in the top-10 list of exchanges in the world by volume traded.",
"updated": 1611651429157
},
{
"style": "Success",
"text": "Alternative approach 1: Convince your exchange to comply with the standard.",
"updated": 1611651439395
},
{
"style": "Success",
"text": "Alternative approach 2: Develop your own connector. We’ll be happy to guide you and help you along the way!",
"updated": 1611651447177
}
]
}
@@ -1,80 +0,0 @@
{
"topic": "Crypto Ecosystem",
"pageNumber": "6",
"type": "How to Test New Exchanges",
"definition": {
"text": "While only a few exchanges have been tested by the team, you may wish to test other exchanges you may be interested in. This is how.",
"updated": 1611651607248
},
"paragraphs": [
{
"style": "Text",
"text": "Testing new exchanges is a technical endeavor that requires a good understanding of how Superalgos works with data. These are a few logical steps you should take to test the OHLCV and trading capabilities…",
"updated": 1611651621128
},
{
"style": "Title",
"text": "Start Here"
},
{
"style": "Text",
"text": "1. Set up the exchange you wish to test."
},
{
"style": "Text",
"text": "2. Install the market you wish to test."
},
{
"style": "Text",
"text": "3. Run the Sensor Bot task and monitor the console for errors. If everything seems to be working fine, then proceed."
},
{
"style": "Text",
"text": "4. Run the indicator bot tasks required to run a trading session with the trading system of your choice."
},
{
"style": "Text",
"text": "5. Run a backtesting session."
},
{
"style": "Text",
"text": "6. Run a paper trading session."
},
{
"style": "Text",
"text": "7. Run a live trading session."
},
{
"style": "Title",
"text": "What to Do If You Encounter Problems"
},
{
"style": "Text",
"text": "You may encounter all sorts of issues while testing a new exchange, at any one of the steps listed above. If you are really interested in working with the exchange and are willing to put some time and effort into investigating the issues, we will be happy to work with you and develop fixes that may help overcome any problems you may run into. Superalgos is prepared to send arbitrary parameters to API calls, so solving the issue may be quite easy. All we need from you is to point us in the right direction by contributing the initial research."
},
{
"style": "Text",
"text": "These are a few things we’ve learnt while testing exchanges, that may help you in the process:"
},
{
"style": "List",
"text": "Study the exchange’s API documentation."
},
{
"style": "List",
"text": "Be aware that exchanges may publish more than one API, or an API with mutliple versions."
},
{
"style": "List",
"text": "There may be more than one way to make a certain request and Superalgos may be making it in the non-optimal way for that particular exchange. For example, we may be querying the wrong API."
},
{
"style": "List",
"text": "Some exchanges may behave differently when the user is authenticated with API keys, even when retrieving data. For example, Binance allows downloading up to one-day worth of historical trades information when the user is not authenticated, but allows downloading trades spanning the whole market when authenticated."
},
{
"style": "Text",
"text": ""
}
]
}
@@ -3,13 +3,14 @@
"pageNumber": 3,
"type": "Docs Page Category",
"definition": {
"text": "The Docs feature six categories of pages: nodes, concepts, topics, tutorials, reviews, and books. Each category is represented by a tab in the Docs Search Results.",
"updated": 1613759267463,
"text": "The Docs feature six categories of pages: Node, Concept, Topic, Tutorial, Review, and Book. Each category is represented by a tab in the Docs Search Results.",
"updated": 1616876130108,
"translations": [
{
"language": "ID",
"text": "Didalam dokumen ini menampilkan enam kategori halaman yaitu: nodes, concepts, topics, tutorials, reviews, dan books. Setiap kategori diwakilkan oleh sebuah tab dalam Docs Search Results.",
"updated": 1613859527741
"updated": 1613859527741,
"style": "Definition"
}
]
},
@@ -26,7 +27,8 @@
{
"language": "ID",
"text": "Kategori Halaman Node ",
"updated": 1613859587112
"updated": 1613859587112,
"style": "Title"
}
]
},
@@ -37,7 +39,8 @@
{
"language": "ID",
"text": "Setiap Node ditentukan dalam konteks Project yang menampilkan Docs Node Page yang menjelaskan apa itu Node dan bagaimana penggunaannya. Halaman ini akan terbuka saat mengklik tombol bantuan di menu node.",
"updated": 1613859807031
"updated": 1613859807031,
"style": "Text"
}
]
},
@@ -48,7 +51,8 @@
{
"language": "ID",
"text": "Kategori Halaman Concept",
"updated": 1613859855103
"updated": 1613859855103,
"style": "Title"
}
]
},
@@ -59,7 +63,8 @@
{
"language": "ID",
"text": "Konseps adalah pemikiran atau gagasan yang tidak direpresentasikan sebagai node dalam hierarcy. Halaman dalam kategori konsep mencakup pemikiran atau gagasan yang dapat dijelaskan dalam satu halaman. Intinya, konsep adalah gagasan yang dapat dibahas secara lengkap dalam satu halaman.",
"updated": 1613860012881
"updated": 1613860012881,
"style": "Text"
}
]
},
@@ -70,7 +75,8 @@
{
"language": "ID",
"text": "Kategori Halaman Topic",
"updated": 1613860037593
"updated": 1613860037593,
"style": "Title"
}
]
},
@@ -81,7 +87,8 @@
{
"language": "ID",
"text": "Topik adalah konsep yang lebih dalam dan memiliki banyak segi yang membutuhkan lebih dari satu halaman untuk dijelaskan. Topik adalah sekumpulan konsep yang berkaitan erat, disusun secara berurutan. Namun, bukan halaman itu saja. Melainkan, ini adalah kumpulan dari halaman-halaman.",
"updated": 1613860164710
"updated": 1613860164710,
"style": "Text"
}
]
},
@@ -92,7 +99,8 @@
{
"language": "ID",
"text": "Kategori Halaman Tutorial",
"updated": 1613860197070
"updated": 1613860197070,
"style": "Title"
}
]
},
@@ -103,7 +111,8 @@
{
"language": "ID",
"text": "Adapun dalam Tutorial adalah hirarki yang dapat mengatur berbagai jenis node termasuk node Tutorial Topic dan Tutorial Step. Setiap node dalam hierarki mengarah ke Tutorial Step di Docs tempat sumber informasi. Dalam konteks Docs, halaman dalam tutorial diatur secara runtut seperti topik.",
"updated": 1613860411843
"updated": 1613860411843,
"style": "Text"
}
]
},
@@ -114,7 +123,8 @@
{
"language": "ID",
"text": "Kategori Halaman Reviews",
"updated": 1613860442084
"updated": 1613860442084,
"style": "Title"
}
]
},
@@ -125,7 +135,8 @@
{
"language": "ID",
"text": "Reviews adalah konten buatan pengguna yang menjelaskan pengalaman mereka dengan komponen tertentu dari Superalgos atau proyek lain.",
"updated": 1613860497517
"updated": 1613860497517,
"style": "Text"
}
]
},
@@ -136,7 +147,8 @@
{
"language": "ID",
"text": "Kategori Halaman Books",
"updated": 1613860532720
"updated": 1613860532720,
"style": "Title"
}
]
},
@@ -147,7 +159,8 @@
{
"language": "ID",
"text": "Books merupakan halaman itu sendiri. Halaman tersebut menampilkan daftar topik yang masing-masing merupakan satu bab dalam buku tersebut.",
"updated": 1613860614179
"updated": 1613860614179,
"style": "Text"
}
]
}
@@ -7,10 +7,14 @@
"updated": 1610976158171
},
"paragraphs": [
{
"style": "Warning",
"text": "Make sure you consult with the Superalgos Documentation Group before using the Docs Repaginate Command on existing topics or tutorials. The repagination changes all files in the collection. For that reason, the command may be prone to creating conflicts with other users that may be working on those files too.",
"updated": 1616705086396
},
{
"style": "Title",
"text": "Syntax",
"updated": 1610393031768
"text": "Syntax"
},
{
"style": "Javascript",
@@ -11,6 +11,11 @@
"text": "Il comando docs.reindex ha avviato la ricostruzione del Docs Search Engine Index.",
"updated": 1614713649286,
"style": "Definition"
},
{
"language": "ID",
"text": "docs.reindex command akan menyusun ulang Docs Search Engine Index.",
"updated": 1616764015935
}
]
},
@@ -25,6 +30,11 @@
"text": "La reindicizzazione é un processo dispendioso dal punto di vista computazionale. Mentre é in atto, non sarai in grado di usare l'interfaccia grafica perché tutte le risorse della CPU saranno impegnate a ricostruire l'indice il più velocemente possibile.",
"updated": 1614713781526,
"style": "Success"
},
{
"language": "ID",
"text": "Reindexing merupakan proses intensif sumber daya. Saat proses berjalan, kamu tidak akan dapat menggunakan antarmuka karena semua sumber daya CPU didedikasikan untuk membuat ulang indeks secepat mungkin.",
"updated": 1616764125582
}
]
},
@@ -37,6 +47,11 @@
"text": "La dimensione del tuo Workspace ha influenza sul tempo richiesto per la reindicizzazione, perché ogni suo nodo deve essere scansionato. Tutto il codice e le varie configurazioni sono indicizzate.",
"updated": 1614714208819,
"style": "Text"
},
{
"language": "ID",
"text": "Beratnya workspace berdampak pada waktu yang digunakan untuk reindex konten karena tiap node di workspace harus discan. Semua code dan konfigurasi juga diindex.",
"updated": 1616764251832
}
]
},
@@ -49,6 +64,11 @@
"text": "Aspetta qualche secondo perché il processo finisca. Riceverai un messaggio quando questo avviene.",
"updated": 1614713939759,
"style": "Text"
},
{
"language": "ID",
"text": "Tunggu sebentar untuk beberapa detik sampai proses selesai. Kamu akan mendapatkan pesan baru setelah selesai.",
"updated": 1616764371829
}
]
}
@@ -11,6 +11,11 @@
"text": "Il comando docs.reindex ha terminato di ricostruire il Docs Search Engine Index.",
"updated": 1614713976492,
"style": "Definition"
},
{
"language": "ID",
"text": "docs.reindex command selesai membuat ulang Docs Search Engine Index.",
"updated": 1616762872651
}
]
},
@@ -25,6 +30,11 @@
"text": "L'indice é stato ricostruito e ora include tutte le ultime modifiche fatte da quando hai aperto l'interfaccia grafica, o dall'ultima volta che hai lanciato il comando docs.reindex. Questo significa che i nuovi contenuti creati adesso possono essere cercati. Anche i cambiamenti del Workspace sono stati indicizzati.",
"updated": 1614714113459,
"style": "Success"
},
{
"language": "ID",
"text": "Index sudah dibuat ulang dan memiliki perubahan terbaru yang kamu buat sejak kamu membuka UI atau menjalankan docs.reindex command. Artinya konten baru sudah dibuat dan bisa dicari. Perubahan di Workspace sudah masuk ke index juga.",
"updated": 1616763231526
}
]
}
@@ -4,13 +4,27 @@
"type": "Docs Message - Deleting Done",
"definition": {
"text": "The docs.delete command deleted from memory the page you requested.",
"updated": 1610973738997
"updated": 1610973738997,
"translations": [
{
"language": "ID",
"text": "docs.delete command menghapus page yang diminta dari memori.",
"updated": 1616763338862
}
]
},
"paragraphs": [
{
"style": "Important",
"text": "The page was flagged to be deleted. It will be removed from the in-memory collection of pages once you run the Docs Save Command. The Docs Save Command instructs the Client to delete the file from disk. To remove the page from the index you must run the Docs Reindex Command.",
"updated": 1610973712136
"updated": 1610973712136,
"translations": [
{
"language": "ID",
"text": "Page ini ditandai untuk dihapus. Dan akan dihapus dari koleksi page dari memori setelah kamu menjalankan Docs Save Command yang mengintruksi Client untuk menghapus file dari disk. Untuk menghapus page dari index kamu harus menjalankan Docs Reindex Command.",
"updated": 1616763669131
}
]
}
]
}
@@ -4,13 +4,27 @@
"type": "Docs Message - Repagination Done",
"definition": {
"text": "The docs.repaginate command finished repaginating.",
"updated": 1610973772448
"updated": 1610973772448,
"translations": [
{
"language": "ID",
"text": "docs.repaginate command akan menyelesaikan repaginasi.",
"updated": 1616763736459
}
]
},
"paragraphs": [
{
"style": "Important",
"text": "To complete this procedure, you need to manually delete from disk all the files of the Topic / Tutorial you just repaginated, and execute the Docs Save Command to save the in-memory updated pages.",
"updated": 1610292163004
"updated": 1610292163004,
"translations": [
{
"language": "ID",
"text": "Untuk menyelesaikan prosedur ini, kamu harus menghapus manual semua file dari topic / Tutorial yang direpaginasi dari disk , dan menjalankan Docs Save Command untuk menyimpan memori page yang sudah diupdate",
"updated": 1616763866864
}
]
}
]
}
@@ -7,19 +7,19 @@
"updated": 1613820592771
},
"paragraphs": [
{
"style": "Block",
"text": "Content",
"updated": 1616761358289
},
{
"style": "Text",
"text": "English is considered the default language. When you switch to a different language, the system attempts to show the content in the new language. However, if the translation is not yet available, it shows the English version instead.",
"updated": 1613820612132
"text": "English is considered the default language. When you switch to a different language, the system attempts to show the content in the new language. However, if the translation is not yet available, it shows the English version instead."
},
{
"style": "Text",
"text": "Node types, variable names, the title of pages in the Docs, and a few more elements of Superalgos may not be translated, as they are unique identifiers of the said elements. You will always get those in English."
},
{
"style": "Success",
"text": "If you wish to contribute translations, read the How to Contribute Translations page."
},
{
"style": "Success",
"text": "To switch languages, click on the flags on the footer of the Docs."
@@ -28,6 +28,15 @@
"style": "Note",
"text": "You may only add or delete pages to the Docs when the language is set to English.",
"updated": 1613820648230
},
{
"style": "Block",
"text": "End"
},
{
"style": "Success",
"text": "If you wish to contribute translations, read the How to Contribute Translations page.",
"updated": 1616761556162
}
]
}
@@ -14,13 +14,23 @@
"style": "Json",
"text": "videoId (taken from YouTube)"
},
{
"style": "Text",
"text": "If you wish the video to autoplay, that is, to start playing without user intervention like an animated GIF would, add the following string immediately after the videoId:",
"updated": 1616182813822
},
{
"style": "Json",
"text": "?rel=0&autoplay=1&mute=1"
},
{
"style": "Title",
"text": "Example:"
},
{
"style": "Json",
"text": "fO-CHEEVneI"
"text": "fO-CHEEVneI\n",
"updated": 1616182571265
},
{
"style": "Text",
@@ -32,7 +42,8 @@
},
{
"style": "Success",
"text": " To edit a YouTube video found at a Docs page, you need to right click slightly on top of the upper border or the video, not on the video itself. "
"text": "To edit a YouTube video paragraph, right-click slightly above the upper border of the video, not on the video itself.",
"updated": 1616182753529
}
]
}
@@ -31,15 +31,28 @@
"updated": 1609949517565
},
{
"style": "Title",
"style": "Anchor",
"text": "What If the Nodes Are Far Away or in Different Hierarchies?",
"updated": 1611941072895
},
{
"style": "Title",
"text": "What If the Nodes Are Far Away or in Different Hierarchies?"
},
{
"style": "Title",
"text": ""
},
{
"style": "Text",
"text": "The process is exactly the same. All you need to do is master a few tricks so that you may drag one of the nodes all the way to where the second node is.",
"updated": 1611940896508
},
{
"style": "Youtube",
"text": "_7Qp8KmNmWU?rel=0&amp;autoplay=1&mute=1",
"updated": 1616182407466
},
{
"style": "Text",
"text": "These UI tricks may make your life easier:",
@@ -1,93 +0,0 @@
{
"topic": "How To Debug Exchange Raw Data Sensor Bot",
"pageNumber": "1",
"type": "Exchange Raw Data - Your Favorite Exchange Is Not Working",
"definition": {
"text": "This is not really a surprise, since there are hundreds of exchanges and if noone tried to put the one you like most to work before, it will most likely don't work with the default configuration.",
"updated": 1614590122351
},
"paragraphs": [
{
"style": "Title",
"text": "CCXT Library",
"updated": 1614590456998
},
{
"style": "Text",
"text": "CCXT is a popular open source library that acts as a gateway to exchanges API. It's goal is to standarize the access to diverse APIs so that software built using CCXT does not need to know the special dealings of each exchange. Even though it does a pretty good job, it is not perfect and there are still special configurations that needs to be applied to different exchanges."
},
{
"style": "Text",
"text": "The root of this problems is that there is no starndard at all across the industry and each exchange invents it's own way to deal with each functionality."
},
{
"style": "Link",
"text": "CCXT at Github->https://github.com/ccxt/ccxt",
"updated": 1614590739125
},
{
"style": "Title",
"text": "Tested on Binance"
},
{
"style": "Text",
"text": "Superalgos a system develops fast but it leaves to its users te fine details and setups, and this is the most common case. We testes only Binance just because it is the most popular exchange as of today. It did not work by itself with the default configuration so a special setting was done and it is at the config of the Binance Crypto Exchange node."
},
{
"style": "Subtitle",
"text": "Biance Config"
},
{
"style": "Json",
"text": "{\n \"codeName\": \"binance\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}",
"updated": 1614590679126
},
{
"style": "Title",
"text": "Other Exchanges"
},
{
"style": "Text",
"text": "Over time some users tested Binanceus, which works with the same config as Binance and some other users ventured into others with unknown results. If you manage to put an exhange to work please let us know with which config so that we can move that exchange to the Tested Exchanges branch of the Crypto Ecosystem."
},
{
"style": "Title",
"text": "Your Favorite Exchange is not Listed"
},
{
"style": "Text",
"text": "There are many reasons why an exchange might not be listed even at the Untested Exchanges node. Hera are some of them:",
"updated": 1614949670526
},
{
"style": "Text",
"text": "1. When the list was created it did not exist (you can try Add Missing Exchanges menu item of the Crypto Exchanges node)"
},
{
"style": "Text",
"text": "2. It is not listed at the CCXT library included with Superalgos (an npm update would be needed at the right folder to update the library). If it appears after the update, please inform the team so as to update it for all.",
"updated": 1614949724133
},
{
"style": "Text",
"text": "3. The exchange does not support historical data at 1 min (you can check the exchange API docs). Escahnges that do not support this are filtered out while running Add Missing Exchanges command.",
"updated": 1614949756265
},
{
"style": "Text",
"text": "4. The exchange does not support the function to list it's markets. (Also check the exchange API docs)"
},
{
"style": "Title",
"text": "Getting Started"
},
{
"style": "Text",
"text": "We will assume for the rest of this guide, that you are currently at the Getting Started worksace that comes as a Plugin. If you are not, please load that workpace and close the tutorial that auto starts."
},
{
"style": "Text",
"text": ""
}
]
}
@@ -0,0 +1,107 @@
{
"topic": "How To Debug Exchange Raw Data Sensor Bot",
"pageNumber": "1",
"type": "How to Test New Exchanges",
"definition": {
"text": "Testing exchanges is an ongoing Community effort. If you wish to work with an exchange that is not tested, this topic covers everything you need to know to debug the Sensor Bot and find out what needs to be done to achieve the goal.",
"updated": 1616007833424
},
"paragraphs": [
{
"style": "Title",
"text": "CCXT Library",
"updated": 1614590456998
},
{
"style": "Text",
"text": "CCXT is a popular open-source library that acts as a gateway to exchanges APIs. Its goal is to standardize access to different APIs so that software built using CCXT does not need to know the special dealings of each exchange. Even though it does a pretty good job, it is not perfect and there are still special configurations that must be used with different exchanges.",
"updated": 1616008057862
},
{
"style": "Text",
"text": "The root of this problem is that there is no standard across the industry and each exchange invents its own way to deal with each functionality."
},
{
"style": "Link",
"text": "CCXT at Github->https://github.com/ccxt/ccxt",
"updated": 1614590739125
},
{
"style": "Title",
"text": "Original Tests on Binance",
"updated": 1616008377556
},
{
"style": "Text",
"text": "The Superalgos software evolves fast as the team chooses to leave the fine-tuning and setups to the Community. The team tested Binance early on because it is the most popular exchange. It didn't work on the first try with the default configuration, so a special configuration was created.",
"updated": 1616009190093
},
{
"style": "Subtitle",
"text": "Binance Configuration",
"updated": 1616007864841
},
{
"style": "Json",
"text": "{\n \"codeName\": \"binance\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}",
"updated": 1614590679126
},
{
"style": "Title",
"text": "Community Effort",
"updated": 1616008789934
},
{
"style": "Text",
"text": "If you get to test an untested exchange, please participate in the Community Effort to Test Exchanges by documenting the results!",
"updated": 1616099671162
},
{
"style": "Success",
"text": "Testing exchanges is a valuable contribution! It enables everyone coming next —including less technical users— to enjoy working with their favorite exchange!"
},
{
"style": "Title",
"text": "Your Favorite Exchange Is Not Listed",
"updated": 1616008875311
},
{
"style": "Text",
"text": "There are many reasons why an exchange may not be listed even at the Untested Exchanges node. Here are some of them:",
"updated": 1616009095135
},
{
"style": "List",
"text": "When the list was created it did not exist (you can try the Add Missing Exchanges menu item of the Crypto Exchanges node).",
"updated": 1616009129072
},
{
"style": "List",
"text": "It is not listed at the CCXT library included with Superalgos (an npm update would be needed at the right folder to update the library). If the exchange appears after the update, please inform the team so as to update it for all users.",
"updated": 1616009133874
},
{
"style": "List",
"text": "The exchange does not provide historical data in 1-minute candles (you can check the exchange API docs). Exchanges that do not support this basic feature are filtered out while running Add Missing Exchanges command.",
"updated": 1616009139987
},
{
"style": "List",
"text": "The exchange does not support the function to list markets (check the exchange API docs).",
"updated": 1616009144377
},
{
"style": "Title",
"text": "Getting Started"
},
{
"style": "Text",
"text": "For the rest of this guide, we will assume that you are using the Getting Started workspace that comes as a Plugin. If you are not, please load that workpace and close the Welcome tutorial.",
"updated": 1616009292308
},
{
"style": "Text",
"text": ""
}
]
}
@@ -4,7 +4,14 @@
"type": "Telegram Announcements",
"definition": {
"text": "Setup a Telegram bot to broadcast the activity of trading sessions to a Telegram group. You may produce plain-text or dynamic-content announcements at every event in your trading systems.",
"updated": 1611484869105
"updated": 1611484869105,
"translations": [
{
"language": "ID",
"text": "Penyiapan Telegram bot untuk membroadcast aktivitas dari sesi trading ke grup Telegram. Kamu dapat membuat plain-text atau pengumuman berbentuk dynamic-contenct di setiap event pada trading sistem milikmu.",
"updated": 1616926732019
}
]
},
"paragraphs": [
{
@@ -14,15 +21,36 @@
},
{
"style": "Text",
"text": "The announcements feature allows users to set up notifications tied to specific events, and triggered once each particular event becomes active while running any of the available types of trading sessions."
"text": "The announcements feature allows users to set up notifications tied to specific events, and triggered once each particular event becomes active while running any of the available types of trading sessions.",
"translations": [
{
"language": "ID",
"text": "Fitur pengumuman memungkinkan pengguna untuk mengatur pemberitahuan yang terkait dengan event tertentu, dan terpicu setelah setiap event menjadi aktif saat menjalankan salah satu jenis sesi trading yang tersedia.",
"updated": 1616927035635
}
]
},
{
"style": "Text",
"text": "You may use this feature to stay informed about the actions of your strategies while trading live, or to broadcast signals over a Telegram group while paper trading, for instance."
"text": "You may use this feature to stay informed about the actions of your strategies while trading live, or to broadcast signals over a Telegram group while paper trading, for instance.",
"translations": [
{
"language": "ID",
"text": "Kamu akan menggunakan fitur ini tetap mendapat informasi tentang tindakan dari strategi saat live trading, atau untuk membroadcast sinyal melalui grup Telegram, misalnya paper trading.",
"updated": 1616927218638
}
]
},
{
"style": "Text",
"text": "Supported events are:"
"text": "Supported events are:",
"translations": [
{
"language": "ID",
"text": "Events yang didukung:",
"updated": 1616927255808
}
]
},
{
"style": "List",
@@ -42,20 +70,48 @@
},
{
"style": "Text",
"text": "In addition, you can implement announcements at the level of stop and take profit phases, a particular case that shall be discussed too."
"text": "In addition, you can implement announcements at the level of stop and take profit phases, a particular case that shall be discussed too.",
"translations": [
{
"language": "ID",
"text": "Selain itu, kamu dapat mengimplementasikan pengumuman di level fase stop dan take profit, hal-hal lain juga akan kita bahas nantinya.",
"updated": 1616927456192
}
]
},
{
"style": "Text",
"text": "The current implementation is based on broadcasting announcements via Telegram bots. The system uses Telegram’s bots API to interact with a Telegram bot you will create. The bot will be added as a user in the Telegram group of your choice in which it will deliver the announcements as per the configuration you will set up in the system."
"text": "The current implementation is based on broadcasting announcements via Telegram bots. The system uses Telegram’s bots API to interact with a Telegram bot you will create. The bot will be added as a user in the Telegram group of your choice in which it will deliver the announcements as per the configuration you will set up in the system.",
"translations": [
{
"language": "ID",
"text": "Implementasi pada saat ini berdasar pada membroadcast pengumuman dari Telegram bot. Sistem menggunakan Telegram bot API untuk menghubungkan Telegram bot yang kamu buat. Bot akan ditambahkan sebagai user di Telegram grup pilihanmu yang akan mengirimkan pengumuman sesuai konfigurasi yang kamu atur pada sistem.",
"updated": 1616927659463
}
]
},
{
"style": "Title",
"text": "Setting Up a Telegram Bot and a Telegram Group"
"text": "Setting Up a Telegram Bot and a Telegram Group",
"translations": [
{
"language": "ID",
"text": "Menyiapkan Telegram Bot dan Telegram Grup",
"updated": 1616927728752
}
]
},
{
"style": "Text",
"text": "Telegram’s documentation explains the details of how to use Telegram bots:",
"updated": 1611485108327
"updated": 1611485108327,
"translations": [
{
"language": "ID",
"text": "Dokumentasi Telegram menjelaskan secara detail cara menggunakan Telegram bot:",
"updated": 1616927702979
}
]
},
{
"style": "Link",
@@ -64,62 +120,153 @@
},
{
"style": "Text",
"text": "You may choose to read Telegram’s documentation or simple follow the next few steps, which have been extracted for your convenience:"
"text": "You may choose to read Telegram’s documentation or simple follow the next few steps, which have been extracted for your convenience:",
"translations": [
{
"language": "ID",
"text": "Kamu dapat memilih untuk membaca dokumentasi Telegram atau mengikuti beberapa step berikut, yang telah diekstrak untuk kemudahanmu:",
"updated": 1616927824426
}
]
},
{
"style": "List",
"text": "1. Go to Telegram and find the user @BotFather: You may use the link or simply search for the user.",
"updated": 1611485257909
"updated": 1611485257909,
"translations": [
{
"language": "ID",
"text": "1. Pergi ke Telegram dan cari user @BotFather: Kamu dapat menggunakan tautan atau langsung mencari user.",
"updated": 1616927906032
}
]
},
{
"style": "List",
"text": "2. Type and send /newbot: BotFather will ask you to pick a name for your bot. Once the name is set, it will respond with the token (a text string) to access the HTTP API.",
"updated": 1611485277898
"updated": 1611485277898,
"translations": [
{
"language": "ID",
"text": "2. Ketik dan kirimkan /newbot: BotFather akan memintamu untuk memasukkan nama bot. Setelah ditetapkan, ia akan merespon dengan token (sebuah text string) untuk mengakses HTTP API.",
"updated": 1616928012542
}
]
},
{
"style": "Text",
"text": "You will need this token at a later time."
"text": "You will need this token at a later time.",
"translations": [
{
"language": "ID",
"text": "Kamu akan membuuhkan token ini nantinya.",
"updated": 1616928036024
}
]
},
{
"style": "List",
"text": "3. Create a Telegram: Your bot will broadcast the announcements here.",
"updated": 1611485421498
"updated": 1611485421498,
"translations": [
{
"language": "ID",
"text": "3. Buat Telegram Grup: Bot-mu akan membroadcast pengumuman disini nantinya.",
"updated": 1616928100241
}
]
},
{
"style": "List",
"text": "4. Add your bot in the group: And add @myidbot as user in the group too.",
"updated": 1611485472896
"updated": 1611485472896,
"translations": [
{
"language": "ID",
"text": "4. Tambahkan bot-mu kedalam grup: Dan tambahkan juga @myidbot sebagai user didalamnya.",
"updated": 1616928168243
}
]
},
{
"style": "List",
"text": "5. Type and send /getgroupid in the group: IDBot will answer with the group’s ID.",
"updated": 1611485491256
"updated": 1611485491256,
"translations": [
{
"language": "ID",
"text": "5. Ketik dan kirimkan /getgroupid didalam grup: IDBot akan menjawab dengan sebuah group’s ID.",
"updated": 1616928215518
}
]
},
{
"style": "Text",
"text": "You will need this ID at a later time."
"text": "You will need this ID at a later time.",
"translations": [
{
"language": "ID",
"text": "Kamu juga akan membutuhkan ID ini nantinya.",
"updated": 1616928242124
}
]
},
{
"style": "Title",
"text": "Setting Up the Telegram Bot in Superalgos"
"text": "Setting Up the Telegram Bot in Superalgos",
"translations": [
{
"language": "ID",
"text": "Menyiapkan Bot Telegram di Superalgos",
"updated": 1616928254405
}
]
},
{
"style": "Text",
"text": "You will set up your bot in a backtesting session, so that you may easily test the announcements."
"text": "You will set up your bot in a backtesting session, so that you may easily test the announcements.",
"translations": [
{
"language": "ID",
"text": "Kamu akan mensetup bot pada backtesting session, sehingga kamu lebih mudah dalam mengetest pengumuman.",
"updated": 1616928314869
}
]
},
{
"style": "List",
"text": "1. Go to any of your backtesting sessions and add a Social Bot node using the session’s menu: A social bot will be added along with a telegram bot.",
"updated": 1611485546279
"updated": 1611485546279,
"translations": [
{
"language": "ID",
"text": "1. Pergi ke backtesting sessions dan tambahkan Social Bot node dari session’s menu: social bot akan ditambahkan bersama telegram bot.",
"updated": 1616928451125
}
]
},
{
"style": "List",
"text": "2. Select Edit Telegram Bot on the telegram bot menu: Replace the placeholder text with the actual botToken and chatId you got earlier.",
"updated": 1611485581216
"updated": 1611485581216,
"translations": [
{
"language": "ID",
"text": "2. Pilih Edit Telegram Bot di telegram bot menu: Ubah placeholder text dengan aktual botToken dan chatId yang kamu dapatkan sebelumnya.",
"updated": 1616928506093
}
]
},
{
"style": "Text",
"text": "For example:"
"text": "For example:",
"translations": [
{
"language": "ID",
"text": "Contohnya:",
"updated": 1616928514397
}
]
},
{
"style": "Json",
@@ -128,19 +275,47 @@
},
{
"style": "Text",
"text": "The system now has everything it needs to communicate with your Telegram bot."
"text": "The system now has everything it needs to communicate with your Telegram bot.",
"translations": [
{
"language": "ID",
"text": "Sistem sekarang memiliki semua yang dibutuhkan untuk berkomunikasi dengan Telegram Bots milikmu.",
"updated": 1616928562420
}
]
},
{
"style": "Title",
"text": "Create Your Announcements"
"text": "Create Your Announcements",
"translations": [
{
"language": "ID",
"text": "Membuat Pengumumanmu",
"updated": 1616928589846
}
]
},
{
"style": "Text",
"text": "You may create as many announcements as you wish, on any of the events listed in the Overview section above by clicking Add Announcement on the corresponding event node menu."
"text": "You may create as many announcements as you wish, on any of the events listed in the Overview section above by clicking Add Announcement on the corresponding event node menu.",
"translations": [
{
"language": "ID",
"text": "Kamu akan membuat pengumuman sebanyak yang kamu mau, sesuai dengan event terdaftar pada Overview section diatas dengan mengclick Add Announcement di koresponden menu event node.",
"updated": 1616928711745
}
]
},
{
"style": "Text",
"text": "There are two different ways in which you may customize announcements:"
"text": "There are two different ways in which you may customize announcements:",
"translations": [
{
"language": "ID",
"text": "Ada dua cara berbeda untuk mengkostumisasi pengumuman:",
"updated": 1616928734728
}
]
},
{
"style": "List",
@@ -153,7 +328,14 @@
{
"style": "Success",
"text": "The Weak-hands buster strategy shipping with Superalgos features a complete set of announcements. Check them out and reuse them in your setup!",
"updated": 1611485640517
"updated": 1611485640517,
"translations": [
{
"language": "ID",
"text": "Strategi Weak-hands buster berkaitan dengan fitur Superalgos sebagai serangkaian lengkap dari pengumuman. Lihat mereka dan siapkan kembali di setup!",
"updated": 1616928883164
}
]
},
{
"style": "Title",
@@ -161,11 +343,25 @@
},
{
"style": "Text",
"text": "To set a plain text announcement, click Edit Announcement on the announcement node menu and set a message on the field text."
"text": "To set a plain text announcement, click Edit Announcement on the announcement node menu and set a message on the field text.",
"translations": [
{
"language": "ID",
"text": "Untuk membuat pengumuman plain text, click Edit Announcement pada announcement node menu dan set pesan di tempat text.",
"updated": 1616928982224
}
]
},
{
"style": "Text",
"text": "For example:"
"text": "For example:",
"translations": [
{
"language": "ID",
"text": "Contohnya:",
"updated": 1616928991922
}
]
},
{
"style": "Json",
@@ -178,15 +374,36 @@
},
{
"style": "Text",
"text": "To broadcast more elaborate messages that may include dynamic values of any of the current indicators or internal variables, set the message in the formula attached to the announcement instead."
"text": "To broadcast more elaborate messages that may include dynamic values of any of the current indicators or internal variables, set the message in the formula attached to the announcement instead.",
"translations": [
{
"language": "ID",
"text": "Untuk membroadcast pesan yang lebih rumit yang mungkin menyertakan dynamic content dari salah satu indikator atau variabel internal, atur pesan dengan formula dibawah kedalam pengumuman.",
"updated": 1616929292467
}
]
},
{
"style": "Text",
"text": "The typical set up for a dynamic message consists of building a string by alternating “text between double quotes” with variables, separating them with plus signs (+)."
"text": "The typical set up for a dynamic message consists of building a string by alternating “text between double quotes” with variables, separating them with plus signs (+).",
"translations": [
{
"language": "ID",
"text": "Penyiapan sederhana untuk pesan Dynamic terdiri dari pembuatan string dengan mengganti \"text diantara tanda kutip\" dengan variabel, dan memisahkannya dengan tanda tambah (+).",
"updated": 1616929904380
}
]
},
{
"style": "Text",
"text": "For example, a typical announcement formula for the take position event may look like this:"
"text": "For example, a typical announcement formula for the take position event may look like this:",
"translations": [
{
"language": "ID",
"text": "Contohnya, formula pengumuman sederhana untuk ambil posisi pada suatu event.",
"updated": 1616929983820
}
]
},
{
"style": "Javascript",
@@ -194,7 +411,14 @@
},
{
"style": "Text",
"text": ".toFixed(0) rounds the number to zero decimal places. The above formula would result in something like:"
"text": ".toFixed(0) rounds the number to zero decimal places. The above formula would result in something like:",
"translations": [
{
"language": "ID",
"text": ".toFixed(0) membulatkan angka ke tempat nol desimal. formula di atas akan menghasilkan sesuatu seperti:",
"updated": 1616930071150
}
]
},
{
"style": "Json",
@@ -203,7 +427,14 @@
{
"style": "Note",
"text": "If your formula is valid, the system will ignore the plain text version you may have set up in the announcement configuration. If for any reason the formula results in an error, then the plain text version will be used.",
"updated": 1611485748590
"updated": 1611485748590,
"translations": [
{
"language": "ID",
"text": "Jika formulamu valid, Sistem akan mengabaikan versi plain text yang telah kamu atur untuk konfigurasi pengumuman. Jika dalam suatu keadaan formua menghasilkan error, maka versi plain text akan digunakan.",
"updated": 1616930177921
}
]
},
{
"style": "Title",
@@ -211,23 +442,58 @@
},
{
"style": "Text",
"text": "We mentioned earlier that, beyond setting announcements on events, you may also implement announcements at the level of a stop or take profit phase. These are useful to broadcast the management of dynamic stop and take profit targets."
"text": "We mentioned earlier that, beyond setting announcements on events, you may also implement announcements at the level of a stop or take profit phase. These are useful to broadcast the management of dynamic stop and take profit targets.",
"translations": [
{
"language": "ID",
"text": "Kami telah jelaskan sebelumnya bahwa, selain menetapkan pengumuman dalam event, Kamu juga dapat menerapkan pengumuman pada level fase stop atau take profit, Hal ini berguna untuk membroadcast manajemen dari dynamic target stop dan target take profit.",
"updated": 1616930312081
}
]
},
{
"style": "Text",
"text": "When implemented at the level of a phase, the announcement is triggered every time the value of the underlying variable (the stop or take profit target) changes. This is an important difference, as the value may change at every candle (if you are using formulas that use variables)."
"text": "When implemented at the level of a phase, the announcement is triggered every time the value of the underlying variable (the stop or take profit target) changes. This is an important difference, as the value may change at every candle (if you are using formulas that use variables).",
"translations": [
{
"language": "ID",
"text": "Ketika diterapkan pada level suatu fasem pengumuman akan memicu setiap kali nilai variable yang mendasari (target stop atau take profit) berubah. Hal ini adalah perbedaan penting, karena nilainya dapat berubah di setiap candle (jika kamu menggunakan formula yang menggunakan variabel).",
"updated": 1616930435548
}
]
},
{
"style": "Text",
"text": "This could result in too many announcements in relatively short intervals."
"text": "This could result in too many announcements in relatively short intervals.",
"translations": [
{
"language": "ID",
"text": "Hal ini dapat mengakibatkan terlalu banyak pengumuman dalam interval yang relatif singkat.",
"updated": 1616930454433
}
]
},
{
"style": "Text",
"text": "The valueVariation parameter introduced in the announcement configuration may be used to filter out announcements until a certain threshold is achieved. The value you enter will set the percentage of variation that needs to occur before a new announcement is broadcasted."
"text": "The valueVariation parameter introduced in the announcement configuration may be used to filter out announcements until a certain threshold is achieved. The value you enter will set the percentage of variation that needs to occur before a new announcement is broadcasted.",
"translations": [
{
"language": "ID",
"text": "mempengenalkan kedalam konfigurasi pengumuman untuk digunakan dalam memfilter pengumuman hingga ketreshold tertentu. Nilai yang kamu masukkan akan diatur dalam persentase variasi yang dibutuhkan sebelum pengumuman dibroadcast.",
"updated": 1616930623021
}
]
},
{
"style": "Text",
"text": "For instance, \"valueVariation\": 0.5 means a new announcement will be broadcasted every time the value of the underlying variable changes by 0.5%."
"text": "For instance, \"valueVariation\": 0.5 means a new announcement will be broadcasted every time the value of the underlying variable changes by 0.5%.",
"translations": [
{
"language": "ID",
"text": "Contohnya, \"valueVariation\": 0.5 artinya pengumuman baru akan di broadcast setiap kali nilai dari dasar variabel berubah sebanyak 0.5%.",
"updated": 1616930700904
}
]
},
{
"style": "Json",
@@ -236,53 +502,137 @@
},
{
"style": "Title",
"text": "Finishing the Setup"
"text": "Finishing the Setup",
"translations": [
{
"language": "ID",
"text": "Menyelesaikan Setup",
"updated": 1616930723890
}
]
},
{
"style": "Text",
"text": "It is unlikely that you will want to use the announcements feature from within a backtesting session. A more likely scenario is you will want to use it with a paper trading session (to generate signals) or from a live trading session, to monitor the activity of your live trading."
"text": "It is unlikely that you will want to use the announcements feature from within a backtesting session. A more likely scenario is you will want to use it with a paper trading session (to generate signals) or from a live trading session, to monitor the activity of your live trading.",
"translations": [
{
"language": "ID",
"text": "Kemungkinan kecil kamu akan menggunakan fitur pengumuman dari backtesting session. Skenario yang lebih memungkinkan jika kamu ingin menggunakannya dengan paper trading session (Menggenerate sinyal) atau dari live trading session, untuk memonitor aktivitas dari live tradingmu.",
"updated": 1616930923555
}
]
},
{
"style": "Text",
"text": "All you need to do to finish your set up is detach the social bot node from the backtesting session and attach it to the session you wish to use it in. Make sure the corresponding tasks are stopped before detaching and attaching the social bot."
"text": "All you need to do to finish your set up is detach the social bot node from the backtesting session and attach it to the session you wish to use it in. Make sure the corresponding tasks are stopped before detaching and attaching the social bot.",
"translations": [
{
"language": "ID",
"text": "Yang perlu kamu lakukan untuk menyelesaikan penyiapan ini adalah melepaskan social bot node dari backtesting session dan pasangkan kepada session yang kamu inginkan. Pastikan tasks yang berjalan sudah berhenti sebelum melepaskan dan memasangkan social bot.",
"updated": 1616931073057
}
]
},
{
"style": "Title",
"text": "Commercial Setups"
"text": "Commercial Setups",
"translations": [
{
"language": "ID",
"text": "Setup untuk Komersial",
"updated": 1616931096555
}
]
},
{
"style": "Text",
"text": "If you are settting up a signals business or require a more complex setup to broadcast announcements from multiple sessions, multiple strategies, or even to multiple groups, the following considerations may help you decide how to move forwards."
"text": "If you are settting up a signals business or require a more complex setup to broadcast announcements from multiple sessions, multiple strategies, or even to multiple groups, the following considerations may help you decide how to move forwards.",
"translations": [
{
"language": "ID",
"text": "Jika kamu sedang menyiapkan bisnis sinyal atau memerlukan penyiapan yang lebih kompleks untuk membroadcast pengumuman dari beberapa sessions, beberapa strategi, atau bahkan kebeberapa grup, Hal ini akan membantu mempertimbangkan keputusanmu untuk keberikutnya.",
"updated": 1616931205053
}
]
},
{
"style": "Important",
"text": "Telegram does not allow running multiple instances of the same bot. Doing so may produce warnings, cause errors, delays in message delivery, lost messages, and erratic behavior in general.",
"updated": 1611485876079
"updated": 1611485876079,
"translations": [
{
"language": "ID",
"text": "Telegram tidak mengizinkan menjalankan banyak instance dari bot yang sama. Melakukan hal tersebut dapat menghasilkan peringatan, menyebabkan kesalahan, keterlambatan pengiriman pesan, pesan hilang, dan perilaku tidak menentu secara umum dari malfungsi bot.",
"updated": 1616931335441
}
]
},
{
"style": "Text",
"text": "The solution is quite simple. Set up multiple bots. The rule of thumb is you should use one bot for each trading session. Remember you can include as many bots as you wish in your Telegram groups. That is, you may have different bots broadcast from different sessions in the same group."
"text": "The solution is quite simple. Set up multiple bots. The rule of thumb is you should use one bot for each trading session. Remember you can include as many bots as you wish in your Telegram groups. That is, you may have different bots broadcast from different sessions in the same group.",
"translations": [
{
"language": "ID",
"text": "Solusinya cukup mudah. Siapkan multiple bot. Aturan mainnya adalah kamu harus menggunakan satu untuk setiap sesi trading. Ingat kamu dapat memasukkan bot sebanyak kamu inginkan kedalam grup Telegrammu. Aritnya, kamu mungkin memiliki bot berbeda yang dibroadcast dari session berbeda dalam grup yang sama.",
"updated": 1616931501454
}
]
},
{
"style": "Success",
"text": "If you wish to broadcast signals from multiple sessions to the same Telegram Group, you may name each bot in a way that each references their specific session, so that group members know exactly what each message is referring to.",
"updated": 1611485909076
"updated": 1611485909076,
"translations": [
{
"language": "ID",
"text": "Jika kamu ingin membroadcast sinyal dari beberapa session kedalam grup Telegram yang sama, kamu dapat menamai setiap bot dengan referesinya masing-masing terhadap spesifik session. Sehingga anggota grup tahu persis apa yang dirujuk setiap pesan.",
"updated": 1616931602612
}
]
},
{
"style": "Text",
"text": "For example, let’s say you are broadcasting signals from different markets… you may name your bots BTC/USDT, ETH/USDT and XMR/BTC."
"text": "For example, let’s say you are broadcasting signals from different markets… you may name your bots BTC/USDT, ETH/USDT and XMR/BTC.",
"translations": [
{
"language": "ID",
"text": "Misalnya, kamu membroadcast sinyal dari market yang berbeda… Kamu dapat menamai bot dengan BTC / USDT, ETH / USDT, dan XMR / BTC.",
"updated": 1616931653602
}
]
},
{
"style": "Text",
"text": "Or maybe you have different strategies, then simply name the bots after each strategy."
"text": "Or maybe you have different strategies, then simply name the bots after each strategy.",
"translations": [
{
"language": "ID",
"text": "Atau mungkin kamu memiliki strategi yang berbeda, maka cukup beri nama bot dengan setiap strategi.",
"updated": 1616931697879
}
]
},
{
"style": "Text",
"text": "This makes it really easy for group members to know what market or strategy the bot broadcasting the signal is referring to."
"text": "This makes it really easy for group members to know what market or strategy the bot broadcasting the signal is referring to.",
"translations": [
{
"language": "ID",
"text": "Ini membuatnya sangat mudah bagi anggota grup untuk mengetahui market atau strategi apa yang dirujuk oleh bot yang membroadcast sinyal.",
"updated": 1616931728131
}
]
},
{
"style": "Text",
"text": "Another example… let’s say you are running a trading operation for friends and family. Each person is working with a different initial capital, different assets or different exchanges. in such case, you may set up multiple Telegram groups and multiple bots, so that each person may get precise information on what the bots are doing."
"text": "Another example… let’s say you are running a trading operation for friends and family. Each person is working with a different initial capital, different assets or different exchanges. in such case, you may set up multiple Telegram groups and multiple bots, so that each person may get precise information on what the bots are doing.",
"translations": [
{
"language": "ID",
"text": "Contoh lain… misalkan kamu menjalankan trading operation untuk teman dan keluarga. Setiap orang bekerja dengan modal awal yang berbeda, aset yang berbeda, atau exchange yang berbeda. dalam kasus seperti itu, kamu dapat mengatur beberapa grup Telegram dan beberapa bot, sehingga setiap orang dapat memperoleh informasi yang tepat tentang apa yang dilakukan bot tersebut.",
"updated": 1616931801957
}
]
}
]
}
@@ -0,0 +1,54 @@
{
"topic": "Tested Exchanges",
"pageNumber": 1,
"type": "Community Effort to Test Exchanges",
"definition": {
"text": "This topic covers the results of the Community work testing exchanges. Each page in the topic describes the results of the tests performed on one exchange, and explains whether the exchange is usable or not.",
"updated": 1616010652806
},
"paragraphs": [
{
"style": "Title",
"text": "CCXT Library",
"updated": 1616154563847
},
{
"style": "Text",
"text": "Superalgos uses the CCXT library to communicate with exchanges. CCXT is an open-source project attempting to standardize access to exchanges APIs."
},
{
"style": "Text",
"text": "The project lists more than 120 exchanges as \"supported\" and a few dozen exchanges as \"certified\". See the list in the following ink:",
"updated": 1616006648441
},
{
"style": "Link",
"text": "CCXT List of Exchange Markets->github.com/ccxt/ccxt/wiki/Exchange-Markets",
"updated": 1616006289241
},
{
"style": "Text",
"text": "However, it is not clear what exactly is supported nor what is certified. Current experience shows that standardization has still a long way to go.",
"updated": 1616006593509
},
{
"style": "Success",
"text": "To know if your preferred exchange is ready to be used in Superalgos, consult the corresponding page in this topic.",
"updated": 1616006719622
},
{
"style": "Title",
"text": "If Your Preferred Exchange Is Not Tested",
"updated": 1616154613520
},
{
"style": "Text",
"text": "If your preferred exchange doesn't show up in this list, it means that it hasn't been tested. You may want to ask in the Develop Group to see if anyone has started tests. ",
"updated": 1616154716371
},
{
"style": "Success",
"text": "If you are a developer, you may want to learn How to Test New Exchanges and help the Community in the quest to expand the list."
}
]
}
@@ -1,6 +1,6 @@
{
"topic": "Tested Exchanges",
"pageNumber": "1",
"pageNumber": 2,
"type": "Binance Test Status",
"definition": {
"text": "Binance is fully tested for data mining and trading.",
@@ -14,7 +14,8 @@
},
{
"style": "List",
"text": "1-min OHLCVs Capability [*]: Yes."
"text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.",
"updated": 1616003523813
},
{
"style": "List",
@@ -23,22 +24,14 @@
},
{
"style": "List",
"text": "Trading Capability [**]: Yes.",
"updated": 1615143016205
"text": "Trading Capability: Yes. The ability to run strategies in live-trading mode has been verified.",
"updated": 1616003541160
},
{
"style": "List",
"text": "Comments: Fully tested. Starting with Binance is recommended as the experience is seamless.",
"updated": 1615142951363
},
{
"style": "Text",
"text": "[*] The ability to fetch historic data for backtesting purposes has been verified."
},
{
"style": "Text",
"text": "[**] The ability to run strategies in live-trading mode has been verified."
},
{
"style": "Title",
"text": "Configuration"
@@ -1,10 +1,10 @@
{
"topic": "Tested Exchanges",
"pageNumber": "2",
"pageNumber": 3,
"type": "FTX Test Status",
"definition": {
"text": "FTX is tested for data mining but not for live trading",
"updated": 1615204721150
"text": "FTX is tested for data mining but not for live trading.",
"updated": 1616003850379
},
"paragraphs": [
{
@@ -14,8 +14,8 @@
},
{
"style": "List",
"text": "1-min OHLCVs Capability [*]: Yes",
"updated": 1615204617519
"text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.",
"updated": 1616003666832
},
{
"style": "List",
@@ -24,23 +24,14 @@
},
{
"style": "List",
"text": "Trading Capability [**]: Unknown",
"updated": 1615204866750
"text": "Trading Capability: Unknown. The ability to run strategies in live-trading mode has not been verified.",
"updated": 1616003699055
},
{
"style": "List",
"text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API",
"updated": 1615205045729
},
{
"style": "Text",
"text": "[*] The ability to fetch historic data for backtesting purposes has been verified."
},
{
"style": "Text",
"text": "[**] The ability to run strategies in live-trading mode has not been verified.",
"updated": 1615211002861
},
{
"style": "Title",
"text": "Configuration"
@@ -1,10 +1,10 @@
{
"topic": "Tested Exchanges",
"pageNumber": "3",
"pageNumber": 4,
"type": "Binance-US Test Status",
"definition": {
"text": "Binance US is tested for data mining and live trading",
"updated": 1615210764406
"updated": 1616241967855
},
"paragraphs": [
{
@@ -14,8 +14,8 @@
},
{
"style": "List",
"text": "1-min OHLCVs Capability [*]: Yes",
"updated": 1615204617519
"text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified",
"updated": 1616241978955
},
{
"style": "List",
@@ -24,23 +24,14 @@
},
{
"style": "List",
"text": "Trading Capability [**]: Yes",
"updated": 1615210793722
"text": "Trading Capability: Yes. The ability to run strategies in live-trading mode has been verified",
"updated": 1616241962902
},
{
"style": "List",
"text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API",
"updated": 1615205045729
},
{
"style": "Text",
"text": "[*] The ability to fetch historic data for backtesting purposes has been verified."
},
{
"style": "Text",
"text": "[**] The ability to run strategies in live-trading mode has not been verified.",
"updated": 1615210884706
},
{
"style": "Title",
"text": "Configuration"
@@ -1,10 +1,10 @@
{
"topic": "Tested Exchanges",
"pageNumber": "4",
"pageNumber": 5,
"type": "Bitfinex Test Status",
"definition": {
"text": "Bitfinex is tested for data mining but not for live trading",
"updated": 1615211117153
"text": "Bitfinex is tested for data mining but not for live trading.",
"updated": 1616003876885
},
"paragraphs": [
{
@@ -14,32 +14,23 @@
},
{
"style": "List",
"text": "1-min OHLCVs Capability [*]: Yes",
"updated": 1615204617519
"text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.",
"updated": 1616003797511
},
{
"style": "List",
"text": "Market History: Starting on Genuary 2020",
"updated": 1615211056787
"text": "Market History: 1 year.",
"updated": 1616004049653
},
{
"style": "List",
"text": "Trading Capability [**]: Unknown",
"updated": 1615204866750
"text": "Trading Capability: Unknown. The ability to run strategies in live-trading mode has not been verified.",
"updated": 1616003817998
},
{
"style": "List",
"text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API",
"updated": 1615205045729
},
{
"style": "Text",
"text": "[*] The ability to fetch historic data for backtesting purposes has been verified."
},
{
"style": "Text",
"text": "[**] The ability to run strategies in live-trading mode has not been verified.",
"updated": 1615211026605
"text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API.",
"updated": 1616004065179
},
{
"style": "Title",
@@ -1,10 +1,10 @@
{
"topic": "Tested Exchanges",
"pageNumber": "5",
"pageNumber": 6,
"type": "Kucoin Test Status",
"definition": {
"text": "Kucoin is not tested for data mining nor for live trading",
"updated": 1615211178818
"text": "Kucoin is not tested for data mining nor for live trading.",
"updated": 1616003885667
},
"paragraphs": [
{
@@ -14,8 +14,8 @@
},
{
"style": "List",
"text": "1-min OHLCVs Capability [*]: Yes",
"updated": 1615204617519
"text": "1-min OHLCVs Capability: Unknown. The ability to fetch historic data for backtesting purposes has not been verified.",
"updated": 1616003998850
},
{
"style": "List",
@@ -24,24 +24,14 @@
},
{
"style": "List",
"text": "Trading Capability [**]: Unknown",
"updated": 1615204866750
"text": "Trading Capability: Unknown. The ability to run strategies in live-trading mode has not been verified.",
"updated": 1616003950201
},
{
"style": "List",
"text": "Comments: While testing with standard configuration it was possible to fetch 1 day of historical Raw Data",
"updated": 1615211286656
},
{
"style": "Text",
"text": "[*] The ability to fetch historic data for backtesting purposes has not been verified",
"updated": 1615211296452
},
{
"style": "Text",
"text": "[**] The ability to run strategies in live-trading mode has not been verified",
"updated": 1615211304255
},
{
"style": "Title",
"text": "Configuration"
@@ -1,59 +0,0 @@
{
"topic": "Tested Exchanges",
"pageNumber": "6",
"type": "Luno Test Status",
"definition": {
"text": "Luno is tested for data mining and for live trading",
"updated": 1615550142553
},
"paragraphs": [
{
"style": "Title",
"text": "Properties",
"updated": 1615143100216
},
{
"style": "List",
"text": "1-min OHLCVs Capability [*]: Yes",
"updated": 1615204617519
},
{
"style": "List",
"text": "Market History: Unknown",
"updated": 1615204614502
},
{
"style": "List",
"text": "Trading Capability [**]: Yes",
"updated": 1615550165906
},
{
"style": "List",
"text": "Comments: Raw Data mining is extremely slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API. One day of Raw Data takes about 5 minutes to download. Keep this in mind when setting a start date. The reason for this is because they do not support fetching of OHCLV data - this data has to be compiled by fetching individual trades. The fetching of trades is limited to 100 trades per request, and the rate limit is 1 second.",
"updated": 1615456853257
},
{
"style": "Text",
"text": "[*] The ability to fetch historic data for backtesting purposes has been verified.",
"updated": 1615456911815
},
{
"style": "Text",
"text": "[**] The ability to run strategies in live-trading mode is now possible. Ensure that the version of the CCXT library being used by Superalgos is 1.42.77 or better - earlier versions of this library did not correctly apply the precision settings of the exchange in the amounts specified for creating orders.",
"updated": 1615550355806
},
{
"style": "Title",
"text": "Configuration"
},
{
"style": "Json",
"text": "{\n \"codeName\": \"luno\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"useFetchTradesForFetchOHLCVs\": true,\n \"maxTradesPerFetch\": 100,\n \"limit\": 200,\n \"rateLimit\": 1100\n }\n ]\n}",
"updated": 1615211372349
},
{
"style": "Text",
"text": ""
}
]
}
@@ -0,0 +1,40 @@
{
"topic": "Tested Exchanges",
"pageNumber": 7,
"type": "Luno Test Status",
"definition": {
"text": "Luno is tested for data mining and for live trading.",
"updated": 1616004109619
},
"paragraphs": [
{
"style": "Title",
"text": "Properties",
"updated": 1615143100216
},
{
"style": "List",
"text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.",
"updated": 1616004152806
},
{
"style": "List",
"text": "Trading Capability [**]: Yes. The ability to run strategies in live-trading mode is now possible. Ensure that the version of the CCXT library being used by Superalgos is 1.42.77 or better - earlier versions of this library did not correctly apply the precision settings of the exchange in the amounts specified for creating orders.",
"updated": 1616004171327
},
{
"style": "List",
"text": "Comments: Raw Data mining is extremely slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API. One day of Raw Data takes about 5 minutes to download. Keep this in mind when setting a start date. The reason for this is because they do not support fetching of OHCLV data - this data has to be compiled by fetching individual trades. The fetching of trades is limited to 100 trades per request, and the rate limit is 1 second.",
"updated": 1616004526344
},
{
"style": "Title",
"text": "Configuration"
},
{
"style": "Json",
"text": "{\n \"codeName\": \"luno\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"useFetchTradesForFetchOHLCVs\": true,\n \"maxTradesPerFetch\": 100,\n \"limit\": 200,\n \"rateLimit\": 1100\n }\n ]\n}",
"updated": 1615211372349
}
]
}
@@ -1,10 +1,10 @@
{
"topic": "Tested Exchanges",
"pageNumber": "7",
"pageNumber": 8,
"type": "Kraken Test Status",
"definition": {
"text": "Kraken is tested for data mining but not for live trading",
"updated": 1615204721150
"text": "Kraken is tested for data mining but not for live trading.",
"updated": 1616005542987
},
"paragraphs": [
{
@@ -14,8 +14,8 @@
},
{
"style": "List",
"text": "1-min OHLCVs Capability [*]: Yes",
"updated": 1615204617519
"text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.",
"updated": 1616005497164
},
{
"style": "List",
@@ -24,24 +24,14 @@
},
{
"style": "List",
"text": "Trading Capability [**]: Unknown",
"updated": 1615204866750
"text": "Trading Capability [**]: Unknown. The ability to run strategies in live-trading mode has not been verified.",
"updated": 1616005523609
},
{
"style": "List",
"text": "Comments: With standard settings only one day worth of Raw Data is fetched. To retrieve Raw Data in Kraken, pairs in config are reversed. Backtesting and Live Trading behaviour unknown",
"updated": 1615278620667
},
{
"style": "Text",
"text": "[*] The ability to fetch historic data for backtesting purposes has not been verified",
"updated": 1615211359233
},
{
"style": "Text",
"text": "[**] The ability to run strategies in live-trading mode has not been verified",
"updated": 1615211364516
},
{
"style": "Title",
"text": "Configuration"
@@ -1,10 +1,10 @@
{
"topic": "Tested Exchanges",
"pageNumber": "8",
"pageNumber": 9,
"type": "Bittrex Test Status",
"definition": {
"text": "Bittrex is not fully tested for data mining nor for live trading",
"updated": 1615450372178
"text": "Bittrex is not fully tested for data mining nor for live trading.",
"updated": 1616005578529
},
"paragraphs": [
{
@@ -14,34 +14,24 @@
},
{
"style": "List",
"text": "1-min OHLCVs Capability [*]: Yes",
"updated": 1615204617519
"text": "1-min OHLCVs Capability: Unknown. The ability to fetch historic data for backtesting purposes has not been verified.",
"updated": 1616005666238
},
{
"style": "List",
"text": "Market History: Unknown",
"updated": 1615450231832
"text": "Market History: Unknown.",
"updated": 1616005647200
},
{
"style": "List",
"text": "Trading Capability [**]: Unknown",
"updated": 1615204866750
"text": "Trading Capability [**]: Unknown. The ability to run strategies in live-trading mode has not been verified.",
"updated": 1616005641922
},
{
"style": "List",
"text": "Comments: Raw Data mining it's extremely slow due to API restriction",
"updated": 1615450349464
},
{
"style": "Text",
"text": "[*] The ability to fetch historic data for backtesting purposes has not been verified",
"updated": 1615211296452
},
{
"style": "Text",
"text": "[**] The ability to run strategies in live-trading mode has not been verified",
"updated": 1615211304255
},
{
"style": "Title",
"text": "Configuration"
@@ -0,0 +1,56 @@
{
"topic": "Tested Exchanges",
"pageNumber": "10",
"type": "Bitstamp Test Status",
"definition": {
"text": "Bitstamp is fully tested for data mining and trading.",
"updated": 1615141847424
},
"paragraphs": [
{
"style": "Title",
"text": "Properties",
"updated": 1615143100216
},
{
"style": "List",
"text": "1-min OHLCVs Capability [*]: Yes."
},
{
"style": "List",
"text": "Market History: Starting on September 2017.",
"updated": 1615142912901
},
{
"style": "List",
"text": "Trading Capability [**]: Yes.",
"updated": 1615143016205
},
{
"style": "List",
"text": "Comments: Fully tested. ",
"updated": 1615142951363
},
{
"style": "Text",
"text": "[*] The ability to fetch historic data for backtesting purposes has been verified."
},
{
"style": "Text",
"text": "[**] The ability to run strategies in live-trading mode has been verified."
},
{
"style": "Title",
"text": "Configuration"
},
{
"style": "Json",
"text": "{\n \"codeName\": \"bitstamp\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}",
"updated": 1616805179437
},
{
"style": "Text",
"text": ""
}
]
}
@@ -1,10 +1,10 @@
{
"topic": "Tested Exchanges",
"pageNumber": "9",
"pageNumber": 10,
"type": "CoinbasePro Test Status",
"definition": {
"text": "Coinbase Pro is not fully tested for data mining nor for live trading",
"updated": 1615453123690
"text": "Coinbase Pro is not fully tested for data mining nor for live trading.",
"updated": 1616005773803
},
"paragraphs": [
{
@@ -14,8 +14,8 @@
},
{
"style": "List",
"text": "1-min OHLCVs Capability [*]: Yes",
"updated": 1615204617519
"text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has not been fully verified.",
"updated": 1616005829277
},
{
"style": "List",
@@ -24,23 +24,13 @@
},
{
"style": "List",
"text": "Trading Capability [**]: Unknown",
"updated": 1615204866750
"text": "Trading Capability: Unknown.The ability to run strategies in live-trading mode has not been verified.",
"updated": 1616005834904
},
{
"style": "List",
"text": "Comments: Raw Data fetching extremely slow due to API restrictions, see config",
"updated": 1615453110186
},
{
"style": "Text",
"text": "[*] The ability to fetch historic data for backtesting purposes has not been fully verified",
"updated": 1615453130798
},
{
"style": "Text",
"text": "[**] The ability to run strategies in live-trading mode has not been verified",
"updated": 1615211304255
"text": "Comments: Raw Data fetching extremely slow due to API restrictions, see config.",
"updated": 1616005813658
},
{
"style": "Title",
@@ -160,11 +160,13 @@
},
{
"style": "Javascript",
"text": "productName.[currentCandleIndex-n].propertyName"
"text": "productName.[tradingEngine.tradingCurrent.tradingEpisode.candle.index.value-n].propertyName",
"updated": 1616079715540
},
{
"style": "Text",
"text": "... where currentCandleIndex represents the last closed candle and n may be replaced by any integer number."
"text": "... where tradingEngine.tradingCurrent.tradingEpisode.candle.index.value represents the last closed candle and n may be replaced by any integer number.",
"updated": 1616079709332
},
{
"style": "Text",
@@ -173,7 +175,8 @@
},
{
"style": "Javascript",
"text": "chart.at01hs.candle.[currentCandleIndex-5].max"
"text": "chart.at01hs.candle.[tradingEngine.tradingCurrent.tradingEpisode.candle.index.value-5].max",
"updated": 1616079725136
},
{
"style": "Text",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "1",
"pageNumber": 1,
"type": "TS LF Trading Bot Error - Evaluating Condition Error",
"definition": {
"text": "An error occured while evaluating a user defined Condition in the Trading System.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "2",
"pageNumber": 2,
"type": "TS LF Trading Bot Error - Evaluating Formula Error",
"definition": {
"text": "An error occured while evaluatiing a user-defined Formula at the Trading System.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "3",
"pageNumber": 3,
"type": "TS LF Trading Bot Error - Formula Value Not A Number",
"definition": {
"text": "Formulas must always evaluate to a number. When they don't, this error happens.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "4",
"pageNumber": 4,
"type": "TS LF Trading Bot Error - Reference to Phase Node Missing",
"definition": {
"text": "The Move To Phase Event node where this error originated is expected to reference a Phase node so that—when all conditions are met—the LF Trading Bot may switch to the referenced Phase.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "5",
"pageNumber": 5,
"type": "TS LF Trading Bot Error - Maximum Balance Reached",
"definition": {
"text": "The Trading Session stopped because the maximum balance configured for the session was reached.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "6",
"pageNumber": 6,
"type": "TS LF Trading Bot Error - Minimum Balance Reached",
"definition": {
"text": "The Trading Session stopped because the minimum balance configured for the session was reached.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "7",
"pageNumber": 7,
"type": "TS LF Trading Bot Error - Initial Targets Node Missing",
"definition": {
"text": "An Initial Targets node was expected but not found at the node where the error originated.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "8",
"pageNumber": 8,
"type": "TS LF Trading Bot Error - Target Rate Node Missing",
"definition": {
"text": "A Target Rate node was expected but not found at the node where the error originated.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "9",
"pageNumber": 9,
"type": "TS LF Trading Bot Error - Formula Node Missing",
"definition": {
"text": "A Formula node was expected but not found at the node where the error originated.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "10",
"pageNumber": 10,
"type": "TS LF Trading Bot Error - Target Rate Node Value Undefined",
"definition": {
"text": "The value of the Target Rate node can not be undefined.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "11",
"pageNumber": 11,
"type": "TS LF Trading Bot Error - Target Rate Node Value Not A Number",
"definition": {
"text": "The value of the Target Rate node must be a number.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "12",
"pageNumber": 12,
"type": "TS LF Trading Bot Error - Only One Target Size Allowed",
"definition": {
"text": "You can not define a Target Size In Base Asset and a Target Size In Quoted Asset simultaneously. You must pick one of the two and delete the remaining one.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "13",
"pageNumber": 13,
"type": "TS LF Trading Bot Error - Target Size Value Undefined",
"definition": {
"text": "The value of the Target Size can not be undefined.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "14",
"pageNumber": 14,
"type": "TS LF Trading Bot Error - Target Size Value Zero",
"definition": {
"text": "The Target Size can not be zero, and that is what the Formula evaluates at the moment.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "15",
"pageNumber": 15,
"type": "TS LF Trading Bot Error - Order Reference Missing",
"definition": {
"text": "Each order in the Trading System is expected to reference an order of the same type in the Trading Engine Data Structure. This reference tells the system where to track the values of the order properties while the bot is running.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "16",
"pageNumber": 16,
"type": "TS LF Trading Bot Error - Status Node Missing",
"definition": {
"text": "A Status node was expected but not found at the node where the error originated.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "17",
"pageNumber": 17,
"type": "TS LF Trading Bot Error - Percentage Of Algorithm Size Property Missing",
"definition": {
"text": "You must specify what percentage of the Size handled by the Execution Algorithm is to be handled by the Order.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "18",
"pageNumber": 18,
"type": "TS LF Trading Bot Error - Serial Number Node Missing",
"definition": {
"text": "A Serial Number node was expected but not found at the node where the error originated.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "19",
"pageNumber": 19,
"type": "TS LF Trading Bot Error - Identifier Node Missing",
"definition": {
"text": "An Identifier node was expected but not found at the node where the error originated.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "20",
"pageNumber": 20,
"type": "TS LF Trading Bot Error - Exchange Id Node Missing",
"definition": {
"text": "An Exchange Id node was expected but not found at the node where the error originated.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "21",
"pageNumber": 21,
"type": "TS LF Trading Bot Error - Begin Node Missing",
"definition": {
"text": "A Begin node was expected but not found at the node where the error originated.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "22",
"pageNumber": 22,
"type": "TS LF Trading Bot Error - End Node Missing",
"definition": {
"text": "An End node was expected but not found at the node where the error originated.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "23",
"pageNumber": 23,
"type": "TS LF Trading Bot Error - Rate Node Missing",
"definition": {
"text": "A Rate node was expected but not found at the node where the error originated.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "24",
"pageNumber": 24,
"type": "TS LF Trading Bot Error - Algorithm Name Node Missing",
"definition": {
"text": "An Algorithm Name node was expected but not found at the node where the error originated.",
@@ -1,6 +1,6 @@
{
"topic": "TS LF Trading Bot Errors",
"pageNumber": "25",
"pageNumber": 25,
"type": "TS LF Trading Bot Error - Order Counters Node Missing",
"definition": {
"text": "An Order Counters node was expected but not found at the node where the error originated.",
Loaded 100 of 419 files, more files were not shown because too many files have changed in this diff. Show more