docs updated
This commit is contained in:
1 parent
1396f7b1e3
commit
b65ca52444
55 files changed
+335
-2074
No files matched your search
@@ -1 +0,0 @@
|
||||
docs.superalgos.org
|
||||
@@ -1,6 +1,6 @@
|
||||
charting_space: "The Charting Space is the hierarchy that governs the configuration of the charts."
|
||||
charting_space: "The charting space is the hierarchy that governs the configuration of the charts, and the bidimensional space on which charts are drawn."
|
||||
|
||||
viewport: "The viewport represents the bidimensional space on which charts are drawn."
|
||||
viewport: "The viewport is a window through which you may look into the charting space."
|
||||
|
||||
dashboard: "A dashboard is a collection of time machines, each containing any number of charts."
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
charting_space: "The Charting Space is the hierarchy that governs the configuration of the charts."
|
||||
charting_space: "The charting space is the hierarchy that governs the configuration of the charts, and the bidimensional space on which charts are drawn."
|
||||
|
||||
viewport: "The viewport represents the bidimensional space on which charts are drawn."
|
||||
viewport: "The viewport is a window through which you may look into the charting space."
|
||||
|
||||
dashboard: "A dashboard is a collection of time machines, each containing any number of charts."
|
||||
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
charting_system: "The Charting System is the hierarchy that governs the configuration of the charts."
|
||||
|
||||
viewport: "A viewport represents the bidimensional space on which the charts are drawn."
|
||||
|
||||
time_machine: "A time machine syncronizes multiple timeline charts over the same timeline. Timeline charts within a time machine may have different rate scales or time frame scales, but their time scale will always match."
|
||||
|
||||
time_scale: "The time scale controls the scale of the horizontal axis, that is, the timeline of the corresponding time machine, and of all of the timeline charts within it."
|
||||
|
||||
rate_scale: "The rate scale controls the scale of the vertical axis, that is, the scale of the quoted asset, either of the time machine, or of the timeline chart, depending on where the node is located."
|
||||
|
||||
time_frame_scale: "The time frame scale controls the time frame setting, that is, the period of time represented by each candle, either of the time machine, or of the timeline chart, depending on where the node is located."
|
||||
|
||||
timeline_chart: "The timeline chart represents a chart within a time machine, which may have independent rate and time frame scales, as well as particular layers."
|
||||
|
||||
layers_manager: "The layer manager determines which layers will be visible on the corresponding timeline chart."
|
||||
|
||||
layer: "A layer represents a reference to a data product in the data storage node of the Network hierarchy. Conceptually, it means that a certain data product, which exists in a certain location on the network, holds the data to be rendered on the charts."
|
||||
@@ -1,17 +0,0 @@
|
||||
charting_system: "The Charting System is the hierarchy that governs the configuration of the charts."
|
||||
|
||||
viewport: "A viewport represents the bidimensional space on which the charts are drawn."
|
||||
|
||||
time_machine: "A time machine syncronizes multiple timeline charts over the same timeline. Timeline charts within a time machine may have different rate scales or time frame scales, but their time scale will always match."
|
||||
|
||||
time_scale: "The time scale controls the scale of the horizontal axis, that is, the timeline of the corresponding time machine, and of all of the timeline charts within it."
|
||||
|
||||
rate_scale: "The rate scale controls the scale of the vertical axis, that is, the scale of the quoted asset, either of the time machine, or of the timeline chart, depending on where the node is located."
|
||||
|
||||
time_frame_scale: "The time frame scale controls the time frame setting, that is, the period of time represented by each candle, either of the time machine, or of the timeline chart, depending on where the node is located."
|
||||
|
||||
timeline_chart: "The timeline chart represents a chart within a time machine, which may have independent rate and time frame scales, as well as particular layers."
|
||||
|
||||
layers_manager: "The layer manager determines which layers will be visible on the corresponding timeline chart."
|
||||
|
||||
layer: "A layer represents a reference to a data product in the data storage node of the Network hierarchy. Conceptually, it means that a certain data product, which exists in a certain location on the network, holds the data to be rendered on the charts."
|
||||
@@ -20,6 +20,8 @@ sensor_bot: "A sensor bot is an algorithm that extracts raw data from external s
|
||||
|
||||
indicator_bot: "An indicator bot is an algorithm that processes information that other bots have generated, and produces elaborate datasets for others to consume."
|
||||
|
||||
bot: "A bot is an algorithm defined in a data mine. Superalgos manages three types of bots: sensors, indicators, and the trading bot."
|
||||
|
||||
trading_bot: "Based on datasets exposed as products by other bots (counting sensors, indicators and even other trading bots), a trading bot applies the trading logic defined on a trading system to, on one side, generate a complete trading simulation (outputting datasets that include trades, the action of strategies, validation of conditions, etc.), and on the other side, manage the execution of orders when on a forward testing or live trading session."
|
||||
|
||||
superalgos_protocol: "In conceptual terms, the Superalgos Protocol determines the structure in which the information describing a trading system is stored and guides how traders shall create and automate strategies. In practical terms, the protocol results in a file with a specific format capable of holding all the information concerning any number and variety of strategies. In its current early version, the protocol is the description of a JSON object which defines the desired automation."
|
||||
|
||||
@@ -20,6 +20,8 @@ sensor_bot: "A sensor bot is an algorithm that extracts raw data from external s
|
||||
|
||||
indicator_bot: "An indicator bot is an algorithm that processes information that other bots have generated, and produces elaborate datasets for others to consume."
|
||||
|
||||
bot: "A bot is an algorithm defined in a data mine. Superalgos manages three types of bots: sensors, indicators, and the trading bot."
|
||||
|
||||
trading_bot: "Based on datasets exposed as products by other bots (counting sensors, indicators and even other trading bots), a trading bot applies the trading logic defined on a trading system to, on one side, generate a complete trading simulation (outputting datasets that include trades, the action of strategies, validation of conditions, etc.), and on the other side, manage the execution of orders when on a forward testing or live trading session."
|
||||
|
||||
superalgos_protocol: "In conceptual terms, the Superalgos Protocol determines the structure in which the information describing a trading system is stored and guides how traders shall create and automate strategies. In practical terms, the protocol results in a file with a specific format capable of holding all the information concerning any number and variety of strategies. In its current early version, the protocol is the description of a JSON object which defines the desired automation."
|
||||
|
||||
@@ -106,16 +106,12 @@ entries:
|
||||
url: /suite-hierarchies.html
|
||||
output: web
|
||||
|
||||
- title: References
|
||||
url: /suite-references.html
|
||||
output: web
|
||||
|
||||
- title: Charting space
|
||||
output: web
|
||||
folderitems:
|
||||
|
||||
- title: Viewport interface
|
||||
url: /suite-viewport-interface.html
|
||||
- title: Interface
|
||||
url: /suite-charting-space-interface.html
|
||||
output: web
|
||||
|
||||
- title: Arranging a dashboard
|
||||
@@ -138,6 +134,30 @@ entries:
|
||||
output: web
|
||||
class: childItem
|
||||
|
||||
- title: Available layers
|
||||
url: /suite-available-layers.html
|
||||
output: web
|
||||
|
||||
- title: Masters bots layers
|
||||
url: /suite-masters-bots-layers.html
|
||||
output: web
|
||||
class: childItem
|
||||
|
||||
- title: Sparta bots layers
|
||||
url: /suite-sparta-bots-layers.html
|
||||
output: web
|
||||
class: childItem
|
||||
|
||||
- title: Simulation layers
|
||||
url: /suite-simulation-layers.html
|
||||
output: web
|
||||
class: childItem
|
||||
|
||||
- title: Live trading history layer
|
||||
url: /suite-live-trading-history-layer.html
|
||||
output: web
|
||||
class: childItem
|
||||
|
||||
- title: Charting space
|
||||
url: /suite-charting-space.html
|
||||
output: web
|
||||
@@ -169,7 +189,7 @@ entries:
|
||||
output: web
|
||||
|
||||
- title: Syntax overview
|
||||
url: /suite-sysntax-overview.html
|
||||
url: /suite-syntax-overview.html
|
||||
output: web
|
||||
class: childItem
|
||||
|
||||
@@ -252,10 +272,6 @@ entries:
|
||||
output: web
|
||||
class: childItem
|
||||
|
||||
# - title: Managing processes
|
||||
# url: /suite-managing-processes.html
|
||||
# output: web
|
||||
|
||||
# - title: Backtests & Paper Trading
|
||||
# output: web
|
||||
# folderitems:
|
||||
@@ -352,21 +368,21 @@ entries:
|
||||
# url: /suite-build-a-plotter.html
|
||||
# output: web
|
||||
|
||||
# - title: Productivity Tools
|
||||
# output: web
|
||||
# folderitems:
|
||||
- title: Productivity Tools
|
||||
output: web
|
||||
folderitems:
|
||||
|
||||
# - title: Backups
|
||||
# url: /suite-backups.html
|
||||
# output: web
|
||||
- title: Backups
|
||||
url: /suite-backups.html
|
||||
output: web
|
||||
|
||||
# - title: Clones
|
||||
# url: /suite-clones.html
|
||||
# output: web
|
||||
- title: Clones
|
||||
url: /suite-clones.html
|
||||
output: web
|
||||
|
||||
# - title: Shares
|
||||
# url: /suite-shares.html
|
||||
# output: web
|
||||
- title: Shares
|
||||
url: /suite-shares.html
|
||||
output: web
|
||||
|
||||
# - title: Telegram Announcements
|
||||
# url: /suite-telegram-announcements.html
|
||||
@@ -396,13 +412,13 @@ entries:
|
||||
url: /suite-data-mine-hierarchy.html
|
||||
output: web
|
||||
|
||||
# - title: Troubleshooting
|
||||
# output: web
|
||||
# folderitems:
|
||||
- title: Troubleshooting
|
||||
output: web
|
||||
folderitems:
|
||||
|
||||
# - title: Upgrading your existing installation
|
||||
# url: /suite-upgrading-your-existing-instalation.html
|
||||
# output: web
|
||||
- title: Upgrading your existing installation
|
||||
url: /suite-upgrading-your-existing-instalation.html
|
||||
output: web
|
||||
|
||||
# - title: My system gets slow
|
||||
# url: /suite-my-system-gets-slow.html
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
topnav:
|
||||
- title: Topnav
|
||||
items:
|
||||
- title: Releases
|
||||
external_url: https://github.com/Superalgos/Platform/releases
|
||||
- title: Issues
|
||||
external_url: https://github.com/Superalgos/Platform/issues
|
||||
- title: Suite Docs
|
||||
|
||||
@@ -53,6 +53,8 @@
|
||||
|
||||
Conceptually, Superalgos places the focus on the visual experience. Not just because it's *nice* to see data in a graphical representation, but because our analysis capabillities expand when we incorporate senses in the mix. Human's capacity to think abstractly may be more or less developed across individuals, but one thing is clear: our thought process benefits from being able to see.
|
||||
|
||||
Think of the charting space as a huge drawing board. You may have lots of information plotted on different parts of the space and use a viewport to look into that space.
|
||||
|
||||
There is only one charting space hierarchy, thus all charts are configured here. As is common throughout the system, different concepts and elements of the charts such as scales, data layers and so on, are represented by nodes in the hierarchy. The system allows great flexibility on how to visualize information over the charts by adding, configuring, and arranging these nodes.
|
||||
|
||||
<!--------------------------------------------- CONTENT ends -->
|
||||
|
||||
@@ -51,7 +51,9 @@
|
||||
|
||||
<!--------------------------------------------- CONTENT starts -->
|
||||
|
||||
At the moment, the functionality of a dashboard is trivial: grouping time machines. However, in the future, it will offer various features to enhance the user experience while setting up complex and ellaborate dashboards.
|
||||
The concept of the dashboard allows having multiple charts configured all at once, so that you may consult different exchanges, different markets, different time frames, or different technical studies on demand, simply by moving around and zooming in or out. You may put charts side by side, or even superimpose them to study market flows, search for arbitrage opportunities, or simply keep them in sight when you analyze particular market situations.
|
||||
|
||||
At the moment, the functionality of a dashboard is trivial: grouping time machines. However, in the future, it will offer various features to enhance the user experience.
|
||||
|
||||
<!--------------------------------------------- CONTENT ends -->
|
||||
|
||||
|
||||
@@ -51,17 +51,15 @@
|
||||
|
||||
<!--------------------------------------------- CONTENT starts -->
|
||||
|
||||
The viewport offers a visual environment in which you may see, analyze and go over every piece of data involved in the process of trading cryptocurrencies:
|
||||
The viewport offers an opening into the visual environment in which you may see, analyze and go over every piece of data involved in the process of trading cryptocurrencies:
|
||||
|
||||
* Live and historic market data;
|
||||
* Data crunched in the form of indicators;
|
||||
* The specific effects of the rules you will program into your strategies, and how strategies behave during testing and live trading sessions.
|
||||
|
||||
At this point, the system supports one viewport only. Think of the viewport as a huge drawing board. You may have lots of information plotted on different parts of the viewport. You may move the viewport around and zoom in to focus on specific charts.
|
||||
At this point, the system supports one viewport only. In the future, different viewports may give you direct access to different parts of the charting space.
|
||||
|
||||
The information that is out of focus, that is, out of the visible screen, is not read nor rendered graphically, thus, does not consume resources.
|
||||
|
||||
The concept of the viewport allows having multiple charts configured all at once, so that you may consult different exchanges, different markets, different time frames, or different technical studies on demand, simply by moving around and zooming in or out. You may put charts side by side, or even superimpose them to study market flows, search for arbitrage opportunities, or simply keep them in sight when you analyze particular market situations.
|
||||
{% include note.html content="The information that is out of focus, that is, out of the viewport, is not read nor rendered graphically, thus, does not consume resources." %}
|
||||
|
||||
<!--------------------------------------------- CONTENT ends -->
|
||||
|
||||
|
||||
+16
-39
@@ -1,13 +1,18 @@
|
||||
<!--------------------------------------------- TITLE AND DEFINITION starts -->
|
||||
|
||||
{% assign title = "XXXXXXXXXXXXXXXX" %}
|
||||
{% assign definition = site.data.network.XXXXXXXXXXXXXXXX %}
|
||||
{% assign definition = site.data.concepts.XXXXXXXXXXXXXXXX %}
|
||||
{% assign preposition = "XXXXXXXXXXXXXXXX" %}
|
||||
{% assign plural = "s" %}
|
||||
|
||||
<!--------------------------------------------- TITLE AND DEFINITION ends -->
|
||||
|
||||
{% if include.heading != "" %}
|
||||
{% if include.more == "yes" and include.heading == "more" %}
|
||||
<details class="detailsCollapsible"><summary class="nobr">Click to learn more about {{ title | downcase }}{{plural}}
|
||||
</summary>
|
||||
{% endif %}
|
||||
|
||||
{% if include.heading != "" and include.heading != "more" %}
|
||||
{{include.heading}} {{title}}
|
||||
{% endif %}
|
||||
|
||||
@@ -26,21 +31,19 @@
|
||||
{% endif %}
|
||||
|
||||
{% if include.definition == "bold" %}
|
||||
|
||||
<strong>{{ definition }}</strong>
|
||||
|
||||
{% else %}
|
||||
|
||||
{% if include.definition != "no" %}
|
||||
{{ definition }}
|
||||
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if include.table == "yes" and include.icon != "no" %}
|
||||
</td></tr></table>
|
||||
{% endif %}
|
||||
|
||||
{% if include.more == "yes" and include.content == "more" %}
|
||||
<details><summary class="nobr">Click to learn more about {{ title | downcase }}{{plural}}
|
||||
{% if include.more == "yes" and include.content == "more" and include.heading != "more" %}
|
||||
<details class="detailsCollapsible"><summary class="nobr">Click to learn more about {{ title | downcase }}{{plural}}
|
||||
</summary>
|
||||
{% endif %}
|
||||
|
||||
@@ -54,44 +57,18 @@ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.more == "yes" and include.content != "more" %}
|
||||
<details><summary class="nobr">Click to learn more about {{ title | downcase }}{{plural}}
|
||||
{% if include.more == "yes" and include.extended == "more" and include.content != "more" and include.heading != "more" %}
|
||||
<details class="detailsCollapsible"><summary class="nobr">Click to learn more about {{ title | downcase }}{{plural}}
|
||||
</summary>
|
||||
{% endif %}
|
||||
|
||||
{% if include.adding != "" %}
|
||||
{% if include.extended != "no" %}
|
||||
|
||||
{{include.adding}} Adding {{preposition}} {{title}}
|
||||
|
||||
<!--------------------------------------------- ADDING starts -->
|
||||
<!--------------------------------------------- EXTENDED starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!--------------------------------------------- ADDING ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.configuring != "" %}
|
||||
|
||||
{{include.configuring}} Configuring the {{title}}
|
||||
|
||||
<!--------------------------------------------- CONFIGURING starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!--------------------------------------------- CONFIGURING ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.starting != "" %}
|
||||
|
||||
{{include.starting}} Starting {{preposition}} {{title}}
|
||||
|
||||
<!--------------------------------------------- STARTING starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!--------------------------------------------- STARTING ends -->
|
||||
<!--------------------------------------------- EXTENDED ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
<!--------------------------------------------- TITLE AND DEFINITION starts -->
|
||||
|
||||
{% assign title = "References" %}
|
||||
{% assign definition = site.data.concepts.reference %}
|
||||
{% assign preposition = "" %}
|
||||
{% assign plural = "" %}
|
||||
|
||||
<!--------------------------------------------- TITLE AND DEFINITION ends -->
|
||||
|
||||
{% if include.more == "yes" and include.heading == "more" %}
|
||||
<details class="detailsCollapsible"><summary class="nobr">Click to learn more about {{ title | downcase }}{{plural}}
|
||||
</summary>
|
||||
{% endif %}
|
||||
|
||||
{% if include.heading != "" and include.heading != "more" %}
|
||||
{{include.heading}} {{title}}
|
||||
{% endif %}
|
||||
|
||||
{% if include.icon != "no" %}
|
||||
|
||||
{% if include.table == "yes" and include.icon != "no" %}
|
||||
<table class="definitionTable"><tr><td>
|
||||
{% endif %}
|
||||
|
||||
<img src='images/icons/{{include.icon}}{{ title | downcase | replace: " ", "-" }}.png' />
|
||||
|
||||
{% if include.table == "yes" and include.icon != "no" %}
|
||||
</td><td>
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.definition == "bold" %}
|
||||
<strong>{{ definition }}</strong>
|
||||
{% else %}
|
||||
{% if include.definition != "no" %}
|
||||
{{ definition }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if include.table == "yes" and include.icon != "no" %}
|
||||
</td></tr></table>
|
||||
{% endif %}
|
||||
|
||||
{% if include.more == "yes" and include.content == "more" and include.heading != "more" %}
|
||||
<details class="detailsCollapsible"><summary class="nobr">Click to learn more about {{ title | downcase }}{{plural}}
|
||||
</summary>
|
||||
{% endif %}
|
||||
|
||||
{% if include.content != "no" %}
|
||||
|
||||
<!--------------------------------------------- CONTENT starts -->
|
||||
|
||||
{{include.heading}}## Establishing and Removing References
|
||||
|
||||
To establish a reference, right-click on the first node and drag it close to the target node. Grey rings show which nodes you may establish a reference with. In case there are multiple nodes that would accept the reference, the one closer to the node where the reference originates will have its ring highlighted. Releasing the mouse button establishes the reference, or *links* both nodes.
|
||||
|
||||
The reference is visually represented by a faint grey dotted line. Such line is visible only when both ends of the reference are visible.
|
||||
|
||||
To remove a reference or *delink* two nodes, simply right-click the node where the reference originates and make a dentle swipping motion away from the target node.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71175267-7057ce80-2267-11ea-8e97-4cffaa14b993.gif)
|
||||
|
||||
{% include note.html content="Throughout this documentation we may use the verbs *to link*, *to reference* or *to establish a reference* interchangeably, as synonyms." %}
|
||||
|
||||
<!--------------------------------------------- CONTENT ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.more == "yes" and include.extended == "more" and include.content != "more" and include.heading != "more" %}
|
||||
<details class="detailsCollapsible"><summary class="nobr">Click to learn more about {{ title | downcase }}{{plural}}
|
||||
</summary>
|
||||
{% endif %}
|
||||
|
||||
{% if include.extended != "no" %}
|
||||
|
||||
<!--------------------------------------------- EXTENDED starts -->
|
||||
|
||||
{{include.heading}}## Direction
|
||||
|
||||
References have a *direction* property relative to each of the nodes involved in the reference: the node establishing the reference sets an *outgoing* reference, while the one accepting the reference sets an *incoming* reference.
|
||||
|
||||
For example, a <a data-toggle="tooltip" data-original-title="{{site.data.concepts.session}}">session</a> establishes an outgoing reference with a trading system. This allows the session to access the information within the whole trading system hierarchy, including strategies. At the trading system level, the same reference is viewed as an incoming reference.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/70355703-0e649580-1873-11ea-925e-1f0250148d2c.gif)
|
||||
|
||||
{{include.heading}}## Scope
|
||||
|
||||
A reference established between nodes of any particular structure within a hierarchy is said to be an *internal* reference relative to the said structure of nodes. Similarly, a reference established with a node outside of the said structure, that is, in a different part of the hierarchy or in another hierarchy, is said to be an *external* reference.
|
||||
|
||||
Examples of internal references may be found in the data mine and crypto ecosystem hierarchies. For example, let's briefly look into one such case within a <a data-toggle="tooltip" data-original-title="{{site.data.data_mine.plotter_module}}">plotter module</a>:
|
||||
|
||||
The capture below shows the <a data-toggle="tooltip" data-original-title="{{site.data.data_mine.shapes}}">shapes</a> node and several offspring nodes: on one hand, several <a data-toggle="tooltip" data-original-title="{{site.data.data_mine.polygon}}">polygons</a>; on the other hand, the <a data-toggle="tooltip" data-original-title="{{site.data.data_mine.chart_points}}">chart points</a> node.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71106204-316e3e00-21bf-11ea-8ba0-df5fe9d0000e.gif)
|
||||
|
||||
Notice that <a data-toggle="tooltip" data-original-title="{{site.data.data_mine.polygon_vertex}}">vertices</a> under each polygon reference to <a data-toggle="tooltip" data-original-title="{{site.data.data_mine.point}}">points</a> under the chart points node.
|
||||
|
||||
This means that the node *shapes* feature several internal references.
|
||||
|
||||
{% include note.html content="The *backup*, *clone* and *share* operations make different uses of the properties of references. We will cover the three of them extensively so that you may make the most of these features." %}
|
||||
|
||||
|
||||
|
||||
<!--------------------------------------------- EXTENDED ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.more == "yes" %}
|
||||
</details>
|
||||
{% endif %}
|
||||
@@ -53,6 +53,8 @@
|
||||
|
||||
A forward testing session node must reference a trading system to gain access to the trading logic to be applied during the session. Other considerations framing the session come from the set of parameters attached to it.
|
||||
|
||||
{% include note.html content="Running a forward testing session requires the setup of a key instance at the market reference. It also requires a live data feed, meaning that the corresponding sensor bot, along with all indicators used by the referenced trading system, must be up and running" %}
|
||||
|
||||
<!--------------------------------------------- CONTENT ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -53,6 +53,8 @@
|
||||
|
||||
A live trading session node must reference a trading system to gain access to the trading logic to be applied during the session. Other considerations framing the session come from the set of parameters attached to it.
|
||||
|
||||
{% include note.html content="Running a live trading session requires the setup of a key instance at the market reference. It also requires a live data feed, meaning that the corresponding sensor bot, along with all indicators used by the referenced trading system, must be up and running" %}
|
||||
|
||||
<!--------------------------------------------- CONTENT ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
<!-- TITLE AND DEFINITION starts -->
|
||||
|
||||
{% assign title = "XXXXXXXXXXXXXXXX" %}
|
||||
{% assign definition = site.data.network.XXXXXXXXXXXXXXXX %}
|
||||
{% assign preposition = "XXXXXXXXXXXXXXXX" %}
|
||||
|
||||
<!-- TITLE AND DEFINITION ends -->
|
||||
|
||||
{% if include.heading != "" %}
|
||||
{{include.heading}} {{title}}
|
||||
{% endif %}
|
||||
|
||||
{% if include.icon != "no" %}
|
||||
|
||||
{% if include.table == "y" %}
|
||||
<table class="definitionTable"><tr><td>
|
||||
{% endif %}
|
||||
|
||||
<img src='images/icons/{{include.icon}}{{ title | downcase | replace: " ", "-" }}.png' />
|
||||
|
||||
{% if include.table == "y" %}
|
||||
</td><td>
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.definition != "regular" %}
|
||||
|
||||
<strong>{{ definition }}</strong>
|
||||
|
||||
{% else %}
|
||||
|
||||
{{ definition }}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.table == "y" and include.icon != "no" %}
|
||||
</td></tr></table>
|
||||
{% endif %}
|
||||
|
||||
{% if include.content != "n" %}
|
||||
|
||||
<!-- CONTENT starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!-- CONTENT ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.adding != "" %}
|
||||
|
||||
{{include.adding}} Adding {{preposition}} {{title}}
|
||||
|
||||
<!-- ADDING starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!-- ADDING ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.configuring != "" %}
|
||||
|
||||
{{include.configuring}} Configuring the {{title}}
|
||||
|
||||
<!-- CONFIGURING starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!-- CONFIGURING ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.starting != "" %}
|
||||
|
||||
{{include.starting}} Starting {{preposition}} {{title}}
|
||||
|
||||
<!-- STARTING starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!-- STARTING ends -->
|
||||
|
||||
{% endif %}
|
||||
@@ -1,59 +0,0 @@
|
||||
<!-- TITLE AND DEFINITION starts -->
|
||||
|
||||
{% assign title = "XXXXXXXXXXXXXXXX" %}
|
||||
{% assign definition = site.data.network.XXXXXXXXXXXXXXXX %}
|
||||
{% assign preposition = "XXXXXXXXXXXXXXXX" %}
|
||||
|
||||
<!-- TITLE AND DEFINITION ends -->
|
||||
|
||||
{% if include.heading != "" %}
|
||||
{{include.heading}} {{title}}
|
||||
{% endif %}
|
||||
|
||||
{% if include.icon != "no" %}
|
||||
<img src='images/icons/{{include.icon}}{{ title | downcase | replace: " ", "-" }}.png' />
|
||||
{% endif %}
|
||||
|
||||
**{{ definition }}**
|
||||
|
||||
<!-- CONTENT starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!-- CONTENT ends -->
|
||||
|
||||
{% if include.adding != "" %}
|
||||
|
||||
{{include.adding}} Adding {{preposition}} {{title}}
|
||||
|
||||
<!-- ADDING starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!-- ADDING ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.configuring != "" %}
|
||||
|
||||
{{include.configuring}} Configuring the {{title}}
|
||||
|
||||
<!-- CONFIGURING starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!-- CONFIGURING ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.startinging != "" %}
|
||||
|
||||
{{include.starting}} Starting {{preposition}} {{title}}
|
||||
|
||||
<!-- STARTING starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!-- STARTING ends -->
|
||||
|
||||
{% endif %}
|
||||
@@ -1,47 +0,0 @@
|
||||
<!-- TITLE AND DEFINITION starts -->
|
||||
|
||||
{% assign title = "XXXXXXXXXXXXXXXX" %}
|
||||
{% assign definition = site.data.trading_system.XXXXXXXXXXXXXXXX %}
|
||||
{% assign preposition = "XXXXXXXXXXXXXXXX" %}
|
||||
|
||||
<!-- TITLE AND DEFINITION ends -->
|
||||
|
||||
{% if include.heading != "" %}
|
||||
{{include.heading}} {{title}}
|
||||
{% endif %}
|
||||
|
||||
{% if include.icon != "no" %}
|
||||
<img src='images/icons/{{include.icon}}{{ title | downcase | replace: " ", "-" }}.png' />
|
||||
{% endif %}
|
||||
|
||||
**{{ definition }}**
|
||||
|
||||
<!-- CONTENT starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!-- CONTENT ends -->
|
||||
|
||||
{% if include.adding != "" %}
|
||||
|
||||
{{include.adding}} Adding {{preposition}} {{title}}
|
||||
|
||||
<!-- ADDING starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!-- ADDING ends -->
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.configuring != "" %}
|
||||
|
||||
{{include.configuring}} Configuring the {{title}}
|
||||
|
||||
<!-- CONFIGURING starts -->
|
||||
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
<!-- CONFIGURING ends -->
|
||||
|
||||
{% endif %}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 13 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.6 KiB |
@@ -1,414 +0,0 @@
|
||||
---
|
||||
title: "Getting started with the Documentation Theme for Jekyll"
|
||||
keywords: sample homepage
|
||||
tags: [getting_started]
|
||||
sidebar: mydoc_sidebar
|
||||
permalink: index-theme.html
|
||||
summary: These brief instructions will help you get started quickly with the theme. The other topics in this help provide additional information and detail about working with other aspects of this theme and Jekyll.
|
||||
---
|
||||
|
||||
{% include note.html content="If you're cloning this theme, you're probably writing documentation of some kind. I have a blog on technical writing here called <a alt='technical writing blog' href='http://idratherbewriting.com'>I'd Rather Be Writing</a>. If you'd like to stay updated with the latest trends, best practices, and other methods for writing documentation, consider <a href='https://tinyletter.com/tomjoht'>subscribing</a>. I also have a site on <a href='http://idratherbewriting.com/learnapidoc'>writing API documentation</a>." %}
|
||||
|
||||
## Build the Theme
|
||||
|
||||
Follow these instructions to build the theme.
|
||||
|
||||
### 1. Download the theme
|
||||
|
||||
First, download or clone the theme from the [Github repo](https://github.com/tomjoht/documentation-theme-jekyll). Most likely you won't be pulling in updates once you start customizing the theme, so downloading the theme (instead of cloning it) probably makes the most sense. In Github, click the **Clone or download** button, and then click **Download ZIP**.
|
||||
|
||||
### 2. Install Jekyll
|
||||
|
||||
If you've never installed or run a Jekyll site locally on your computer, follow these instructions to install Jekyll:
|
||||
|
||||
* [Install Jekyll on Mac][mydoc_install_jekyll_on_mac]
|
||||
* [Install Jekyll on Windows][mydoc_install_jekyll_on_windows]
|
||||
|
||||
### 3. Install Bundler
|
||||
|
||||
In case you haven't installed Bundler, install it:
|
||||
|
||||
```
|
||||
gem install bundler
|
||||
```
|
||||
|
||||
You'll want [Bundler](http://bundler.io/) to make sure all the Ruby gems needed work well with your project. Bundler sorts out dependencies and installs missing gems or matches up gems with the right versions based on gem dependencies.
|
||||
|
||||
### 4. Option 1: Build the Theme (*without* the github-pages gem) {#option1}
|
||||
|
||||
Use this option if you're not planning to publish your Jekyll site using [Github Pages](https://pages.github.com/).
|
||||
|
||||
Bundler's Gemfile specifies how project dependencies are managed. Although this project includes a Gemfile, this theme doesn't have any dependencies beyond core Jekyll. The Gemfile is used to list gems needed for publishing on Github Pages. **If you're not planning to have Github Pages build your Jekyll project, delete these two files from the theme's root directory:**
|
||||
|
||||
* Gemfile
|
||||
* Gemfile.lock
|
||||
|
||||
If you've never run Jekyll on your computer (you can check with `jekyll --version`), you may need to install the jekyll gem:
|
||||
|
||||
```
|
||||
gem install jekyll
|
||||
```
|
||||
|
||||
Now run jekyll serve (first change directories (`cd`) to where you downloaded the project):
|
||||
|
||||
```
|
||||
jekyll serve
|
||||
```
|
||||
|
||||
### 4. Option 2: Build the Theme (*with* the github-pages gem) {#option2}
|
||||
|
||||
If you *are* in fact publishing on Github Pages, leave the Gemfile and Gemfile.lock files in the theme.The Gemfile tells Jekyll to use the github-pages gem. **However, note that you cannot use the normal `jekyll serve` command with this gem due to dependency conflicts between the latest version of Jekyll and Github Pages** (which are noted [briefly here](https://help.github.com/articles/setting-up-your-github-pages-site-locally-with-jekyll/)).
|
||||
|
||||
You need Bundler to resolve these dependency conflicts. Use Bundler to install all the needed Ruby gems:
|
||||
|
||||
```
|
||||
bundle update
|
||||
```
|
||||
|
||||
Then *always* use this command to build Jekyll:
|
||||
|
||||
```
|
||||
bundle exec jekyll serve
|
||||
```
|
||||
|
||||
If you want to shorten this long command, you can put this code in a file such as jekyll.sh (on a Mac) and then simply type `. jekyll.sh` to build Jekyll.
|
||||
|
||||
## Running the site in Docker
|
||||
|
||||
You can also use Docker to directly build and run the site on your local machine. Just clone the repo and run the following from your working dir:
|
||||
```
|
||||
docker-compose build --no-cache && docker-compose up
|
||||
```
|
||||
The site should now be running at [http://localhost:4000/](http://localhost:4000/).
|
||||
|
||||
This is perhaps the easiest way to see how your site would actually look.
|
||||
|
||||
## Configure the sidebar
|
||||
|
||||
There are several products in this theme. Each product uses a different sidebar. This is the essence of what makes this theme unique -- different sidebars for different product documentation. The idea is that when users are reading documentation for a specific product, the sidebar navigation should be specific to that product. (You can read more of my thoughts on why multiple sidebars are important in this [blog post](http://idratherbewriting.com/2016/03/23/release-of-documentation-theme-for-jekyll-50/).)
|
||||
|
||||
The top navigation usually remains the same, because it allows users to navigate across products. But the sidebar navigation adapts to the product.
|
||||
|
||||
In each page's frontmatter, you must specify the sidebar you want that page to use. Here's an example of the page frontmatter showing the sidebar property:
|
||||
|
||||
<pre>
|
||||
---
|
||||
title: Alerts
|
||||
tags: [formatting]
|
||||
keywords: notes, tips, cautions, warnings, admonitions
|
||||
last_updated: July 3, 2016
|
||||
summary: "You can insert notes, tips, warnings, and important alerts in your content. These notes are stored as shortcodes made available through the linksrefs.hmtl include."
|
||||
<span class="red">sidebar: mydoc_sidebar</span>
|
||||
permalink: mydoc_alerts
|
||||
---
|
||||
</pre>
|
||||
|
||||
The `sidebar: mydoc_sidebar` refers to the \_data/sidebars/mydoc_sidebar.yml file.
|
||||
|
||||
Note that your sidebar can only have 2 levels (expand the **Tag archives** option to see an example of the second level). Given that each product has its own sidebar, this depth should be sufficient (it's really like 3 levels). Deeper nesting goes against usability recommendations.
|
||||
|
||||
You can optionally turn off the sidebar on any page (e.g. landing pages). To turn off the sidebar for a page, you should set the page frontmatter tag as `hide_sidebar: true`.
|
||||
|
||||
If you don't declare a sidebar, the `home_sidebar` file gets used as the default because this is the default specified in the config file:
|
||||
|
||||
```yaml
|
||||
-
|
||||
scope:
|
||||
path: ""
|
||||
type: "pages"
|
||||
values:
|
||||
layout: "page"
|
||||
comments: true
|
||||
search: true
|
||||
sidebar: home_sidebar
|
||||
topnav: topnav
|
||||
```
|
||||
|
||||
If you want to set different sidebar defaults based on different folders for your pages, specify your defaults like this:
|
||||
|
||||
```
|
||||
-
|
||||
scope:
|
||||
path: "pages/mydoc"
|
||||
type: "pages"
|
||||
values:
|
||||
layout: "page"
|
||||
comments: true
|
||||
search: true
|
||||
sidebar: mydoc_sidebar
|
||||
topnav: topnav
|
||||
```
|
||||
|
||||
This would load the `mydoc_sidebar` for each file in **pages/mydoc**. You could set different defaults for different path scopes.
|
||||
|
||||
For more detail on the sidebar, see [Sidebar navigation][mydoc_sidebar_navigation].
|
||||
|
||||
## Top navigation
|
||||
|
||||
The top navigation works just like the sidebar. You can specify which topnav data file should load by adding a `topnav` property in your page, like this:
|
||||
|
||||
```yaml
|
||||
topnav: topnav
|
||||
```
|
||||
|
||||
Here the topnav refers to the `_data/topnav.yml` file.
|
||||
|
||||
Because most topnav options will be the same, the `_config.yml` file specifies the topnav file as a default:
|
||||
|
||||
```yaml
|
||||
-
|
||||
scope:
|
||||
path: ""
|
||||
type: "pages"
|
||||
values:
|
||||
layout: "page"
|
||||
comments: true
|
||||
search: true
|
||||
sidebar: home_sidebar
|
||||
topnav: topnav
|
||||
```
|
||||
|
||||
## Sidebar syntax
|
||||
|
||||
The sidebar data file uses a specific YAML syntax that you must follow. Follow the sample pattern shown in the theme, specically looking at `mydoc_sidebar.yml` as an example: Here's a code sample showing all levels:
|
||||
|
||||
```yaml
|
||||
entries:
|
||||
- title: sidebar
|
||||
product: Jekyll Doc Theme
|
||||
version: 6.0
|
||||
folders:
|
||||
- title: Overview
|
||||
output: web, pdf
|
||||
folderitems:
|
||||
|
||||
- title: Get started
|
||||
url: /index.html
|
||||
output: web, pdf
|
||||
type: homepage
|
||||
|
||||
- title: Introduction
|
||||
url: /mydoc_introduction.html
|
||||
output: web, pdf
|
||||
|
||||
- title: Release Notes
|
||||
output: web, pdf
|
||||
folderitems:
|
||||
|
||||
- title: 6.0 Release notes
|
||||
url: /mydoc_release_notes_60.html
|
||||
output: web, pdf
|
||||
|
||||
- title: 5.0 Release notes
|
||||
url: /mydoc_release_notes_50.html
|
||||
output: web, pdf
|
||||
|
||||
- title: Tag archives
|
||||
output: web
|
||||
folderitems:
|
||||
|
||||
- title: Tag archives overview
|
||||
url: /mydoc_tag_archives_overview.html
|
||||
output: web
|
||||
|
||||
subfolders:
|
||||
- title: Tag archive pages
|
||||
output: web
|
||||
subfolderitems:
|
||||
|
||||
- title: Formatting pages
|
||||
url: /tag_formatting.html
|
||||
output: web
|
||||
|
||||
- title: Navigation pages
|
||||
url: /tag_navigation.html
|
||||
output: web
|
||||
|
||||
- title: Content types pages
|
||||
url: /tag_content_types.html
|
||||
output: web
|
||||
```
|
||||
|
||||
Each `folder` or `subfolder` must contain a `title` and `output` property. Each `folderitem` or `subfolderitem` must contain a `title`, `url`, and `output` property.
|
||||
|
||||
The two outputs available are `web` and `pdf`. (Even if you aren't publishing PDF, you still need to specify `output: web`).
|
||||
|
||||
The YAML syntax depends on exact spacing, so make sure you follow the pattern shown in the sample sidebars. See my [YAML tutorial](mydoc_yaml_tutorial) for more details about how YAML works.
|
||||
|
||||
{% include note.html content="If you have just one character of spacing off, Jekyll won't build due to the YAML syntax error. You'll see an error message in your console that says \"Error ... did not find expected key while parsing a block mapping at line 22 column 5. Error: Run jekyll build --trace for more information.\" If you encounter this, it usually refers to incorrect indentation or spacing in the YAML file. See the example mydoc_sidebar.yml file to see where your formatting went wrong." %}
|
||||
|
||||
Each level must have at least one topic before the next level starts. You can't have a second level that contains multiple third levels without having at least one standalone topic in the second level. If you need a hierarchy that has a folder that contains other folders and no loose topics, use a blank `-` item like this:
|
||||
|
||||
```yaml
|
||||
entries:
|
||||
- title: sidebar
|
||||
product: Jekyll Doc Theme
|
||||
version: 6.0
|
||||
folders:
|
||||
- title: Overview
|
||||
output: web, pdf
|
||||
folderitems:
|
||||
|
||||
-
|
||||
|
||||
- title: Release Notes
|
||||
output: web, pdf
|
||||
folderitems:
|
||||
|
||||
- title: 6.0 Release notes
|
||||
url: /mydoc_release_notes_60.html
|
||||
output: web, pdf
|
||||
|
||||
- title: 5.0 Release notes
|
||||
url: /mydoc_release_notes_50.html
|
||||
output: web, pdf
|
||||
|
||||
- title: Installation
|
||||
output: web, pdf
|
||||
folderitems:
|
||||
|
||||
- title: About Ruby, Gems, Bundler, etc.
|
||||
url: /mydoc_about_ruby_gems_etc.html
|
||||
output: web, pdf
|
||||
|
||||
- title: Install Jekyll on Mac
|
||||
url: /mydoc_install_jekyll_on_mac.html
|
||||
output: web, pdf
|
||||
|
||||
- title: Install Jekyll on Windows
|
||||
url: /mydoc_install_jekyll_on_windows.html
|
||||
output: web, pdf
|
||||
```
|
||||
|
||||
To accommodate the title page and table of contents in PDF outputs, each product sidebar must list these pages before any other:
|
||||
|
||||
```yaml
|
||||
- title:
|
||||
output: pdf
|
||||
type: frontmatter
|
||||
folderitems:
|
||||
- title:
|
||||
url: /titlepage
|
||||
output: pdf
|
||||
type: frontmatter
|
||||
- title:
|
||||
url: /tocpage
|
||||
output: pdf
|
||||
type: frontmatter
|
||||
```
|
||||
|
||||
Leave the output as `output: pdf` for these frontmatter pages so that they don't appear in the web output.
|
||||
|
||||
For more detail on the sidebar, see [Sidebar navigation][mydoc_sidebar_navigation] and [YAML tutorial][mydoc_yaml_tutorial].
|
||||
|
||||
## Comments
|
||||
|
||||
The theme integrates [Commento.io](https://commento.io/) for comments below pages and posts. (This commenting service doesn't inject controversial tracking ads like Disqus does.) You will need to Commento.io account + plan ($5/month) to authorize Commento with your domain (no other configuration should be required). If you don't want comments, in the \_config.yml file, change the `comments: true` properties (under `defaults`) to `comments: false` in every instance. Then in the commento.html include file (inside \_includes), the `{% raw %}{% unless page.comments == false %} ... {% endunless %}{% endraw %}` logic will not insert the Commentio form.
|
||||
|
||||
## Relative links and offline viewing
|
||||
|
||||
This theme uses relative links throughout so that you can view the site offline and not worry about which server or directory you're hosting it. It's common with tech docs to push content to an internal server for review prior to pushing the content to an external server for publication. Because of the need for seamless transferrence from one host to another, the site has to use relative links.
|
||||
|
||||
To view pages locally on your machine (without the Jekyll preview server), they need to have the `.html` extension. The `permalink` property in the page's frontmatter (without surrounding slashes) is what pushes the files into the root directory when the site builds.
|
||||
|
||||
## Page frontmatter
|
||||
|
||||
When you write pages, include these same frontmatter properties with each page:
|
||||
|
||||
```yaml
|
||||
---
|
||||
title: "Some title"
|
||||
tags: [sample1, sample2]
|
||||
keywords: keyword1, keyword2, keyword3
|
||||
last_updated: Month day, year
|
||||
summary: "optional summary here"
|
||||
sidebar: sidebarname
|
||||
permalink: filename.html
|
||||
---
|
||||
```
|
||||
|
||||
(You will customize the values for each of these properties, of course.)
|
||||
|
||||
For titles, surrounding the title in quotes is optional, but if you have a colon in the title, you must surround the title with quotation marks. If you have a quotation mark inside the title, escape it first with a backlash `\`.
|
||||
|
||||
Values for `keywords` get populated into the metadata of the page for SEO.
|
||||
|
||||
Values for `tags` must be defined in your \_data/tags.yml list. You also need a corresponding tag file inside the tags folder that follows the same pattern as the other tag files shown in the tags folder. (Jekyll won't auto-create these tag files.)
|
||||
|
||||
If you don't want the mini-TOC to show on a page (such as for the homepage or landing pages), add `toc: false` in the frontmatter.
|
||||
|
||||
The `permalink` value should be the same as your filename and include the ".html" file extension.
|
||||
|
||||
For more detail, see [Pages][mydoc_pages].
|
||||
|
||||
## Where to store your documentation topics
|
||||
|
||||
You can store your files for each product inside subfolders following the pattern shown in the theme. For example, product1, product2, etc, can be stored in their own subfolders inside the \_pages directory. Inside \_pages, you can store your topics inside sub-subfolders or sub-sub-folders to your heart's content. When Jekyll builds your site, it will pull the topics into the root directory and use the permalink for the URL.
|
||||
|
||||
Note that product1, product2, and mydoc are all just sample content to demonstrate how to add multiple products into the theme. You can freely delete that content.
|
||||
|
||||
For more information, see [Pages][mydoc_pages] and [Posts][mydoc_posts].
|
||||
|
||||
## Configure the top navigation
|
||||
|
||||
The top navigation bar's menu items are set through the \_data/topnav.yml file. Use the top navigation bar to provide links for navigating from one product to another, or to navigate to external resources.
|
||||
|
||||
For external URLs, use `external_url` in the item property, as shown in the example topnav.yml file. For internal links, use `url` the same was you do in the sidebar data files.
|
||||
|
||||
Note that the topnav has two sections: `topnav` and `topnav_dropdowns`. The topnav section contains single links, while the `topnav_dropdowns` section contains dropdown menus. The two sections are independent of each other.
|
||||
|
||||
## Generating PDF
|
||||
|
||||
If you want to generate PDF, you'll need a license for [Prince XML](http://www.princexml.com/). You will also need to [install Prince](http://www.princexml.com/doc/installing/). You can generate PDFs by product (but not for every product on the site combined together into one massive PDF). Prince will work even without a license, but it will imprint a small Prince image on the first page, and you're supposed to buy the license to use it.
|
||||
|
||||
If you're on Windows, install [Git Bash client](https://git-for-windows.github.io/) rather than using the default Windows command prompt.
|
||||
|
||||
Open up the css/printstyles.css file and customize the email address (`youremail@domain.com`) that is listed there. This email address appears in the bottom left footer of the PDF output. You'll also need to create a PDF configuration file following the examples shown in the pdfconfigs folder, and also customize some build scripts following the same pattern shown in the root: pdf-product1.sh
|
||||
|
||||
See the section on [Generating PDFs][mydoc_generating_pdfs] for more details about setting the theme up for this output.
|
||||
|
||||
## Blogs / News
|
||||
|
||||
For blog posts, create your markdown files in the \_posts folder following the sample formats. Post file names always begin with the date (YYYY-MM-DD-title).
|
||||
|
||||
The news/news.html file displays the posts, and the news_archive.html file shows a yearly history of posts. In documentation, you might use the news to highlight product features outside of your documentation, or to provide release notes and other updates.
|
||||
|
||||
See [Posts][mydoc_posts] for more information.
|
||||
|
||||
## Markdown
|
||||
|
||||
This theme uses [kramdown markdown](http://kramdown.gettalong.org/). kramdown is similar to Github-flavored Markdown, except that when you have text that intercepts list items, the spacing of the intercepting text must align with the spacing of the first character after the space of a numbered list item. Basically, with your list item numbering, use two spaces after the dot in the number, like this:
|
||||
|
||||
```
|
||||
1. First item
|
||||
2. Second item
|
||||
3. Third item
|
||||
```
|
||||
|
||||
When you want to insert paragraphs, notes, code snippets, or other matter in between the list items, use four spaces to indent. The four spaces will line up with the first letter of the list item (the <b>F</b>irst or <b>S</b>econd or <b>T</b>hird).
|
||||
|
||||
```
|
||||
1. First item
|
||||
|
||||
```
|
||||
alert("hello");
|
||||
```
|
||||
|
||||
2. Second item
|
||||
|
||||
Some pig!
|
||||
|
||||
3. Third item
|
||||
```
|
||||
|
||||
See the topics under "Formatting" in the sidebar for more information.
|
||||
|
||||
## Automated links
|
||||
|
||||
If you want to use an automated system for managing links, see [Automated Links][mydoc_hyperlinks.html#automatedlinks]. This approach automatically creates a list of Markdown references to simplify linking.
|
||||
|
||||
## Other instructions
|
||||
|
||||
The content here is just a getting started guide only. For other details in working with the theme, see the various sections in the sidebar.
|
||||
|
||||
{% include links.html %}
|
||||
+4
-6
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Welcome to the Superalgos Documentation Site"
|
||||
title: "Superalgos Documentation Site"
|
||||
summary: "This is the documentation for the Superalgos Project, a crypto-intelligence suite enabling the automation of complex trading strategies and robust market data processing."
|
||||
sidebar: suite_sidebar
|
||||
permalink: index.html
|
||||
@@ -9,15 +9,13 @@ permalink: index.html
|
||||
|
||||
This is the documentation site for the Superalgos Project, as described [on the website](https://superalgos.org/).
|
||||
|
||||
This documentation is currently work in progress and corresponds to an unreleased version of the Superalgos Suite, still in development. The system has experienced a major shift on multiple fronts, and changes are currently being documented.
|
||||
This documentation is currently work in progress and corresponds to the latest stable version of Superalgos Suite. The system has experienced a major shift on multiple fronts, and changes are still being documented.
|
||||
|
||||
The current pages cover all the basic aspects of the concepts entailed in the system. That is, most concepts native to Superalgos and technical details of the system are covered already.
|
||||
|
||||
Pending work includes:
|
||||
|
||||
* A complete description of the charts interface. The underlying concepts are already covered in the Charting Space pages.
|
||||
|
||||
* A *getting started guide*.
|
||||
* Completing the last few steps of the *Getting started guide*.
|
||||
|
||||
* Documentation-wide illustrations.
|
||||
|
||||
@@ -27,6 +25,6 @@ Pending work includes:
|
||||
|
||||
This is a pre-release in beta stage. The system is under heavy development. We appreciate your help in testing the system and reporting any errors you may experience. We will keep improving user experience with your feedback.
|
||||
|
||||
{% include important.html content="Superalgos is at a very early stage of development. As such, errors may occur at any point, including errors that may cause you to lose money. You are responsible for taking all precautions before starting trading live. Make sure you forward-test with small amounts of money, the kind you can afford losing. Trade live at your own risk." %}
|
||||
{% include important.html content="Superalgos is at an early stage of development. As such, errors may occur at any point, including errors that may cause you to lose money. You are responsible for taking all precautions before starting trading live. Make sure you forward-test with small amounts of money, the kind you can afford losing. Trade live at your own risk." %}
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Available Layers
|
||||
summary: "The currently-available layers are contributions of people behind different data mines, who open-source indicators and plotters for others to use."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-available-layers.html
|
||||
---
|
||||
|
||||
Layers in a <a data-toggle="tooltip" data-original-title="{{site.data.charting_space.timeline_chart}}">timeline chart</a> are <a data-toggle="tooltip" data-original-title="{{site.data.concepts.reference}}">references</a> to <a data-toggle="tooltip" data-original-title="{{site.data.concepts.data_product}}">data products</a> offered by <a data-toggle="tooltip" data-original-title="{{site.data.concepts.bot}}">bots</a> in different <a data-toggle="tooltip" data-original-title="{{site.data.data_mine.data_mine}}">data mines</a>. The <a data-toggle="tooltip" data-original-title="{{site.data.concepts.dataset}}">datasets</a> compilled in data products are read by <a data-toggle="tooltip" data-original-title="{{site.data.data_mine.plotter}}">plotters</a>, which render a graphic interpretation of the data on the <a data-toggle="tooltip" data-original-title="{{site.data.charting_space.charting_space}}">charting space</a>.
|
||||
|
||||
These data products may also be consumed by <a data-toggle="tooltip" data-original-title="{{site.data.trading_system.strategy}}">strategies</a>, using a specific syntax to formulate <a data-toggle="tooltip" data-original-title="{{site.data.trading_system.situation}}">situations</a>, <a data-toggle="tooltip" data-original-title="{{site.data.trading_system.condition}}">conditions</a>, and <a data-toggle="tooltip" data-original-title="{{site.data.trading_system.formula}}">formulas</a>.
|
||||
|
||||
{% include tip.html content="Indicators and plotters may be created quite easily and with very little programming skills required, using the features of data mines." %}
|
||||
@@ -1,15 +1,13 @@
|
||||
---
|
||||
title: Backups
|
||||
summary: ""
|
||||
summary: "The backup feature is designed to preserve the integrity of references as you would expect when you wish to restore a data structure to a previous state of affairs."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-backups.html
|
||||
---
|
||||
|
||||
> **NOTE:** To understand backups, you first need to be familiar with [*references*](References).
|
||||
|
||||
## Introduction
|
||||
|
||||
When you back up a single node, a structure of nodes, a complete hierarchy or even the workspace, all existing references are stored in the resulting JSON file.
|
||||
When you back up a single node, a structure of nodes, a complete hierarchy or even the workspace, all existing <a data-toggle="tooltip" data-original-title="{{site.data.concepts.reference}}">references</a> are stored in the resulting JSON file.
|
||||
|
||||
When you restore a workspace backup, the current workspace is discarded entirely and replaced with the backup. Now, let's see what happens when you restore anything other than a workspace, that is, any of the data structures contained in the workspace.
|
||||
|
||||
@@ -21,23 +19,23 @@ What happens with each type of reference when the back up is restored varies dep
|
||||
|
||||
**Outgoing references are kept no matter if the original structure of nodes still exists or not.**
|
||||
|
||||
For example, in a task set up for running a testing session, the trading bot process instance references to the trading bot Multi-Period process, and the session references a definition.
|
||||
For example, in a task set up for running a testing session, the trading bot process instance references the trading bot Multi-Period process, and the session references a trading sytem.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71101855-b2293c00-21b7-11ea-864e-817f74e17a34.gif)
|
||||
|
||||
As the capture above shows, when restoring the backup of a task, both outgoing references are maintained, even when the original task has not been deleted.
|
||||
|
||||
This means that restoring a back up is a viable way to duplicate structure of nodes with outgoing references when you expect outgoing references to be preserved.
|
||||
This means that restoring a back up is a viable way to duplicate structures of nodes with outgoing references when you expect outgoing references to be preserved.
|
||||
|
||||
## Incoming References
|
||||
|
||||
**Incoming references are restored only when the original structure of nodes is deleted before restoring the backup.**
|
||||
|
||||
Let's take a definition as an example. Definitions usually have several incoming references originating at different testing and live trading sessions.
|
||||
Let's take a trading system as an example. Trading systems usually have several incoming references originating at different testing and live trading sessions.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71103003-ac345a80-21b9-11ea-947c-6e2c59c299c5.gif)
|
||||
|
||||
The capture above shows that restoring a backup of a definition when the orginal definition is still in the workspace causes the incoming references to be lost.
|
||||
The capture above shows that restoring a backup of a trading system when the orginal definition is still in the workspace causes the incoming references to be lost.
|
||||
|
||||
However, as the capture below shows, if the original structure of nodes is deleted before the backup is restored, then the incoming references are restored as well.
|
||||
|
||||
@@ -47,11 +45,11 @@ However, as the capture below shows, if the original structure of nodes is delet
|
||||
|
||||
**Internal references are kept *internally* only when the original structure of nodes is deleted before restoring the backup. If the original structure of nodes is present, then the references will point to the original nodes on the original structure of nodes.**
|
||||
|
||||
Continuing with the example explored earlier, on the [references](References) page, let's see what happens when we restore a backup of a *shapes* node without deleting the original node first:
|
||||
Let's see what happens when we restore a backup of a <a data-toggle="tooltip" data-original-title="{{site.data.data_mine.shapes}}">shapes</a> node without deleting the original node first:
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71107152-de958600-21c0-11ea-8667-d7d56ed24bfb.gif)
|
||||
|
||||
As expected, the references from vertices in the restored backup do not point to the points in the same structure, but instead point to the original points in the original strucutre.
|
||||
As expected, the references from <a data-toggle="tooltip" data-original-title="{{site.data.data_mine.polygon_vertex}}">vertices</a> in the restored backup do not point to the <a data-toggle="tooltip" data-original-title="{{site.data.data_mine.point}}">points</a> in the same structure, but instead point to the original points in the original strucutre.
|
||||
|
||||
On the other hand, if the original structure of nodes is deleted before restoring the backup, then the references point to the nodes within the same structure:
|
||||
|
||||
@@ -61,4 +59,4 @@ On the other hand, if the original structure of nodes is deleted before restorin
|
||||
|
||||
The backup feature is designed to preserve the integrity of references as you would expect when you wish to restore a data structure to a previous state of affairs.
|
||||
|
||||
However, the tool's particular behavior when restoring a backup without deleting the original structure may be of use in certain ocassions. This is particularly true because in such cases, the backup feature behaves differently than the clone feature, as you will learn on the next page.
|
||||
However, the tool's particular behavior when restoring a backup without deleting the original structure may be of use in certain ocassions. This is particularly true because in such cases, the backup feature behaves differently than the clone feature.
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
title: Charting Space Interface
|
||||
summary: "Learn to move around the charting space, zoom in for the details and zoom out for the bigger picture."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-charting-space-interface.html
|
||||
---
|
||||
|
||||
When you open the <a data-toggle="tooltip" data-original-title="{{site.data.charting_space.charting_space}}">charting space</a>, you are actually looking at it through a <a data-toggle="tooltip" data-original-title="{{site.data.charting_space.viewport}}">viewport</a>. You may see several charts, depending on the setup of your current <a data-toggle="tooltip" data-original-title="{{site.data.concepts.workspace}}">workspace</a>.
|
||||
|
||||
**1. To move around the viewport**, right-click and drag. You may also use the wheel of the mouse to zoom in and out.
|
||||
|
||||
{% include note.html content="Notice how the viewport navigation resembles the navigation in *Google Maps*. You zoom out for the big picture. You zoom in for a closer view of any particular chart to get the details. Keep zooming in and you get the immersive experience... the *street view* of the market." %}
|
||||
|
||||
{% include /charting_space/viewport.md heading="more" icon="150-" adding="" configuring="" charts="" content="yes" definition="bold" table="yes" more="yes"%}
|
||||
@@ -1,419 +0,0 @@
|
||||
---
|
||||
title: Charting System Hierarchy
|
||||
summary: "Hover your mouse over a node for a quick definition, and click for the details."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-charting-system-hierarchy.html
|
||||
toc: false
|
||||
---
|
||||
|
||||
|
||||
<table class='hierarchyTable'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<a href='#charting-system' data-toggle='tooltip' data-original-title='{{site.data.charting_system.charting_system}}'><img src='images/icons/charting-system.png' /><br />Charting System</a>
|
||||
</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src='images/icons/tree-connector-fork.png' />
|
||||
</td>
|
||||
<td>
|
||||
<a href='#viewport' data-toggle='tooltip' data-original-title='{{site.data.charting_system.viewport}}'><img src='images/icons/viewport.png' /><br />Viewport</a>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src='images/icons/tree-connector-elbow.png' />
|
||||
</td>
|
||||
<td>
|
||||
<a href='#time-machine' data-toggle='tooltip' data-original-title='{{site.data.charting_system.time_machine}}'><img src='images/icons/time-machine.png' /><br />Time Machine</a>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<img src='images/icons/tree-connector-fork.png' />
|
||||
</td>
|
||||
<td>
|
||||
<a href='#time-scale' data-toggle='tooltip' data-original-title='{{site.data.charting_system.time_scale}}'><img src='images/icons/time-scale.png' /><br />Time Scale</a>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<img src='images/icons/tree-connector-fork.png' />
|
||||
</td>
|
||||
<td>
|
||||
<a href='#rate-scale' data-toggle='tooltip' data-original-title='{{site.data.charting_system.rate_scale}}'><img src='images/icons/rate-scale.png' /><br />Rate Scale</a>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<img src='images/icons/tree-connector-fork.png' />
|
||||
</td>
|
||||
<td>
|
||||
<a href='#time-frame-scale' data-toggle='tooltip' data-original-title='{{site.data.charting_system.time_frame_scale}}'><img src='images/icons/time-frame-scale.png' /><br />Time Frame Scale</a>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<img src='images/icons/tree-connector-elbow.png' />
|
||||
</td>
|
||||
<td>
|
||||
<a href='#timeline-chart' data-toggle='tooltip' data-original-title='{{site.data.charting_system.timeline_chart}}'><img src='images/icons/timeline-chart.png' /><br />Timeline Chart</a>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>
|
||||
<img src='images/icons/tree-connector-fork.png' />
|
||||
</td>
|
||||
<td>
|
||||
<a href='#rate-scale' data-toggle='tooltip' data-original-title='{{site.data.charting_system.rate_scale}}'><img src='images/icons/rate-scale.png' /><br />Rate Scale</a>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>
|
||||
<img src='images/icons/tree-connector-fork.png' />
|
||||
</td>
|
||||
<td>
|
||||
<a href='#time-frame-scale' data-toggle='tooltip' data-original-title='{{site.data.charting_system.time_frame_scale}}'><img src='images/icons/time-frame-scale.png' /><br />Time Frame Scale</a>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>
|
||||
<img src='images/icons/tree-connector-elbow.png' />
|
||||
</td>
|
||||
<td>
|
||||
<a href='#layers-manager' data-toggle='tooltip' data-original-title='{{site.data.charting_system.layers_manager}}'><img src='images/icons/layers-manager.png' /><br />Layers Manager</a>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>
|
||||
<img src='images/icons/tree-connector-elbow.png' />
|
||||
</td>
|
||||
<td>
|
||||
<a href='#layer' data-toggle='tooltip' data-original-title='{{site.data.charting_system.layer}}'><img src='images/icons/layer.png' /><br />Layer</a>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Charting System
|
||||
|
||||
<img src='images/icons/150-charting-system.png' />
|
||||
|
||||
**{{site.data.charting_system.charting_system}}**
|
||||
|
||||
There is only one charting system hierarchy, thus all charts are configured here. As is common throughout the system, different concepts and elements of the charts such as the scales, data layers and so on, are represented by nodes in the hierarchy. The system allows great flexibility on how to visualize information over the charts by adding, configuring, and arranging these nodes.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Viewport
|
||||
|
||||
<img src='images/icons/150-viewport.png' />
|
||||
|
||||
**{{site.data.charting_system.viewport}}**
|
||||
|
||||
At this point, the system supports one viewport only. When you navigate through the charts, panning, zooming or moving elements around, what you are doing is panning and zooming on the viewport. That is, you are not moving the charts, but the space that contains them.
|
||||
|
||||
Think of the viewport as a huge drawing board. You can have lots of information plotted on different parts of the board, so you move the viewport around and zoom in to focus on specific bits of information.
|
||||
|
||||
When you zoom out, you are bringing more information in focus. Because information is handled dynamically, reading data from files, interpretting it, and drawing the corresponding visual elements on the screen in real-time, zooming out or—in general—bringing lots of information in focus may slow your system down. The information that is out of focus, that is, out of the visible screen, is not processed.
|
||||
|
||||
The concept of the viewport allows having multiple charts configured all at once, so that you may consult different exchanges, different markets, or different technical studies on demand, simply by moving around and zooming in or out on the viewport. You may put any of those elements side by side, or even superimpose them to study market flows, search for arbitrage opportunities, or simply keep them in sight when you analyze particular market situations.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Time Machine
|
||||
|
||||
<img src='images/icons/150-time-machine.png' />
|
||||
|
||||
**{{site.data.charting_system.time_machine}}**
|
||||
|
||||
Think of a time machine as an aide that helps you keep any number of pieces of information syncronized on the same time scale. Every data structure that you set up within the same time machine, will always be syncronized in relation to time. Put in other words, the open and closing datetime of each dataset will always be aligned on the vertical axis.
|
||||
|
||||
On the other hand, when you arrange charts on different time machines, they are completely independent from one another.
|
||||
|
||||
### Adding a Time Machine
|
||||
|
||||
To add a time machine, select *Add Time Machine* on the charting system node menu.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Time Scale
|
||||
|
||||
<img src='images/icons/150-time-scale.png' />
|
||||
|
||||
**{{site.data.charting_system.time_scale}}**
|
||||
|
||||
### Adding a Time Scale
|
||||
|
||||
To add a time scale, select *Add Time Scale* on the time machine node menu.
|
||||
|
||||
### Scale Value
|
||||
|
||||
The time scale is represented by a numerical value between 0 and 100. When the scale is set to zero, the horizontal span of the time machine and charts within it is the smallest possible. When the scale is set to 100, it is the largest possible. In other words, the charts are compressed on the horizontal axis with low scale numbers and expanded as the scale increases.
|
||||
|
||||
### Setting a Time Scale
|
||||
|
||||
You may set a scale value from within the charts by placing the mouse pointer over the corresponding time machine datetime box and scrolling the mouse wheel.
|
||||
|
||||
{% include tip.html content="Pressing the mouse wheel while scrolling accelerates de process." %}
|
||||
|
||||
[IMAGE]
|
||||
|
||||
You may also set a scale value from within the designer by selecting *Configure Time Scale* on the time scale node menu and editing the corresponding configuration.
|
||||
|
||||
```json
|
||||
{"scale":"0"}
|
||||
```
|
||||
|
||||
{% include note.html content="The values entered via the designer and the charts are syncronized and stored in the node." %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Rate Scale
|
||||
|
||||
<img src='images/icons/150-rate-scale.png' />
|
||||
|
||||
**{{site.data.charting_system.rate_scale}}**
|
||||
|
||||
Rate scales may exist both at the level of a time machine and at the level of a timeline chart, each affecting the corresponding concept.
|
||||
|
||||
When set at the level of the time machine, the scale setting affects all charts within the time machine. When set at the level of the timeline chart, the setting overrides the rate scale at the time machine level. This allows having multiple charts in the same time machine, each with a different rate scales.
|
||||
|
||||
### Adding a Rate Scale
|
||||
|
||||
To add a rate scale, select *Add Rate Scale* on the time machine or the timeline chart node menu.
|
||||
|
||||
### Rate Scale Value
|
||||
|
||||
The rate scale is represented by a numerical value between 0 and 100. When the scale is set to zero, the vertical span of the time machine or the timeline chart is the smallest possible. When the scale is set to 100, it is the largest possible. In other words, the charts are compressed on the vertical axis with low scale numbers and expanded as the scale increases.
|
||||
|
||||
### Rate Scale Minimum and Maximum
|
||||
|
||||
The rate scale remains the same at all times, unless you change it. This means that&mdashunlike in other platforms—the rate scale does not adjust dynamically depending on the information on the screen. This is a design choice so that rates may be easily comparable along the datetime span of the market.
|
||||
|
||||
### Offset Value
|
||||
|
||||
The offset is a property of the rate scale by which the scale may be shifted upwards or downwards. As a result, charts aligned in the vertical axis—syncronized in datetime by a shared time machinemdash;may be put one above the other. The offset value is a numerical value which may be positive or negative, with no specific minimum or maximum.
|
||||
|
||||
### Setting Rate Scale and Offset Values
|
||||
|
||||
You may set a scale value from within the charts by placing the mouse pointer over the corresponding time machine or timeline chart rate box and scrolling the mouse wheel. Add the <kbd>Shift</kbd> key to affect the offset.
|
||||
|
||||
{% include tip.html content="Pressing the mouse wheel while scrolling accelerates de process." %}
|
||||
|
||||
[IMAGE]
|
||||
|
||||
You may also set a scale setting, minimum and maximum values for the scale, and offset value from within the designer by selecting *Configure Rate Scale* on the rate scale node menu and editing the configuration.
|
||||
|
||||
```json
|
||||
{"scale":"50","offset":0,"minValue":0,"maxValue":25000}
|
||||
```
|
||||
|
||||
* The ```minValue``` sets the value for the orgin of the y axis, that is, the rate scale. Usually, this value would be zero, but it doesn't need to be zero, as it is configurable.
|
||||
|
||||
* The ```maxValue``` may be set to any positive number.
|
||||
|
||||
{% include note.html content="The values entered via the designer and the charts are syncronized and stored in the node." %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Time Frame Scale
|
||||
|
||||
<img src='images/icons/150-time-frame-scale.png' />
|
||||
|
||||
**{{site.data.charting_system.time_frame_scale}}**
|
||||
|
||||
When the time frame scale is set at the level of the time machine, the scale setting affects all charts within the time machine. When set at the level of the timeline chart, the setting overrides the time frame scale at the time machine level. This allows comparing charts in different time frames, but still syncronized at the datetime level.
|
||||
|
||||
### Adding a Time Frame Scale
|
||||
|
||||
To add a time frame scale, select *Add Time Frame Scale* on the time machine or the timeline chart node menu.
|
||||
|
||||
### Time Frame Scale Value
|
||||
|
||||
The time frame scale value can be any of the time frames supported by the system:
|
||||
|
||||
* 1, 2, 3, 4, 5, 10, 15, 20, 30, 40, and 45 minutes
|
||||
|
||||
* 1, 2, 3, 4, 6, 8, 12, and 24 hours.
|
||||
|
||||
### Setting a Time Frame
|
||||
|
||||
You may set a time frame value from within the charts by placing the mouse pointer over the corresponding time machine or timeline chart time frame box and scrolling the mouse wheel.
|
||||
|
||||
[IMAGE]
|
||||
|
||||
You may also set a time frame from within the designer by selecting *Configure Rate Scale* on the rate scale node menu and editing the configuration.
|
||||
|
||||
```json
|
||||
{"value":"06-hs"}
|
||||
```
|
||||
|
||||
{% include note.html content="The values entered via the designer and the charts are syncronized and stored in the node." %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Timeline Chart
|
||||
|
||||
<img src='images/icons/150-timeline-chart.png' />
|
||||
|
||||
**{{site.data.charting_system.timeline_chart}}**
|
||||
|
||||
In other words, a timeline chart is a set of information to be displayed over a timeline. The information may include candles—the main and foremost resource—as well as any other indicator, study or—in general—data product that may be available.
|
||||
|
||||
You may add as many charts as you wish. Charts within the same time machine are syncronized in the y axis, that is, at the datetime level. Charts in different time machines are independent from each other in relation to the datetime. In either case, you may also add rate scales and time frame scales at the timeline charts level.
|
||||
|
||||
The information that each timeline chart makes available on the screen is given by the layers set up in the corresponding layers manager.
|
||||
|
||||
### Adding a Timeline Chart
|
||||
|
||||
To add a timeline chart, select *Add Timeline Chart* on the preferred time machine node menu.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Layers Manager
|
||||
|
||||
<img src='images/icons/150-layers-manager.png' />
|
||||
|
||||
**{{site.data.charting_system.layers_manager}}**
|
||||
|
||||
In other words, you use the layers manager node to configure which data products you wish to be made available for visualization purposes on the charts, in particular, on a specific timeline chart to which the layers manager node is attached to.
|
||||
|
||||
### Adding a Layers Manager
|
||||
|
||||
To add a layers manager, select *Add Layers Manager* on the preferred timeline chart node menu.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Layer
|
||||
|
||||
<img src='images/icons/150-layer.png' />
|
||||
|
||||
**{{site.data.charting_system.layer}}**
|
||||
|
||||
### Adding Layers
|
||||
|
||||
To add a layer, select *Add Layer* on the layer manager node menu.
|
||||
|
||||
### Setting Up Layers
|
||||
|
||||
To set up a layer, you need to establish a <a href="suite-references.html" data-toggle="tooltip" data-original-title="{{site.data.concepts.reference}}">reference</a> with the <a href="suite-network-hierarchy.html#data-product" data-toggle="tooltip" data-original-title="{{site.data.network.data_product}}">data product</a> of your choice.
|
||||
|
||||
### Configuring Layers
|
||||
|
||||
Select *Configure Layer* on the menu to access the configuration.
|
||||
|
||||
```json
|
||||
{"status":"on", "showPanels":true}
|
||||
```
|
||||
|
||||
* ```status``` may be *on* or *off* and refers to the layer being visible or not on the charts.
|
||||
|
||||
* ```showPanels``` may be *true* or *false*; *true* shows the plotter panel that may be associated with the data product as per the plotter module definitions; *false* makes panels invisible.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
---
|
||||
title: Charts Interface
|
||||
summary: ""
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-charts-interface.html
|
||||
---
|
||||
|
||||
## Main Nodes
|
||||
|
||||
Notice the following three nodes relative to the position of the mouse pointer:
|
||||
|
||||
**1.** Above, the current datetime. This is the date and time at the mouse pointer position.
|
||||
|
||||
**2.** To the right, the current rate. This is the rate (in this case USDT per BTC) at the mouse pointer position.
|
||||
|
||||
**3.** Below, the current time frame (time frame or candle size if you wish). This is the currently displayed time frame—not only for candles but for any other object plotted across available layers.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67268983-141a3d80-f4b6-11e9-96cc-c0dc3d9188f7.gif)
|
||||
|
||||
## Mouse Navigation
|
||||
|
||||
Left-click on the charts and drag to move across the charts.
|
||||
|
||||
There are many things you can do with your mouse wheel:
|
||||
|
||||
1. Scroll over the Layers Panel to access layers that may be out of reach downwards.
|
||||
1. Scroll on top of or next to the datetime to produce a horizontal scaling.
|
||||
1. Scroll on top of or next to the displayed rate to produce a vertical scaling.
|
||||
1. Scroll on top of or next to the time frame to change the time frame to available values.
|
||||
1. Scroll elsewhere over the chart to zoom in and out. The Platform will not only zoom in and out of the chart, but also automatically adjust the time frame to the most convenient one (for the current zoom level).
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67268341-7a9e5c00-f4b4-11e9-848d-c520b4a8f1ff.gif)
|
||||
|
||||
## Keyboard Navigation
|
||||
|
||||
When on the charts, you may use the following key combinations:
|
||||
|
||||
1. <kbd>Shift</kbd> + <kbd>←</kbd> to pan to the left.
|
||||
1. <kbd>Shift</kbd> + <kbd>→</kbd> to pan to the right.
|
||||
1. <kbd>Shift</kbd> + <kbd>↑</kbd> to pan upwards.
|
||||
1. <kbd>Shift</kbd> + <kbd>↓</kbd> to pan downwards.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67268342-7b36f280-f4b4-11e9-956d-109c65fdd5ba.gif)
|
||||
|
||||
## Layers Panel
|
||||
|
||||
This panel includes different layers you may visualize by toggling them on and off with a single mouse click.
|
||||
The layer title bar can have 3 possible background colors:
|
||||
|
||||
**1. Red**: the layer is off.
|
||||
|
||||
**2. Green**: the layer is on.
|
||||
|
||||
**3. Yellow**: the layer is loading; if it stays yellow, it means it can't load fully.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67267950-a836d580-f4b3-11e9-931b-81c8dff088ac.gif)
|
||||
|
||||
## Floating Panels
|
||||
|
||||
To minimize a panel, click on the small triangle on the right of its title bar. This will automatically position the panel at the bottom of the screen. Clicking again restores the panel to its previous position.
|
||||
|
||||
You may also drag and drop the panels by right-clicking on the title bar.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67281843-a0d1f500-f4d0-11e9-85ad-9843219953b4.gif)
|
||||
@@ -1,15 +1,13 @@
|
||||
---
|
||||
title: Clones
|
||||
summary: ""
|
||||
summary: "The clone feature is designed to produce copies of data structures when you need to replicate nodes and expect the copies to behave similarly to the original."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-clones.html
|
||||
---
|
||||
|
||||
> **NOTE:** To understand clones, you first need to be familiar with [*references*](References).
|
||||
|
||||
## Introduction
|
||||
|
||||
We will analyze the case of clones under the same lens we analyzed how backups work: we will study how clones treat outgoing, incoming and internal references.
|
||||
We will analyze the case of clones under the same lens we analyzed how backups work: we will study how clones treat outgoing, incoming and internal <a data-toggle="tooltip" data-original-title="{{site.data.concepts.reference}}">references</a>.
|
||||
|
||||
Unlike with backups, clones behave in the same way independently of the existence of the original structure of nodes in the workspace, therefore, we will not make such distinction in the following paragraphs.
|
||||
|
||||
@@ -19,7 +17,7 @@ Unlike with backups, clones behave in the same way independently of the existenc
|
||||
|
||||
Pretty much like with backups, a clone preserves outgoing references.
|
||||
|
||||
The same example as with backups apply: cloning a task running a session produces a copy of the task with the trading bot process instance maintaining the reference to the trading bot Multi-Period process, and the session maintaining the reference with the corresponding definition.
|
||||
The same example as with backups apply: cloning a task running a session produces a copy of the task with the trading bot process instance maintaining the reference to the trading bot Multi-Period process, and the session maintaining the reference with the corresponding trading system.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71164672-d7698900-224f-11ea-9985-eee1a448a4de.gif)
|
||||
|
||||
@@ -27,17 +25,17 @@ The same example as with backups apply: cloning a task running a session produce
|
||||
|
||||
**Incoming references are discarded.**
|
||||
|
||||
Let's go back to the example of a definition, like we did when exploring backups:
|
||||
Let's go back to the example of a trading system, like we did when exploring backups:
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71164674-d8021f80-224f-11ea-8365-56c455b89f55.gif)
|
||||
|
||||
The capture above shows that restoring a clone of a definition does not restore incoming references, even when the original structure of nodes is deleted before restoration.
|
||||
The capture above shows that restoring a clone of a trading system does not restore incoming references, even when the original structure of nodes is deleted before restoration.
|
||||
|
||||
## Internal References
|
||||
|
||||
**Internal references are kept intact.**
|
||||
|
||||
Going back to the *shapes* node example, the capture below shows how restonring a clone keeps internal references intact:
|
||||
Going back to the <a data-toggle="tooltip" data-original-title="{{site.data.data_mine.shapes}}">shapes</a> node example, the capture below shows how restonring a clone keeps internal references intact:
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71164677-d8021f80-224f-11ea-8707-5cde89de259c.gif)
|
||||
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
title: Overview
|
||||
summary: ""
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-data-mining-overview.html
|
||||
---
|
||||
|
||||
The Superalgos Platform puts a powerful data processing system in your hands. Use it to the fullest and you will see your *intelligence* increasing by orders of magnitude.
|
||||
|
||||
Anyone may access raw trades and order book data from exchanges. Anyone may access information in the form of standard indicators and technical studies.
|
||||
|
||||
However, only this platform allows you to perform custom calculations and any sort of processing over existing information, and store it into new datasets that you can later access from within your strategies.
|
||||
|
||||
The platform's data processing functionality is highly flexible and works under the same paradigm you are already familiar with while building strategies. It provides you with a visual interface and a framework that leads you through the process, with minimal coding skills required.
|
||||
|
||||
The vast majority of the complexity of processing data is handled internally by the bots and you don't really need to deal with that complexity or even understand it. The platform isolates complexity and only exposes you to the crucial elements that determine what you wish to accomplish.
|
||||
|
||||
This section of the User Manual will first provide you with some technical understanding of how data is handled by the platform. Once the theoretical framework is laid out, it will guide you through the process of modifying existing datasets and building your own.
|
||||
|
||||
The core of the functionality this section unveils covers—in essence—the following points:
|
||||
|
||||
* The capacity to define any number of calculation processes that may feed from each other's outputs, resulting in a wealth of *information* that may be consumed by trading strategies.
|
||||
|
||||
* The properties and characteristics of datasets resulting from the execution of such processes (how and where they are stored, in what format, how they are consumed internally and potentially by other systems).
|
||||
|
||||
We will first lay out the conceptual framework and explore the architecture, and only then go into the details of how to use the data processing functionality.
|
||||
@@ -1,36 +0,0 @@
|
||||
---
|
||||
title: Defining a Trading Strategy
|
||||
summary: "Strategies are defined as a sequence of stages."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-defining-a-trading-strategy.html
|
||||
---
|
||||
|
||||
{% include /trading_system/strategy.md heading="" icon="150-" adding="####" configuring="" starting="" content="yes" definition="bold" table="yes" more="yes"%}
|
||||
|
||||
{% include /trading_system/trigger-stage.md heading="##" icon="150-" adding="" configuring="" starting="" content="yes" definition="bold" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/trigger-on-event.md heading="###" icon="" adding="" configuring="" starting="" content="yes" definition="" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/trigger-off-event.md heading="###" icon="" adding="" configuring="" starting="" content="yes" definition="" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/take-position-event.md heading="###" icon="" adding="" configuring="" starting="" content="yes" definition="" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/open-stage.md heading="##" icon="150-" adding="" configuring="" starting="" content="yes" definition="bold" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/phase-0.md heading="###" icon="" adding="" configuring="" starting="" content="no" definition="" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/initial-stop.md heading="###" icon="" adding="" configuring="" starting="" content="yes" definition="" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/initial-take-profit.md heading="###" icon="" adding="" configuring="" starting="" content="yes" definition="" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/position-size.md heading="###" icon="" adding="" configuring="" starting="" content="yes" definition="" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/position-rate.md heading="###" icon="" adding="" configuring="" starting="" content="yes" definition="" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/manage-stage.md heading="##" icon="150-" adding="" configuring="" starting="" content="yes" definition="bold" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/next-phase-event.md heading="###" icon="" adding="" configuring="" starting="" content="yes" definition="" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/phase-1.md heading="###" icon="" adding="" configuring="" starting="" content="yes" definition="" table="yes" more="no"%}
|
||||
|
||||
{% include /trading_system/close-stage.md heading="##" icon="150-" adding="" configuring="" starting="" content="yes" definition="bold" table="yes" more="no"%}
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
title: Defining a Trading System
|
||||
summary: "A trading system is a device that allows building strategies in a standardized manner."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-defining-a-trading-system.html
|
||||
---
|
||||
|
||||
{% include /trading_system/trading-system.md heading="" icon="150-" adding="####" configuring="" starting="" content="yes" definition="bold" table="yes" more="yes"%}
|
||||
@@ -1,47 +0,0 @@
|
||||
---
|
||||
title: Definitions
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-definitions.html
|
||||
---
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Icon</th>
|
||||
<th>Node</th>
|
||||
<th>Definition</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Basketball</td>
|
||||
<td>{{site.data.definitions.basketball}}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Baseball</td>
|
||||
<td>{{site.data.definitions.baseball}}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Football</td>
|
||||
<td>{{site.data.definitions.football}}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Soccer</td>
|
||||
<td>{{site.data.definitions.soccer}}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Workspace</td>
|
||||
<td>{{site.data.definitions.workspace}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -89,7 +89,7 @@ The rest of the menu options available in most nodes are the following:
|
||||
|
||||
| Icon | Action |
|
||||
| --- | --- |
|
||||
|  | **Backup**: Downloads a JSON file with the data structure and references concerning the particular node and the structure of offspring nodes in the hierarchy. Use this feature to save your entire workspace or any particular structure of nodes within your workspace so that you may later restore the information, including all references, should you need to. For your reference, the file downloaded is named ```Backup``` followed by the name of the node you are backing up. |
|
||||
|  | **Clone**: Downloads a JSON file containing information similar to a backup. The main difference is that the feature is built to facilitate the production of identical copies of any particular structure of nodes of a hierarchy, or a complete hierarchy. Use this feature to accelerate your work process when you need to replicate nodes, for example, to create multiple testing sessions. The file downloaded is named ```Clone``` followed by the name of the node you are cloning. |
|
||||
|  | **Share**: Downloads a JSON file containing information similar to a backup. The only difference is that no personal information is included. This is particularly important so that you do not share sensitive information accidentally, such as your API keys. Always use this function when you intend to share work. Do not share your backups. The file downloaded is named ```Share``` followed by the name of the node you are sharing. |
|
||||
|  | **Delete**: Deletes the node and all its offspring. Confirmation in the form of an additional click is required. |
|
||||
|  | **Backup**: Downloads a JSON file with the data structure and references concerning the particular node and the structure of offspring nodes in the hierarchy. Use this feature to save your entire workspace or any particular structure of nodes within your workspace so that you may later restore the information, including all references, should you need to. For your reference, the file downloaded is named ```Backup``` followed by the name of the node you are backing up. [Click to learn more about the nuances of backups](suite-backups.html). |
|
||||
|  | **Clone**: Downloads a JSON file containing information similar to a backup. The main difference is that the feature is built to facilitate the production of identical copies of any particular structure of nodes of a hierarchy, or a complete hierarchy. Use this feature to accelerate your work process when you need to replicate nodes, for example, to create multiple testing sessions. The file downloaded is named ```Clone``` followed by the name of the node you are cloning. [Click to learn more about the nuances of clones](suite-clones.html). |
|
||||
|  | **Share**: Downloads a JSON file containing information similar to a backup. The only difference is that no personal information is included. This is particularly important so that you do not share sensitive information accidentally, such as your API keys. Always use this function when you intend to share work. Do not share your backups. The file downloaded is named ```Share``` followed by the name of the node you are sharing. [Click to learn more about the nuances of shares and the potential risks of using shared data structures from untrusted sources](suite-shares.html). |
|
||||
|  | **Delete**: Deletes the node and all its offspring. Confirmation in the form of an additional click is required. |
|
||||
@@ -1,66 +0,0 @@
|
||||
---
|
||||
title: "Design Space, Workspace, and Data Structures"
|
||||
summary: "The workspace, nodes, structures of nodes and their parent-offspring relationships are the overarching concepts arranging all information handled by the system."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-design-space-workspace-and-data-structures.html
|
||||
---
|
||||
|
||||
Superalgos handles numerous concepts encompassing fields such as market information, trading strategies, visualization features, workflows, infrastructure, technical resources, and many more. Superalgos structures these concepts in an attempt to make their use intuitive.
|
||||
|
||||
However, each of the above are complex subjects in their own merit. Therefore, it is necessary to acquire a basic level of understanding of the Superalgos paradigm for the desired intuition to emerge. Understanding the following concepts is a first step in that direction.
|
||||
|
||||
## Design Space
|
||||
|
||||
**{{site.data.concepts.design_space}}**
|
||||
|
||||
In practical terms, the design space is the portion of the system you access when you pull up the sliding panel, hiding the charts in the process.
|
||||
|
||||
## Workspace
|
||||
|
||||
**{{site.data.concepts.workspace}}**
|
||||
|
||||
It contains:
|
||||
|
||||
* All <a data-toggle="tooltip" data-original-title="{{site.data.concepts.hierarchy}}">hierarchies</a> with all of their <a data-toggle="tooltip" data-original-title="{{site.data.concepts.node}}">nodes</a>.
|
||||
|
||||
* Nodes that may be floating around detached from hierarchies.
|
||||
|
||||
* Information regarding the physical position and status of all nodes within the design space, even those detached from the hierarchies.
|
||||
|
||||
The workspace is not part of any of the hierarchies; instead, it contains them.
|
||||
|
||||
{% include note.html content="Users may manage multiple workspaces, but only one workspace may be loaded in the system at any point." %}
|
||||
|
||||
{% include tip.html content="Backing up your workspace is the best way to store all the information within the design space, ready to be deployed. Your workspace is saved at the browser level every time you make a change, but still, you should back up your workspace once in a while so that you can go back to past versions or recover from the occasional crash. Also, backups allow you to switch seamlessly from one workspace to another workspace." %}
|
||||
|
||||
## Nodes
|
||||
|
||||
**{{site.data.concepts.node}}**
|
||||
|
||||
### Structure of Nodes
|
||||
|
||||
{{site.data.concepts.structure_of_nodes}}
|
||||
|
||||
As a consequence, structures of nodes are hierarchical structures, and a logical representation of how the concepts embodied by each node relate to each other.
|
||||
|
||||
### Parent-Offspring Relationships
|
||||
|
||||
{{site.data.concepts.parent-offspring_relationships}}
|
||||
|
||||
The direction of the relationship is determined, in most cases, by the ability of a node to produce the offspring node. That is, the parent node is the one which, by software design, may produce the offspring node.
|
||||
|
||||
### Attaching and Detaching Nodes
|
||||
|
||||
{{site.data.concepts.chain}}
|
||||
|
||||
This feature is useful when testing different configurations, rules or parameters, as it allows to keep alternatives handy in the workspace.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/63227849-6d7e9b80-c1eb-11e9-9a02-6f760f383751.gif)
|
||||
|
||||
To detach a node, right-click on it and drag it away from the parent node. To attach a node, right-click on it and move it closer to the node you wish to attach it to.
|
||||
|
||||
Nodes may be attached only to potential parents. The system limits the way in which nodes may be attached, according to the logic of the information they contain.
|
||||
|
||||
{% include note.html content="Nodes may not be detached or attached to frozen nodes. You need to unfreeze them before attaching or detaching." %}
|
||||
|
||||
{% include note.html content="The verbs *to chain* and *to attach* may be used interchangeably, as synonyms. Similarly, *to unchain* and *to detach* are both valid." %}
|
||||
@@ -1,71 +0,0 @@
|
||||
---
|
||||
title: "Interface"
|
||||
summary: "Navigation allows the use of mouse and keyboard. You may also create shortcuts. Node's menu controls allows overiding the physics of the environment."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-designer-interface.html
|
||||
---
|
||||
|
||||
## Navigation
|
||||
|
||||
Left-click on the black background and drag to move around the workspace.
|
||||
|
||||
You may also use the following key combinations on your keyboard:
|
||||
|
||||
1. <kbd>Ctrl or ⌘</kbd> + <kbd>←</kbd> to pan to the left.
|
||||
1. <kbd>Ctrl or ⌘</kbd> + <kbd>→</kbd> to pan to the right.
|
||||
1. <kbd>Ctrl or ⌘</kbd> + <kbd>↑</kbd> to pan upwards.
|
||||
1. <kbd>Ctrl or ⌘</kbd> + <kbd>↓</kbd> to pan downwards.
|
||||
|
||||
You may also use your keyboard as follows:
|
||||
|
||||
1. <kbd>Alt</kbd> + <kbd>↑</kbd> to close the charts and open the designer.
|
||||
1. <kbd>Alt</kbd> + <kbd>↓</kbd> to close the designer and open the charts.
|
||||
1. <kbd>Alt</kbd> + <kbd>→</kbd> to open both the designer and the charts, assigning each one-half of the screen.
|
||||
1. <kbd>Ctrl or ⌘</kbd> + <kbd>Shift</kbd> + <kbd>↑</kbd> to pull the separation bar up incrementally.
|
||||
1. <kbd>Ctrl or ⌘</kbd> + <kbd>Shift</kbd> + <kbd>↓</kbd> to pull the separation bar down incrementally.
|
||||
|
||||
## Node Shortcuts
|
||||
|
||||
You may define shortcuts for frequently-used nodes with the following procedure:
|
||||
|
||||
1. Hover the mouse pointer over the target node until the menu opens up. This puts the node *in focus*.
|
||||
1. Click <kbd>Ctrl or ⌘</kbd> + <kbd>Alt</kbd> + your preferred key to assign the shortcut.
|
||||
1. A sign will appear below the node confirming the assignation of the shortcut.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/70344838-f123cd00-185a-11ea-819f-92c4cf1e93ea.gif)
|
||||
|
||||
Repeat the same procedure to remove a shortcut.
|
||||
|
||||
When attempting to assign a shortcut with a keyboard combination that is already in use, the platform will notify of the issue. If you insist by hitting the same keyboard combination two more times, the platform will assign the shortcut as expected.
|
||||
|
||||
## Node's Menu
|
||||
|
||||
Hovering the mouse pointer over nodes causes a menu to pop up. In this situation, the node is *in focus*.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/63047274-621e2e00-bed4-11e9-90ff-614b279c9910.gif)
|
||||
|
||||
The designer functions under the paradigm of a *self-organizing workspace* in which nodes tend to find their place guided by certain laws of physics, and constrained by their chain relationships.
|
||||
|
||||
This self-organizing paradigm saves users the effort of maintaining the arrangement of nodes in a logical manner, in particular when manipulating or creating new nodes.
|
||||
|
||||
However, there will be times in which you will want to override this self-organizing nature. The following menu options are tools that will help you manipulate the arrangement of nodes, overriding the physics that affect their default floating nature.
|
||||
|
||||
| Icon | Status / Action |
|
||||
| --- | --- |
|
||||
|  | The node is pinned to the workspace on a specific X-Y coordinate. |
|
||||
|  | The node is free to find its place, unpinned. |
|
||||
|  | The node's chain connections with its parent and offspring are frozen. Connecting lines are blue. If you freeze the head node of a hierarchy, then the whole hierarchy is frozen. Freezing node structures releases CPU resources, as the platform stops calculating node's positions and status. |
|
||||
|  | The node's connections are unfrozen. If you click the option to unfreeze a node and the node does not change its status, that is because a higher node in the hierarchy is still frozen. |
|
||||
|  | The node is locked to a *rotational symmetry* in relation with the rest of the nodes at the same level of the hierarchy, thus all angles between nodes are equal. The connection lines are orange.|
|
||||
|  | The node is not locked in a rotational symmetry; instead, angles are free. The connection lines are yellow.|
|
||||
|  | Clicking the _minus_ button contracts the structure hiding offspring nodes. This also has the effect of releasing CPU resources as the platform stops calculating their position and status. In general, it is good practice to keep hierarchies closed when not being actively worked on. |
|
||||
|  | Clicking the _plus_ button expands the structure of offspring nodes. |
|
||||
|
||||
The rest of the menu options available in most nodes are the following:
|
||||
|
||||
| Icon | Action |
|
||||
| --- | --- |
|
||||
|  | **Backup**: Downloads a JSON file with the data structure and references concerning the particular node and the structure of offspring nodes in the hierarchy. Use this feature to save your entire workspace or any particular structure of nodes within your workspace so that you may later restore the information, including all references, should you need to. For your reference, the file downloaded is named ```Backup``` followed by the name of the node you are backing up. |
|
||||
|  | **Clone**: Downloads a JSON file containing information similar to a backup. The main difference is that the feature is built to facilitate the production of identical copies of any particular structure of nodes of a hierarchy, or a complete hierarchy. Use this feature to accelerate your work process when you need to replicate nodes, for example, to create multiple testing sessions. The file downloaded is named ```Clone``` followed by the name of the node you are cloning. |
|
||||
|  | **Share**: Downloads a JSON file containing information similar to a backup. The only difference is that no personal information is included. This is particularly important so that you do not share sensitive information accidentally, such as your API keys. Always use this function when you intend to share work. Do not share your backups. The file downloaded is named ```Share``` followed by the name of the node you are sharing. |
|
||||
|  | **Delete**: Deletes the node and all its offspring. A confirmation in the form of an additional click is required. |
|
||||
@@ -1,54 +0,0 @@
|
||||
---
|
||||
title: "Designer, Workspace and Data Structures"
|
||||
summary: "Workspace, nodes, structure of nodes and their parent-offspring relationships are the overarching concepts giving structure to all information handled by the system."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-designer-workspace-and-data-structures.html
|
||||
---
|
||||
|
||||
The Superalgos Suite handles lots of concepts encompassing fields such as markets information, intelligence in the form of data and trading strategies, visualization features, workflows, technical resources, and many more.
|
||||
|
||||
All of these concepts need to be structured for the user to make sense of them, and use them intuitively after learning the Suite's conceptual paradigm.
|
||||
|
||||
This page explains the concepts that deal with the structuring and managing of the rest of the concepts.
|
||||
|
||||
## Designer
|
||||
|
||||
{{site.data.concepts.designer}}
|
||||
|
||||
In practical terms, is the portion of the system you access when you pull up the sliding panel, hidding the charts in the process.
|
||||
|
||||
|
||||
|
||||
## Workspace
|
||||
|
||||
{{site.data.concepts.workspace}}
|
||||
|
||||
It contains:
|
||||
|
||||
* all hierarchies with all of their nodes;
|
||||
|
||||
* nodes that may be floating around detached from hierarchies;
|
||||
|
||||
* information regarding the physical position and status of all nodes within the Designer, even those detached from the hierarchies.
|
||||
|
||||
The <a href="" data-toggle="tooltip" data-original-title="{{site.data.concepts.workspace}}">workspace</a> is not part of any of the hierarchies; instead, it contains them.
|
||||
|
||||
{% include note.html content="Backing up your workspace is the best way to store all the information within the Designer, ready to be deployed. Your workspace is saved at the browser level every time you make a change, but still, you should back up your workspace once in a while so that you can go back to past versions or recover from the occasional crash. " %}
|
||||
|
||||
## Node
|
||||
|
||||
{{site.data.concepts.node}}
|
||||
|
||||
## Structure of Nodes
|
||||
|
||||
{{site.data.concepts.structure_of_nodes}}
|
||||
|
||||
As a concequence, structures of nodes are hierarchical structures, and a logical representation of how the concepts embodied by each node relate to each other.
|
||||
|
||||
|
||||
|
||||
## Parent-Offspring Relationships
|
||||
|
||||
{{site.data.concepts.parent-offspring_relationships}}
|
||||
|
||||
The direction of the relationship is determined, in most cases, by the hability of a node to produce the offspring node. That is, the parent node is the one which, by software design, may produce the offspring node.
|
||||
@@ -1,64 +0,0 @@
|
||||
---
|
||||
title: Download and Set Up
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-download-and-set-up.html
|
||||
---
|
||||
|
||||
This *Getting Started Guide* will quickly show you the very basics of the system so that you can rapidly grasp the system's potential. It will take you through a sequence of instructions that you need to follow to download and install the system, run it for the first time, import an existing strategy, run your first backtest, and, if you are up for it, start trading live.
|
||||
|
||||
Please follow the version of the explanation that best suits your profile:
|
||||
|
||||
* [The quick version for experienced PC operators](#the-quick-version-for-experienced-pc-operators)
|
||||
* [The extended version for regular folks](#the-extended-version-for-regular-folks)
|
||||
|
||||
## The Quick Version for Experienced PC Operators
|
||||
|
||||
### 1. Downloads
|
||||
|
||||
Download the software package from the [latest software release](https://github.com/Superalgos/DesktopApp/releases/tag/v.0.0.5-beta) (```Superalgos-Platform.zip```) and extract the file in an accessible route (you will launch the system from the extracted folders).
|
||||
|
||||
Download historic market data from the [latest data release](https://github.com/Superalgos/DesktopApp/releases/tag/data.poloniex.btc.usdt.2019.12.06) (```Poloniex.BTC.USDT.Historic.Data.zip```) and extract the file inside the ```Superalgos``` folder generated by the software ZIP package.
|
||||
|
||||
You should end up with the following folder structure:
|
||||
|
||||

|
||||
|
||||
> **NOTE:** Make sure the data ended up as the ```Data-Storage``` folder, right inside the ```Superalgos``` root folder.
|
||||
|
||||
### 2. Continue with [Running the Platform](Running-the-Platform)
|
||||
|
||||
## The Extended Version for Regular Folks
|
||||
|
||||
### 1. Download the Software Package
|
||||
|
||||
Go to the [latest Superalgos release](https://github.com/Superalgos/DesktopApp/releases/tag/v.0.0.5-beta) and download ```Superalgos-Platform.zip```.
|
||||
|
||||
### 2. Extract the ZIP File
|
||||
|
||||
How you extract/unpack the files depends on the software you use to handle ZIP files. Double-clicking the ZIP file should work in most scenarios, however, some systems may "open" the file instead of "extracting" or "unpacking" it. Make sure you are "extracting" and not just "opening" the file. You may also right-click the file and check the options available on the pop-up menu.
|
||||
|
||||
When you extract the ZIP file, a folder structure will be created with the root folder being ```Superalgos```.
|
||||
|
||||
You may extract/unpack the files in any location of your drive, however, we recommend unpacking in an accessible route *(i.e.: ```C:\```)*, as you will later need to fit an additional folder inside the ```Superalgos``` folder, and you will also need to access these folders every time you launch the system.
|
||||
|
||||
### 3. Download the Data Package
|
||||
|
||||
For your convenience and [the reasons explained elsewhere](What-to-Expect), we maintain a market-data file that you can download, so that you may be up and running as quickly as possible.
|
||||
|
||||
Go to the [latest Data release](https://github.com/Superalgos/DesktopApp/releases/tag/data.poloniex.btc.usdt.2019.12.06) and download ```Poloniex.BTC.USDT.Historic.Data.zip```.
|
||||
|
||||
The ZIP file includes highly-compressed complete historic BTC/USDT Poloniex market data. Expect decompression to take from 30 to 60 minutes, depending on your system. Once you have the historic data, the system will make sure the data stays up to date.
|
||||
|
||||
### 4. Extract the ZIP file
|
||||
|
||||
You need to extract the file inside the ```Superalgos``` folder generated by the first ZIP file. You can achieve this in two ways:
|
||||
|
||||
A. Move ```Poloniex.BTC.USDT.Historic.Data.zip``` inside the ```Superalgos``` folder, right-click the ZIP file and select *Extract here* in the pop-up menu. This is the quickest method.
|
||||
|
||||
B. Extract the ZIP file anywhere else and then move the resulting ```Data-Storage``` folder inside the ```Superalgos``` folder. This will take more than double the time.
|
||||
|
||||
You should end up with the following folder structure:
|
||||
|
||||

|
||||
|
||||
> **NOTE:** Make sure the data ended up as the ```Data-Storage``` folder, right inside the ```Superalgos``` root folder.
|
||||
@@ -63,4 +63,9 @@ Nodes may be attached only to potential parents. The system limits the way in wh
|
||||
|
||||
{% include note.html content="Nodes may not be detached or attached to frozen nodes. You need to unfreeze them before attaching or detaching." %}
|
||||
|
||||
{% include note.html content="The verbs *to chain* and *to attach* may be used interchangeably, as synonyms. Similarly, *to unchain* and *to detach* are both valid." %}
|
||||
{% include note.html content="The verbs *to chain* and *to attach* may be used interchangeably, as synonyms. Similarly, *to unchain* and *to detach* are both valid." %}
|
||||
|
||||
{% include /concepts/references.md heading="##" icon="no" extended="more" content="yes" definition="bold" table="no" more="yes"%}
|
||||
|
||||
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
---
|
||||
title: Masters indicators
|
||||
summary: "A set of indicators built in the Masters data mine including candles, Bollinger Bands (BB), Percentage Bandwidth (%B), Bollinger Channels, and Bollinger Subchannels."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-masters-indicators.html
|
||||
---
|
||||
|
||||
{% include note.html content="The following indicators are available under the Masters task managers in the data mining section of the network hierarchy." %}
|
||||
|
||||
## Candles
|
||||
|
||||
The product ```candle``` features five different properties that you may use.
|
||||
|
||||
| Product Name | Product Variable | Property Variables |
|
||||
| :---: | :---: | :--- |
|
||||
| Candles | ```candle``` | ```min```, ```max```, ```open```, ```close```, ```direction``` |
|
||||
|
||||
```candle.min```: The minimum price of the last closed candle (low).
|
||||
|
||||
```candle.max```: The maximum price of the last closed candle (high).
|
||||
|
||||
```candle.open```: The price at which the last closed candle opened.
|
||||
|
||||
```candle.close```: The price at which the last closed candle closed.
|
||||
|
||||
```candle.direction```:
|
||||
* ```"Down"```: candle.close < candle.open (bearish candle)
|
||||
* ```"Up"```: candle.close > candle.open (bullish candle)
|
||||
* ```"Side"```: candle.close = candle.open (neutral candle)
|
||||
|
||||
## Bollinger Bands (BB)
|
||||
|
||||
The product ```bollingerBand``` features four different properties that you may use.
|
||||
|
||||
| Product Name | Product Variable | Property Variables |
|
||||
| :---: | :---: | :--- |
|
||||
| Bollinger Bands | ```bollingerBand``` | ```movingAverage```, ```standardDeviation```, ```deviation```, ```direction``` |
|
||||
|
||||
```bollingerBand.movingAverage```: The value of the current moving average (20 periods).
|
||||
|
||||
```bollingerBand.standardDeviation```: The value of current the [standard deviation](https://en.wikipedia.org/wiki/Standard_deviation).
|
||||
|
||||
```bollingerBand.deviation```: bollingerBand.standardDeviation * 2
|
||||
|
||||
```bollingerBand.direction```:
|
||||
* ```"Down"```: bollingerBand.previous.movingAverage > bollingerBand.movingAverage
|
||||
* ```"Up"```: bollingerBand.previous.movingAverage < bollingerBand.movingAverage
|
||||
* ```"Side"```: bollingerBand.previous.movingAverage = bollingerBand.movingAverage)
|
||||
|
||||
## Percentage Bandwidth (%B)
|
||||
|
||||
The product ```percentageBandwidth``` features four different properties that you may use.
|
||||
|
||||
| Product Name | Product Variable | Property Variables |
|
||||
| :---: | :---: | :--- |
|
||||
| Percentage Bandwidth | ```percentageBandwidth``` | ```value```, ```movingAverage```, ```bandwidth```, ```direction``` |
|
||||
|
||||
```percentageBandwidth.value```: A numeric value between 0 and 100; the current value of the percentage bandwidth.
|
||||
|
||||
```percentageBandwidth.movingAverage```: A numeric value between 0 and 100; the current value of the percentage bandwidth moving average.
|
||||
|
||||
```percentageBandwidth.bandwidth```: A numeric value between 0 and 100; the current bandwidth.
|
||||
|
||||
```percentageBandwidth.direction```:
|
||||
* ```"Down"```: percentageBandwidth.previous.movingAverage > percentageBandwidth.movingAverage
|
||||
* ```"Up"```: percentageBandwidth.previous.movingAverage < percentageBandwidth.movingAverage
|
||||
* ```"Side"```: percentageBandwidth.previous.movingAverage = percentageBandwidth.movingAverage)
|
||||
|
||||
## Bollinger Channels (BC)
|
||||
|
||||
The product ```bollingerChannel``` features two different properties that you may use.
|
||||
|
||||
| Product Name | Product Variable | Property Variables |
|
||||
| :---: | :---: | :--- |
|
||||
| Bollinger Channels | ```bollingerChannel``` | ```direction```, ```period``` |
|
||||
|
||||
```bollingerChannel.direction```: Possible values are ```"Down"```, ```"Up"```, and ```"Side"```.
|
||||
|
||||
```bollingerChannel.period```: The number of periods the channel spans at the moment the variable is being read. For instance, if a channel spans 10 candles and the variable is checked on the fourth candle, then _bollingerChannel.period_ = 4. Put in other words, it is the current span of the channel.
|
||||
|
||||
## Bollinger SubChannels (BSC)
|
||||
|
||||
The product ```bollingerSubChannel``` features three different properties that you may use.
|
||||
|
||||
| Product Name | Product Variable | Property Variables |
|
||||
| :---: | :---: | :--- |
|
||||
| Bollinger SubChannels | ```bollingerSubChannel``` | ```direction```, ```period```, ```slope``` |
|
||||
|
||||
```bollingerSubChannel.direction```: Possible values are ```"Down"```, ```"Up"```, and ```"Side"```.
|
||||
|
||||
```bollingerSubChannel.period```: The number of periods the subchannel spans at the moment the variable is being read. For instance, if a subchannel spans 10 candles and the variable is checked on the fourth candle, then _bollingerChannel.period_ = 4. Put in other words, it is the current span of the subchannel.
|
||||
|
||||
```bollingerSubChannel.slope```: Indicates how steep the slope of the subchannel is. Possible values are ```"Side"```, ```"Gentle"```, ```"Medium"```, ```"Steep"```, ```"Extreme"``` (in order from lowest to highest).
|
||||
@@ -1,94 +0,0 @@
|
||||
---
|
||||
title: Sparta indicators
|
||||
summary: "A set of indicators built in the Sparta data mine including Simple Moving Average (SMA), Exponential Moving Averege (EMA), Relative Strenght Index (RSI), and Moving Average convergence Divergence (MACD)."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-sparta-indicators.html
|
||||
---
|
||||
|
||||
{% include note.html content="The following indicators are available under the Sparta task managers in the data mining section of the network hierarchy." %}
|
||||
|
||||
## Simple Moving Average (SMA)
|
||||
|
||||
There are three products pre-configured to start calculating as soon as you start the corresponding task, each with different period configurations:
|
||||
|
||||
| Product Name | Product Variable | Period Variables |
|
||||
| :---: | :---: | :--- |
|
||||
| Popular SMAs | ```popularSMA``` | ```sma20```, ```sma50```, ```sma100```, ```sma200``` |
|
||||
| Base 7 | ```base7SMA``` | ```sma7```, ```sma14```, ```sma21```, ```sma28```, ```sma35```, ```sma70```, ```sma140```, ```sma210```, ```sma280```, ```sma350```, ```sma700```, ```sma1400```|
|
||||
| Base 11 | ```base11SMA``` | ```sma11```, ```sma22```, ```sma33```, ```sma55```, ```sma111``` |
|
||||
|
||||
There are four more products available but they will not be calculated unless you create the corresponding data outputs and reference them to the corresponding data sets:
|
||||
|
||||
| Product Name | Product Variable | Period Variables |
|
||||
| :---: | :---: | :--- |
|
||||
| Base 5 | ```base5SMA``` | ```sma5```, ```sma10```, ```sma15```, ```sma20```, ```sma25```, ```sma50```, ```sma100```, ```sma150```, ```sma200```, ```sma250```, ```sma500```, ```sma1000``` |
|
||||
| Base 6 | ```base6SMA``` | ```sma6```, ```sma12```, ```sma18```, ```sma24```, ```sma30```, ```sma60```, ```sma120```, ```sma180```, ```sma240```, ```sma300```, ```sma600```, ```sma1200``` |
|
||||
| Base 12 | ```base12SMA``` | ```sma12```, ```sma24```, ```sma36```, ```sma48```, ```sma60```, ```sma120```, ```sma240```, ```sma360```, ```sma480```, ```sma600```, ```sma1200``` |
|
||||
| Base 30 | ```base30SMA``` | ```sma30```, ```sma60```, ```sma90```, ```sma120```, ```sma150```, ```sma300```, ```sma600```, ```sma900```, ```sma1200```, ```sma1500``` |
|
||||
|
||||
**Examples:**
|
||||
|
||||
1. ```chart.at24hs.popularSMA.sma50 > chart.at24hs.popularSMA.sma200``` — An indication of a bull market? Is the 50-day moving average above the 200-day moving average?
|
||||
|
||||
1. ```chart.at24hs.popularSMA.sma200 > chart.at24hs.base7SMA.sma350``` — Looking even further in the past, comparing a 200-day with a 350-day moving average. Notice how the two MA belong to different products.
|
||||
|
||||
## Exponential Moving Average (EMA)
|
||||
|
||||
The products and periods available in EMA map exactly the products and periods available in SMA. To use EMA you simply need to replace the S with an E. That said, for your reference, this is the complete list...
|
||||
|
||||
Like with SMAs, there are three products pre-configured to start calculating as soon as you start the corresponding task, each with different period configurations:
|
||||
|
||||
| Product Name | Product Variable | Period Variables |
|
||||
| :---: | :---: | :--- |
|
||||
| Popular EMAs | ```popularEMA``` | ```ema20```, ```ema50```, ```ema100```, ```ema200``` |
|
||||
| Base 7 | ```base7EMA``` | ```ema7```, ```ema14```, ```ema21```, ```ema28```, ```ema35```, ```ema70```, ```ema140```, ```ema210```, ```ema280```, ```ema350```, ```ema700```, ```ema1400```|
|
||||
| Base 11 | ```base11EMA``` | ```ema11```, ```ema22```, ```ema33```, ```ema55```, ```ema111``` |
|
||||
|
||||
There are four more products available but they will not be calculated unless you create the corresponding data outputs and reference them to the corresponding data sets:
|
||||
|
||||
| Product Name | Product Variable | Period Variables |
|
||||
| :---: | :---: | :--- |
|
||||
| Base 5 | ```base5EMA``` | ```ema5```, ```ema10```, ```ema15```, ```ema20```, ```ema25```, ```ema50```, ```ema100```, ```ema150```, ```ema200```, ```ema250```, ```ema500```, ```ema1000``` |
|
||||
| Base 6 | ```base6EMA``` | ```ema6```, ```ema12```, ```ema18```, ```ema24```, ```ema30```, ```ema60```, ```ema120```, ```ema180```, ```ema240```, ```ema300```, ```ema600```, ```ema1200``` |
|
||||
| Base 12 | ```base12EMA``` | ```ema12```, ```ema24```, ```ema36```, ```ema48```, ```ema60```, ```ema120```, ```ema240```, ```ema360```, ```ema480```, ```ema600```, ```ema1200``` |
|
||||
| Base 30 | ```base30EMA``` | ```ema30```, ```ema60```, ```ema90```, ```ema120```, ```ema150```, ```ema300```, ```ema600```, ```ema900```, ```ema1200```, ```ema1500``` |
|
||||
|
||||
**Examples:**
|
||||
|
||||
1. ```chart.at01hs.base5EMA.ema5 < chart.at01hs.base5EMA.ema25``` — May the trend be reversing? Checking if a fast 5-hours exponential moving average goes below the slower 25-hours EMA.
|
||||
|
||||
## Moving Average Convergence/Divergence (MACD)
|
||||
|
||||
There are four different products, each configured with a specific setting for the fast and slow moving avarages and the MACD Signal line.
|
||||
|
||||
| Product Setting | Product Variable | EMAs |
|
||||
| :---: | :---: | :--- |
|
||||
| MACD (12, 26, 9) | ```macd122609``` | ```ema12```, ```ema26``` |
|
||||
| MACD (3, 10, 16) | ```macd031016``` | ```ema3```, ```ema10``` |
|
||||
| MACD (8, 17, 9) | ```macd081709``` | ```ema8```, ```ema17``` |
|
||||
| MACD (24, 52, 9) | ```macd245209``` | ```ema24```, ```ema52``` |
|
||||
|
||||
The first few variables you may use from these products are those corresponding to the EMAs used to calculate the MACD line and the MACD signal line, as shown in the table above.
|
||||
|
||||
Also, each of the products in the above table feature the following properties:
|
||||
|
||||
| Property | Description |
|
||||
| :---: | :--- |
|
||||
| ```line``` | The MACD line, that is, the fast EMA minus the slow EMA. |
|
||||
| ```signal``` | The Signal line, that is, the *n-period* EMA of the MACD line (*n* is the last setting) |
|
||||
| ```histogram``` | The value of the histogram, that is, the difference between the MACD line and the MACD signal line. |
|
||||
|
||||
**Examples:**
|
||||
|
||||
1. ```chart.at30min.macd122609.line <= 0 && chart.at30min.macd122609.previous.line >= 0``` — A centerline crossover at the 30-minutes chart.
|
||||
|
||||
1. ```chart.at15min.macd031016.line >= chart.at15min.macd031016.signal && chart.at15min.macd031016.previous.line <= chart.at15min.macd031016.previous.signal``` — A signal line crossover at the 15-minutes chart.
|
||||
|
||||
|
||||
## Relative Strength Index (RSI)
|
||||
|
||||
The RSI product currently available uses the standard setting of 14 periods, and features a single property: ```rsi14.value```
|
||||
|
||||
**Examples:**
|
||||
|
||||
1. ```chart.at24hs.rsi14.value >= 70``` — How's the trend going at the 24-hours chart?
|
||||
@@ -1,11 +1,11 @@
|
||||
---
|
||||
title: Live Trading History Layer
|
||||
summary: ""
|
||||
summary: "The Masters trading bot Jason provides an additional layer to track live trading activity."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-live-trading-history-layer.html
|
||||
---
|
||||
|
||||
In addition to the simulation layers, you will now be able to use the Live Trading History layer to get information about your trades.
|
||||
In addition to the simulation layers, the <a data-toggle="tooltip" data-original-title="{{site.data.concepts.trading_bot}}">trading bot</a> provides an additional layer to track live trading activity.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/63526577-e9385b00-c4ff-11e9-898a-81880cfa0c7d.gif)
|
||||
|
||||
@@ -15,4 +15,4 @@ When a buy order is successfully placed and filled at the exchange, a green tria
|
||||
|
||||
When a sell order fills, a red triangle is plotted over the charts.
|
||||
|
||||
> **TEMPORARY LIMITATION**: When live-trading, the simulation layers do not currently reflect the actual live trades, but the simulated ones. This means the take position rate and the exit rate (whether it is a take profit or stop loss) will be taken from the ideal rate (factoring fees and slippage as per the session's configuration) and not from the actual rate the orders filled at the exchange.
|
||||
{% include note.html content="When live-trading, the simulation layers do not currently reflect the actual live trades, but simulated ones. This means that the take position rate and the exit rate (take profit or stop loss) is taken from the ideal rate, factoring fees and slippage as per the session's configuration, and not from the actual rate of the orders as filled at the exchange." %}
|
||||
@@ -1,65 +0,0 @@
|
||||
---
|
||||
title: Managing Processes
|
||||
summary: ""
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-managing-processes.html
|
||||
---
|
||||
|
||||
| Task Manager | Task | Sensor Bot | Indicator Bot | Trading Bot | Process |
|
||||
| :---: | :---: | :---: | :---: | :---: | :---: |
|
||||
|  |  |  |  |  |  |
|
||||
|
||||
A *task manager* is an entity that controls any number of *tasks*, and tasks are used to control *bots*, which in turn may run any number of *processes*.
|
||||
|
||||
In other words, a task manager starts and stops tasks, and tasks are the devices you will use to start and stop bots.
|
||||
|
||||
Each task is an independent process at the *operating system* level, which handles its own memory allotment, and may be controlled and killed independently.
|
||||
|
||||
One task manager may have several tasks under its control, but each task should control only one bot instance.
|
||||
|
||||
Each bot may perform more than one job, thus, a bot instance may run one or more processes. Bots and processes are preconfigured so that you don't need to worry about their technical intricacies.
|
||||
|
||||
**All you need to do is the basic operation: starting and stopping them via the corresponding tasks whenever you need them.**
|
||||
|
||||
There currently are three kinds of bots that you will run to provide you with the data and functions you need:
|
||||
|
||||
* **Sensor Bots:** they extract raw data from external sources (*i.e.: exchanges, Twitter, etc.*);
|
||||
|
||||
* **Indicator Bots:** they process data to produce elaborate datasets;
|
||||
|
||||
* **Trading Bot:** based on datasets exposed as products by other bots (counting sensors, indicators and even other trading bots), a trading bot applies the trading logic defined on a trading system to, on one side, generate a complete trading simulation (outputting datasets that include trades, the action of strategies, validation of conditions, etc.), and on the other side, manages the execution of orders when on a live-trading session.
|
||||
|
||||
## Current Task Managers
|
||||
|
||||
All workspaces in the ```Quick-Start-Examples``` folder include the Superalgos Network, a network node representing your local machine, and four different task managers.
|
||||
|
||||
Each task manager has a name, which becomes visible only upon hovering the mouse pointer.
|
||||
|
||||
### Masters Datasets
|
||||
|
||||
Hit <kbd>Ctrl or ⌘</kbd> + <kbd>Alt</kbd> + <kbd>D</kbd> (*D* for *Datasets*) to quickly find the *Masters Datasets* task manager, named after the *team* that created the bots in it.
|
||||
|
||||
This task manager has several tasks, each controlling one of the bot instances required to keep the datasets you downloaded with the data release up-to-date.
|
||||
|
||||
Having all data your strategy consumes up-to-date is a requirement for paper trading, forward testing, and live trading sessions. If you wish to have the data up-to-date, you need to *Start All Tasks* using the menu.
|
||||
|
||||
### Sparta Indicators
|
||||
|
||||
Hit <kbd>Ctrl or ⌘</kbd> + <kbd>Alt</kbd> + <kbd>I</kbd> (*I* for *Indicators*) to quickly find the *Sparta Indicators* task manager. Again,Sparta is the name of the *team* that created this particular set of indicators.
|
||||
|
||||
If you wish to use these indicators in your strategies, please follow the guide about [Using indicators not included in the data release](Using-Indicators-Not-Included-in-the-Data-Release).
|
||||
|
||||
|
||||
### Testing Sessions
|
||||
|
||||
Hit <kbd>Ctrl or ⌘</kbd> + <kbd>Alt</kbd> + <kbd>T</kbd> (*T* for *Testing*) to find the *Testing Sessions* task manager.
|
||||
|
||||
This is the task manager you will use to run the trading bot instances in charge of running both backtesting and paper-trading sessions.
|
||||
|
||||
### Live Sessions
|
||||
|
||||
Hit <kbd>Ctrl or ⌘</kbd> + <kbd>Alt</kbd> + <kbd>T</kbd> (*L* for *Live trading*) to find the *Live Trading Sessions* task manager.
|
||||
|
||||
We keep the forward testing and live trading sessions separate from the backtesting and paper-trading sessions as there is money involved in the former. Keeping live sessions apart may help avoid unpleasant mistakes, turning on or off live sessions inadvertently.
|
||||
|
||||
> **PRO TIP:** The Getting Started guide instructed you to start all tasks on the *Masters Datasets* task manager, but only the required task to start a backtesting session on the *Testing Sessions* task manager. Once you become proficient with the system, you may want to start only individual tasks according to your specific needs.
|
||||
@@ -1,43 +1,43 @@
|
||||
---
|
||||
title: Layers Panel
|
||||
summary: ""
|
||||
title: Masters Data Mine Bots
|
||||
summary: "The Masters data mine offers candles, volumes, candle stairs patterns, volume stairs patterns, Bollinger bands (BB), percentage bandwidth (%B), Bollinger channels, and Bollinger sub-channels."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-layers-panel.html
|
||||
permalink: suite-masters-bots-layers.html
|
||||
---
|
||||
|
||||
## Indicators Included in the Data Release
|
||||
{% include note.html content="To learn to use these products from within strategies, see the [Masters Indicators](suite-masters-indicators.html) page." %}
|
||||
|
||||
### Candles
|
||||
## Candles
|
||||
|
||||
Typical candlesticks.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67269992-0a91d500-f4b8-11e9-9c67-a2bf3607d913.gif)
|
||||
|
||||
### Volumes
|
||||
## Volumes
|
||||
|
||||
We innovated a bit placing the buy volume at the bottom (in green), and the sell volume at the top (in red).
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67269993-0b2a6b80-f4b8-11e9-8951-a1fbf12652b8.gif)
|
||||
|
||||
### Candle Stairs Patterns
|
||||
## Candle Stairs Patterns
|
||||
|
||||
This is an unusual pattern proving any dataset may be plotted on the charts (and by extension, that anything can be added to the system). A Stair Pattern is defined as a set of candles going in the same direction, either up or down. You can think of these patterns as "Candle Channels", as they represent channels with an up or down direction based on underlying candles direction.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67270464-05815580-f4b9-11e9-8a8d-7d18b8c470d7.gif)
|
||||
|
||||
### Volume Stairs Patterns
|
||||
## Volume Stairs Patterns
|
||||
|
||||
A similar concept, this time with volumes. Whenever a sequence of volume bars is found where each one is bigger than the previous one, they are bundled together in a "Stair". The same applies when they are going down (the next is smaller than the previous one). For a trading bot, this serves to identify if sell or buy volumes are rising or declining.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67270466-0619ec00-f4b9-11e9-8f62-8c227696c0fc.gif)
|
||||
|
||||
### Bollinger Bands
|
||||
## Bollinger Bands
|
||||
|
||||
This is the traditional [Bollinger Bands indicator](https://en.wikipedia.org/wiki/Bollinger_Bands). Bollinger Bands have a moving average, in our case calculated with the last 20 periods (the line in the middle of the bands). We are plotting the moving average with one color when it is going up, and with a different color when it's going down. The upper band is at 2 Standard Deviations from the moving average, pretty much like the lower band, also at 2 Standard Deviations. These are the most widely used Bollinger Bands settings.
|
||||
This is the traditional <a href="https://www.bollingerbands.com/" rel="nofollow" rel="noopener" target="_blank">Bollinger Bands</a> indicator. Bollinger Bands have a moving average, in our case calculated with the last 20 periods (the line in the middle of the bands). We are plotting the moving average with one color when it is going up, and with a different color when it's going down. The upper band is at 2 Standard Deviations from the moving average, pretty much like the lower band, also at 2 Standard Deviations. These are the most widely used Bollinger Bands settings.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67270467-0619ec00-f4b9-11e9-9482-fbec44f0bf83.gif)
|
||||
|
||||
### Percentage Bandwidth
|
||||
## Percentage Bandwidth
|
||||
|
||||
This is a well-known indicator that derives from the Bollinger Bands. In a nutshell, it tells you how close the price is either to the upper band or the lower band at any point in time. When the price is in the middle of the bands (it is calculated with the close value of each candle), then %B is in the middle of its chart, at value 50. When the price touches the upper band, then %B is at 100, and finally when the price is at the lower band, then %B is at 0.
|
||||
|
||||
@@ -47,58 +47,14 @@ The chart features lines at %B values 30 and 70 since those are the most common
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67270469-0619ec00-f4b9-11e9-8334-135bb54db1bf.gif)
|
||||
|
||||
### Bollinger Channels
|
||||
## Bollinger Channels
|
||||
|
||||
This is a non-standard indicator derived from the Bollinger Bands. These types of channels are calculated using the Bollinger Bands moving average. Essentially an upward channel begins when the moving average changes _direction_ from going down to going up, and the channel finishes when it turns from going up to down. A downward channel starts when the Bollinger Band moving average turns from going up to down, and it finishes when it starts going up again. Upward channels are plotted in green, while downward channels in red. Additional information can be found at the indicator's panel, like the number of periods contained at the channel.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67271113-34e49200-f4ba-11e9-8365-070738856f2a.gif)
|
||||
|
||||
### Bollinger Sub-Channels
|
||||
## Bollinger Sub-Channels
|
||||
|
||||
If we consider that one Bollinger Channel can have sub-channels in the same direction (up or down) but different slopes, then we get to the concept of Bollinger Sub-Channels. The most important property of a sub-channel is its slope. The possible values are Side, Gentle, Medium, High and Extreme. With this information, a trading bot could easily ask if it is in a sub-channel with a certain slope and for how many periods. The slope or inclination of the moving average may be an indication of momentum.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67271114-34e49200-f4ba-11e9-90c8-77623de1dd04.gif)
|
||||
|
||||
## Indicators Not Included in the Data Release
|
||||
|
||||
**The following list of indicators are not included in the data release, therefore, they will show nothing when you switch the corresponding layer on, until you get the appropriate bots to calculate the data.**
|
||||
|
||||
To learn how to get ready to use these indicators, please refer to the [Using indicators not included in the data release](Using-Indicators-Not-Included-in-the-Data-Release) page.
|
||||
|
||||
Most of the indicators listed here come with several *products*, each with different settings for the said indicator. To learn all the details, check the [Indicators not included in the data release](Indicators-Not-Included-in-the-Data-Release) page under the *Writing Conditions & Formulas* section of this User Manual.
|
||||
|
||||
### Relative Strength Index (RSI 14)
|
||||
|
||||
[According to Investopedia](https://www.investopedia.com/terms/r/rsi.asp), "The relative strength index (RSI) is a momentum indicator that measures the magnitude of recent price changes to evaluate overbought or oversold conditions in the price of a stock or other asset. The RSI is displayed as an oscillator (a line graph that moves between two extremes) and can have a reading from 0 to 100."
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71260426-2213ff80-233b-11ea-8a1f-447e00da3ec7.gif)
|
||||
|
||||
The chart for this indicator shows the RSI oscillating in a scale ranging from 0 at the bottom to 100 at the top. The bottom section of the chart shows a blue background covering the range from 0 to 20, also marked by a dotted line. When the RSI value falls below the 20 mark, the RSI line turns red, for easier viasualization. Also in the bottom section, there is a second dotted line signaling the 30 mark.
|
||||
|
||||
The equivalent (although reversed) effect is featured on the top half of the charts, with dotted lines signaling the 70 and 80 levels, and a blue background above 80.
|
||||
|
||||
There is also a dotted line at the 50 mark, signaling the median of the chart.
|
||||
|
||||
For the time being, the chart is fixed on the screen and the user may not move it.
|
||||
|
||||
### Simple Moving Average (SMA)
|
||||
|
||||
[According to Investopedia](https://www.investopedia.com/terms/e/ema.asp), "A simple moving average (SMA) is an arithmetic moving average calculated by adding recent closing prices and then dividing that by the number of time frames in the calculation average. Short-term averages respond quickly to changes in the price of the underlying asset, while long-term averages are slow to react."
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71260423-217b6900-233b-11ea-9229-d838f8a071da.gif)
|
||||
|
||||
You will find several layers with different settings for SMAs, calculated on different periods. Each layer corresponds to a *product* made available by the indicator.
|
||||
|
||||
The information panel shows the numeric value for each SMA in the layer, in ascending order (i.e. SMA 20, SMA 50, SMA 100, etc.).
|
||||
|
||||
### Exponential Moving Average (EMA)
|
||||
|
||||
[According to Investopedia](https://www.investopedia.com/terms/e/ema.asp), "An exponential moving average (EMA) is a type of moving average (MA) that places a greater weight and significance on the most recent data points. The exponential moving average is also referred to as the exponentially weighted moving average. An exponentially weighted moving average reacts more significantly to recent price changes than a simple moving average (SMA), which applies an equal weight to all observations in the period."
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71260424-217b6900-233b-11ea-830d-e445a01aca65.gif)
|
||||
|
||||
The same explanations offered for SMAs apply to EMAs.
|
||||
|
||||
## Simulation Layers
|
||||
|
||||
Simulation layers are those resulting from the graphic representation of strategies' actions, and are explained further down this User Manual, when discussing [Simulation layers](Simulation-Layers) and the [Live trading history layer](Live-Trading-History-Layer).
|
||||
@@ -1,21 +0,0 @@
|
||||
---
|
||||
title: Network Overview
|
||||
summary: ""
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-network-overview.html
|
||||
---
|
||||
|
||||
| Network | Network Node |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|
||||
The network hierarchy represents the Superalgos Network.
|
||||
|
||||
The hierarchy describes the physical location in which bots and their processes run, as well as the location in which data is stored.
|
||||
|
||||
It is through this hierarchy that you will control the instances of bots that run in your machine sourcing data from exchanges (sensor bots), processing data in the form of indicators (indicator bots), and running trading sessions (trading bot).
|
||||
|
||||
At the moment, the platform runs bots and their processes locally, in a *network node* representing your computer. In the future, you will also be able to deploy other nodes, such as virtual machines in the cloud, and control execution in those remote computers from within your local instance of the platform.
|
||||
|
||||
In a more distant future, you will also be able to connect and consume services from other people's nodes.
|
||||
|
||||
@@ -8,7 +8,7 @@ toc: false
|
||||
|
||||
{% include /network/production-environment.md heading="" icon="150-" adding="" configuring="" starting="" content="yes" definition="bold" table="yes" more="no"%}
|
||||
|
||||
{% include tip.html content="If you are familiar with the testing environment, the production environment works in the exact same way, only that it features forward testing and live trading sessions instead of backtesting and paper trading sessions. **Live sessions require the setup of key instances**." %}
|
||||
{% include tip.html content="If you are familiar with the testing environment, the production environment works in the exact same way, only that it features forward testing and live trading sessions instead of backtesting and paper trading sessions. **Live sessions require the setup of a key instance and a live data feed, meaning that the sensor bot, along with all indicators used by the trading system, must be up and running**." %}
|
||||
|
||||
<table class='hierarchyTable'><thead><tr><th><a href='#testing-environment' data-toggle='tooltip' data-original-title='{{site.data.network.testing_environment}}'><img src='images/icons/testing-environment.png' /><br />Testing Environment</a></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>
|
||||
<tr><td><img src='images/icons/tree-connector-elbow.png' /></td><td><a href='#task-manager' data-toggle='tooltip' data-original-title='{{site.data.network.task_manager}}'><img src='images/icons/task-manager.png' /><br />Task Manager</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
title: Quick Overview
|
||||
summary: ""
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-quick-overview.html
|
||||
---
|
||||
|
||||
> **Start here:** Watch the [Superalgos Quick Getting Started Guide](https://www.youtube.com/watch?v=_apiM49udL0) video for a quick intro. The video is slightly outdated in that Superalgos (the client version of the Platform) does not require a login and does not feature a menu on top. Otherwise, the content is still valid.
|
||||
|
||||
The first time you run the system, you will see a screen split in half. The top half features the space used by the _Charts_ and the bottom half features the _design space_.
|
||||
|
||||
Use the control in the center of the turquoise bar to pull the bar up and down to make more room for either application.
|
||||
|
||||
You may also use your keyboard as follows:
|
||||
|
||||
1. <kbd>Alt</kbd> + <kbd>↑</kbd> to close the Charts and open the design space.
|
||||
1. <kbd>Alt</kbd> + <kbd>↓</kbd> to close the design space and open the Charts.
|
||||
1. <kbd>Alt</kbd> + <kbd>→</kbd> to set the bar at the middle giving half of the screen to the Charts and the other half to the design space.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67267448-9d2f7580-f4b2-11e9-8f5c-123f8b0f360b.gif)
|
||||
|
||||
> **TIP:** Pulling the bar to the very top of the screen causes the Charts to stop consuming resources in your machine, and gives you an ample view of the design space.
|
||||
|
||||
**The design space** is the place where you create. Think of the design space as your toolbox. This is where you will control every aspect of your data, your trading strategies and the overall behavior of the system in general.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67267449-9d2f7580-f4b2-11e9-9ae8-1eb1355de07d.gif)
|
||||
|
||||
> **TIP:** Pulling the bar to the very bottom of the screen causes the design space to stop consuming resources from your machine and offers a full-screen view of the Charts. The image above shows what you will see once you import your first *workspace* (you will learn about it in the next step).
|
||||
|
||||
**The Charts** show indicators data along with the actions taken by strategies, integrated with market data. This is the section of the system in which you will see and analyze the result of your work.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67267949-a79e3f00-f4b3-11e9-9c0b-0c4aecf2d37d.gif)
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
---
|
||||
title: Run the Suite
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-run-the-suite.html
|
||||
---
|
||||
|
||||
## On Windows Systems
|
||||
|
||||
Use the executable file to run the system:
|
||||
|
||||
Go to the ```Superalgos``` folder and double click on ```Superalgos.exe```. Now, skip the *other systems* instructions and go directly to the title [What to Expect After Running the Platform](#what-to-expect-after-running-the-platform).
|
||||
|
||||
> **NOTE FOR DEVELOPERS:** Instead of using the executable file to run the system, you may want to use ```node run``` from within the root ```Superalgos``` folder, to run on your full Node Js installation.
|
||||
|
||||
## On All Systems (Mac OS, Linux, etc., and Windows too)
|
||||
|
||||
Download and install Node JS:
|
||||
|
||||
Node.js is an open-source server environment required for the system to run. Go to the [Node Js downloads page](https://nodejs.org/en/download/) and download your system's installer (the *LTS Recommended for Most Users* version is enough). Run the installer and go through the process until Node Js is installed.
|
||||
|
||||
If you are on Mac, use the Finder system to go to the ```Superalgos``` folder and do a *secondary click* (tap the touchpad with two fingers) to open up the menu. Select *New Terminal Tab at Folder*. Once in the Terminal, type ```node run``` and hit *Enter*.
|
||||
|
||||
If you are on Linux, open a Terminal / Console, go to the ```Superalgos``` folder, type ```node run``` and hit *Enter*.
|
||||
|
||||
## What to Expect After Running the Platform
|
||||
|
||||
This is what you should see in your console after running the ```node run``` command or double-clicking your executable:
|
||||
|
||||

|
||||
|
||||
Also, your browser should load the system and show the following screen:
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67231207-2907ba00-f43f-11e9-83e8-e36cc844b0eb.gif)
|
||||
|
||||
The system will load on your default browser. You should either [set Chrome as your default browser](https://support.google.com/chrome/answer/95417?co=GENIE.Platform%3DDesktop&hl=en) before executing the file or simply close the non-Chrome browser, open Chrome and go to http://localhost:9999/.
|
||||
|
||||
> **NOTE:** We highly recommend you use Chrome to run the system so that you have a similar environment as developers in case you need help. We are not testing on any other browsers and it is a well-known fact that browsers do behave differently.
|
||||
|
||||
If you ran the *.exe* file on Windows, a Console/Command Line/Terminal window will open. If you ran the system from within the console, the programs will run on the same console window.
|
||||
|
||||
The Console must be open for as long as the system is running. Do not close the window or stop the processes running on it. You may minimize the Console if your Operating System allows you to do so.
|
||||
|
||||
> **NOTE:** Closing the Console/Command Line may cause your market data to become corrupt. The proper way of closing the application is closing your browser first, and allow a minute for processes to stop before closing the Console.
|
||||
|
||||
That's it! You are up and running!
|
||||
|
||||
Now you are ready to learn the basic operation of the system so that you may run your first backtests or trade live with existing strategies.
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Shares
|
||||
summary: ""
|
||||
summary: "The share feature works almost the same as the back up feature, but discarding personal information like exchange keys."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-shares.html
|
||||
---
|
||||
@@ -13,4 +13,6 @@ On a different note, it is also critical to bring one more issue to your attenti
|
||||
|
||||
You may have noticed that the system accepts JavaScript code in a multitude of input forms such as configurations, conditions, formulas and more. At this point, there is no restriction to the code that may be used. This is a design feature, as we wish advanced users to be able to use their programing skills to make the most out of the system.
|
||||
|
||||
However, this also means that using workspaces or any other data structure coming from untrusted sources is not free of risks. On the contrary, it may be a high-risk choice, as it is not overly complex to introduce malicious code that may, for example, attempt to steal people's API keys.
|
||||
However, this also means that using workspaces or any other data structure coming from untrusted sources is not free of risks. On the contrary, it may be a high-risk choice, as it is possible to introduce malicious code that may, for example, attempt to steal people's API keys.
|
||||
|
||||
{% include warning.html content="Beware of using shared data structures from untrusted sources as they may contain malicious code that could, for example, steal your exchange keys." %}
|
||||
@@ -1,66 +1,52 @@
|
||||
---
|
||||
title: Simulation Layers
|
||||
summary: ""
|
||||
summary: "The Masters trading bot Jason provides four different layers: simulation, conditions, strategies, and trades."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-simulation-layers.html
|
||||
---
|
||||
|
||||
## Introduction
|
||||
The <a data-toggle="tooltip" data-original-title="{{site.data.concepts.trading_bot}}">trading bot</a> provides <a data-toggle="tooltip" data-original-title="{{site.data.concepts.data_product}}">data products</a> that serve to plot strategies' actions over market data, offering a comprehensive set of visual clues that show how strategies behave when trading. These layers are available on all four types of trading <a data-toggle="tooltip" data-original-title="{{site.data.concepts.session}}">sessions</a>: <a data-toggle="tooltip" data-original-title="{{site.data.network.backtesting_session}}">backtesting</a>, <a data-toggle="tooltip" data-original-title="{{site.data.network.paper_trading_session}}">paper trading</a>, <a data-toggle="tooltip" data-original-title="{{site.data.network.forward_testing_session}}">forward testing</a>, and <a data-toggle="tooltip" data-original-title="{{site.data.network.live_trading_session}}">live trading</a>.
|
||||
|
||||
| Layers Manager |
|
||||
| :---: |
|
||||
|  |
|
||||
|
||||
The layers manager allows you to determine which visualization layers will be available at the Layers Panel to plot the results of testing sessions over the charts.
|
||||
|
||||
The layers manager and its offspring nodes must be visible in the design space
|
||||
|
||||
Back on the charts, the following layers plot strategies' actions over the market data, providing a comprehensive set of visual clues showing how strategies would behave when trading.
|
||||
|
||||
> **NOTE:** The examples below illustrate the [*Weak-hands Buster*](https://github.com/Superalgos/Strategy-BTC-WeakHandsBuster) strategy, designed to sell BTC as prices start dropping and re-buy BTC as prices stabilize at a lower level.
|
||||
{% include note.html content="The examples below illustrate the <a href='https://github.com/Superalgos/Strategy-BTC-WeakHandsBuster' rel='nofollow' rel='noopener' target='_blank'>Weak-hands Buster</a> strategy, designed to sell BTC as prices start dropping and re-buy BTC as prices stabilize at a lower level." %}
|
||||
|
||||
## Simulation
|
||||
|
||||
The *Simulation* layer displays the actions of strategies throughout the tested period. Actions include the *take position event* and the management of *stop* and *take profit* in phases. By activating the Simulation layer you should be able to see something like this:
|
||||
The *simulation* layer displays the actions of strategies throughout the tested period. Actions include the <a data-toggle="tooltip" data-original-title="{{site.data.trading_system.take_position_event}}">take position event</a> and the management of <a data-toggle="tooltip" data-original-title="{{site.data.trading_system.stop}}">stop</a> and <a data-toggle="tooltip" data-original-title="{{site.data.trading_system.take_profit}}">take profit</a> in phases. By turning on the simulation layer you should be able to see something like this:
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67279788-040d5880-f4cc-11e9-9098-11496fac9c79.gif)
|
||||
|
||||
Notice Asset Balances in the bottom left corner of the screen. Asset A represents BTC while Asset B represents USDT.
|
||||
{% include note.html content="For the time being, asset balances displayed on-screen correspond to the simulation layer that was turned on last." %}
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67279789-040d5880-f4cc-11e9-9124-9076273e6dfd.gif)
|
||||
|
||||
> **NOTE:** For the time being, asset balances displayed on-screen correspond to the Simulation layer that was turned on last.
|
||||
|
||||
The dashed line represents the duration of the trade at the price of the _take position_ event. Notice how one asset is exchanged for the other asset at the take position event, and exchanged back as the trade closes.
|
||||
The dashed line represents the duration of the trade at the price of the take position event. Notice how one asset is exchanged for the other asset at the take position event, and exchanged back as the trade closes.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67279791-040d5880-f4cc-11e9-9cac-db42c419ca0c.gif)
|
||||
|
||||
Notice the green horizontal lines indicating the _take profit_ value for each period (candle). _Take profit_ is managed in _phases_, marked with the corresponding icons.
|
||||
Notice the green horizontal lines indicating the take profit value for each period or candle). Take profit is managed in <a data-toggle="tooltip" data-original-title="{{site.data.trading_system.phase_1}}">phases</a>, marked with the corresponding icons.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67279792-040d5880-f4cc-11e9-8487-cf390d78da92.gif)
|
||||
|
||||
Notice the red horizontal lines indicating the _stop_ value for each period (candle). *Stop* is managed in _phases_ marked with the corresponding icons.
|
||||
Notice the red horizontal lines indicating the stop value for each period or candle. Stop is managed in phases marked with the corresponding icons.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67279793-04a5ef00-f4cc-11e9-8ac1-32e98762bf5b.gif)
|
||||
|
||||
## Formulas and Conditions
|
||||
## Conditions
|
||||
|
||||
The *Formulas and Conditions* layer helps identify which conditions are met at each candle. Notice how conditions are highlighted as the mouse pointer moves through different candles.
|
||||
The conditions layer helps identify which <a data-toggle="tooltip" data-original-title="{{site.data.trading_system.condition}}">conditions</a> are met at each candle. Notice how conditions are highlighted as the mouse pointer moves through different candles.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67279794-04a5ef00-f4cc-11e9-9c53-cf5694701b50.gif)
|
||||
|
||||
It also allows to track the value of each formula, for instance, those used to dynamically manage take profit in phases.
|
||||
It also allows to track the value of each <a data-toggle="tooltip" data-original-title="{{site.data.trading_system.formula}}">formula</a>, for instance, those used to dynamically manage take profit in phases.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67279796-053e8580-f4cc-11e9-8688-4fea62c1f40b.gif)
|
||||
|
||||
## Strategies
|
||||
|
||||
The *Strategies* layer identifies trigger on and trigger off events, signaling the activation and deactivation of strategies.
|
||||
The strategies layer identifies <a data-toggle="tooltip" data-original-title="{{site.data.trading_system.trigger-on_event}}">trigger on</a> and <a data-toggle="tooltip" data-original-title="{{site.data.trading_system.trigger-off_event}}">trigger off events</a>, signaling the activation and deactivation of strategies.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67280186-dd035680-f4cc-11e9-82e8-e52706749f5a.gif)
|
||||
|
||||
## Trades
|
||||
|
||||
The *Trades* layer marks trades with a triangle whose hypotenuse connects the price at the _take position_ event with the _exit_ price. When the trade is profitable, the triangle is green; when the _exit_ happens at a loss, the triangle is red.
|
||||
The trades layer marks trades with a triangle whose hypotenuse connects the price at the take position event with the exit price. When the trade is profitable, the triangle is green; when the exit happens at a loss, the triangle is red.
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/67280187-dd9bed00-f4cc-11e9-93be-74b497d8f7b5.gif)
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: Sparta Data Mine Bots
|
||||
summary: "The Sparta data mine offers Relative Strength Index (RSI 14), Simple Moving Average (SMA), Exponential Moving Average (EMA)"
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-sparta-bots-layers.html
|
||||
---
|
||||
|
||||
{% include note.html content="To learn to use these products from within strategies, see the [Sparta Indicators](suite-sparta-indicators.html) page." %}
|
||||
|
||||
### Relative Strength Index (RSI 14)
|
||||
|
||||
<a href="https://www.investopedia.com/terms/r/rsi.asp" rel="nofollow" rel="noopener" target="_blank">According to Investopedia</a>, "The relative strength index (RSI) is a momentum indicator that measures the magnitude of recent price changes to evaluate overbought or oversold conditions in the price of a stock or other asset. The RSI is displayed as an oscillator (a line graph that moves between two extremes) and can have a reading from 0 to 100."
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71260426-2213ff80-233b-11ea-8a1f-447e00da3ec7.gif)
|
||||
|
||||
The chart for this indicator shows the RSI oscillating in a scale ranging from 0 at the bottom to 100 at the top. The bottom section of the chart shows a blue background covering the range from 0 to 20, also marked by a dotted line. When the RSI value falls below the 20 mark, the RSI line turns red, for easier viasualization. Also in the bottom section, there is a second dotted line signaling the 30 mark.
|
||||
|
||||
The equivalent (although reversed) effect is featured on the top half of the charts, with dotted lines signaling the 70 and 80 levels, and a blue background above 80.
|
||||
|
||||
There is also a dotted line at the 50 mark, signaling the median of the chart.
|
||||
|
||||
For the time being, the chart is fixed on the screen and the user may not move it.
|
||||
|
||||
### Simple Moving Average (SMA)
|
||||
|
||||
<a href="https://www.investopedia.com/terms/e/ema.asp" rel="nofollow" rel="noopener" target="_blank">According to Investopedia</a>, "A simple moving average (SMA) is an arithmetic moving average calculated by adding recent closing prices and then dividing that by the number of time frames in the calculation average. Short-term averages respond quickly to changes in the price of the underlying asset, while long-term averages are slow to react."
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71260423-217b6900-233b-11ea-9229-d838f8a071da.gif)
|
||||
|
||||
You will find several layers with different settings for SMAs, calculated on different periods. Each layer corresponds to a *product* made available by the indicator.
|
||||
|
||||
The information panel shows the numeric value for each SMA in the layer, in ascending order (i.e. SMA 20, SMA 50, SMA 100, etc.).
|
||||
|
||||
### Exponential Moving Average (EMA)
|
||||
|
||||
<a href="https://www.investopedia.com/terms/e/ema.asp" rel="nofollow" rel="noopener" target="_blank">According to Investopedia</a>, "An exponential moving average (EMA) is a type of moving average (MA) that places a greater weight and significance on the most recent data points. The exponential moving average is also referred to as the exponentially weighted moving average. An exponentially weighted moving average reacts more significantly to recent price changes than a simple moving average (SMA), which applies an equal weight to all observations in the period."
|
||||
|
||||
[](https://user-images.githubusercontent.com/13994516/71260424-217b6900-233b-11ea-830d-e445a01aca65.gif)
|
||||
|
||||
The same explanations offered for SMAs apply to EMAs.
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
title: Syntax Overview
|
||||
summary: "The syntax for writing conditions and formulas combine references to the data product name, the name of the property, and the time frame."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-sysntax-overview.html
|
||||
permalink: suite-syntax-overview.html
|
||||
---
|
||||
|
||||
## Introduction
|
||||
@@ -77,7 +77,7 @@ The syntax is ```productName.[currentCandleIndex-n].propertyName``` where *curre
|
||||
|
||||
For example, ```chart.at1hs.candle.[currentCandleIndex-5].max``` retrieves the maximum value of the fifth candle previous to the last closed candle at the 1-hour chart.
|
||||
|
||||
{% include note.html content="There is a technical limitation by which you may retrieve the value of a property up to a maximum of 24 hours in the past, whatever number of periods that may represent, depending on the time frame you may be working on. For instance, if you are working on the 1 hour time frame, you may fetch up to 23 candles before the last one. If you are working on the 1 minute time frame, you may retrieve 1439 candles." %}
|
||||
{% include note.html content="There is a technical limitation by which you may retrieve the value of a property up to a maximum of 24 hours in the past, whatever number of periods that may represent, depending on the time frame you may be working on. For instance, if you are working on the 1 hour time frame, you may fetch up to 23 candles before the last one. If you are working on the 1 minute time frame, you may retrieve 1439 candles. If you need to retrieve information further in the past, then you should consider building an indicator that makes the data available to your strategies. Learn more in the [data mines](suite-data-mines.html) pages." %}
|
||||
|
||||
## Comparison and Logical Operators
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
---
|
||||
title: Trading Sessions
|
||||
summary: "Trading sessions enabling using the trading bot to perform tests, simulations, and live trading."
|
||||
summary: "Trading sessions enable using the trading bot to perform strategy tests, simulations, and live trading."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-trading-sessions.html
|
||||
---
|
||||
|
||||
{{site.data.network.session}}
|
||||
|
||||
{% include note.html content="To learn how to run backtesting and paper trading sessions, refer to the [testing environment](suite-testing-environment.html) pages. To learn how to trade live, or run forward testing sessions, refer to the [production environment](suite-production-environment.html) pages." %}
|
||||
|
||||
{% include /network/backtesting-session.md heading="##" icon="150-" adding="####" configuring="####" starting="####" content="yes" definition="bold" table="yes" more="yes"%}
|
||||
|
||||
{% include /network/paper-trading-session.md heading="##" icon="150-" adding="####" configuring="####" starting="####" content="yes" definition="bold" table="yes" more="yes"%}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
---
|
||||
title: Upgrading Your Existing Installation
|
||||
summary: ""
|
||||
summary: "Make sure you take appropriate precautions and follow the procedure to avoid unnecessary hassle."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-upgrading-your-existing-instalation.html
|
||||
---
|
||||
|
||||
You should expect new releases to become available regularly. Appropriate notices will be placed on the [Official Superalgos Telegram Announcements Channel](https://t.me/superalgos), which will be forwarded to the several Community groups by an *admin*.
|
||||
You should expect new releases to become available regularly. Appropriate notices will be placed on the <a href="https://t.me/superalgos" rel="nofollow" rel="noopener" target="_blank">Official Superalgos Telegram Announcements Channel</a>, which will be forwarded to the several Community groups by an *admin*.
|
||||
|
||||
This is what you should do if you wish to upgrade to a new version:
|
||||
|
||||
@@ -13,7 +13,7 @@ This is what you should do if you wish to upgrade to a new version:
|
||||
|
||||
Read and understand the announcement explaining the changes and how they may impact your workflow. Find out if the new version requires upgrading your workspace.
|
||||
|
||||
Decide which parts of your workspace you wish to backup in order to be able to restore them on the upgraded workspace if there is one (*e.g.: you may want to backup your strategies, trading system or definition, indicators you may have created, and so on*). 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).
|
||||
Decide which parts of your workspace you wish to backup in order to be able to restore them on the upgraded workspace if there is one (*e.g.: you may want to backup your strategies, trading system, indicators you may have created, and so on*). 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).
|
||||
|
||||
## 2. Back Up Your Workspace
|
||||
|
||||
@@ -21,21 +21,21 @@ Always back up your existing workspace before switching versions. You may always
|
||||
|
||||
## 3. Put the House in Order
|
||||
|
||||
Stop the system by closing your browser. Allow a minute or two until all activity stops before closing the Console/Command Line running the programs.
|
||||
Stop all tasks running, and close your browser. Allow a minute or two until all activity stops before closing the Console/Command Line/Terminal running the programs.
|
||||
|
||||
Make sure you are not storing any personal files, such as your workspace backups and so on in your ```Superalgos``` folders. Move them to a different location if you are.
|
||||
Make sure you are not storing any personal files, such as your workspace backups and so on in your ```Superalgos-master``` folders. Move them to a different location if you are.
|
||||
|
||||
You will keep the ```Data-Storage``` folder intact and delete all the remaining folders within the ```Superalgos``` folder. You do not need to get rid of the historic market data every time you upgrade your system. **Do not delete your ```Data-Storage``` folder**.
|
||||
|
||||
## 4. Download and Install the New Version
|
||||
|
||||
Download the latest patch or latest release from the location advertised on the Official Announcement Channel.
|
||||
Download the latest release from the location advertised on the Official Announcement Channel.
|
||||
|
||||
> **WARNING**: Always beware of what random people may post in open Telegram groups or forums. Patches and releases will always be made available at the [Releases page](https://github.com/Superalgos/Platform/releases) of this repository only.
|
||||
{% include warning.html content="Always beware of what random people may post in open Telegram groups or forums. Patches and releases will always be made available at the ```master``` branch of the <a href='https://github.com/Superalgos/Superalgos' rel='nofollow' rel='noopener' target='_blank'>Superalgos repository</a>." %}
|
||||
|
||||
Extract/unpack the contents of the ZIP file directly into the ```Superalgos Desktop App``` folder.
|
||||
Extract/unpack the contents of the ZIP file directly into the ```Superalgos-master``` folder.
|
||||
|
||||
That's it! You are up and running with the new version. Start the system the same way you always do unless new instructions become available in this User Manual.
|
||||
That's it! You are up and running with the new version. Start the system the same way you always do unless new instructions become available.
|
||||
|
||||
## 5. Hard Refresh
|
||||
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
---
|
||||
title: Viewport Interface
|
||||
summary: "Learn to move around the viewport, zoom in for the details and zoom out for the bigger picture."
|
||||
sidebar: suite_sidebar
|
||||
permalink: suite-viewport-interface.html
|
||||
---
|
||||
|
||||
When you open the charting space's <a data-toggle="tooltip" data-original-title="{{site.data.charting_space.viewport}}">viewport</a>, you may see several charts, depending on the setup of your current <a data-toggle="tooltip" data-original-title="{{site.data.concepts.workspace}}">workspace</a>.
|
||||
|
||||
**1. To move around the viewport**, right-click and drag. You may also use the wheel of the mouse to zoom in and out.
|
||||
|
||||
{% include note.html content="Notice how the viewport navigation resembles the navigation in *Google Maps*. You zoom out for the big picture. You zoom in for a closer view of any particular chart to get the details. Keep zooming in and you get the immersive experience... the *street view* of the market." %}
|
||||
|
||||
{% include /charting_space/viewport.md heading="more" icon="150-" adding="" configuring="" charts="" content="yes" definition="bold" table="yes" more="yes"%}
|
||||
Reference in new issue
Block a user