Merge pull request #918 from Luis-Fernando-Molina/develop

Contribution: Plugins Docs Merged into Develop
This commit is contained in:
Luis Fernando Molina authored and GitHub committed 2021-05-13 12:18:19 -04:00
commit 7a818d5a89
28 files changed
+215 -46

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-703 270 512 512" style="enable-background:new -703 270 512 512;" xml:space="preserve">
<style type="text/css">
.st0{display:none;}
.st1{clip-path:url(#SVGID_2_);}
.st2{fill:#E80C20;}
.st3{fill:#FFFFFF;}
.st4{fill:#002A94;}
</style>
<polygon class="st0" points="-145.3,-34 -404,-34 -404,478 108,478 108,314.1 -145.3,314.1 "/>
<rect x="-145.3" y="-34" class="st0" width="253.3" height="348.1"/>
<g class="st0">
<text transform="matrix(1 0 0 1 -367.5776 96.9512)" style="display:inline;fill:#CDD4D5; font-family:'Saira-Black'; font-size:64.1866px;">E = mc</text>
<text transform="matrix(1 0 0 1 -174.8926 75.5773)" style="display:inline;fill:#CDD4D5; font-family:'Saira-Black'; font-size:37.4208px;">2</text>
</g>
<g>
<defs>
<circle id="SVGID_1_" cx="-447" cy="526" r="256"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
</clipPath>
<g id="XMLID_2179_" class="st1">
<rect id="XMLID_2182_" x="-351" y="270" class="st2" width="288" height="512"/>
<rect id="XMLID_2181_" x="-543" y="270" class="st3" width="192" height="512"/>
<rect id="XMLID_2180_" x="-831" y="270" class="st4" width="288" height="512"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

@@ -14,7 +14,8 @@
},
{
"style": "Error",
"text": "Github Crendentials are Missing. Please solve this issue and try again."
"text": "Github Credentials are Missing. Please solve this issue and try again.",
"updated": 1620591786589
},
{
"style": "Text",
@@ -27,7 +28,8 @@
},
{
"style": "Error",
"text": "Github Crendentials are Missing. The Hierarchy APIs was not found at your workspace. Please create it following the guide below and try again."
"text": "Github Credentials are Missing. The Hierarchy APIs was not found at your workspace. Please create it following the guide below and try again.",
"updated": 1620591795457
},
{
"style": "Anchor",
@@ -36,8 +38,8 @@
},
{
"style": "Error",
"text": "Github Crendentials are Missing. The Hierarchy APIs does not have a child of type Github API. Please create it following the guide below and try again.",
"updated": 1610559836108
"text": "Github Credentials are Missing. The Hierarchy APIs does not have a child of type Github API. Please create it following the guide below and try again.",
"updated": 1620591802895
},
{
"style": "Anchor",
@@ -46,8 +48,8 @@
},
{
"style": "Error",
"text": "Github Crendentials are Missing. The property username is missing or empty. Please create it following the guide below and try again.",
"updated": 1610559884041
"text": "Github Credentials are Missing. The property username is missing or empty. Please create it following the guide below and try again.",
"updated": 1620591810613
},
{
"style": "Anchor",
@@ -3,8 +3,8 @@
"pageNumber": "3",
"type": "Switching Branches - Contributions Branch Changed",
"definition": {
"text": "Your Contributions Branch was succesfully changed. This will only have an inpact the next time you run the App Contribute Command. This branch is going to receive the Pull Request with all your changes.",
"updated": 1610543909026
"text": "Your Contributions Branch was succesfully changed. This will only have an impact the next time you run the App Contribute Command. This branch is going to receive the Pull Request with all your changes.",
"updated": 1620591770153
},
"paragraphs": [
{
@@ -29,8 +29,8 @@
},
{
"style": "Success",
"text": "When you build a tutorial for Superalgos, you become the maintainer of the tutorial. It is your responsibility to keep the tutorial up to date with the system, and to implement the feedback users may share! Your tutorial must become the ultimate resource to learn the topics it covers.",
"updated": 1617712109958
"text": "When you build a tutorial for Superalgos, you become the maintainer of the tutorial. It is your responsibility to keep the tutorial up to date with the system, and to implement the feedback users may share! Your tutorial must become the ultimate resource to learn the topics it covers. ",
"updated": 1620645983606
},
{
"style": "Title",
@@ -118,8 +118,26 @@
},
{
"style": "Title",
"text": "Consistent Use of Space and Styles",
"updated": 1617904223037
"text": "Use Precise Language",
"updated": 1620645613169
},
{
"style": "Text",
"text": "The ultimate goal of tutorials is to provide users with a hands-on learning experience covering topics in detail. In general terms, we know that a tutorial is good — or has reached a mature state — when users ask no questions about it in the Support Group.",
"updated": 1620645730740
},
{
"style": "Text",
"text": "Be precise and unequivocal with language. Read your writing over and over in search of phrases that may not be easily understood, or that may be interpreted in different ways. Improve the sentences to make them as clear as possible. Remember, the less clear your writing is, the more questions we have in the Support Group.",
"updated": 1620645812565
},
{
"style": "Success",
"text": "Be prepared to iterate over and over until the tutorial stabilizes. That will happen when there are no more questions about the topic in the Support Group!"
},
{
"style": "Title",
"text": "Consistent Use of Space and Styles"
},
{
"style": "Text",
@@ -330,6 +348,11 @@
"text": "Do not set two consecutive paragraphs with the same style. The only exception is for bullet lists. Even the Docs Text Style is not formated to look good as consecutive paragraphs in the context of a tutorial (there is no padding between paragraphs).",
"updated": 1617723650896
},
{
"style": "List",
"text": "Leave at least one line empty before the buttons at the bottom of the tutorial window. Otherwise, in other browsers, the content may overflow the window.",
"updated": 1620646218773
},
{
"style": "Title",
"text": "Titles"
@@ -0,0 +1,109 @@
{
"topic": "How To",
"pageNumber": 4,
"type": "Run Two Independent Installations of Superalgos in Parallel",
"definition": {
"text": "Run two independent installations of Superalgos in parallel but be aware of possible issues.",
"updated": 1620660561822
},
"paragraphs": [
{
"style": "Text",
"text": "Superalgos in its essence is very easy and straightforward. This is the big advantage of this software that let you do literally whatever you want. One of the many Big Questions we face in the community is how to run multiple instances of SA at the same time. This is totally achievable and indeed it's really easy but, please, read everything carefully because this is not exempted from downsides. So first of all let's see how to configure SA to achieve this feature and at the end of this How To you will find what aspects to consider.",
"updated": 1620660089736
},
{
"style": "Text",
"text": "Basically Superalgos consists of two different parts, the UI and the CLI, that live togheter. To communicate with us they use 3 different parameters defined in the Environment.js file (see default values below) and are the following:",
"updated": 1620714602413
},
{
"style": "List",
"text": "IP Address -> WEB_SERVER_URL localhost\n",
"updated": 1620714659625
},
{
"style": "List",
"text": "HTTP Port -> HTTP_INTERFACE_PORT 34248",
"updated": 1620664211003
},
{
"style": "List",
"text": "Web Socket Port -> WEB_SOCKETS_INTERFACE_PORT 18041",
"updated": 1620664191467
},
{
"style": "Text",
"text": "It will therefore be sufficient to simply change these parameters to obtain the desired result. But note that changing the values in the Environment.js file could not be sufficient though. Superalgos saves these values not only as global variables but as straight values when you save a workspace, for example. You must then be sure to change these parameters in all your SA install. One way to achieve this quickly is to use a software like VSCode that let you do a search and replace in a whole directory.",
"updated": 1620714695058
},
{
"style": "Png",
"text": "PNGs/Superalgos/Docs/how-to/SA2IndependInstall-SArunDifferentBranches.png",
"updated": 1620715052275
},
{
"style": "Text",
"text": "In the above screenshot you can see two different installation of SA running togheter at the same time. To avoi any type of conflict it's suggested to change not only the ports being used but olso to replace'localhost'with the IP of your local lan. In Windows you can know which IP is assigned to your machine with a simple CLI command. Just type ipconfig and you will presented with details about your local lan as in the following screenshot. IPv4 Address is your local IP:",
"updated": 1620717800744
},
{
"style": "Png",
"text": "PNGs/Superalgos/Docs/how-to/SA2IndependInstall-IPlocalAddress.png",
"updated": 1620717894730
},
{
"style": "Text",
"text": "Using VSCode or any other editor that let you import the whole Supealgos folder is easy to do a search and replace. Just be sure to replace the exact match to avoid errors and ending up replacing something that should not be replaced like nested values in json files.",
"updated": 1620718097975
},
{
"style": "Png",
"text": "PNGs/Superalgos/Docs/how-to/SA2IndependInstall-VSCodeSearch.png",
"updated": 1620718137061
},
{
"style": "Text",
"text": "Once all 3 parameters are changed you can fire up Superalgos. The first step now is to navigate to the Network node and make sure the values are updated. In the screenshot below you can see that localhost and WebPort have updated values from the default ones (arbitrary set to 192.168.0.2 for IP and 34444 for the WebPort), but not the WebSocketPort that has the default value 18041. This mistake will end up with errors in Superalgos.",
"updated": 1620718262006
},
{
"style": "Png",
"text": "PNGs/Superalgos/Docs/how-to/SA2IndependInstall-CheckNetworkNode.png",
"updated": 1620718468553
},
{
"style": "Text",
"text": "Once everything is properly set up you can now run two independent installations of Superalgos in parallel. The two installation are independent and can run different branches or different workspaces:",
"updated": 1620718883900
},
{
"style": "Png",
"text": "PNGs/Superalgos/Docs/how-to/SA2IndependInstall-SA2Branches.png",
"updated": 1620719054815
},
{
"style": "Text",
"text": "One downside aspect to consider with such configuration is possible issues if you want to contribute to Superalgos. In the following screenshot, for example, you can see that a simple git checkout command will present you with a list of changed files that probably you don't want to use to contribute:",
"updated": 1620719690807
},
{
"style": "Png",
"text": "PNGs/Superalgos/Docs/how-to/SA2IndependInstall-GitCheckoutIssues.png",
"updated": 1620719642661
},
{
"style": "Text",
"text": "It is therefore advisable to carefully decide how to handle an SA installation when changing to arbitrary parameters.",
"updated": 1620719781972
},
{
"style": "Text",
"text": ""
},
{
"style": "Text",
"text": ""
}
]
}
@@ -13,8 +13,8 @@
"paragraphs": [
{
"style": "Callout",
"text": "right-click to open the map for a birds eye view of the workspace.",
"updated": 1620049276538
"text": "Right-click to open the Design Space map for a birds eye view of the workspace.",
"updated": 1620553531060
},
{
"style": "Text",
@@ -22,8 +22,8 @@
},
{
"style": "Callout",
"text": "left-click to zoom back into the workspace.",
"updated": 1620049288666
"text": "Left-click to zoom back into the workspace.",
"updated": 1620553577819
}
]
}
@@ -13,8 +13,8 @@
"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
"text": "The Install a New Market Tutorial taught you that installing a market sets up everything you need for a basic Superalgos workspace. This includes automatically setting up a Backtesting Session, a Live Trading Session, and charts for each Trading System present in the workspace.",
"updated": 1620553824986
},
{
"style": "Success",
@@ -13,8 +13,8 @@
"paragraphs": [
{
"style": "Text",
"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
"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 help us stay organized.",
"updated": 1620554034465
},
{
"style": "Important",
@@ -3,8 +3,8 @@
"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,
"text": "Look at you! You are making great progress. Now lets get that Time Machine added!",
"updated": 1620554388969,
"icon": {
"name": "chart-points",
"project": "Superalgos"
@@ -27,8 +27,8 @@
},
{
"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
"text": "Other helpful information you can use to label your charts can include the exchange, market pair, and network node associated with the information featured.",
"updated": 1620554455184
},
{
"style": "Text",
@@ -13,7 +13,8 @@
"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."
"text": "These are the scales! Anytime you add a time machine, it will come equipped with three scales (Rate Scale, Time Scale, and Time Frame Scale). These are the same scales you have used to interact with charts in the Charting Space.",
"updated": 1620554514514
},
{
"style": "Success",
@@ -3,8 +3,8 @@
"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,
"text": "One thing to keep in mind when adding Time Machines is that they may spawn on top of other charts within the Charting Space.",
"updated": 1620554644805,
"icon": {
"name": "mouse-left-click",
"project": "Superalgos"
@@ -18,8 +18,8 @@
},
{
"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
"text": "If necessary, move the time machines around and look for the title you added to your time machine in the Design Space.",
"updated": 1620554665332
},
{
"style": "Text",
@@ -28,8 +28,8 @@
},
{
"style": "Text",
"text": "Make sure your title is short enough to fit within the label box! You'll see why soon.",
"updated": 1620265202668
"text": "Make sure your title is short! You'll see why soon.",
"updated": 1620554841489
},
{
"style": "Text",
@@ -28,8 +28,8 @@
},
{
"style": "Note",
"text": "A Layer Manager's name is inherited from its Timeline Chart. As you can see, your naming Matters!",
"updated": 1620047088154
"text": "A Layer Manager inherits the name from its Timeline Chart. That's why a short name was best!",
"updated": 1620555102768
},
{
"style": "Text",
@@ -22,8 +22,8 @@
},
{
"style": "List",
"text": "Trading Mine Products– for results of a trading system’s Backtesting Session or Live Trading Session.",
"updated": 1617641005190
"text": "Trading Mine Products – for results of trading sessions.",
"updated": 1620555233360
},
{
"style": "List",
@@ -18,8 +18,8 @@
},
{
"style": "Text",
"text": "Did you find them? Keep going farther down the hierarchy until you see them!",
"updated": 1617849595158
"text": "Did you find it? Keep going farther down the hierarchy until you see them!",
"updated": 1620555757952
},
{
"style": "Text",
@@ -18,8 +18,8 @@
},
{
"style": "Callout",
"text": "Pin and drag your whole Time Machine over to the Data Mine Products nodes you found earlier.",
"updated": 1620047379533
"text": "Find your way to the Time Machine you created earlier, pin it, collapse it, and drag it over to the Data Mine Products nodes you found on the previous step.",
"updated": 1620555518613
},
{
"style": "Success",
@@ -18,7 +18,8 @@
},
{
"style": "Callout",
"text": "Find the Layer Manager under the Timeline Chart you added earlier. Then establish a reference between it and the Masters Data Mine Products node."
"text": "Find the Layer Manager under the Timeline Chart you added earlier. Then establish a reference from it to the Masters Data Mine Products node.",
"updated": 1620556116868
},
{
"style": "Success",
@@ -13,8 +13,8 @@
"paragraphs": [
{
"style": "Callout",
"text": "The last step is to hover over the Layer Manager and click Add All Mine Layers. ",
"updated": 1617850457047
"text": "The last step is to hover over the Layer Manager and click Add All Mine Layers. Make sure you confirm after you click the button!",
"updated": 1620556206237
},
{
"style": "Text",
@@ -13,8 +13,8 @@
"paragraphs": [
{
"style": "Callout",
"text": "Take a few minutes and check between the Bot Products nodes and your Layers. They Match!",
"updated": 1620048480506
"text": "Take a few minutes and check between the Bot Products offspring nodes and your new layers. They Match!",
"updated": 1620559042193
},
{
"style": "Note",
@@ -13,8 +13,8 @@
"paragraphs": [
{
"style": "Text",
"text": "The next thing you will want to connect with most charts are the results of your trading strategies. For the most part, this is the same as connecting to a Data Mine. There are just a few differences I will walk you through. One major difference is that each Time Machine can only reference one Trading Session. For example, one Backtesting Session that is associated with one Trading System. This helps keep your charts clean and readable. It would be confusing to see buy orders from two different trading systems all at once! What this means for connecting a chart is that we need to establish two references in order for things to work.",
"updated": 1617851405458
"text": "The next thing you will want to connect with most charts are the results of your trading sessions. For the most part, this is the same as connecting to a Data Mine. There are just a few differences I will walk you through. One major difference is that each Time Machine can only reference one Trading Session. For example, one Backtesting Session that is associated with one Trading System. This helps keep your charts clean and readable. It would be confusing to see buy orders from two different trading systems all at once! What this means for connecting a chart is that we need to establish two references in order for things to work.",
"updated": 1620560071262
}
]
}