Trading system design tutorials revision

This commit is contained in:
Julian Molina committed 2021-03-31 18:06:13 +02:00
1 parent fd9e2f1f88
commit 27f34c95e9
20 files changed
+53 -41

No files matched your search

@@ -1 +1 @@
{"type":"Workspace","name":"Trading System Design Tutorials","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"d0ff77d8-76de-4d50-840a-e50a55ad7d1b","savedPayload":{"position":{"x":23464.287287440642,"y":29377.997434862405},"targetPosition":{"x":23762.643856051123,"y":29409.355973842703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"b4e33f51-f9ff-4ef3-a9b7-ccb904163cae","savedPayload":{"position":{"x":23762.643856051123,"y":29409.355973842703},"targetPosition":{"x":24061.000424661604,"y":29440.714512823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"23ae53f9-b478-4eb4-96e7-12d07d7ae4f0","savedPayload":{"position":{"x":24061.000424661604,"y":29440.714512823},"targetPosition":{"x":24359.356993272086,"y":29472.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Market","project":"Superalgos","id":"dcf3d790-5362-4a95-b977-82d0cf0e07f1","savedPayload":{"position":{"x":23646.16814072914,"y":28934.397538066118},"targetPosition":{"x":23913.47009798565,"y":29070.59468798798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Daily","project":"Superalgos","id":"775fadbd-5b55-41b2-81ac-454f5e52dca6","savedPayload":{"position":{"x":23750.078387481142,"y":28818.993517604355},"targetPosition":{"x":23913.47009798565,"y":29070.59468798798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"fc478301-77ac-4396-bd3b-915b4c681fa0","savedPayload":{"position":{"x":23913.47009798565,"y":29070.59468798798},"targetPosition":{"x":24136.413545628868,"y":29271.33386989564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"30054a4b-7c93-4a3a-a6db-2e0d38507b2e","savedPayload":{"position":{"x":24136.413545628868,"y":29271.33386989564},"targetPosition":{"x":24359.356993272086,"y":29472.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Bollinger Bands","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Bollinger Bands","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Bollinger Bands Multi-Period-Market","project":"Superalgos","id":"bf0f739f-98b7-4c73-ae06-8d3fe83147ce","savedPayload":{"position":{"x":24098.412828859568,"y":28617.882534106506},"targetPosition":{"x":24234.60997878143,"y":28885.184491363016},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"PLine truncated
{"type":"Workspace","name":"Trading System Design Tutorials","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataTasks":{"type":"Data Tasks","name":"New Data Tasks","project":"Superalgos","projectDataTasks":[{"type":"Project Data Tasks","name":"Superalgos","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"d0ff77d8-76de-4d50-840a-e50a55ad7d1b","savedPayload":{"position":{"x":23464.287287440642,"y":29377.997434862405},"targetPosition":{"x":23762.643856051123,"y":29409.355973842703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"b4e33f51-f9ff-4ef3-a9b7-ccb904163cae","savedPayload":{"position":{"x":23762.643856051123,"y":29409.355973842703},"targetPosition":{"x":24061.000424661604,"y":29440.714512823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"23ae53f9-b478-4eb4-96e7-12d07d7ae4f0","savedPayload":{"position":{"x":24061.000424661604,"y":29440.714512823},"targetPosition":{"x":24359.356993272086,"y":29472.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Market","project":"Superalgos","id":"dcf3d790-5362-4a95-b977-82d0cf0e07f1","savedPayload":{"position":{"x":23646.16814072914,"y":28934.397538066118},"targetPosition":{"x":23913.47009798565,"y":29070.59468798798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Daily","project":"Superalgos","id":"775fadbd-5b55-41b2-81ac-454f5e52dca6","savedPayload":{"position":{"x":23750.078387481142,"y":28818.993517604355},"targetPosition":{"x":23913.47009798565,"y":29070.59468798798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"fc478301-77ac-4396-bd3b-915b4c681fa0","savedPayload":{"position":{"x":23913.47009798565,"y":29070.59468798798},"targetPosition":{"x":24136.413545628868,"y":29271.33386989564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"30054a4b-7c93-4a3a-a6db-2e0d38507b2e","savedPayload":{"position":{"x":24136.413545628868,"y":29271.33386989564},"targetPosition":{"x":24359.356993272086,"y":29472.073051803298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Bollinger Bands","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Bollinger Bands","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Bollinger Bands Multi-Period-Market","project":"Superalgos","id":"bf0f739f-98b7-4c73-ae06-8d3fe83147ce","savedPayload":{"position":{"x":24098.412828859568,"y":28617.882534106506},"targetPosition":{"x":24234.60997878143,"y":28885.184491363016},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"PLine truncated
@@ -30,23 +30,8 @@
},
{
"style": "Title",
"text": "Configuring Execution Algorithm"
},
{
"style": "Text",
"text": "To configure the execution algorithm node, select Configure on the menu."
},
{
"style": "Text",
"text": "{"
},
{
"style": "Text",
"text": " \"percentageOfStageTargetSize\": 100"
},
{
"style": "Text",
"text": "}"
"text": "Execution Algorithm Configuration",
"updated": 1617197817510
},
{
"style": "List",
@@ -24,7 +24,7 @@
"text": "chart.at01hs.candle.close"
},
{
"style": "Success",
"style": "Callout",
"text": "Go ahead and edit the formula with the above syntax!"
}
]
@@ -20,7 +20,8 @@
},
{
"style": "Success",
"text": "Current (we need the balance at the moment of evaluation!) > Episode (because it's the balance kept for the whole session) > ... what else?"
"text": "Trading Current (we need the balance at the moment of evaluation!) > Trading Episode (because it's the balance kept for the whole session) >... what else?",
"updated": 1617196723617
}
]
}
@@ -16,11 +16,13 @@
},
{
"style": "List",
"text": "Current because we need the balance at the moment of evaluation!"
"text": "Trading Current because we need the balance at the moment of evaluation!",
"updated": 1617196763109
},
{
"style": "List",
"text": "Episode because is the running balance kept along the whole trading session!"
"text": "Trading Episode because is the running balance kept along the whole trading session!",
"updated": 1617196769560
},
{
"style": "List",
@@ -16,11 +16,18 @@
},
{
"style": "Text",
"text": "The following string should end up in your clipboard:<br/>tradingEngine.tradingCurrent.tradingEpisode.<br/>episodeBaseAsset.balance.value"
"text": "The following string should end up in your clipboard:",
"updated": 1617197048058
},
{
"style": "Json",
"text": "tradingEngine.tradingCurrent.tradingEpisode.episodeBaseAsset.balance.value",
"updated": 1617197103346
},
{
"style": "Note",
"text": "I introduced a line break so that the string fits the tutorial. Make sure the line is not broken in your formula as it would be an invalid path!"
"text": "Take a look at the path... see how it makes sense?",
"updated": 1617197206806
}
]
}
@@ -7,7 +7,8 @@
"project": "Superalgos",
"name": "execution-algorithm"
},
"text": "Take a look at this section about the Execution Algorithm! Click the learn more... link and read the Configuration section too!"
"text": "Take a look at this page about the Execution Algorithm! Read the Configuration section too!",
"updated": 1617197894850
},
"paragraphs": [
{
@@ -7,7 +7,8 @@
"project": "Superalgos",
"name": "market-order"
},
"text": "Do you know what references are and how to establish them? If not, read this page in the docs!"
"text": "Do you remember what references are and how to establish them? Watch the video for a quick refresher!",
"updated": 1617198810582
},
"paragraphs": [
{
@@ -25,7 +25,8 @@
},
{
"style": "List",
"text": "Use Ctrl / Command + arrow keys to drag the node across the screen after clicking on it with the mouse. Keep keys pressed and the node flies!"
"text": "Use Ctrl / Command + arrow keys to drag the node across the screen after clicking on it with the mouse. Keep keys pressed and the node flies!",
"updated": 1617199512325
},
{
"style": "List",
@@ -12,11 +12,13 @@
"paragraphs": [
{
"style": "Text",
"text": "We are in the Current > Strategy Open Stage > Stage Quoted Asset section. This is why:"
"text": "We are in the Trading Current > Strategy Open Stage > Stage Quoted Asset section. This is why:",
"updated": 1617205430340
},
{
"style": "List",
"text": "Current : because it's all about the current position."
"text": "Trading Current: it's all about the current position.",
"updated": 1617205459033
},
{
"style": "List",
@@ -28,7 +28,8 @@
},
{
"style": "Callout",
"text": "If you haven't yet, please read this page to get up to speed with these concepts!"
"text": "If you haven't yet, please read this page to get up to speed with these concepts! If you've read this page before, a refresher wouldn't hurt!",
"updated": 1617190236835
}
]
}
@@ -7,7 +7,8 @@
"project": "Superalgos",
"name": "trigger-on-event"
},
"text": "The Trigger On Event defines the market Situation in which the strategy shall be triggered."
"text": "The Trigger On Event defines the market Situation in which the Trading Strategy shall be triggered.",
"updated": 1617190348439
},
"paragraphs": [
{
@@ -16,7 +17,8 @@
},
{
"style": "List",
"text": "The strategy is selected among other strategies in the trading system and is assigned the capital available for the trading session. This is important because we'll eventually have two strategies in the trading system!"
"text": "The strategy is selected among other strategies in the Trading System and is assigned the capital available for the trading session. This is important because we'll eventually have two strategies in the trading system!",
"updated": 1617190335600
},
{
"style": "List",
@@ -7,7 +7,8 @@
"project": "Superalgos",
"name": "layer-trends"
},
"text": "Now that you understand what conditions and situations are, let's pose a question: how do we define the Trigger On Event?"
"text": "Now that you understand what conditions and situations are, let's pose a question: how do we define the Trigger On Event ?",
"updated": 1617190454094
},
"paragraphs": [
{
@@ -20,7 +20,8 @@
},
{
"style": "Success",
"text": "Don't worry if it seems hard to grasp... We'll practice a lot along with this tutorial series!"
"text": "Don't worry if it seems hard to grasp... We'll practice a lot along this tutorial series!",
"updated": 1617190556168
}
]
}
@@ -17,7 +17,8 @@
},
{
"style": "Callout",
"text": "Set up the first condition in the existing situation, and the second condition in a new situation!"
"text": "Set up the first condition in the existing situation, and the second condition in a new situation (add a Situation using the menu of the Trigger Off Event).",
"updated": 1617190943631
},
{
"style": "Javascript",
@@ -16,7 +16,8 @@
},
{
"style": "Callout",
"text": "Select Run on the Task menu and then select Run on the Backtesting Session menu."
"text": "Select Run on the BB Breakdown Task menu and then select Run on the Backtesting Session menu.",
"updated": 1617191181250
},
{
"style": "Note",
@@ -20,7 +20,8 @@
},
{
"style": "Text",
"text": "Pan the charts to the left until you get to the first days of January. Do you see the error bullets at the bottom?"
"text": "Pan the charts to the left until you get to the first days of January. Do you see the error bullets below candles?",
"updated": 1617191460214
},
{
"style": "Note",
@@ -7,7 +7,8 @@
"project": "Superalgos",
"name": "bullet-error"
},
"text": "Can not read property 'direction' of undefined. What is that all about?"
"text": "Can not read property \"direction\" of undefined. What is that all about?",
"updated": 1617191618477
},
"paragraphs": [
{
@@ -18,7 +18,8 @@
},
{
"style": "Callout",
"text": "The error says that the direction property of an object that is 'undefined' cannot be read."
"text": "The error says that the direction property of an object that is \"undefined\" cannot be read.",
"updated": 1617191756170
},
{
"style": "Text",
@@ -7,12 +7,14 @@
"project": "Superalgos",
"name": "nodes-highlights"
},
"text": "Did you notice that once the trigger stage is active, the conditions of the trigger on event are no longer evaluated?"
"text": "Did you notice that once the trigger stage is active, the conditions of the Trigger On Event are no longer evaluated?",
"updated": 1617191896544
},
"paragraphs": [
{
"style": "Text",
"text": "The opposite goes for the trigger off event conditions: they are not evaluated before the stage is active. See for yourself!"
"text": "The opposite goes for the Trigger Off Event conditions: they are not evaluated before the stage is active. See for yourself!",
"updated": 1617191916250
},
{
"style": "Callout",