Merge pull request #747 from julian-molina/develop

Contribution: Trading bot layers tutorial revision
This commit is contained in:
Julian Molina authored and GitHub committed 2021-03-31 12:27:00 +02:00
commit 439c632c6a
17 files changed
+55 -35

No files matched your search

@@ -1 +1 @@
{"type":"Workspace","name":"Weak-hands Buster v2","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Sparta","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Sparta","project":"Superalgos","tasks":[{"type":"Task","name":"EMA","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"EMA","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Period-Market","project":"Superalgos","id":"9adffd60-8756-44f0-9290-692711f43349","savedPayload":{"position":{"x":23320.126508730755,"y":29392.688294073963},"targetPosition":{"x":23620.126508730755,"y":29392.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Period-Daily","project":"Superalgos","id":"559fc728-018a-4e8e-a5fa-1e37958e4f6c","savedPayload":{"position":{"x":23470.126508730755,"y":29132.88067293863},"targetPosition":{"x":23620.126508730755,"y":29392.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"943ea24f-ee24-4eae-9b4b-e8a73122b1c2"}}}],"id":"82a8c05f-a6f6-4728-8271-7b327c2b72ee","savedPayload":{"position":{"x":23620.126508730755,"y":29392.688294073963},"targetPosition":{"x":23879.934129866087,"y":29542.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8ae4fc50-8c1f-4e45-9ffd-fad368816b9a","savedPayload":{"position":{"x":23879.934129866087,"y":29542.688294073963},"targetPosition":{"x":24139.74175100142,"y":29692.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51b49b9d-cb97-4d98-ad8f-9f691320bac2","savedPayload":{"position":{"x":24139.74175100142,"y":29692.688294073963},"targetPosition":{"x":24399.549372136753,"y":29842.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"63728769-73e4-474e-8aa3-0d82bedca08e","savedPayload":{"position":{"x":24399.549372136753,"y":29842.688294073963},"targetPosition":{"x":24659.356993272086,"y":29992.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Sparta","id":"9cfffc48-486a-48cb-b641-98c82e314d3a"}}},{"type":"Data Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"149bc037-9762-4737-b1b8-945b5ccee230","savedPayload":{"position":{"x":23931.241698334637,"y":28863.681567010735},"targetPosition":{"x":24173.94679664712,"y":29040.017142698478},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"507bc325-1cbd-40f4-85eb-cfe77b78000e","savedPayload":{"position":{"x":24173.94679664712,"y":29040.017142698478},"targetPosition":{"x":24416.651894959603,"y":29216.35271838622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7c28a4a4-86da-43be-9e89-d01b202f27eb","sLine truncated
{"type":"Workspace","name":"Weak-hands Buster v2","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Sparta","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Sparta","project":"Superalgos","tasks":[{"type":"Task","name":"EMA","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"EMA","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Period-Market","project":"Superalgos","id":"9adffd60-8756-44f0-9290-692711f43349","savedPayload":{"position":{"x":23320.126508730755,"y":29392.688294073963},"targetPosition":{"x":23620.126508730755,"y":29392.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Period-Daily","project":"Superalgos","id":"559fc728-018a-4e8e-a5fa-1e37958e4f6c","savedPayload":{"position":{"x":23470.126508730755,"y":29132.88067293863},"targetPosition":{"x":23620.126508730755,"y":29392.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"943ea24f-ee24-4eae-9b4b-e8a73122b1c2"}}}],"id":"82a8c05f-a6f6-4728-8271-7b327c2b72ee","savedPayload":{"position":{"x":23620.126508730755,"y":29392.688294073963},"targetPosition":{"x":23879.934129866087,"y":29542.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8ae4fc50-8c1f-4e45-9ffd-fad368816b9a","savedPayload":{"position":{"x":23879.934129866087,"y":29542.688294073963},"targetPosition":{"x":24139.74175100142,"y":29692.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51b49b9d-cb97-4d98-ad8f-9f691320bac2","savedPayload":{"position":{"x":24139.74175100142,"y":29692.688294073963},"targetPosition":{"x":24399.549372136753,"y":29842.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"63728769-73e4-474e-8aa3-0d82bedca08e","savedPayload":{"position":{"x":24399.549372136753,"y":29842.688294073963},"targetPosition":{"x":24659.356993272086,"y":29992.688294073963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Sparta","id":"9cfffc48-486a-48cb-b641-98c82e314d3a"}}},{"type":"Data Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"149bc037-9762-4737-b1b8-945b5ccee230","savedPayload":{"position":{"x":23931.241698334637,"y":28863.681567010735},"targetPosition":{"x":24173.94679664712,"y":29040.017142698478},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"507bc325-1cbd-40f4-85eb-cfe77b78000e","savedPayload":{"position":{"x":24173.94679664712,"y":29040.017142698478},"targetPosition":{"x":24416.651894959603,"y":29216.35271838622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7c28a4a4-86da-43be-9e89-d01b202f27eb","sLine truncated
@@ -1,7 +1,8 @@
{
"type": "Trading Strategy",
"definition": {
"text": "A trading strategy is the description of a set of actions or events run in stages. Events are triggered upon the validation of precise conditions describing specific market situations. Trading strategies are designed to achieve a specific goal within the broader plan of a trading system via taking and managing positions."
"text": "A trading strategy is the description of a set of actions or events that run in stages. Events are triggered upon the validation of precise conditions describing specific market situations. Trading strategies are designed to achieve a specific goal within the broader plan of a trading system via taking and managing positions.",
"updated": 1617184911508
},
"paragraphs": [
{
@@ -12,11 +12,13 @@
"paragraphs": [
{
"style": "Note",
"text": "Workspaces with the prefix Plugin → comes with the software. The rest are yours. When you open a plugin workspace a copy of it is made for you. Plugins allways remain unchanged."
"text": "Workspaces with the prefix Plugin come with the software. The rest are yours. When you open a plugin workspace a copy of it is made for you. Plugins allways remain unchanged.",
"updated": 1617181548594
},
{
"style": "Important",
"text": "This tutorial requires starting with a fresh Plugin → Weak-hands Buster v2 workspace. So, unless you loaded the plugin workspace right before starting, please select it from the workspace panel on the right and come back to me after the workspace loads—just click Resume on my menu!"
"text": "This tutorial requires starting with a fresh Plugin Weak-hands Buster v2 workspace. So, unless you loaded the plugin workspace right before starting, please select it from the workspace panel on the right and come back to me after the workspace loads — just click Resume on my menu!",
"updated": 1617181586756
}
]
}
@@ -16,7 +16,8 @@
},
{
"style": "Warning",
"text": "If you have data on this market/exchange but on a different time range, this may affect your data! Read the sensor bot documentation to learn how! If the data you have is not important, feel free to keep going!"
"text": "If you have data on this market / exchange but on a different time range, this may affect your data! Read the sensor bot documentation to learn how! If the data you have is not important, feel free to keep going!",
"updated": 1617181661074
}
]
}
@@ -12,7 +12,8 @@
"paragraphs": [
{
"style": "Callout",
"text": "Select Run All Exchange Data Tasks on the data mining node menu!"
"text": "Select Run All Project Data Tasks on the Data Tasks node menu!",
"updated": 1617181714117
},
{
"style": "Note",
@@ -7,7 +7,8 @@
"project": "Superalgos",
"name": "task"
},
"text": "Let's do some backtesting! This should be rather quick, as we are testing six months' worth of historic data on daily files."
"text": "Let's do some backtesting! This should be rather quick, as we are testing six months worth of historic data on daily files.",
"updated": 1617181836967
},
"paragraphs": [
{
@@ -7,7 +7,8 @@
"project": "Superalgos",
"name": "trading-episode-counters"
},
"text": "Let's test the first Layer in the Trading Engine Layer Manager: Episode Counters."
"text": "Let's test the first Layer in the Trading Engine Layer Manager: Trading Episode Counters.",
"updated": 1617181964886
},
"paragraphs": [
{
@@ -3,9 +3,6 @@
"pageNumber": 11,
"type": "Tutorial Step - Trading Bot Layers Episode Counters 01",
"definition": {
"icon": {
"project": "Superalgos"
},
"text": "This step will play a video in full screen mode."
},
"paragraphs": [
@@ -4,8 +4,8 @@
"type": "Tutorial Step - How About the Rest?",
"definition": {
"icon": {
"project": "Superalgos",
"name": "trading-episode"
"name": "trading-episode",
"project": "Superalgos"
},
"text": "Now, why don't the nodes further to the left show their values too? Say, Exit Type, Status, End Rate, Begin Rate, and so on?"
},
@@ -24,7 +24,8 @@
},
{
"style": "Success",
"text": "By turning layers on and off, you turn on and off system's ability to report the values on different sections of the Trading Engine hierarchy!"
"text": "By turning layers on and off, you turn on and off the system's ability to report the values on different sections of the Trading Engine hierarchy!",
"updated": 1617182162058
}
]
}
@@ -4,10 +4,11 @@
"type": "Tutorial Step - Et Voilà!",
"definition": {
"icon": {
"project": "Superalgos",
"name": "trading-current"
"name": "trading-current",
"project": "Superalgos"
},
"text": "So, we turned on the Episode Counters and the Current Episode layers... let's take a look at the hierarchy..."
"text": "So, we turned on the Trading Episode Counters and the Current Episode layers... let's take a look at the hierarchy...",
"updated": 1617182224488
},
"paragraphs": [
{
@@ -16,7 +17,8 @@
},
{
"style": "Text",
"text": "Right! In the beginning Periods, Strategies, and Positions where showing their values because they are under the Episode Counters node of the hierachy... the one we turned on first!<br/><br/>If you follow the hierarchy upstream, you will find the Episode node, and if you keep going further upstream, you'll find the Current node. Exactly! Current Episode!."
"text": "Right! In the beginning Periods, Strategies, and Positions where showing their values because they are under the Trading Episode Counters node of the hierachy... the one we turned on first! If you follow the hierarchy upstream, you will find the Trading Episode node, and if you keep going further upstream, you'll find the Trading Current node. Exactly! Current Episode!.",
"updated": 1617182335969
}
]
}
@@ -16,7 +16,8 @@
},
{
"style": "Callout",
"text": "When you need to use this feature to track values on the trading engine hierarchy, you may choose to turn on multiple layers at once... even all of them if you wish! Just keep in mind that the more layers you turn on, the more files de UI reads, thus the more load you put on your hardware!"
"text": "When you need to use this feature to track values on the Trading Engine hierarchy, you may choose to turn on multiple layers at once... even all of them if you wish! Just keep in mind that the more layers you turn on, the more files de UI reads, thus the more load you put on your hardware!",
"updated": 1617182401577
}
]
}
@@ -16,7 +16,12 @@
},
{
"style": "Text",
"text": "What's that? It's a strategy! We are in a simulation! The Strategies layer marks the span of time on which a strategy is active. Notice the Plotter Panel that drifted to the corner when you turned the layer on. Now, point your mouse to the span of time between the strategy brakets and see what happens..."
"text": "What's that? It's a strategy! We are in a simulation! The Strategies layer marks the span of time on which a strategy is active. ",
"updated": 1617182688542
},
{
"style": "Success",
"text": "Notice the Plotter Panel that drifted to the corner when you turned the layer on. Now, point your mouse to the span of time between the strategy brakets and see what happens..."
}
]
}
@@ -12,7 +12,8 @@
"paragraphs": [
{
"style": "Callout",
"text": "Find the Stop Loss and the Take Profit layers and turn them on!"
"text": "Turn on the Stop Loss and the Take Profit layers in the Simulation Objects layer manager!",
"updated": 1617183941500
},
{
"style": "Text",
@@ -4,15 +4,17 @@
"type": "Tutorial Step - Episode X",
"definition": {
"icon": {
"project": "Superalgos",
"name": "trading-episode"
"name": "trading-episode",
"project": "Superalgos"
},
"text": "There's one layer left... Episode!. It marks the duration of the episode and features several plotter panels..."
"text": "There's one layer left... Episodes! It marks the duration of the episode and features several plotter panels...",
"updated": 1617184086263
},
"paragraphs": [
{
"style": "Callout",
"text": "Turn the Episode layer on!"
"text": "Turn the Episodes layer on!",
"updated": 1617184095329
},
{
"style": "Text",
@@ -3,9 +3,6 @@
"pageNumber": 31,
"type": "Tutorial Step - Trading Bot Layers Trading System Highlights",
"definition": {
"icon": {
"project": "Superalgos"
},
"text": "This step will play a video in full screen mode."
},
"paragraphs": [
@@ -12,27 +12,33 @@
"paragraphs": [
{
"style": "List",
"text": "Status, for nodes which have one!"
"text": "Status: for nodes which have one!",
"updated": 1617185025916
},
{
"style": "List",
"text": "Progress, for nodes that may feature an indication of progress!"
"text": "Progress: for nodes that may feature an indication of progress!",
"updated": 1617185032757
},
{
"style": "List",
"text": "Running, for nodes that are evaluated at certain points in time!"
"text": "Running: for nodes that are evaluated at certain points in time!",
"updated": 1617185039459
},
{
"style": "List",
"text": "Announcements, for announcements set up at the trading system, currently broadcasted over Telegram!"
"text": "Announcements: for announcements set up at the trading system, currently broadcasted over Telegram!",
"updated": 1617185048147
},
{
"style": "List",
"text": "Warnings, when something unusual happens but is not considered an error!"
"text": "Warnings: when something unusual happens but is not considered an error! A verbose mode, if you will.",
"updated": 1617185081361
},
{
"style": "List",
"text": "System Info, may be displayed on many nodes, sort of like a verbose mode."
"text": "System Info: may be displayed on many nodes, sort of like a verbose mode.",
"updated": 1617185066702
}
]
}
@@ -16,7 +16,8 @@
},
{
"style": "Callout",
"text": "Remember, the Trading Bot Layers are a fundamental tool when designing, testing, and debugging strategies!<br/><br/>See you next time!"
"text": "The Trading Bot Layers are a fundamental tool when designing, testing, and debugging strategies! You will learn more about them and put them to good use in the tutorials that teach you how to build Trading Systems, available in the Trading System Design Tutorials Plugin Workspace.",
"updated": 1617185406035
},
{
"style": "Success",