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

This commit is contained in:
Brenden Harrell committed 2021-04-05 17:35:01 -05:00
commit c565222963
35 files changed
+762 -186

No files matched your search

@@ -0,0 +1,191 @@
<?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"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 512 512"
style="enable-background:new 0 0 512 512;"
xml:space="preserve"
sodipodi:docname="announcement-condition.svg"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
inkscape:export-filename="E:\Superalgos\Projects\Superalgos\Icons\announcement-condition.png"
inkscape:export-xdpi="100"
inkscape:export-ydpi="100"><metadata
id="metadata55"><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 /></cc:Work></rdf:RDF></metadata><defs
id="defs53" /><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="namedview51"
showgrid="false"
inkscape:zoom="1.1739077"
inkscape:cx="225.30981"
inkscape:cy="313.3796"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g1029"
inkscape:document-rotation="0" />
<g
id="g109"
transform="matrix(0.82031249,0,0,0.82031249,27.029988,49.012982)"><g
id="g957"
transform="translate(0,48.761901)"><path
class="st0"
d="m 153.81823,343.97412 h -42.8 c -4.4,0 -8,3.6 -8,8 v 42.8 c 0,4.4 3.6,8 8,8 h 42.8 c 4.4,0 8,-3.6 8,-8 v -42.8 c 0,-4.4 -3.6,-8 -8,-8 z"
id="path4"
style="fill:#9baaab" /><path
class="st1"
d="m 153.81823,343.97412 h -8.6 v 58.8 h 8.6 c 4.4,0 8,-3.6 8,-8 v -42.8 c 0,-4.4 -3.6,-8 -8,-8 z"
id="path6"
style="fill:#687f82" /><path
class="st2"
d="m 30.118232,293.67412 c -3,1.7 -4.5,5 -4,8.2 l 25.7,162.5 c 0.6,3.9 4,6.8 7.9,6.8 h 56.099998 c 4.4,0 8,-3.6 8,-8 v -170.5 H 34.218232 c -1.4,0 -2.8,0.3 -4.1,1 z"
id="path8-1"
style="fill:#cdd4d5" /><path
class="st3"
d="M 128.11823,190.07412 H 34.018232 c -4.4,0 -8,3.6 -8,8 v 102.6 c 0,4.4 3.6,8 8,8 H 136.11823 v -110.6 c 0,-4.4 -3.5,-8 -8,-8 z"
id="path10"
style="fill:#4acfd9" /><path
class="st4"
d="m 26.118232,240.77412 v 59.9 c 0,4.4 3.6,8 8,8 H 136.21823 v -67.9 z"
id="path12"
style="fill:#0295aa" /><path
class="st5"
d="m 272.83056,95.199056 -149.01233,96.175064 -0.2,116 148.09681,100.33266 c 2.27234,-125.21801 1.64797,-203.95893 1.11552,-312.507724 z"
id="path14"
style="fill:#cdd4d5;fill-opacity:1"
sodipodi:nodetypes="ccccc" /><path
class="st6"
d="m 123.71823,240.77412 -0.1,66.5 151.0134,102.30859 C 274.0567,303.31835 276.1668,274.85248 275.4696,240.77412 Z"
id="path16-6"
style="fill:#9baaab;fill-opacity:1"
sodipodi:nodetypes="ccccc" /></g><g
id="g1011"
transform="translate(-22.990126,-530.21335)"><g
id="g1029"
transform="matrix(0.8203125,0,0,0.8203125,8.7505704,18.291498)"><path
class="st5"
d="m 501.0874,627.59973 c -3.16952,-1.70667 -6.94857,-1.58476 -9.99619,0.36572 l -139.49347,90.03143 c -0.71785,151.82385 1.57152,259.01843 -0.76399,384.04352 l 140.01365,94.8579 c 1.70667,1.0971 3.53524,1.7066 5.48572,1.7066 1.58476,0 3.16952,-0.3657 4.63238,-1.0971 3.16952,-1.7067 5.2419,-4.9982 5.2419,-8.6554 V 636.25497 c -0.1219,-3.65714 -2.07238,-6.94857 -5.12,-8.65524 z"
id="path14-4"
style="fill:#e6eaea;stroke-width:1.21905;fill-opacity:1"
sodipodi:nodetypes="cccccscscc" /><path
class="st6"
d="m 351.30602,1102.2384 139.54138,94.538 c 1.70667,1.0971 3.53524,1.7066 5.48572,1.7066 1.58476,0 3.16952,-0.3657 4.63238,-1.0971 3.16952,-1.7067 5.2419,-4.9982 5.2419,-8.6554 V 896.76544 H 352.25493 c -0.67025,109.11886 -0.18786,143.13446 -0.94891,205.47296 z"
id="path16-3"
style="fill:#9baaab;stroke-width:1.21905;fill-opacity:1"
sodipodi:nodetypes="ccscsccc" /><path
class="st3"
d="m 538.02455,595.17306 h -93.86667 c -5.36381,0 -9.75238,4.38858 -9.75238,9.75238 v 604.65116 c 0,5.3639 4.38857,9.7525 9.75238,9.7525 h 93.86667 c 5.36381,0 9.75238,-4.3886 9.75238,-9.7525 V 604.92544 c 0,-5.3638 -4.38857,-9.75238 -9.75238,-9.75238 z"
id="path18-2"
style="fill:#4acfd9;stroke-width:1.21905" /><path
class="st4"
d="m 434.4055,896.76544 v 312.81116 c 0,5.3639 4.38857,9.7525 9.75238,9.7525 h 93.86667 c 5.36381,0 9.75238,-4.3886 9.75238,-9.7525 V 896.76544 Z"
id="path20"
style="fill:#0295aa;stroke-width:1.21905" /><g
id="g26-4"
transform="matrix(1.2190476,0,0,1.2190476,-78.691651,581.76356)"
style="fill:#ffffff;fill-opacity:1"><path
class="st7"
d="m 480.3,163.9 c -4.4,0 -8,-3.6 -8,-8 V 53.2 c 0,-4.4 3.6,-8 8,-8 4.4,0 8,3.6 8,8 v 102.6 c 0,4.5 -3.6,8.1 -8,8.1 z"
id="path22"
style="fill:#ffffff;fill-opacity:1" /><path
class="st7"
d="m 480.3,240.8 c -4.4,0 -8,-3.6 -8,-8 V 190 c 0,-4.4 3.6,-8 8,-8 4.4,0 8,3.6 8,8 v 42.8 c 0,4.4 -3.6,8 -8,8 z"
id="path24"
style="fill:#ffffff;fill-opacity:1" /></g><g
id="g34-37"
transform="matrix(1.2190476,0,0,1.2190476,-78.691651,581.76356)"
style="fill:#f0353d;fill-opacity:1"><path
class="st8"
d="m 591.4,266.5 h -34.2 c -4.4,0 -8,-3.6 -8,-8 0,-4.4 3.6,-8 8,-8 h 34.2 c 4.4,0 8,3.6 8,8 0,4.4 -3.5,8 -8,8 z"
id="path28-2"
style="fill:#f0353d;fill-opacity:1" /><path
class="st8"
d="m 537.8,193.8 c -2.8,0 -5.5,-1.4 -7,-4 -2.2,-3.8 -0.9,-8.7 2.9,-11 l 29.6,-17.1 c 3.8,-2.2 8.7,-0.9 11,2.9 2.2,3.8 0.9,8.7 -2.9,11 l -29.6,17.1 c -1.3,0.7 -2.7,1.1 -4,1.1 z"
id="path30-2"
style="fill:#f0353d;fill-opacity:1" /><path
class="st8"
d="m 567.4,356.3 c -1.4,0 -2.7,-0.3 -4,-1.1 l -29.6,-17.1 c -3.8,-2.2 -5.1,-7.1 -2.9,-11 2.2,-3.8 7.1,-5.1 11,-2.9 l 29.6,17.1 c 3.8,2.2 5.1,7.1 2.9,11 -1.6,2.5 -4.3,4 -7,4 z"
id="path32-4"
style="fill:#f0353d;fill-opacity:1" /></g></g></g></g><path
style="fill:#F0353D;"
d="M260.008,244.777v-48.1h-59.324c-9.969,0-19.019,6.271-22.518,15.606l-76.96,205.228 c-1.103,2.943-0.413,6.352,2.015,8.668c0.807,0.77,1.797,1.324,2.841,1.716l29.861,11.197c0.928,0.347,1.879,0.512,2.814,0.512 c3.245,0,6.301-1.985,7.507-5.203l32.627-87.008h81.138v-48.1h-63.1l20.443-54.514L260.008,244.777L260.008,244.777z"
id="path8" />
<path
style="fill:#FF8C29;"
d="M386.209,246.523c6.201-10.333,9.548-22.252,9.548-34.348c0-36.837-29.969-66.806-66.806-66.806 h-76.96c-4.428,0-8.017,3.588-8.017,8.017v32.067c0,4.428,3.588,8.017,8.017,8.017h76.96c10.314,0,18.706,8.392,18.706,18.706 s-8.392,18.706-18.706,18.706h-76.96c-4.428,0-8.017,3.588-8.017,8.017v32.067c0,4.428,3.588,8.017,8.017,8.017h85.511 c19.745,0,35.808,16.063,35.808,35.808c0,19.745-16.063,35.808-35.808,35.808h-85.511c-4.428,0-8.017,3.588-8.017,8.017v32.067 c0,4.428,3.588,8.017,8.017,8.017h85.511c46.267,0,83.908-37.641,83.908-83.908C421.411,287.629,408.114,262.194,386.209,246.523z"
id="path16" />
<path
style="fill:#365558;"
d="M251.992,512c-4.428,0-8.017-3.588-8.017-8.017V8.017c0-4.428,3.588-8.017,8.017-8.017 c4.428,0,8.017,3.588,8.017,8.017v495.967C260.008,508.412,256.42,512,251.992,512z"
id="path18" />
<g
id="g20">
</g>
<g
id="g22">
</g>
<g
id="g24">
</g>
<g
id="g26">
</g>
<g
id="g28">
</g>
<g
id="g30">
</g>
<g
id="g32">
</g>
<g
id="g34">
</g>
<g
id="g36">
</g>
<g
id="g38">
</g>
<g
id="g40">
</g>
<g
id="g42">
</g>
<g
id="g44">
</g>
<g
id="g46">
</g>
<g
id="g48">
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.0 KiB

