Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop
This commit is contained in:
commit
ba54382272
64 files changed
+767
-253
No files matched your search
@@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
viewBox="0 0 426.4 426.4"
|
||||
width="533"
|
||||
height="533"
|
||||
version="1.1"
|
||||
id="svg871"
|
||||
sodipodi:docname="dogecoin.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
|
||||
inkscape:export-filename="E:\Superalgos\Projects\Superalgos\Icons\dogecoin.png"
|
||||
inkscape:export-xdpi="92.217636"
|
||||
inkscape:export-ydpi="92.217636">
|
||||
<metadata
|
||||
id="metadata877">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs875" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview873"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="0.68"
|
||||
inkscape:cx="158.093"
|
||||
inkscape:cy="315.8093"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer2" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Layer 2"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:#f5f5f5;stroke:#4acfd9;stroke-width:0.8"
|
||||
id="rect1444"
|
||||
width="257.64706"
|
||||
height="250.58823"
|
||||
x="96.470581"
|
||||
y="88.235298" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
style="display:inline">
|
||||
<g
|
||||
fill="#c2a633"
|
||||
id="g869">
|
||||
<path
|
||||
d="m 218.3168,140.4988 h -30.46202 v 60.05631 H 235.78 v 25.14479 h -47.92522 v 60.0521 h 31.95442 c 8.2103,0 67.4053,0.9274 67.3136,-69.8699 -0.092,-70.79737 -57.4126,-75.3833 -68.806,-75.3833 z"
|
||||
id="path865"
|
||||
style="stroke-width:0.2132" />
|
||||
<path
|
||||
d="M 213.2,0 C 95.451766,0 0,95.45177 0,213.2 0,330.9482 95.451766,426.4 213.2,426.4 330.9482,426.4 426.4,330.9482 426.4,213.2 426.4,95.45177 330.9482,0 213.2,0 Z m 8.3766,328.3493 H 144.36625 V 225.702 h -27.21711 v -25.14476 h 27.21498 V 97.90357 h 66.26682 c 15.67656,0 119.51136,-3.25556 119.51136,117.14913 0,122.396 -108.5635,113.2966 -108.5635,113.2966 z"
|
||||
id="path867"
|
||||
style="stroke-width:0.2132" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
@@ -0,0 +1,88 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="Layer_1"
|
||||
viewBox="0 0 533 533"
|
||||
version="1.1"
|
||||
sodipodi:docname="discord-bot.svg"
|
||||
width="533"
|
||||
height="533"
|
||||
inkscape:export-filename="E:\Superalgos\Projects\Superalgos\Icons\discord-bot.png"
|
||||
inkscape:export-xdpi="92.217636"
|
||||
inkscape:export-ydpi="92.217636"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata13">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs11" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview9"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.62608413"
|
||||
inkscape:cx="36.435065"
|
||||
inkscape:cy="256.47149"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<style
|
||||
id="style2">.st0{fill:#7289DA;}</style>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Layer 2"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="display:inline;fill:#f5f5f5;stroke:#4acfd9"
|
||||
id="rect867"
|
||||
width="397.71014"
|
||||
height="292.293"
|
||||
x="77.465599"
|
||||
y="87.049004"
|
||||
inkscape:export-filename="E:\Superalgos\Projects\Superalgos\Icons\rect867.png"
|
||||
inkscape:export-xdpi="92.217636"
|
||||
inkscape:export-ydpi="92.217636" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
style="display:inline">
|
||||
<path
|
||||
class="st0"
|
||||
d="m 218.26349,223.59351 c -15.19048,0 -27.18298,13.325 -27.18298,29.5815 0,16.2565 12.259,29.5815 27.18298,29.5815 15.1905,0 27.183,-13.325 27.183,-29.5815 0.2665,-16.2565 -11.9925,-29.5815 -27.183,-29.5815 z m 97.27251,0 c -15.1905,0 -27.183,13.325 -27.183,29.5815 0,16.2565 12.259,29.5815 27.183,29.5815 15.1905,0 27.183,-13.325 27.183,-29.5815 0,-16.2565 -11.9925,-29.5815 -27.183,-29.5815 z"
|
||||
id="path4"
|
||||
style="fill:#7289da;stroke-width:2.665" />
|
||||
<path
|
||||
class="st0"
|
||||
d="M 445.055,0 H 87.945004 C 57.830503,0 33.3125,24.518 33.3125,54.898998 V 415.20702 c 0,30.381 24.518003,54.899 54.632504,54.899 H 390.156 l -14.1245,-49.3025 34.112,31.7135 32.2465,29.848 57.2975,50.635 V 54.898998 C 499.6875,24.518 475.1695,0 445.055,0 Z M 342.186,348.04901 c 0,0 -9.594,-11.4595 -17.589,-21.5865 34.9115,-9.8605 48.2365,-31.7135 48.2365,-31.7135 -10.9265,7.1955 -21.32,12.259 -30.6475,15.7235 -13.325,5.5965 -26.117,9.3275 -38.6425,11.4595 -25.584,4.797 -49.036,3.4645 -69.02351,-0.2665 -15.1905,-2.9315 -28.24898,-7.1955 -39.17548,-11.4595 -6.1295,-2.3985 -12.792,-5.33 -19.4545,-9.061 -0.7995,-0.533 -1.599,-0.7995 -2.3985,-1.3325 -0.533,-0.2665 -0.7995,-0.533 -1.066,-0.7995 -4.797,-2.665 -7.462,-4.5305 -7.462,-4.5305 0,0 12.792,21.32 46.6375,31.447 -7.995,10.127 -17.8555,22.1195 -17.8555,22.1195 -58.89651,-1.8655 -81.28251,-40.508 -81.28251,-40.508 0,-85.813 38.37601,-155.36951 38.37601,-155.36951 38.376,-28.782 74.88648,-27.9825 74.88648,-27.9825 l 2.665,3.198 c -47.96998,13.858 -70.08948,34.9115 -70.08948,34.9115 0,0 5.863,-3.198 15.7235,-7.7285 28.5155,-12.5255 51.16798,-15.99 60.49548,-16.7895 1.599,-0.2665 2.9315,-0.533 4.5305,-0.533 16.25651,-2.132 34.64501,-2.665 53.83301,-0.533 25.3175,2.9315 52.5005,10.3935 80.2165,25.584 0,0 -21.0535,-19.9875 -66.3585,-33.8455 l 3.731,-4.264 c 0,0 36.5105,-0.7995 74.8865,27.9825 0,0 38.376,69.55651 38.376,155.36951 0,0 -22.6525,38.6425 -81.549,40.508 z"
|
||||
id="path6"
|
||||
style="fill:#7289da;stroke-width:2.665" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
@@ -1 +1 @@
|
||||
{"type":"Workspace","name":"Creating Custom Charts","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":"Binanceus","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":"Binanceus 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":26497.378634092645,"y":28190.39686701245},"targetPosition":{"x":26757.186255227978,"y":28040.39686701245},"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":26757.186255227978,"y":28040.39686701245},"targetPosition":{"x":27016.99387636331,"y":27890.39686701245},"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":27016.99387636331,"y":27890.39686701245},"targetPosition":{"x":27276.801497498644,"y":27740.39686701245},"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":26407.46825383848,"y":27662.75115348169},"targetPosition":{"x":26697.2460017252,"y":27585.105439950934},"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":26485.113967369238,"y":27372.97340559497},"targetPosition":{"x":26697.2460017252,"y":27585.105439950934},"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":26697.2460017252,"y":27585.105439950934},"targetPosition":{"x":26987.023749611923,"y":27662.75115348169},"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":26987.023749611923,"y":27662.75115348169},"targetPosition":{"x":27276.801497498644,"y":27740.39686701245},"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":26716.99387636331,"y":27070.781624741783},"targetPosition":{"x":26976.801497498644,"y":27220.781624741783},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referencePLine truncated
|
||||
{"type":"Workspace","name":"Creating Custom Charts","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":"Binanceus","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":"Binanceus 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":"48da2d1f-85aa-4206-8e53-cc010c3280d2","savedPayload":{"position":{"x":26808.380470322878,"y":28508.890029831477},"targetPosition":{"x":26964.5208127148,"y":28252.725642225134},"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":"7d9aefc0-f001-4acb-9e97-34039ed84072","savedPayload":{"position":{"x":26964.5208127148,"y":28252.725642225134},"targetPosition":{"x":27120.66115510672,"y":27996.56125461879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"9157e60f-5ffa-48e0-8d48-a5d328bcc073","savedPayload":{"position":{"x":27120.66115510672,"y":27996.56125461879},"targetPosition":{"x":27276.801497498644,"y":27740.39686701245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Webhooks","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Webhooks","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Webhooks Check-Webhook","project":"Superalgos","id":"43d40b57-8729-4b76-8c23-785afca39d6c","savedPayload":{"position":{"x":26610.84526955405,"y":28345.79120334358},"targetPosition":{"x":26832.830678868915,"y":28143.993091233202},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Check-Webhook","id":"69f37820-ab16-4e19-bfd8-386dd6e249a3"}}}],"id":"d7618750-0098-4802-ac35-9d06ce6c534d","savedPayload":{"position":{"x":26832.830678868915,"y":28143.993091233202},"targetPosition":{"x":27054.81608818378,"y":27942.194979122825},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"77c8d6b4-be65-43b9-8e4a-23036d9e03d9","savedPayload":{"position":{"x":27054.81608818378,"y":27942.194979122825},"targetPosition":{"x":27276.801497498644,"y":27740.39686701245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{ \n\"parameter1\": \"Value for parameter1 defined at the Product Definition\"\n}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Market","project":"Superalgos","id":"0e5261ce-0641-49c1-944a-75ff40a394fa","savedPayload":{"position":{"x":26510.383548046007,"y":28199.02179461765},"targetPosition":{"x":26737.108420352284,"y":28002.563574434065},"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":"3b721729-5767-4b5d-b62d-16d83eba5a88","savedPayload":{"position":{"x":26442.529811173474,"y":28059.338947742188},"targetPosition":{"x":26737.108420352284,"y":28002.563574434065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangemeLine truncated
|
||||
@@ -23,7 +23,7 @@
|
||||
"action": "Add UI Object",
|
||||
"disableIfPropertyIsDefined": true,
|
||||
"propertyToCheckFor": "announcementCondition",
|
||||
"label": "Add Condition",
|
||||
"label": "Add Announcement Condition",
|
||||
"relatedUiObject": "Announcement Condition",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
|
||||
@@ -103,6 +103,10 @@
|
||||
{
|
||||
"codeName": "XRP",
|
||||
"iconName": "xrp"
|
||||
},
|
||||
{
|
||||
"codeName": "DOGE",
|
||||
"iconName": "dogecoin"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -32,10 +32,10 @@
|
||||
"config": "{\n\"webhookURL\": \"Paste the webhook url obtained from Discord > Channel Settings > Integrations > Webhooks > New Webhook\"\n}"
|
||||
},
|
||||
"addLeftIcons": true,
|
||||
"level": 4,
|
||||
"level": 3,
|
||||
"attachingRules": {
|
||||
"compatibleTypes": "->Social Bots->"
|
||||
},
|
||||
"childrenNodesProperties": [],
|
||||
"propertyNameAtParent": "bots"
|
||||
"propertyNameAtParent": "discordBots"
|
||||
}
|
||||
@@ -30,13 +30,13 @@
|
||||
},
|
||||
"childrenNodesProperties": [
|
||||
{
|
||||
"name": "bots",
|
||||
"name": "telegramBots",
|
||||
"type": "array",
|
||||
"childType": "Telegram Bot",
|
||||
"autoAdd": true
|
||||
},
|
||||
{
|
||||
"name": "bots",
|
||||
"name": "discordBots",
|
||||
"type": "array",
|
||||
"childType": "Discord Bot",
|
||||
"autoAdd": true
|
||||
|
||||
@@ -32,10 +32,10 @@
|
||||
"config": "{ \n\"botToken\": \"Paste the bot token obtained from Telegram Bot Father\",\n\"chatId\": \"Type or paste the chat or group id -a number with no quotes- where announcements are going to be sent to\"\n}"
|
||||
},
|
||||
"addLeftIcons": true,
|
||||
"level": 4,
|
||||
"level": 3,
|
||||
"attachingRules": {
|
||||
"compatibleTypes": "->Social Bots->"
|
||||
},
|
||||
"childrenNodesProperties": [],
|
||||
"propertyNameAtParent": "bots"
|
||||
"propertyNameAtParent": "telegramBots"
|
||||
}
|
||||
@@ -155,21 +155,23 @@
|
||||
},
|
||||
{
|
||||
"style": "Title",
|
||||
"text": "Switch to the Develop Branch and Update Before You Start",
|
||||
"updated": 1613811592905
|
||||
"text": "Switch Branches and Update Before You Start",
|
||||
"updated": 1620501837377
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "All contributions must be submitted to the Develop branch. Make sure you update to the latest version in Develop and that everything you are submitting works properly in that version."
|
||||
"text": "All contributions to the Docs and Plugins must be submitted to the Plugins-Docs branch. All contributions to the code base must be submitted to the Develop branch. Make sure you update to the latest version in new branch and that everything you are submitting works properly in that version.",
|
||||
"updated": 1620501903096
|
||||
},
|
||||
{
|
||||
"style": "Subtitle",
|
||||
"text": "Switch to Develop",
|
||||
"updated": 1613811609773
|
||||
"text": "Switch Branches",
|
||||
"updated": 1620501916113
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "To switch to the develop branch:"
|
||||
"text": "To switch to the plugins-docs or the develop branch:",
|
||||
"updated": 1620501928162
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
@@ -177,11 +179,13 @@
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Select Develop under the Contributions Branch title. "
|
||||
"text": "Select Plugins-Docs or Develop under the Contributions Branch title.",
|
||||
"updated": 1620501942290
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Then select Develop under the Choose the Current Branch title. "
|
||||
"text": "Then select Plugins-Docs or Develop under the Choose the Current Branch title.",
|
||||
"updated": 1620501951286
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
|
||||
@@ -3,11 +3,32 @@
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode."
|
||||
"text": "The Announcement node is used to configure the default text content of the message which will be sent by any Social Bots configured under the Trading Session.",
|
||||
"updated": 1619262133229
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The Announcement node can also optionally contain children nodes to define more specific announcement formula (content) and announcement conditions.",
|
||||
"updated": 1619262375139
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "An Announcement Formula child node contains the Javascript text string formula which defines the content of the message that will be sent.",
|
||||
"updated": 1619261939276
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "An Announcement Condition child node defines the condition when the message will be sent.",
|
||||
"updated": 1619261952452
|
||||
},
|
||||
{
|
||||
"style": "Warning",
|
||||
"text": "If the announcement formula child node is <u>not configured</u>, or; if there is an <u>error evaulating</u> the announcement formula or announcement condition then the default text configuration of the parent announcement node itself is sent instead.",
|
||||
"updated": 1619262444866
|
||||
}
|
||||
],
|
||||
"definition": {
|
||||
"text": "An Announcement node is used to define the content and conditions with which messages are sent by Social Bots.",
|
||||
"updated": 1619262332641
|
||||
}
|
||||
}
|
||||
}
|
||||
+33
@@ -401,6 +401,39 @@
|
||||
"text": "Always use a grammar and spell-checker to make sure your tutorial is as correct as it may be!",
|
||||
"updated": 1617734220351
|
||||
},
|
||||
{
|
||||
"style": "Title",
|
||||
"text": "The First Few Steps",
|
||||
"updated": 1620198004607
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Tutorials should start with a welcome message, and a clear explanation of what the tutorial is about, including a brief description of what the user will do while following the tutorial, and what lessons will be learned. No need to compress everything into a single step... two and even three steps are fine.",
|
||||
"updated": 1620198631200
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "You should also take the time to explain what's featured in the Workspace. The idea is that users should get familiar with the workspace as soon as possible, to understand how it may differ from other workspaces they may have encountered earlier. You can mention which mines you will use, clarify if they are added as plugins or not, which trading systems, and so on. You may skip the mandatory hierarchies, like Network or Trading Engine.",
|
||||
"updated": 1620198644147
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "If you installed any markets, created custom charts, a particular setup of tasks in the Network hierarchy, or any specific data structure that is not present in the default market installation, make sure you explain what you did and why. It may be confusing for users to find things and not know how they got there.",
|
||||
"updated": 1620198654823
|
||||
},
|
||||
{
|
||||
"style": "Title",
|
||||
"text": "The Last Few Steps"
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "If there are more tutorials in the series, make sure you leave users right by the next one, inviting them to keep going."
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "If the remaining tutorials in the series are not ready yet, then use the last few steps to describe what else will be covered in the series and ask users to stay tuned.",
|
||||
"updated": 1620198840899
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
|
||||
+2
-1
@@ -34,7 +34,8 @@
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Topic or Tutorial name: The name given tu the Topic or Tutorial that you want to repaginate."
|
||||
"text": "Topic or Tutorial name: The name given to the Topic or Tutorial that you want to repaginate.",
|
||||
"updated": 1620006152656
|
||||
},
|
||||
{
|
||||
"style": "Title",
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "This means that the node Shapes feature several internal references.",
|
||||
"updated": 1615796711778
|
||||
"text": "This means that the node Shapes features several internal references.",
|
||||
"updated": 1620493425376
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
|
||||
+8
-5
@@ -13,20 +13,22 @@
|
||||
{
|
||||
"language": "IT",
|
||||
"text": "Quando disattivi la proprietà Angle to Parent, il nodo è libero di posizionarsi a un qualsiasi angolo relativo a padre e fratelli!",
|
||||
"updated": 1619460329020
|
||||
"updated": 1619460329020,
|
||||
"style": "Definition"
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Open the menu of the Trading Parameters node, select the option to cancel the Angle to Parent setting, and move the node in any direction!",
|
||||
"updated": 1615474082667,
|
||||
"text": "Enter the menu of the Trading Parameters node, select the option to cancel the Angle to Parent setting, and move the node in any direction!",
|
||||
"updated": 1620493488221,
|
||||
"translations": [
|
||||
{
|
||||
"language": "IT",
|
||||
"text": "Apri il menù del nodo Trading Parameters, seleziona l'opzione per disattivare la proprietà Angle to Parent e sposta il nodo in una qualsiasi direzione.",
|
||||
"updated": 1619460372348
|
||||
"updated": 1619460372348,
|
||||
"style": "Callout"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -38,7 +40,8 @@
|
||||
{
|
||||
"language": "IT",
|
||||
"text": "Come vedi, il nodo rimane dove lo posizioni e la linea tratteggiata che lo connette al proprio padre diventa gialla.",
|
||||
"updated": 1619460424242
|
||||
"updated": 1619460424242,
|
||||
"style": "Note"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+8
-5
@@ -13,7 +13,8 @@
|
||||
{
|
||||
"language": "IT",
|
||||
"text": "Forza, seguimi! Non testeremo davvero la strategia con i diversi parametri...stiamo solo simulando uno scenario d'uso!",
|
||||
"updated": 1619466373155
|
||||
"updated": 1619466373155,
|
||||
"style": "Definition"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -26,19 +27,21 @@
|
||||
{
|
||||
"language": "IT",
|
||||
"text": "Mettiamo caso che abbiamo modificato i Trading Parameters, e ora vogliamo riutilizzare quelli originali. Abbiamo già il backup nel design space, scollegato dalla gerarchia, e dobbiamo rimpiazzare il nodo Trading Parameters esistente con il suo backup.",
|
||||
"updated": 1619466537263
|
||||
"updated": 1619466537263,
|
||||
"style": "Text"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Go to the Trading Parameters node that is currently in use — the one attached to the Backtesting Session node — and click the Detach Node button. The node separates from the hierarchy! You may now move it to the side!",
|
||||
"updated": 1615572965552,
|
||||
"text": "Go to the Trading Parameters node that is currently in use — the one attached to the Backtesting Session node — and double-click the Detach Node button. The node separates from the hierarchy! You may now move it to the side!",
|
||||
"updated": 1620493528546,
|
||||
"translations": [
|
||||
{
|
||||
"language": "IT",
|
||||
"text": "Apri il menù del nodo Trading Parameters in uso (quello attaccato al nodo Backtesting Session) e clicca il pulsante Detach Node. Il nodo si separerà dalla gerarchia, e potrai metterlo da parte!",
|
||||
"updated": 1619466659809
|
||||
"updated": 1619466659809,
|
||||
"style": "Callout"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "1",
|
||||
"pageNumber": 1,
|
||||
"type": "How to Set up a New Chart Tutorial",
|
||||
"definition": {
|
||||
"text": "This Tutorial walks through the basic inner workings of the Charting Space to help you learn how to create your own custom charts.",
|
||||
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "2",
|
||||
"type": "Tutorial Step - Introduction",
|
||||
"definition": {
|
||||
"text": "Today we will learn how to add your own custom Charts! By the end of this tutorial you will have the basic knowledge you need to unlock the power of the Charting Space.",
|
||||
"icon": {
|
||||
"name": "chart-points",
|
||||
"project": "Superalgos"
|
||||
},
|
||||
"updated": 1619015372330
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The charting system within Superalgos is quite powerful! It pulls together information from across the entire system so that you can conveniently visualize it in one place. As I am sure you have figured out by now, there are a lot of moving pieces within Superalgos. The Charting Space lets you tap into the specific information you want to see. You can look at different combinations of Indicators, Backtesting and Live Trading results, even data from different Markets and Exchanges! This flexibility makes it possible to customize charts to your heart’s content. Pretty cool right!",
|
||||
"updated": 1617796990054
|
||||
}
|
||||
]
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": 2,
|
||||
"type": "Tutorial Step - Welcome to the Otherside",
|
||||
"definition": {
|
||||
"text": "Today we will learn how to add your own custom Charts! By the end of this tutorial you will have the basic knowledge you need to unlock the power of the Charting Space.",
|
||||
"icon": {
|
||||
"name": "chart-points",
|
||||
"project": "Superalgos"
|
||||
},
|
||||
"updated": 1619015372330
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The charting system within Superalgos is powerful! It pulls together information from across the entire system so that you can conveniently visualize it in one place. As you may have figured out, there are a lot of moving pieces within Superalgos. The Charting Space lets you tap into the specific information you want to see.",
|
||||
"updated": 1619398835156
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "You can look at different combinations of Indicators, Backtesting and Live Trading results, even data from different Markets and Exchanges! This flexibility makes it possible to customize charts to your heart’s content. Pretty cool right!"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "3",
|
||||
"pageNumber": 3,
|
||||
"type": "Tutorial Step - Before We Begin",
|
||||
"definition": {
|
||||
"text": "Before you start creating custom charts you should make sure you know the basics of getting around within Superalgos.",
|
||||
|
||||
+7
-3
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "4",
|
||||
"pageNumber": 4,
|
||||
"type": "Tutorial Step - Charts Without Tears",
|
||||
"definition": {
|
||||
"text": "It's frustrating to look at a chart that is empty. I am here to make sure you don’t feel stuck setting up the charts of your dreams.",
|
||||
@@ -13,8 +13,12 @@
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "If you are just starting out here in Superalgos, all this freedom might be a bit overwhelming. That’s where I come in! My friends and I will walk you through how to customize charts from start to finish! By the time we are done you will have the tools to create charts limited only by your imagination.",
|
||||
"updated": 1617632679120
|
||||
"text": "If you are just starting out here in Superalgos, all this freedom might be a bit overwhelming. Superalgos allows you to do almost anything you can think up, but there are some key puzzle pieces that need to be in place.",
|
||||
"updated": 1619404909688
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
"text": "That’s where I come in! My friends and I will walk you through how to customize charts from start to finish! By the time we are done you will have the tools to create charts limited only by your imagination."
|
||||
}
|
||||
]
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": 5,
|
||||
"type": "Tutorial Step - Basic Building Blocks",
|
||||
"definition": {
|
||||
"text": "I went ahead and installed some basic building blocks within this Workspace so we can jump into creating custom charts quickly.",
|
||||
"updated": 1619994510587,
|
||||
"icon": {
|
||||
"name": "design-space",
|
||||
"project": "Superalgos"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "right-click to open the map for a birds eye view of the workspace.",
|
||||
"updated": 1620049276538
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The building blocks I installed are:",
|
||||
"updated": 1620006869319
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Data Mine"
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Trading System "
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Market "
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Everything we do today will be built on top of this basic setup. I will walk you through what I installed to give you an idea of what we will be building on top of today.",
|
||||
"updated": 1619994819426
|
||||
}
|
||||
]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "5",
|
||||
"type": "Tutorial Step - Your First Chart",
|
||||
"definition": {
|
||||
"text": "This tutorial will help you set up your first custom Chart. The foundational concepts you learn here will help you make the most out of Superalgo’s Charting Space.",
|
||||
"icon": {
|
||||
"name": "chart-points",
|
||||
"project": "Superalgos"
|
||||
},
|
||||
"updated": 1619016455188
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "In particular, we are going to hook up a Time Machine to the indicators of the Masters Data Mine. These indicators will be the core data we plot on our chart. For example, candles, bollinger bands, etc. We will also attach the Backtesting Session for the Lighting Strike Trading System. This will allow us to see the output from the trading system in our chart as well!",
|
||||
"updated": 1619016520327
|
||||
}
|
||||
]
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": 6,
|
||||
"type": "Tutorial Step - Charting Workspace Setup",
|
||||
"definition": {
|
||||
"text": "Before we can look at charts, we need data! I have installed a few Data Mines and a Trading System.",
|
||||
"updated": 1619996858906,
|
||||
"icon": {
|
||||
"name": "workspace",
|
||||
"project": "Superalgos"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "You should see the Masters, Sparta, and Alpha data mine plugins. These give us access to a range of interesting indicators. For this tutorial we will only be using the Masters Data Mine. My friends will teach you how to create charts using the other data mines later. I also installed the Lighting Strike Trading System plugin.",
|
||||
"updated": 1620044502486
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
"text": "This is the same trading system you interacted with during the welcome tutorials."
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "left-click to zoom back into the workspace.",
|
||||
"updated": 1620049288666
|
||||
}
|
||||
]
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": 7,
|
||||
"type": "Tutorial Step - Charting Workspace Market",
|
||||
"definition": {
|
||||
"text": "To finish this basic setup, I have gone ahead and installed the BTC/USDT market for you.",
|
||||
"icon": {
|
||||
"name": "market",
|
||||
"project": "Superalgos"
|
||||
},
|
||||
"updated": 1619997280859
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "As you may remember from Install a New Market Tutorial, installing a market sets up everything you need for a basic Superalgos workspace. This includes automatically setting up a Backtesting Session, Live Trading Session, and charts for each Trading System present in the workspace.",
|
||||
"updated": 1620005481411
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
"text": "You could run this basic setup as it stands. In fact, if you are looking for a basic way to set things up, installing a plugin Data Mine, Trading System, and finishing by installing a Market will get you up and running in no time. But that’s not the point of this Tutorial! Let’s dig into some custom charts!",
|
||||
"updated": 1620005568841
|
||||
}
|
||||
]
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": 8,
|
||||
"type": "Tutorial Step - Your First Chart",
|
||||
"definition": {
|
||||
"text": "This tutorial will help you set up your first custom Chart. The foundational concepts you learn here will help you make the most out of the Charting Space.",
|
||||
"icon": {
|
||||
"name": "chart-points",
|
||||
"project": "Superalgos"
|
||||
},
|
||||
"updated": 1620203198895
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "In particular, we are going to hook up a Time Machine to the indicators of the Masters Data Mine. These indicators will be the core data we plot on our chart. ",
|
||||
"updated": 1620007866528
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "For example candles, bollinger bands, supports, etc.",
|
||||
"updated": 1620007880196
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "We will also attach the Backtesting Session for the Lighting Strike Trading System. This will allow us to see the output from the trading system in our chart as well!"
|
||||
}
|
||||
]
|
||||
}
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "6",
|
||||
"pageNumber": 9,
|
||||
"type": "Tutorial Step - Dashing Dashboards",
|
||||
"definition": {
|
||||
"text": "The first node we will learn about today is the Dashboard. A Dashboard helps us stay organized.",
|
||||
@@ -18,13 +18,13 @@
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Expand the Charting Space node and take a look at the Dashboards underneath. What do you notice? ",
|
||||
"updated": 1617798044669
|
||||
"text": "Take a few minutes and look around this hierarchy. What do you notice?",
|
||||
"updated": 1620008481214
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "That’s right! There is one Dashboard set up for Backtesting and one set up for Live Trading. Dashboards are a convenient way to group charts according to type.",
|
||||
"updated": 1617798035878
|
||||
"text": "That’s right! There is one Dashboard set up for Backtesting, one for Live Trading, and a third for Learning Tasks. Dashboards are a convenient way to group charts according to type or any other criteria, for that matter.",
|
||||
"updated": 1620249369756
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "9",
|
||||
"type": "Tutorial Step - Without Further Ado",
|
||||
"definition": {
|
||||
"text": "I know I'm ready to add some charts. Are you? Let's add the foundational nodes we need to start our chart.",
|
||||
"icon": {
|
||||
"name": "chart-points",
|
||||
"project": "Superalgos"
|
||||
},
|
||||
"updated": 1619016875911
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Enough chit-chat, let’s start adding some charts! ",
|
||||
"updated": 1617799641215
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Hover over the Testing Environment Dashboard and click Add Time Machine. ",
|
||||
"updated": 1617799706852
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Make sure to name it something you will recognize. A good naming practice is to reference the Trading System and type of Trading Session that will be connected to the chart. For us that would be: ",
|
||||
"updated": 1617800245292
|
||||
},
|
||||
{
|
||||
"style": "Json",
|
||||
"text": "Lightning Strike Backtesting Session"
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": " "
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "6.5",
|
||||
"pageNumber": 10,
|
||||
"type": "Tutorial Step - Dashboards in the Future",
|
||||
"definition": {
|
||||
"text": "The future holds more in store. But it is still a work in progress!",
|
||||
@@ -13,8 +13,8 @@
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Eventually Dashboards will be used to bring multiple Time Machines together in useful configurations, but for right now they helps us stay organized.",
|
||||
"updated": 1617798575876
|
||||
"text": "Eventually Dashboards will be used to bring multiple Time Machines together in useful configurations within the Charting Space. Think of multiple charts configured in intricate side by side displays! But for right now they helps us stay organized.",
|
||||
"updated": 1620007944527
|
||||
},
|
||||
{
|
||||
"style": "Important",
|
||||
+8
-4
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "7",
|
||||
"type": "Tutorial Step - Time Machines Hold It All Together",
|
||||
"pageNumber": 11,
|
||||
"type": "Tutorial Step - Magical Machines",
|
||||
"definition": {
|
||||
"text": "You've seen these portals to another dimension before! Now let's take a closer look at the magical Time Machine.",
|
||||
"icon": {
|
||||
@@ -13,8 +13,12 @@
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "You might have noticed each dashboard has a Time Machine attached to it. You have already encountered time machines in previous tutorials. But today we are going to be working with them a lot more closely. Take a minute and read their documentation page to get a better idea of what they do.",
|
||||
"updated": 1617799568096
|
||||
"text": "You might have noticed each dashboard has a Time Machine attached to it. You have already encountered time machines in previous tutorials. But today we are going to be working with them a lot more closely. ",
|
||||
"updated": 1619405810806
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Take a minute and read their documentation page to get a better idea of what they do."
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "8",
|
||||
"pageNumber": 12,
|
||||
"type": "Tutorial Step - Keep It in One Place",
|
||||
"definition": {
|
||||
"text": "Setting up a Time Machine will allow you to keep your data synchronized and accessible.",
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": 13,
|
||||
"type": "Tutorial Step - Without Further Ado",
|
||||
"definition": {
|
||||
"text": "I know I'm ready to customize some charts. Are you? Let's walk through how to add the foundational nodes we need to start our chart.",
|
||||
"icon": {
|
||||
"name": "chart-points",
|
||||
"project": "Superalgos"
|
||||
},
|
||||
"updated": 1620008604043
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The first thing we need to do is add a fresh dashboard.",
|
||||
"updated": 1620260120535
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Hover over the Project Dashboards node and click Add Dashboard."
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Make sure to name your new Dashboard with something you will recognize. A good naming practice is to reference the type of environment (live trading, backtesting, etc.) and something distinctive about the charts you plan on adding. For us that would be:",
|
||||
"updated": 1620260056355
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
},
|
||||
{
|
||||
"style": "Json",
|
||||
"text": "Testing Environment My Custom Chart",
|
||||
"updated": 1620260022985
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": " "
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": 14,
|
||||
"type": "Tutorial Step - Add a Time Machine",
|
||||
"definition": {
|
||||
"text": "Look at you go! You are making great progress. Now lets get that Time Machine added!",
|
||||
"updated": 1620260972485,
|
||||
"icon": {
|
||||
"name": "chart-points",
|
||||
"project": "Superalgos"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Hover over your Dashboard and click Add Time Machine.",
|
||||
"updated": 1620261013606
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "When naming a Time Machine it is helpful to reference the Trading System and type of Trading Session that will be connected to the chart. For us that would be:"
|
||||
},
|
||||
{
|
||||
"style": "Json",
|
||||
"text": "Custom Lightning Strike Backtesting",
|
||||
"updated": 1620262288390
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Other helpful information you can use to label your charts can include the exchange, market pair, and network node associated with the information shown in the chart.",
|
||||
"updated": 1620261780042
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": 15,
|
||||
"type": "Tutorial Step - The Three Scales",
|
||||
"definition": {
|
||||
"text": "Did you notice the three nodes automatically added to your Time Machine?",
|
||||
"updated": 1620262899688,
|
||||
"icon": {
|
||||
"name": "time-scale",
|
||||
"project": "Superalgos"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "These are the scales! Anytime you add a time machine, it will come equipped with three scales (Rate, Time, and Time Frame). These are the same scales you have used to interact with charts in the Charting Space."
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
"text": "In another tutorial we will cover customizing these scales to achieve more complex charting setups. But for right now it is important for you to know that your time machine needs all three to work correctly. "
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": 16,
|
||||
"type": "Tutorial Step - Chart Spawning",
|
||||
"definition": {
|
||||
"text": "One thing to keep in mind when adding Time Machines is that they will often spawn on top of other charts within the Charting Space.",
|
||||
"updated": 1620045784065,
|
||||
"icon": {
|
||||
"name": "mouse-left-click",
|
||||
"project": "Superalgos"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Let's take a look around the Charting Space and find the time machine you added!",
|
||||
"updated": 1620264582796
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Move the time machines around and look for the title you added to your time machine in the Design Space.",
|
||||
"updated": 1620264649926
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
"text": "Remember, to move a chart hold Shift and drag with a left-click.",
|
||||
"updated": 1620046117168
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": 17,
|
||||
"type": "Tutorial Step - I See a Chart!",
|
||||
"definition": {
|
||||
"text": "Did you find the Time Machine you added? Don't forget to move around the Charting Space, I know it's here!",
|
||||
"updated": 1620264964599,
|
||||
"icon": {
|
||||
"name": "chart-points",
|
||||
"project": "Superalgos"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "You should see three charts within the Charting Space.",
|
||||
"updated": 1620264097333
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Read the titles and find the one you added!",
|
||||
"updated": 1620264144764
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "If you zoom in there's not much to look at yet. But that's okay. We are on our way to your very own custom chart. Woohoo! Let's keep going and add some data to your new Time Machine.",
|
||||
"updated": 1620264752831
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+10
-5
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "9.5",
|
||||
"pageNumber": 18,
|
||||
"type": "Tutorial Step - Add a Timeline Chart",
|
||||
"definition": {
|
||||
"text": "Now that we have something to hold our charts, let's go ahead and add one!",
|
||||
@@ -18,13 +18,18 @@
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Just like with time machines, giving a helpful name to a Timeline Chart is important. A good naming practice is to name timeline charts after the Data Mine or Data Product with which it will be connected. Right now we will be adding Masters Data Mine data to this timeline chart. So a helpful name would be:",
|
||||
"updated": 1619019217197
|
||||
"text": "Giving a helpful name to a Timeline Chart is important. A good naming practice is to reference the Data Mine or Data Product with which it will be connected. Right now we will be adding Masters Data Mine data to this timeline chart. A helpful name would be:",
|
||||
"updated": 1620045091728
|
||||
},
|
||||
{
|
||||
"style": "Json",
|
||||
"text": "Masters Data Mine Layers",
|
||||
"updated": 1619019237136
|
||||
"text": "Masters Layers",
|
||||
"updated": 1620044855601
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Make sure your title is short enough to fit within the label box! You'll see why soon.",
|
||||
"updated": 1620265202668
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
+14
-5
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "10",
|
||||
"pageNumber": 19,
|
||||
"type": "Tutorial Step - Why Is It Blank?",
|
||||
"definition": {
|
||||
"text": "Woohoo, you did it! You have added your first custom chart. Let's see what we've got so far. Zoom all the way into your chart and take a look around.",
|
||||
@@ -18,13 +18,22 @@
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Find the Layer Manager for the Timeline Chart you added within your Time Machine. Use your mouse wheel to scroll a few times.",
|
||||
"updated": 1619020968459
|
||||
"text": "Find the Layer Manager for the Timeline Chart you added. Use your mouse to scroll a few times.",
|
||||
"updated": 1620046806923
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "No matter how hard you scroll nothing happens does it? Don't worry, nothing is broken! We just haven’t hooked it up to any of your data. Let’s change that!",
|
||||
"updated": 1619022736646
|
||||
"text": "No matter how hard you scroll nothing happens does it? Don't worry, nothing is broken! We just haven’t hooked it up to any of your data. Let’s change that! ",
|
||||
"updated": 1620046673656
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "A Layer Manager's name is inherited from its Timeline Chart. As you can see, your naming Matters!",
|
||||
"updated": 1620047088154
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "10.5",
|
||||
"pageNumber": 20,
|
||||
"type": "Tutorial Step - Empty Layer Manager",
|
||||
"definition": {
|
||||
"text": " This step will play a video in full screen mode.",
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "11",
|
||||
"pageNumber": 21,
|
||||
"type": "Tutorial Step - The Chart of Many Talents",
|
||||
"definition": {
|
||||
"text": "The Timeline Chart gives you total control over the layers available in your chart.",
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "12",
|
||||
"pageNumber": 22,
|
||||
"type": "Tutorial Step - Herding Layers",
|
||||
"definition": {
|
||||
"text": "Let's get into the nitty gritty of layer managment.",
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "13",
|
||||
"pageNumber": 23,
|
||||
"type": "Tutorial Step - Your Data Treasure Trove",
|
||||
"definition": {
|
||||
"text": "The Data Storage node holds all the important data your bots work so hard to produce. Think of it like your own personal tresure chest full of data.",
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "14",
|
||||
"pageNumber": 24,
|
||||
"type": "Tutorial Step - Follow the Tree!",
|
||||
"definition": {
|
||||
"text": "Follow the Data Mines Data hierarchy and find the Data Mine Products.",
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "15",
|
||||
"pageNumber": 25,
|
||||
"type": "Tutorial Step - The Data You Want to See",
|
||||
"definition": {
|
||||
"text": "In Superalgos, you control the flow of data. Talk about control!",
|
||||
+8
-8
@@ -1,25 +1,25 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "16",
|
||||
"type": "Tutorial Step - Hooking up a Chart to Data Products",
|
||||
"pageNumber": 26,
|
||||
"type": "Tutorial Step - Link Chart to Data Products",
|
||||
"definition": {
|
||||
"text": "Now let's get your Time Machine in position to make the connection.",
|
||||
"text": "Now let's get your Time Machine in position to connect to some Data Products!",
|
||||
"icon": {
|
||||
"name": "data-mine-products",
|
||||
"project": "Superalgos"
|
||||
},
|
||||
"updated": 1619024211736
|
||||
"updated": 1620047255368
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Whew! I am getting a little carried away. My friends will cover these exciting possiblities in a little while. Let's refocus and finish adding those Data Mine Products we've been working on.",
|
||||
"updated": 1617841292233
|
||||
"text": "The first thing we need to do is drag our Time Machine over to the Data Storage hierarchy.",
|
||||
"updated": 1620047361503
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Pin and drag your whole Time Machine over to Data Mine Products nodes you found earlier.",
|
||||
"updated": 1617842351106
|
||||
"text": "Pin and drag your whole Time Machine over to the Data Mine Products nodes you found earlier.",
|
||||
"updated": 1620047379533
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "18",
|
||||
"pageNumber": 27,
|
||||
"type": "Tutorial Step - Make the Connection",
|
||||
"definition": {
|
||||
"text": "You got this. Creating references is a piece of cake. Let's make the connection!",
|
||||
@@ -13,8 +13,8 @@
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Out of the three Data Mine Products nodes available, we are going to connect our chart to the Masters Data Mine.",
|
||||
"updated": 1617850389465
|
||||
"text": "Out of the three Data Mine Products nodes available, we are going to link our chart to the Masters Data Mine.",
|
||||
"updated": 1620047769383
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "19",
|
||||
"pageNumber": 28,
|
||||
"type": "Tutorial Step - Add the Layers",
|
||||
"definition": {
|
||||
"text": "This is an easy step to forget but so important. Add those layers so we can see the data in our chart!",
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": 29,
|
||||
"type": "Tutorial Step - Verify the Layers",
|
||||
"definition": {
|
||||
"text": "As you may have noticed, the layers that were added match the Bot Products under the Masters Data Mine Products node.",
|
||||
"updated": 1620048469797,
|
||||
"icon": {
|
||||
"name": "layer",
|
||||
"project": "Superalgos"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Take a few minutes and check between the Bot Products nodes and your Layers. They Match!",
|
||||
"updated": 1620048480506
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "To keep things simple, I have trimmed down the indicators held within each Data Mine. When you install the Masters Data Mine on your own you will have access to many more indicators!",
|
||||
"updated": 1620048513251
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "19.5",
|
||||
"pageNumber": 30,
|
||||
"type": "Tutorial Step - It’s Alive!",
|
||||
"definition": {
|
||||
"text": "Let's take a look at your new working chart. I hope you are as excited as I am!",
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "20",
|
||||
"type": "Tutorial Step - Hooking up a Chart to a Trading System",
|
||||
"pageNumber": 31,
|
||||
"type": "Tutorial Step - Link Chart to Trading System",
|
||||
"definition": {
|
||||
"text": "We are on a roll! I hope you are ready to see your Trading System in action next!",
|
||||
"icon": {
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "21",
|
||||
"pageNumber": 32,
|
||||
"type": "Tutorial Step - Connection One",
|
||||
"definition": {
|
||||
"text": "Let's make the first connection. Go find your Time Machine and drag it back here.",
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "21.5",
|
||||
"pageNumber": 33,
|
||||
"type": "Tutorial Step - Back to Data Storage",
|
||||
"definition": {
|
||||
"text": "Let's find some more Data Products. You are gonna be a pro at finding things in the Data Storage hierarchy.",
|
||||
+3
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "21.7",
|
||||
"pageNumber": 34,
|
||||
"type": "Tutorial Step - Another Timeline Chart",
|
||||
"definition": {
|
||||
"text": "To connect with our Trading System we will need another Timeline Chart. Let's go ahead and add it!",
|
||||
@@ -22,7 +22,8 @@
|
||||
},
|
||||
{
|
||||
"style": "Json",
|
||||
"text": "Trading System Layers"
|
||||
"text": "Trading System",
|
||||
"updated": 1620265784135
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "22",
|
||||
"pageNumber": 35,
|
||||
"type": "Tutorial Step - Connection Two",
|
||||
"definition": {
|
||||
"text": "We are almost there! Go drag your Time Machine back over here and make the last connection.",
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "22.5",
|
||||
"pageNumber": 36,
|
||||
"type": "Tutorial Step - Don’t Forget the Layers!",
|
||||
"definition": {
|
||||
"text": "You’ve done this before! Make sure you add those layers. Blank charts are no fun.",
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "23",
|
||||
"pageNumber": 37,
|
||||
"type": "Tutorial Step - Check the Chart",
|
||||
"definition": {
|
||||
"text": "At this point everything is all hooked up, hurray! Go ahead and take your new shine charts for a spin!",
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": " 23.5",
|
||||
"pageNumber": 38,
|
||||
"type": "Tutorial Step - Not Seeing Anything?",
|
||||
"definition": {
|
||||
"text": "Are you having trouble with the Trading Layers? It is important you know what you are looking for otherwise you might not find it.",
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "24",
|
||||
"pageNumber": 39,
|
||||
"type": "Tutorial Step - Easy as 1, 2, 3",
|
||||
"definition": {
|
||||
"text": "You did it! I knew you could. You have successfully added you first custom chart. I hope you had as much fun as I did!",
|
||||
+4
-19
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "25",
|
||||
"pageNumber": 40,
|
||||
"type": "Tutorial Step - Before I Go",
|
||||
"definition": {
|
||||
"text": "Want some more help figuring out complex chart configurations? You are in luck! I have some friends who would love to help you out.",
|
||||
@@ -17,24 +17,9 @@
|
||||
"updated": 1617656189804
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "How to customize a Layer Manager Tutorial",
|
||||
"updated": 1617375492766
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "How to set up a custom Rate Scale Tutorial",
|
||||
"updated": 1617453801398
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "How to combine Markets in a Chart Tutorial",
|
||||
"updated": 1617453794685
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "How to combine Exchanges in a Chart Tutorial",
|
||||
"updated": 1617453789889
|
||||
"style": "Important",
|
||||
"text": "The following tutorials are currently under construction: How to customize a Layer Manager Tutorial, How to set up a custom Rate Scale Tutorial, How to combine Markets in a Chart Tutorial, How to combine Exchanges in a Chart Tutorial",
|
||||
"updated": 1620049134601
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
{
|
||||
"tutorial": "How to Set up a New Chart",
|
||||
"pageNumber": "9.2",
|
||||
"type": "Tutorial Step - I See a Chart!",
|
||||
"definition": {
|
||||
"text": "Let's take a quick look at the Charting Space and check out our new Time Machine. What do you see?",
|
||||
"updated": 1619018861614,
|
||||
"icon": {
|
||||
"name": "chart-points",
|
||||
"project": "Superalgos"
|
||||
}
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "You should see three Time Machines. ",
|
||||
"updated": 1619018763898
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Read the titles and find the one you just added! "
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "If you zoom in there's not much to look at yet. But that's okay. We are on our way to your very own custom chart. Woohoo! Let's keep going and add some charts to your new Time Machine.",
|
||||
"updated": 1619019059710
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -12,33 +12,39 @@ exports.newSuperalgosBotModulesSocialBots = function (processIndex) {
|
||||
|
||||
function initialize() {
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots !== undefined) {
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.bots !== undefined) {
|
||||
for (let i = 0; i < TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.bots.length; i++) {
|
||||
let socialBot = TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.bots[i]
|
||||
if (socialBot.type === "Telegram Bot") {
|
||||
let config = socialBot.config
|
||||
socialBot.botInstance = TS.projects.superalgos.botModules.telegramBot.newSuperalgosBotModulesTelegramBot(processIndex)
|
||||
socialBot.botInstance.initialize(config.botToken, config.chatId)
|
||||
} else if (socialBot.type === "Discord Bot"){
|
||||
let config = socialBot.config
|
||||
socialBot.botInstance = TS.projects.superalgos.botModules.discordBot.newSuperalgosBotModulesDiscordBot(processIndex)
|
||||
socialBot.botInstance.initialize(config.webhookURL)
|
||||
for (let prop in TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots) {
|
||||
if (prop.toLowerCase().includes("Bots".toLowerCase())) {
|
||||
for (let i = 0; i < TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots[prop].length; i++) {
|
||||
let socialBot = TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots[prop][i]
|
||||
if (socialBot.type === "Telegram Bot") {
|
||||
let config = socialBot.config
|
||||
socialBot.botInstance = TS.projects.superalgos.botModules.telegramBot.newSuperalgosBotModulesTelegramBot(processIndex)
|
||||
socialBot.botInstance.initialize(config.botToken, config.chatId)
|
||||
} else if (socialBot.type === "Discord Bot") {
|
||||
let config = socialBot.config
|
||||
socialBot.botInstance = TS.projects.superalgos.botModules.discordBot.newSuperalgosBotModulesDiscordBot(processIndex)
|
||||
socialBot.botInstance.initialize(config.webhookURL)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function announce(text) {
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.bots !== undefined) {
|
||||
for (let i = 0; i < TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.bots.length; i++) {
|
||||
let socialBot = TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.bots[i]
|
||||
try {
|
||||
if (socialBot.type === "Telegram Bot") {
|
||||
socialBot.botInstance.telegramAPI.sendMessage(socialBot.botInstance.chatId, text).catch(err => TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] initialize -> initializeSocialBots -> announce -> Telegram API error -> err = " + err))
|
||||
} else if (socialBot.type === "Discord Bot") {
|
||||
socialBot.botInstance.sendMessage(text).catch(err => TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] initialize -> initializeSocialBots -> announce -> Discord Bot error -> err = " + err))
|
||||
for (let prop in TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots) {
|
||||
if (prop.toLowerCase().includes("Bots".toLowerCase())) {
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots[prop] !== undefined) {
|
||||
for (let i = 0; i < TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots[prop].length; i++) {
|
||||
let socialBot = TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots[prop][i]
|
||||
try {
|
||||
if (socialBot.type === "Telegram Bot") {
|
||||
socialBot.botInstance.telegramAPI.sendMessage(socialBot.botInstance.chatId, text).catch(err => TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] initialize -> initializeSocialBots -> announce -> Telegram API error -> err = " + err))
|
||||
} else if (socialBot.type === "Discord Bot") {
|
||||
socialBot.botInstance.sendMessage(text).catch(err => TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] initialize -> initializeSocialBots -> announce -> Discord Bot error -> err = " + err))
|
||||
}
|
||||
} catch (err) {
|
||||
TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] initialize -> announce -> err = " + err.stack);
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] initialize -> announce -> err = " + err.stack);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -50,11 +56,15 @@ exports.newSuperalgosBotModulesSocialBots = function (processIndex) {
|
||||
|
||||
function finalize() {
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots === undefined) { return }
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.bots !== undefined) {
|
||||
for (let i = 0; i < TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.bots.length; i++) {
|
||||
let socialBot = TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.bots[i]
|
||||
if (socialBot.type === "Telegram Bot" || socialBot.type === "Discord Bot") {
|
||||
socialBot.botInstance.finalize()
|
||||
for (let prop in TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots) {
|
||||
if (prop.includes("Bots")) {
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots[prop] !== undefined) {
|
||||
for (let i = 0; i < TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots[prop].length; i++) {
|
||||
let socialBot = TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots[prop][i]
|
||||
if (socialBot.type === "Telegram Bot" || socialBot.type === "Discord Bot") {
|
||||
socialBot.botInstance.finalize()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -62,11 +72,15 @@ exports.newSuperalgosBotModulesSocialBots = function (processIndex) {
|
||||
|
||||
function sendMessage(message) {
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots !== undefined) {
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.bots !== undefined) {
|
||||
for (let i = 0; i < TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.bots.length; i++) {
|
||||
let socialBot = TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.bots[i]
|
||||
if (socialBot.type === "Telegram Bot" || socialBot.type === "Discord Bot") {
|
||||
socialBot.botInstance.sendMessage(message)
|
||||
for (let prop in TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots) {
|
||||
if (prop.includes("Bots")) {
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots[prop] !== undefined) {
|
||||
for (let i = 0; i < TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots[prop].length; i++) {
|
||||
let socialBot = TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots[prop][i]
|
||||
if (socialBot.type === "Telegram Bot" || socialBot.type === "Discord Bot") {
|
||||
socialBot.botInstance.sendMessage(message)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ function newSuperalgosFunctionLibraryLearningSessionFunctions() {
|
||||
'Back Learning Session->Live Learning Session->' +
|
||||
'Learning Parameters->' +
|
||||
'Learning Algorithm->Time Range->Time Frame->Heartbeats->User Defined Parameters->' +
|
||||
'Social Bots->Telegram Bot->'
|
||||
'Social Bots->Telegram Bot->Discord Bot->'
|
||||
|
||||
let session = UI.projects.superalgos.functionLibraries.protocolNode.getProtocolNode(node, false, true, true, false, false, lightingPath)
|
||||
|
||||
|
||||
@@ -153,8 +153,8 @@ function newSuperalgosFunctionLibraryTradingSessionFunctions() {
|
||||
'Backtesting Session->Paper Trading Session->Forward Testing Session->Live Trading Session->' +
|
||||
'Trading Parameters->' +
|
||||
'Session Base Asset->Session Quoted Asset->Time Range->Time Frame->Slippage->Fee Structure->Snapshots->Heartbeats->User Defined Parameters->' +
|
||||
'Exchange Account Asset->Asset->' +
|
||||
'Social Bots->Telegram Bot->'
|
||||
'Social Bots->Telegram Bot->Discord Bot->' +
|
||||
'Exchange Account Asset->Asset->'
|
||||
|
||||
let session = UI.projects.superalgos.functionLibraries.protocolNode.getProtocolNode(node, false, true, true, false, false, lightingPath)
|
||||
|
||||
|
||||
Reference in new issue
Block a user