@@ -0,0 +1,188 @@
<?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"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="96 11 512 512"
style="enable-background:new 96 11 512 512;"
xml:space="preserve"
sodipodi:docname="announcement-formula.svg"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
inkscape:export-filename="E:\Superalgos\Projects\Superalgos\Icons\announcement-formula.png"
inkscape:export-xdpi="100"
inkscape:export-ydpi="100"><metadata
id="metadata60"><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 /></cc:Work></rdf:RDF></metadata><defs
id="defs58" /><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="namedview56"
showgrid="false"
inkscape:zoom="0.41503906"
inkscape:cx="-585.46721"
inkscape:cy="513.54613"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g83"
inkscape:document-rotation="0" />
<style
type="text/css"
id="style2">
.st0{display:none;}
.st1{display:inline;}
.st2{fill:#E6EAEA;}
.st3{fill:#CDD4D5;}
.st4{fill:#9BAAAB;}
.st5{fill:#4ACFD9;}
.st6{fill:#0295AA;}
.st7{fill:#FF8C29;}
.st8{fill:#FFFFFF;}
.st9{fill:#FD6A33;}
.st10{fill:#F0353D;}
</style>
<rect
style="fill:#9baaab;fill-opacity:1"
id="rect1726"
width="19.512657"
height="36.811314"
x="152.86136"
y="419.60275" /><g
id="Layer_3"
class="st0">
<rect
x="714"
y="-607.4"
class="st1"
width="512"
height="512.8"
id="rect4" />
</g>
<g
id="g83"
transform="matrix(0.62695312,0,0,0.62695312,32.124612,192.89649)"><path
class="st0"
d="m 232.3,361.6 h -42.8 c -4.4,0 -8,3.6 -8,8 v 42.8 c 0,4.4 3.6,8 8,8 h 42.8 c 4.4,0 8,-3.6 8,-8 v -42.8 c 0,-4.4 -3.6,-8 -8,-8 z"
id="path4" /><path
class="st1"
d="m 232.3,361.6 h -8.6 v 58.8 h 8.6 c 4.4,0 8,-3.6 8,-8 v -42.8 c 0,-4.4 -3.6,-8 -8,-8 z"
id="path6"
style="fill:#687f82;fill-opacity:1" /><path
class="st2"
d="m 108.6,311.3 c -3,1.7 -4.5,5 -4,8.2 L 130.3,482 c 0.6,3.9 4,6.8 7.9,6.8 h 56.1 c 4.4,0 8,-3.6 8,-8 V 310.3 h -89.6 c -1.4,0 -2.8,0.3 -4.1,1 z"
id="path8"
style="fill:#cdd4d5;fill-opacity:1" /><path
class="st3"
d="m 206.6,207.7 h -94.1 c -4.4,0 -8,3.6 -8,8 v 102.6 c 0,4.4 3.6,8 8,8 H 214.6 V 215.7 c 0,-4.4 -3.5,-8 -8,-8 z"
id="path10"
style="fill:#9baaab;fill-opacity:1" /><path
class="st4"
d="m 104.6,258.4 v 59.9 c 0,4.4 3.6,8 8,8 h 102.1 v -67.9 z"
id="path12-6"
style="fill:#365558;fill-opacity:1" /><path
class="st5"
d="m 475.6,37.6 c -2.6,-1.4 -5.7,-1.3 -8.2,0.3 L 202.3,209 202.1,325 467.2,504.6 c 1.4,0.9 2.9,1.4 4.5,1.4 1.3,0 2.6,-0.3 3.8,-0.9 2.6,-1.4 4.3,-4.1 4.3,-7.1 V 44.7 c -0.1,-3 -1.7,-5.7 -4.2,-7.1 z"
id="path14-5"
style="fill:#4acfd9;fill-opacity:1" /><path
class="st6"
d="m 202.2,258.4 -0.1,66.5 265.1,179.6 c 1.4,0.9 2.9,1.4 4.5,1.4 1.3,0 2.6,-0.3 3.8,-0.9 2.6,-1.4 4.3,-4.1 4.3,-7.1 V 258.4 Z"
id="path16-2"
style="fill:#0295aa;fill-opacity:1" /><path
class="st3"
d="m 505.9,11 h -77 c -4.4,0 -8,3.6 -8,8 v 496 c 0,4.4 3.6,8 8,8 h 77 c 4.4,0 8,-3.6 8,-8 V 19 c 0,-4.4 -3.6,-8 -8,-8 z"
id="path18-4"
style="fill:#9baaab;fill-opacity:1" /><path
class="st4"
d="M 420.9,258.4 V 515 c 0,4.4 3.6,8 8,8 h 77 c 4.4,0 8,-3.6 8,-8 V 258.4 Z"
id="path20"
style="fill:#365558;fill-opacity:1" /><g
id="g26"
style="fill:#fffff8;fill-opacity:1"><path
class="st7"
d="m 480.3,163.9 c -4.4,0 -8,-3.6 -8,-8 V 53.2 c 0,-4.4 3.6,-8 8,-8 4.4,0 8,3.6 8,8 v 102.6 c 0,4.5 -3.6,8.1 -8,8.1 z"
id="path22-7"
style="fill:#fffff8;fill-opacity:1" /><path
class="st7"
d="m 480.3,240.8 c -4.4,0 -8,-3.6 -8,-8 V 190 c 0,-4.4 3.6,-8 8,-8 4.4,0 8,3.6 8,8 v 42.8 c 0,4.4 -3.6,8 -8,8 z"
id="path24-8"
style="fill:#fffff8;fill-opacity:1" /></g><g
id="g34"
style="fill:#f0353d;fill-opacity:1"><path
class="st8"
d="m 591.4,266.5 h -34.2 c -4.4,0 -8,-3.6 -8,-8 0,-4.4 3.6,-8 8,-8 h 34.2 c 4.4,0 8,3.6 8,8 0,4.4 -3.5,8 -8,8 z"
id="path28-3"
style="fill:#f0353d;fill-opacity:1" /><path
class="st8"
d="m 537.8,193.8 c -2.8,0 -5.5,-1.4 -7,-4 -2.2,-3.8 -0.9,-8.7 2.9,-11 l 29.6,-17.1 c 3.8,-2.2 8.7,-0.9 11,2.9 2.2,3.8 0.9,8.7 -2.9,11 l -29.6,17.1 c -1.3,0.7 -2.7,1.1 -4,1.1 z"
id="path30"
style="fill:#f0353d;fill-opacity:1" /><path
class="st8"
d="m 567.4,356.3 c -1.4,0 -2.7,-0.3 -4,-1.1 l -29.6,-17.1 c -3.8,-2.2 -5.1,-7.1 -2.9,-11 2.2,-3.8 7.1,-5.1 11,-2.9 l 29.6,17.1 c 3.8,2.2 5.1,7.1 2.9,11 -1.6,2.5 -4.3,4 -7,4 z"
id="path32"
style="fill:#f0353d;fill-opacity:1" /></g><path
class="st0"
d="m 409.83283,524.78262 h -68.26667 c -7.01806,0 -12.76012,5.74206 -12.76012,12.76013 v 68.26666 c 0,7.01807 5.74206,12.76013 12.76012,12.76013 h 68.26667 c 7.01807,0 12.76013,-5.74206 12.76013,-12.76013 v -68.26666 c 0,-7.01807 -5.74206,-12.76013 -12.76013,-12.76013 z"
id="path4-1"
style="fill:#9baaab;stroke-width:1.59502"
sodipodi:nodetypes="sssssssss" /></g><g
id="g53">
<path
class="st3"
d="M 556.3,117.3 501.7,62.7 c -2.8,-2.8 -7.4,-2.8 -10.2,0 L 305.6,248.5 c -0.4,0.4 -0.7,0.8 -1,1.2 l -60.1,92.9 c -1.9,2.9 -1.5,6.6 1,9.1 l 21.9,21.9 c 1.4,1.4 3.3,2.1 5.1,2.1 1.4,0 2.7,-0.4 3.9,-1.2 L 335.71503,336.1272 369.3,314.4 c 0.4,-0.3 0.8,-0.6 1.2,-1 L 556.3,127.6 c 2.8,-2.9 2.8,-7.5 0,-10.3 z"
id="path37"
sodipodi:nodetypes="ssccccssscccscs" />
<path
class="st7"
d="M594.6,24.4c-17.9-17.9-47-17.9-64.9,0l-43.7,43.7c-2.8,2.8-2.8,7.4,0,10.2l54.6,54.6c1.4,1.4,3.3,2.1,5.1,2.1 s3.7-0.7,5.1-2.1l43.7-43.7c8.7-8.7,13.4-20.2,13.4-32.4C608,44.6,603.2,33.1,594.6,24.4z"
id="path39" />
<path
class="st8"
d="M534.8,69.6c-1.9,0-3.7-0.7-5.1-2.1c-2.8-2.8-2.8-7.4,0-10.2l16.4-16.4c2.8-2.8,7.4-2.8,10.2,0 c2.8,2.8,2.8,7.4,0,10.2l-16.4,16.4C538.5,68.9,536.6,69.6,534.8,69.6z"
id="path41" />
<path
class="st9"
d="M589.1,139.2L479.8,29.9c-2.8-2.8-7.4-2.8-10.2,0l-27.3,27.3c-2.8,2.8-2.8,7.4,0,10.2l109.3,109.3 c1.4,1.4,3.3,2.1,5.1,2.1c1.9,0,3.7-0.7,5.1-2.1l27.3-27.3c1.4-1.4,2.1-3.2,2.1-5.1C591.2,142.4,590.5,140.5,589.1,139.2z"
id="path43" />
<path
class="st10"
d="M534.7,84.7l-37.6,37.6l54.4,54.4c1.4,1.4,3.3,2.1,5.1,2.1c1.9,0,3.7-0.7,5.1-2.1l27.3-27.3 c1.4-1.4,2.1-3.2,2.1-5.1c0-1.9-0.8-3.8-2.1-5.1L534.7,84.7z"
id="path45" />
<g
id="g51">
<path
class="st8"
d="M338.1,266.3c-1.9,0-3.7-0.7-5.1-2.1c-2.8-2.8-2.8-7.4,0-10.2l21.9-21.9c2.8-2.8,7.4-2.8,10.2,0 c2.8,2.8,2.8,7.4,0,10.2l-21.9,21.9C341.8,265.6,339.9,266.3,338.1,266.3z"
id="path47" />
<path
class="st8"
d="M381.8,222.6c-1.9,0-3.7-0.7-5.1-2.1c-2.8-2.8-2.8-7.4,0-10.2l76.5-76.5c2.8-2.8,7.4-2.8,10.2,0 c2.8,2.8,2.8,7.4,0,10.2l-76.5,76.5C385.5,221.9,383.6,222.6,381.8,222.6z"
id="path49" />
</g>
</g><path
class="st0"
d="m 271,492.99765 h -42.8 c -4.4,0 -8,3.6 -8,8 v 42.8 c 0,4.4 3.6,8 8,8 H 271 c 4.4,0 8,-3.6 8,-8 v -42.8 c 0,-4.4 -3.6,-8 -8,-8 z"
id="path4-8"
style="fill:#9baaab" /><path
class="st0"
d="m 433.03294,464.68706 h -42.8 c -4.4,0 -8,3.6 -8,8 v 42.8 c 0,4.4 3.6,8 8,8 h 42.8 c 4.4,0 8,-3.6 8,-8 v -42.8 c 0,-4.4 -3.6,-8 -8,-8 z"
id="path4-89"
style="fill:#9baaab" /></svg>

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

@@ -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
@@ -7,7 +7,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -1,13 +1,13 @@
{
"type": "Default Exchange",
"definition": {
"text": "The Default Exchange is the one referenced by the Exchange Data Tasks, Exchange Trading Tasks, Exchange Learning Tasks nodes of which a certain Task decends from. The Trading Bot running inside that Task will considere that referenced exchange to be it's Default Exchange.",
"updated": 1612352828045
"text": "The Default Exchange is the one referenced by the Exchange Data Tasks, Exchange Trading Tasks, and Exchange Learning Tasks nodes from which a certain Task descends. The Trading Bot Instance running under that Task will consider the referenced Crypto Exchange to be the Default Exchange for the said Task.",
"updated": 1617616790868
},
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -7,7 +7,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -7,7 +7,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -7,7 +7,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -7,7 +7,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -7,7 +7,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -7,7 +7,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -1,8 +1,8 @@
{
"type": "Tutorial",
"definition": {
"text": "The tutorial hierarchy features a free arrangement of Tutorial Topic and Tutorial Step nodes that make up a tutorial. Each node in the hierarchy, including the parent tutorial node, represents an HTML page that is overlaid on top of both the design space and the charting space.",
"updated": 1613839026788
"text": "The tutorial hierarchy features a free arrangement of Tutorial Topic and Tutorial Step nodes that make up a tutorial. Each node in the hierarchy, including the parent tutorial node, represents an HTML page that may be overlaid on top of both the Design Space and the Charting Space.",
"updated": 1617610222444
},
"paragraphs": [
{
@@ -11,18 +11,23 @@
},
{
"style": "Text",
"text": "Nodes in the hierarchy may be arranged freely, meaning that there may be as many tutorial topics and tutorial steps as desired. ",
"updated": 1613839088895
"text": "Nodes in the hierarchy may be arranged freely, meaning that there may be as many tutorial topics and tutorial steps as desired. Tutorial topics may contain tutorial steps but also other tutorial topics. This allows nesting topics to be used as subtopics.",
"updated": 1617649482153
},
{
"style": "Text",
"text": "In general terms, all types of nodes behave similarly in the sense that each node, independently of the precise type, represents a tutorial step in and of itself. Subtle differences shall be covered where appropriate.",
"updated": 1613839117191
"text": "The system – as usual – evaluates the hierarchy in a clockwise direction starting from the node to the right of the parent Tutorial node, and goes to the deepest node of each branch before moving to the next one.",
"updated": 1617649522223
},
{
"style": "Success",
"text": "The key similarity among all types of nodes in the hierarchy is that all of them may draw content from a tutorial page in the Docs.",
"updated": 1613839286982
"style": "Callout",
"text": "In general terms, all types of nodes behave similarly in the sense that each node, independently of the precise type, represents a tutorial step in and of itself. That is, all nodes including the top-level Tutorial node, the Tutorial Topic node, and the Tutorial Step node may display a content page as a step in the tutorial. Subtle differences shall be pointed where appropriate.",
"updated": 1617622995279
},
{
"style": "Note",
"text": "The key similarity among all types of nodes in the hierarchy is that all of them may draw content from the tutorial's collection of pages in the Docs. That is, each node in the hierarchy points to a Docs Page, and it is that page in the Docs that features the content displayed for the given step. The pointer is specified in the configuration of each node (see the docs property).",
"updated": 1617623101039
},
{
"style": "Block",
@@ -35,33 +40,70 @@
},
{
"style": "Text",
"text": "The configuration of each node in the tutorial hierarchy determines the content and behavior of each step. All types of nodes share the same basic configuration. However, Tutorial Step nodes have extra properties, described elsewhere.",
"updated": 1613839329036
"text": "The configuration of each node in the tutorial hierarchy determines the content and behavior of each step. All types of nodes share the same basic configuration. However, Tutorial Step nodes have extra properties, described on the Tutorial Step node page.",
"updated": 1617623609988
},
{
"style": "Success",
"text": "The configuration properties discussed on this page apply to all types of nodes in the hierarchy.",
"updated": 1617623631110
},
{
"style": "Text",
"text": "The layout of the HTML page follows the layout of the referenced page in the Docs, although displayed within the confines of the tutorial window. ",
"updated": 1613839417342
"text": "The layout of the HTML page follows the layout of the associated page in the Docs, although displayed within the confines of the tutorial window.",
"updated": 1617610416865
},
{
"style": "Callout",
"text": "In other words, you affect the layout of the step by writing content and applying styles to individual paragraphs in the associated Docs Page.",
"updated": 1613839489189
"text": "In other words, you affect the layout of the particular step by writing content and applying styles to individual paragraphs in the associated Docs Page.",
"updated": 1617610435932
},
{
"style": "Note",
"text": "The HTML page features a limited space and does not support scrolling. If too much information is defined in the associated Docs Page, the resulting content overflows the available space in the tutorial window. There is no system-side control to deal with such overflows, so it's up to you to spread information across multiple steps and keep each page within its limits.",
"updated": 1613839536547
},
{
"style": "Title",
"text": "Configuration Properties",
"updated": 1617635291377
},
{
"style": "Subtitle",
"text": "Properties",
"updated": 1609705050135
"text": "icon",
"updated": 1617635214170
},
{
"style": "Text",
"text": "The property icon requires two definitions:",
"updated": 1617635366207
},
{
"style": "List",
"text": "icon: the name and project of one of the icons stored in the \\Projects\\[Project-Name]\\Iconsfolder, without the extension. When the configuration exists, the icon is placed within a table, on the left-hand side of the text block featured in the definition field. When there is no icon, the definition occupies the full width.",
"updated": 1613840648780
"text": "The \"name\" of the icon without the extension; "
},
{
"style": "List",
"text": "The \"project\" the icon belongs to."
},
{
"style": "Text",
"text": "For your reference, icons are stored in the following path:"
},
{
"style": "Json",
"text": "\\Projects\\[Project-Name]\\Icons",
"updated": 1617610685030
},
{
"style": "Success",
"text": "Use the existing collection of icons to illustrate each step of the tutorial. These illustrations help make for more compelling communication.",
"updated": 1617623866873
},
{
"style": "Text",
"text": "When the configuration exists, the icon is placed within a table, side by side with the text block that makes up the definition field of the associated Docs Page. When there is no icon, the definition occupies the full width of the page.",
"updated": 1617635415677
},
{
"style": "Json",
@@ -69,9 +111,19 @@
"updated": 1613840669552
},
{
"style": "List",
"text": "position: determines the position of the floating HTML. There are three alternatives... \"Left\", \"Right\", or leave the field empty to position the page in the center of the screen.",
"updated": 1613842749882
"style": "Text",
"text": "The above configuration places the balance.png icon of the Superalgos project in the table of the corresponding Docs page (see the docs property below).",
"updated": 1617635461827
},
{
"style": "Subtitle",
"text": "position",
"updated": 1617635475423
},
{
"style": "Text",
"text": "The position property determines the position of the floating HTML. There are three alternatives... \"Left\", \"Right\", or leave the field empty to position the page on the center of the screen.",
"updated": 1617635484212
},
{
"style": "Json",
@@ -79,18 +131,47 @@
"updated": 1613840787300
},
{
"style": "List",
"text": "slider: determines the position of the horizontal slider. There are three alternatives... \"toTop\", \"toBottom\", \"toMiddle\".",
"updated": 1613842783566
"style": "Text",
"text": "The configuration above places the tutorial step on the left-hand side of the screen.",
"updated": 1617635642707
},
{
"style": "Subtitle",
"text": "slider",
"updated": 1617635668767
},
{
"style": "Text",
"text": "The slider property determines the position of the horizontal slider. There are three alternatives... \"toTop\", \"toBottom\", \"toMiddle\"."
},
{
"style": "Json",
"text": "\"slider\": \"toBottom\""
"text": "\"slider\": \"toBottom\" // Opens the Charting Space",
"updated": 1617624084984
},
{
"style": "List",
"text": "pressButton: allows you to forcefully \"Stop\" the tutorial, go to the \"Next\" step, go to the \"Previous\" step, or \"Skip\" a step. When a step is loaded and one of these options is configured in this property, the action is applied immediately. A common use of this feature is to skip a step, for instance, a Tutorial Topic node that is used solely for organizational purposes within the hierarchy, thus has no content.",
"updated": 1613842824873
"style": "Json",
"text": "\"slider\": \"toTop\" // Opens the Design Space",
"updated": 1617624125599
},
{
"style": "Json",
"text": "\"slider\": \"toMiddle\" // Enables using the Charting Space and the Design Space concurrently",
"updated": 1617624154127
},
{
"style": "Subtitle",
"text": "pressButton",
"updated": 1617635952027
},
{
"style": "Text",
"text": "The pressButton property allows you to forcefully \"Stop\" the tutorial, go to the \"Next\" step, go to the \"Previous\" step, or \"Skip\" a step. When a step is loaded and one of these options is configured in this property, the action is applied immediately."
},
{
"style": "Note",
"text": "A common use of this feature is to skip a step, for instance, a Tutorial Topic node that is used solely for organizational purposes within the hierarchy, thus features no content. Leave the field empty for the step to play in the usual fashion.",
"updated": 1617649582774
},
{
"style": "Json",
@@ -98,9 +179,24 @@
"updated": 1613841332185
},
{
"style": "List",
"text": "docs: the property is used to reference the Docs Tutorial Page that feeds content to the particular tutorial step. The definition requires the name of the Project, the Docs Page Category which is always Tutorial, and the complete name of the tutorial step page.",
"updated": 1613841395148
"style": "Text",
"text": "The above configuration takes the user to the next step in the tutorial without displaying any content for the node in question.",
"updated": 1617648136262
},
{
"style": "Success",
"text": "You may use Tutorial Topic nodes for organizational purposes only, for instance, to arrange the hierarchy in a way that it's easy to read and maintain. Topics with too many steps are harder to deal with later on. In other words, you may use a Tutorial Topic node to group several steps, even if you don't intend the Tutorial Topic node to display any content. In such cases, you may use this property to skip the step that is not intended for content display.",
"updated": 1617649616576
},
{
"style": "Subtitle",
"text": "docs",
"updated": 1617636114812
},
{
"style": "Text",
"text": "The docs property is used to point to the Docs Tutorial Page that feeds content to the particular tutorial step. The definition requires the name of the Project, the Docs Page Category which is always \"Tutorial\", and the complete name of the Docs Page, that is, the \"type\" as specified in the JSON file.",
"updated": 1617648211414
},
{
"style": "Json",
@@ -108,14 +204,92 @@
"updated": 1613842164831
},
{
"style": "List",
"text": "controlDocs: the property is used to control the behavior of the Docs panel. The panel property may be set to \"Open\" or \"Close\". The property closeTutorialEditor may switch on (true) and off (false) the Docs editor. When set to false, the Docs panel shows the page corresponding to the active tutorial step or the page in the Docs that is requested. When the property is set to true and there is no request to open a Docs page, then the Docs panel shows the search box. The page property is where you define which page in the Docs must be loaded. You must specify the Project, the Docs Page Category, and the type which is the complete name of the page.",
"updated": 1613843493276
"style": "Subtitle",
"text": "controlDocs",
"updated": 1617648219190
},
{
"style": "Text",
"text": "The property is used to control the behavior of the Docs panel. Within controlDocs, several properties are available, and all of them are optional. Let's review each in detail."
},
{
"style": "Text",
"text": "The panel property may be set to \"Open\" or \"Close\". This property controls the tab that allows you to open the Docs Panel in one step, and close it on a different step when it's no longer needed.",
"updated": 1617649653900
},
{
"style": "Json",
"text": " \"controlDocs\": {\n \"panel\": \"Open\",\n \"closeTutorialEditor\": true,\n \"page\": {\n \"project\": \"Superalgos\",\n \"category\": \"Topic\",\n \"type\": \"Trading System Hierarchy\"\n }\n }",
"updated": 1613842185832
"text": "\"controlDocs\": {\n \"panel\": \"Open\",\n }",
"updated": 1617634451884
},
{
"style": "Text",
"text": ""
},
{
"style": "Success",
"text": "If the Docs Panel is closed, the rest of the properties are somehow irrelevant. However, when the Docs Panel is open, the rest of the properties control what is displayed in the Docs Panel.",
"updated": 1617635061507
},
{
"style": "Text",
"text": "The property closeTutorialEditor may switch on and off the Docs editor. When set to false or when there is no definition, and provided no specific Docs Page is called (see controlDocs below), the Docs panel shows the page associated with the current tutorial step in editing mode.",
"updated": 1617649781891
},
{
"style": "Json",
"text": "\"controlDocs\": {\n \"panel\": \"Open\",\n \"closeTutorialEditor\": false,\n }",
"updated": 1617648310737
},
{
"style": "Success",
"text": "Because this definition is set to false by default, this is the usual behavior. That is, by default, when the Docs Panel is opened while a tutorial step is playing, the Docs Panel shows the Docs Page associated with the specific step so that the page may be edited right then and there.",
"updated": 1617648335347
},
{
"style": "Text",
"text": "When the closeTutorialEditor property is set to true and there is no request to open a Docs page (see page property below), then the Docs panel shows whatever Docs Page was being displayed in the previous step.",
"updated": 1617648434580
},
{
"style": "Json",
"text": "\"controlDocs\": {\n \"panel\": \"Open\",\n \"closeTutorialEditor\": true,\n }",
"updated": 1617634444688
},
{
"style": "Success",
"text": "You may want to close the tutorial editor when the user is supposed to interact with the Docs from one step to the next. For example, let's say the tutorial instructs the user to run a search and discusses the search results in the following step. In that case, you will want the tutorial editor to remain closed, as otherwise, the search performed by the user would be lost, and instead the page corresponding to the new tutorial step would be loaded.",
"updated": 1617649832578
},
{
"style": "Text",
"text": "The searchPage property overruns the tutorial editor settings and loads the home search page featuring the search box in the center.",
"updated": 1617649861459
},
{
"style": "Json",
"text": "\"controlDocs\": {\n \"panel\": \"Open\",\n \"searchPage\": true,\n }",
"updated": 1617648855034
},
{
"style": "Success",
"text": "Use the above setting when you wish the user to get the clean search box to make a search or run a command.",
"updated": 1617648884933
},
{
"style": "Text",
"text": "The page property is where you define which Docs Page must be loaded. You must specify the Project, the Docs Page Category, and the \"type\" which is the complete name of the page. The optional property anchor allows you to points the user to a specific paragraph in the page with the Docs Anchor Style.",
"updated": 1617649332425
},
{
"style": "Json",
"text": "\"controlDocs\": {\n \"panel\": \"Open\",\n \"page\": {\n \"project\": \"Superalgos\",\n \"category\": \"Topic\",\n \"type\": \"Syntax Overview\",\n \"anchor\": \"Previous Property\"\n }\n }",
"updated": 1617649170254
},
{
"style": "Success",
"text": "Use the above configuration when you wish the user to read a specific page in the Docs.",
"updated": 1617649085529
}
]
}
@@ -3,8 +3,8 @@
"pageNumber": 21,
"type": "Docs Anchor Style",
"definition": {
"text": "Anchor paragraphs are used together with the Docs Goto Command. When you want to generate a Docs Link to an specific part of a Docs Page, you first need to create an Anchor paragraph in order to be able to create the link to that part of the page.",
"updated": 1615591597546
"text": "Anchor paragraphs are used together with the Docs Goto Command. When you want to generate a Docs Link to a specific part of a Docs Page, you first need to create an Anchor paragraph to be able to create the link to the specific paragraph in the page.",
"updated": 1617649387777
},
"paragraphs": [
{
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -3,14 +3,14 @@
"pageNumber": "1",
"type": "LF Trading Bot - Chart Data Structure",
"definition": {
"text": "The Chart Data Structure is an object that contains Indicator or Sensor bots data, available at runtime, that can be accessed from the code of Conditions and Formulas.",
"updated": 1612349390525
"text": "The Chart Data Structure is an object that contains Indicator Bot or Sensor Bot data available at runtime, and can be accessed from the code of Conditions and Formulas.",
"updated": 1617615874508
},
"paragraphs": [
{
"style": "Note",
"text": "This Javascript object, together with the other two data structures available, ultimately defines the syntax that can be used to write conditions and formulas, and more precisely the sintax to retrieve Indicator Bot and Sensor Bot data.",
"updated": 1612349521002
"text": "This Javascript object, together with the other two data structures described on this topic, ultimately defines the syntax that used to write conditions and formulas, and more precisely the syntax to retrieve Indicator Bot and Sensor Bot data.",
"updated": 1617615932665
},
{
"style": "Title",
@@ -18,8 +18,8 @@
},
{
"style": "List",
"text": "The root of the object is called...",
"updated": 1612351077417
"text": "The root of the object is...",
"updated": 1617615941456
},
{
"style": "Json",
@@ -27,8 +27,8 @@
},
{
"style": "List",
"text": "After it these are it's valid properties...",
"updated": 1612351085368
"text": "After the root, the definition of the timeframe is mandatory...",
"updated": 1617616001919
},
{
"style": "Json",
@@ -37,13 +37,13 @@
},
{
"style": "List",
"text": "After that, it is expected the singleVariableName defined at the config of the Product Definition of an Indicator or Sensor.",
"updated": 1612351093008
"text": "After that comes the singleVariableName defined at the config of the Product Definition of an Indicator Bot or Sensor Bot.",
"updated": 1617616054644
},
{
"style": "List",
"text": "Finally the last property must be the codeName of a Record Property Node, belonging to the same Product Definition mentioned earlier.",
"updated": 1612350081190
"text": "Finally, the last property is the codeName of a Record Property node, corresponding to the same Product Definition mentioned earlier.",
"updated": 1617616859394
},
{
"style": "Title",
@@ -51,47 +51,59 @@
"updated": 1612350235632
},
{
"style": "Text",
"style": "Json",
"text": "chart.at01min.support.support5Rate",
"updated": 1612349808636
},
{
"style": "Text",
"style": "Json",
"text": "chart.at05min.candle.open",
"updated": 1612350213519
},
{
"style": "Text",
"style": "Json",
"text": "chart.at24hs.bollingerBand.movingAverage"
},
{
"style": "Title",
"text": "Advance Usage"
"text": "Advanced Use",
"updated": 1617616121116
},
{
"style": "Text",
"text": "You also have access to the set of indicators objects loaded in memory though this same data structure. If instead of using the sinleVariableName you use the pluralVariableName what you get is an array of objects, that depending on the time frame, could be the object for that time frame of all market or the current and previous day for time frames < 1 hour.",
"updated": 1612353614216
"text": "You also have access to the set of indicator objects loaded in memory through this same data structure.",
"updated": 1617616255365
},
{
"style": "Text",
"text": "If instead of using the singleVariableName you use the pluralVariableName, you get an array of objects that — depending on the time frame — could be the object featuring the whole market (for time frames of one hour and above) or the current and previous day (for time frames below one hour).",
"updated": 1617616419121
},
{
"style": "Note",
"text": "Remember that time frames of one hour and above are stored as Market Files while time frames below one hour are stored as Daily Files."
},
{
"style": "Title",
"text": "Examples"
},
{
"style": "Text",
"style": "Json",
"text": "chart.at05min.candles"
},
{
"style": "Text",
"text": "Will return an array of candles of the previous day concatenated with the candles of the current day. You then can use this information as you wish."
"text": "The above returns an array of candles of the previous days concatenated with the candles of the current day. You may use this information as you wish.",
"updated": 1617616467792
},
{
"style": "Text",
"style": "Json",
"text": "chart.at24hs.bollingerBands"
},
{
"style": "Text",
"text": "Will return an array of all bollingerBands object of the whole market, since the time frame is >= 1 hour."
"text": "The above returns an array of all bollingerBands object of the whole market since the time frame is above 1 hour.",
"updated": 1617616877744
},
{
"style": "Text",
@@ -3,22 +3,18 @@
"pageNumber": "2",
"type": "LF Trading Bot - Market Data Structure",
"definition": {
"text": "The Market Data Structure is one of the 3 data structures available at Conditions and Formulas with data from Indicator and Sensor bots.",
"updated": 1612351166683
"text": "You may use this Javascript object from within conditions and formulas when you want to specify a Market different from the Default Market. For example, you may access data of the ETH/USDT market from a Trading System running on the BTC/USDT market.",
"updated": 1617617047716
},
"paragraphs": [
{
"style": "Note",
"text": "This Javascript object can be used when you want to specify a market which is different fomr the Default Market. In this way you can access data of the ETH/USDT market from a stragegy running for example at the BTC/USDT market.",
"updated": 1612351365558
},
{
"style": "Title",
"text": "Structure"
},
{
"style": "List",
"text": "The root of the object is called..."
"text": "The root of the object is...",
"updated": 1617617057256
},
{
"style": "Json",
@@ -27,8 +23,8 @@
},
{
"style": "List",
"text": "After it you need to spacify the codeName of an Asset representing the Market Base Asset, like the following...",
"updated": 1612351559165
"text": "Then you must specify the codeName of an Asset representing the Market Base Asset, as follows...",
"updated": 1617617165183
},
{
"style": "Json",
@@ -37,7 +33,8 @@
},
{
"style": "List",
"text": "After that again the codeName of an Asset but this time representing the Market Quoted Asset.."
"text": "After that, specify the codeName of an Asset but this time representing the Market Quoted Asset...",
"updated": 1617617108322
},
{
"style": "Json",
@@ -45,8 +42,8 @@
},
{
"style": "List",
"text": "Finally you continue with the syntax of the LF Trading Bot - Chart Data Structure",
"updated": 1612352138708
"text": "Finally, continue with the syntax of the LF Trading Bot - Chart Data Structure",
"updated": 1617617178876
},
{
"style": "Title",
@@ -54,17 +51,17 @@
"updated": 1612352364588
},
{
"style": "Text",
"style": "Json",
"text": "market.ETH.BTC.chart.at01min.support.support5Rate",
"updated": 1612351751906
},
{
"style": "Text",
"style": "Json",
"text": "market.BTC.USDT.chart.at05min.candle.open",
"updated": 1612351782297
},
{
"style": "Text",
"style": "Json",
"text": "market.ETH.USDT.chart.at24hs.bollingerBand.movingAverage",
"updated": 1612351804074
}
@@ -3,21 +3,18 @@
"pageNumber": "3",
"type": "LF Trading Bot - Exchange Data Structure",
"definition": {
"text": "Write a summary for this topic page."
"text": "You may use this Javascript object when you want to specify a Crypto Exchange which is different from the Default Exchange. Then you may, for example, access data from Coinbase Pro from a Trading Session running on Binance.",
"updated": 1617617256390
},
"paragraphs": [
{
"style": "Note",
"text": "This Javascript object can be used when you want to specify a Cryto Exchage which is different fomr the Default Exchange. In this way you can access data from Coinbase Pro from a stragegy running for example at Binance.",
"updated": 1612351988656
},
{
"style": "Title",
"text": "Structure"
},
{
"style": "List",
"text": "The root of the object is called..."
"text": "The root of the object is...",
"updated": 1617617272058
},
{
"style": "Json",
@@ -26,8 +23,8 @@
},
{
"style": "List",
"text": "After it you need to spacify the codeName of a Crypto Exchange, like the following...",
"updated": 1612352057634
"text": "Then, you must specify the codeName of a Crypto Exchange, for instance...",
"updated": 1617617294733
},
{
"style": "Json",
@@ -36,8 +33,8 @@
},
{
"style": "List",
"text": "Finally you continue with the syntax of the LF Trading Bot - Market Data Structure",
"updated": 1612352124926
"text": "Finally, continue with the syntax of the LF Trading Bot - Market Data Structure",
"updated": 1617617310038
},
{
"style": "Title",
@@ -45,17 +42,17 @@
"updated": 1612352354839
},
{
"style": "Text",
"style": "Json",
"text": "exchange.poloniex.market.ETH.BTC.chart.at01min.support.support5Rate",
"updated": 1612352167087
},
{
"style": "Text",
"style": "Json",
"text": "exchange.bitfinex.market.BTC.USDT.chart.at05min.candle.open",
"updated": 1612352188098
},
{
"style": "Text",
"style": "Json",
"text": "exchange.binance.market.ETH.USDT.chart.at24hs.bollingerBand.movingAverage",
"updated": 1612352200136
},
@@ -66,7 +63,8 @@
},
{
"style": "Text",
"text": "As you can see at the following example you can have a mix of chart, market and exchange usage withing the same Formula or Condition. "
"text": "As you can see in the following example, you may have a mix of chart, market and exchange usage within the same Formula or Condition.",
"updated": 1617617348929
},
{
"style": "Json",
@@ -9,82 +9,46 @@
"paragraphs": [
{
"style": "Text",
"text": "You should expect new releases of Superalgos to become available every few months. Release announcements are made through the Official Superalgos Telegram Announcements Channel.",
"updated": 1611511377439
"text": "You should expect new releases of Superalgos to become available every few months. Release announcements are made through the official Superalgos Announcements Channel.",
"updated": 1617647047464
},
{
"style": "Note",
"text": "During this beta stage, patches may be released as frequently as several times per week. Due to their high-frequency, minor updates go unannounced. If you ever experience a malfunction, make sure you upgrade your installation to the latest version available in the Superalgos repository before reporting a bug.",
"updated": 1611511390486
"text": "During the beta stage, patches and new features may become available in the develop branch as frequently as several times per week. Due to the high frequency of their occurrence, minor updates go unannounced. If you ever experience a malfunction, make sure you upgrade your installation to the latest version available in the develop branch of the Superalgos repository before reporting a bug.",
"updated": 1617647903163
},
{
"style": "Title",
"text": "New Releases"
},
{
"style": "Text",
"text": "If you are upgrading to a new official release, make sure you follow these instructions as well as those under the All Upgrades section."
},
{
"style": "Subtitle",
"text": "Read the Announcement Carefully"
},
{
"style": "Text",
"text": "Read and understand the announcement explaining the changes and how they may impact your workflow. Most importantly, find out if the new version requires upgrading your workspace."
},
{
"style": "Subtitle",
"text": "Check the Getting Started Guide"
},
{
"style": "Text",
"text": "It would be wise to go through the potentially new Getting Started Guide in the documentation, as it may reveal important information."
},
{
"style": "Subtitle",
"text": "Back Up Your Personal Work"
},
{
"style": "Text",
"text": "If the new version requires upgrading to a new workspace, you must decide which parts of your work you wish to backup so that you may restore them on the upgraded workspace (e.g.: you may want to backup your trading systems, data mines, super scripts, specific settings or configurations such as testing sessions, time machines, and so on)."
},
{
"style": "Text",
"text": "If there is no need to upgrade the workspace, that means that the new version of the system should work well with your existing workspace, provided that you are only one version behind."
"text": "Read and understand the announcement explaining the changes and how they may impact your workflow. Most importantly, find out if the new version requires upgrading your workspaces or the rest of the assets you may be working with (trading systems, data mines, etc).",
"updated": 1617646452770
},
{
"style": "Title",
"text": "All Upgrades"
"text": "Back-Up Your Personal Work",
"updated": 1617647919380
},
{
"style": "Subtitle",
"text": "Back Up the Workspace"
"style": "Important",
"text": "Always back up your personal work. Whether the new version is backward-compatible or not, you may — for whatever reason — want to go back to the state of affairs before the upgrade.",
"updated": 1617647956316
},
{
"style": "Text",
"text": "Always back up your existing workspace before switching versions. You may go back to a working version of the software in case something goes wrong with the new one, by installing the previous version of the system and restoring your old workspace from a backup file if needed."
"text": "The new version will always ship with its own Plugin Workspaces. The release announcement should make it clear if the new version is backward-compatible or not. If it's not, the announcement should cover any consideration relevant to upgrading from the previous version.",
"updated": 1617648003762
},
{
"style": "Subtitle",
"style": "Title",
"text": "Put the House in Order"
},
{
"style": "Text",
"text": "1. Stop all tasks that may be running in the network hierarchy, and close your browser. Allow a minute or two until all activity stops before closing the Console/Command Line/Terminal running the servers."
},
{
"style": "Text",
"text": "2. Check if you have any personal files, such as your workspace backups and so on in your Superalgos-master folders. Move them to a different location if you do, or take precautions not to delete them in the next step."
},
{
"style": "Text",
"text": "3. You will keep the Data-Storage and My-Workspaces folders intact and delete all the remaining folders within the Superalgos folder."
},
{
"style": "Important",
"text": "You do not need to get rid of the historic market data or the workspaces you have been working with every time you upgrade your system. Do not delete your Data-Storage or your My-Workspaces folder.",
"updated": 1611511439947
"text": "Stop all tasks that may be running in the Network hierarchy. Allow a minute or two until all activity stops.",
"updated": 1617646656306
},
{
"style": "Title",
@@ -93,8 +57,18 @@
},
{
"style": "Text",
"text": "Always follow the instructions in the Official Announcements Channel and the official blog post about the new release.",
"updated": 1611511529701
"text": "Run the App Update Command to install the new version of the app. Follow the instructions to close the browser and stop the client once the system is updated.",
"updated": 1617647599654
},
{
"style": "Title",
"text": "Apply the Guidance in the Announcement",
"updated": 1617647633126
},
{
"style": "Text",
"text": "If the official announcement provides information on how to upgrade your assets to use them in the new version, this is the time to follow the relevant guidance.",
"updated": 1617647676913
},
{
"style": "Important",
@@ -107,18 +81,21 @@
},
{
"style": "Text",
"text": "Once the system loads in your browser window and before you start working, you need to empty Chrome’s cache and do a hard reload to make sure the browser does use the newly installed files."
"text": "Once the system loads in your browser window and before you start working, it's always good practice to empty Chrome’s cache and do a hard reload to make sure the browser does use the newly installed files.",
"updated": 1617647736967
},
{
"style": "Text",
"text": "1. Hit F12 to open Chrome’s Developer Tools. You do not need to use the Developers Tools, but opening it allows performing the next task."
"style": "List",
"text": "Hit F12 to open Chrome’s Developer Tools. You do not need to use the Developers Tools, but opening it allows performing the next task.",
"updated": 1617647751232
},
{
"style": "Text",
"text": "2. Right-click on the refresh icon and select Empty Cache and Hard Reload from the drop-down menu. Once refreshed, you may close Developer Tools with F12."
"style": "List",
"text": "Right-click on the refresh icon and select Empty Cache and Hard Reload from the drop-down menu. Once refreshed, you may close Developer Tools with F12.",
"updated": 1617647755781
},
{
"style": "Text",
"style": "List",
"text": "F12 to open Developer Tools, then right-click on the refresh icon."
},
{
@@ -135,11 +112,8 @@
},
{
"style": "Text",
"text": "Before going deep back to work, it is always recommeended to test the new version a bit and make sure that your existing work performs as you would expect."
},
{
"style": "Text",
"text": "If you run into any issues, feel free to drop us a line in our Community."
"text": "Before going deep back to work, it is always recommended to test the new version a bit and make sure that your existing work performs as you would expect.",
"updated": 1617648042507
}
]
}
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
@@ -0,0 +1,20 @@
{
"tutorial": "Welcome to Superalgos!",
"pageNumber": "110.5",
"type": "Tutorial Step - Beware of Impersonators!",
"definition": {
"text": "Superalgos Admins, the Core Team, and Community Mods will never contact you directly unless you contact them first!",
"icon": {
"name": "bullet-warning",
"project": "Superalgos"
},
"updated": 1617608574624
},
"paragraphs": [
{
"style": "Warning",
"text": "Scammers are lurking! Beware! It's no news that trading-related groups attract all sorts of scammers, and we are aware that they contact people in our groups attempting all sorts of tricks. We will never ask you for API keys, coins, or cash. In fact, we will never ask you to trust us in any way! We want to make it clear that if someone contacts you directly claiming to work with or for the project, it is a scam. Please report scammers in the Community group so that they may be banned, and to increase awareness of the problem, but also block them and report them to Telegram if the option is available.",
"updated": 1617608980211
}
]
}
@@ -10,24 +10,35 @@ exports.newSuperalgosBotModulesAnnouncements = function (processIndex) {
let tradingSystem
let tradingEngine
let sessionParameters
let taskParameters
return thisObject
function initialize() {
tradingSystem = TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.tradingSystem
tradingEngine = TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.tradingEngine
sessionParameters = TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters
let taskParameters = {
market: TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName +
'/' +
TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName
}
}
function finalize() {
tradingSystem = undefined
tradingEngine = undefined
sessionParameters = undefined
taskParameters = undefined
TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.messagesSent = undefined
}
function makeAnnoucements(node) {
if (node === undefined) { return }
if (node.announcements === undefined) { return }
for (let i = 0; i < node.announcements.length; i++) {
let announcement = node.announcements[i]
let canAnnounce = true
@@ -90,7 +101,7 @@ exports.newSuperalgosBotModulesAnnouncements = function (processIndex) {
type: 'TS LF Trading Bot Error - ' + message,
placeholder: {}
}
tradingSystem.addError([TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.id, message, docs])
}
}
@@ -28,6 +28,11 @@ exports.newSuperalgosBotModulesTradingSystem = function (processIndex) {
let tradingStagesModuleObject = TS.projects.superalgos.botModules.tradingStages.newSuperalgosBotModulesTradingStages(processIndex)
let taskParameters = {
market: TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName +
'/' +
TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName
}
return thisObject
function initialize() {
@@ -140,6 +145,7 @@ exports.newSuperalgosBotModulesTradingSystem = function (processIndex) {
tradingSystem = undefined
tradingEngine = undefined
sessionParameters = undefined
taskParameters = undefined
}
function mantain() {
+1 -1
View File
@@ -1,6 +1,6 @@
function newSuperalgosGlobalsDocs() {
thisObject = {
NEW_PARAGRAPH_TEXT: "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository.",
NEW_PARAGRAPH_TEXT: "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository.",
DEFAULT_LANGUAGE: 'EN',
DEFAULT_CURRENT_BRANCH: 'master',
DEFAULT_CONTRIBUTIONS_BRANCH: 'develop',
@@ -7,7 +7,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use doscs.save to save your changes and app.contribute to send it to the main repository."
"text": "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
}
]
}
+9 -4
View File
@@ -20,7 +20,8 @@ Node JS is an open-source server environment required to run Superalgos.
**c.** Run the installer with the default configuration — just click Next until Node.JS is fully installed.
**NOTE FOR RASPBERRY PI USERS:** From the SSH Terminal, send the following commands to install Node. **NOTE:** It is best to use the most current and updated version of the FULL PiOS image.
**NOTE FOR RASPBERRY PI USERS:** You may install Node.JS just like you would on any other machine as per the above instructions. As an alternative, you may also try the following from the SSH Terminal. **NOTE:** It is best to use the most current and updated version of the FULL PiOS image.
```
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
```
@@ -53,8 +54,7 @@ Git is an open-source distributed version control system required to download an
**NOTE FOR MAC USERS:** Depending on your setup, installing Git may be optional. The native XCode Command Line Developer Tools seems to work well. If you do install Git, we have tested Tim Harper's binary installer successfully.
**NOTE FOR RASPBERRY PI USERS:**
Send the SSH Terminal command to install git. The most recent version of PiOS has Git already installed, so this may give you an error. The error will not affect your installation.
**NOTE FOR RASPBERRY PI USERS:** Just like with Node.JS, you may follow the above instructions to install Git, or us the SSH Terminal command. The most recent version of PiOS has Git already installed, so this may give you an error. The error will not affect your installation.
```
sudo apt-get install git
```
@@ -148,7 +148,7 @@ A Welcome Tutorial pops-up automatically. You must do this Tutorial to finish th
![run-the-system-01](https://user-images.githubusercontent.com/13994516/107037804-e5fc6200-67bb-11eb-82f2-d0f40247fa14.gif)
If you are running a headless Raspberry Pi (one without a screen) it is recommended to use the following instead.
If you are running a headless Raspberry Pi (one without a screen) you may need to change directories first and run Superalgos with the `minMemo` and `noBrowser` options.
```
cd Superalgos
```
@@ -349,6 +349,11 @@ No problem, code or integrate libraries with your own version of any component a
# Support
The Superalgos Community meets on several Telegram groups.
> **BEWARE OF IMPERSONATORS — SCAMMERS ARE LURKING!**
Superalgos Admins, the Core Team, and Community Mods will never contact you directly unless you contact them first. We will never ask you for API keys, coins, or cash. In fact, we will never ask you to trust us in any way. Our [Community Safetey Policy](https://superalgos.org/community-safety-policy.shtml) explains why. In short, we want to make it clear that if someone contacts you directly claiming to work with or for the project, it is a scam. Please report scammers in the Community group so that they may be banned, and to increase awareness of the problem, but also block them and report them to Telegram if the option is available.
## Via Telegram
Online support through our [Superalgos User's Support Group](https://t.me/superalgossupport).