diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-001-tutorial-the other stages.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-001-tutorial-the other stages.json new file mode 100644 index 000000000..bb6e4cbd4 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-001-tutorial-the other stages.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 1, + "type": "Tutorial - The Other Stages", + "definition": { + "icon": { + "project": "Superalgos", + "name": "trading-strategy" + }, + "text": "We are a few steps away from being able to fully test the first trading idea! You need to learn a thing or two first!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "In the third tutorial in the series, we covered the definitions and nuances of the Trigger Stage." + }, + { + "style": "Callout", + "text": "In this tutorial, we will complete the basic definitions of the rest of the stages so that we may finally test our hypothesis!" + }, + { + "style": "Note", + "text": "I highly recommend you do the first three tutorials in the series before doing this one! The story is carried from one to the next!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-002-tutorial-step- taking a position.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-002-tutorial-step- taking a position.json new file mode 100644 index 000000000..5a2c1b8e0 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-002-tutorial-step- taking a position.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 2, + "type": "Tutorial Step - Taking a Position", + "definition": { + "icon": { + "project": "Superalgos", + "name": "open-stage" + }, + "text": "As soon as the Take Position Event validates true, both the open stage and the manage stage become active." + }, + "paragraphs": [ + { + "style": "List", + "text": "The Open Stage is activated to deal with order execution in entering the position." + }, + { + "style": "List", + "text": "The Manage Stage is activated to monitor stop loss and take profit targets. It is possible that targets are hit even before actually executing the orders to take the position, and that is the reason why the stage must be activated immediately." + }, + { + "style": "Success", + "text": "Read these first few paragraphs about the open stage!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-003-tutorial-step- initial targets.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-003-tutorial-step- initial targets.json new file mode 100644 index 000000000..dfc10c5ca --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-003-tutorial-step- initial targets.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 3, + "type": "Tutorial Step - Initial Targets", + "definition": { + "icon": { + "project": "Superalgos", + "name": "initial-targets" + }, + "text": "I just brought you to the Initial Targets node in the open stage. Before we start, let's make a quick note for clarity's sake!" + }, + "paragraphs": [ + { + "style": "Callout", + "text": "You're not in the trading system you set up during the previous tutorial! It's a new one!" + }, + { + "style": "Note", + "text": "I set up a new trading system and named it BB Breakdown 2 so that I have better control of your experience during this tutorial. Notice that I recreated the stages you deleted in the previous tutorials. All I had to do was select Add Missing Stages on the trading strategy menu!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-004-tutorial-step- look around.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-004-tutorial-step- look around.json new file mode 100644 index 000000000..42dc5af1e --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-004-tutorial-step- look around.json @@ -0,0 +1,30 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 4, + "type": "Tutorial Step - Look Around!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "initial-targets" + }, + "text": "Take a look at the nodes under Initial Targets. Do you have an intuition as to what they may be about?" + }, + "paragraphs": [ + { + "style": "Text", + "text": "These are the first few basic definitions required:" + }, + { + "style": "List", + "text": "Target Rate is a reference rate. Think of it as a ball-park rate at which you wish to enter the position. There is a lot more depth to this concept, but the simplification serves us well at this point." + }, + { + "style": "List", + "text": "The Target Size In Base Asset and it's brother node, target size in quoted asset, is the definition of the maximum size the position should achieve." + }, + { + "style": "Note", + "text": "The final rates and size is determined later on, in the definitions of the Execution Algorithm." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-005-tutorial-step- the target rate.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-005-tutorial-step- the target rate.json new file mode 100644 index 000000000..a5c7311aa --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-005-tutorial-step- the target rate.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 5, + "type": "Tutorial Step - The Target Rate", + "definition": { + "icon": { + "project": "Superalgos", + "name": "target-rate" + }, + "text": "As I said earlier, the Target Rate is a concept that entails some depth, but we'll keep it simple for the time being!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "The target rate serves several purposes. At this point, we'll place the focus on one of them:" + }, + { + "style": "Callout", + "text": "We will use the target rate as a reference rate." + }, + { + "style": "Text", + "text": "Later on, we will set up a market order to enter the position. However, market orders—by definition—do not specify a rate, as they are filled at the current market price. The system will use the reference rate we define to mark the take position rate in simulations, and will use it as a starting point for internal calculations too." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-006-tutorial-step- how do we go about it.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-006-tutorial-step- how do we go about it.json new file mode 100644 index 000000000..d89621348 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-006-tutorial-step- how do we go about it.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 6, + "type": "Tutorial Step - How Do We Go About It?", + "definition": { + "icon": { + "project": "Superalgos", + "name": "target-rate" + }, + "text": "Remember we are taking the position at the close of the 1H candle, whenever the take position event validates true." + }, + "paragraphs": [ + { + "style": "Callout", + "text": "What would be a reasonable rate, then?" + }, + { + "style": "Text", + "text": "Well... a good choice would be the rate at the close of the candle, right? Our target rate formula would then be:

chart.at01hs.candle.close" + }, + { + "style": "Success", + "text": "Go ahead and edit the formula with the above syntax!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-007-tutorial-step- the target size.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-007-tutorial-step- the target size.json new file mode 100644 index 000000000..6ffe81ad8 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-007-tutorial-step- the target size.json @@ -0,0 +1,30 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 7, + "type": "Tutorial Step - The Target Size", + "definition": { + "icon": { + "project": "Superalgos", + "name": "target-size-in-base-asset" + }, + "text": "I mentioned earlier that—like when setting up a manual order at the exchange—you may define the size in either of the assets!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "What I didn't mention is that you can't have two definitions! To avoid ambiguities, only one is allowed!" + }, + { + "style": "Callout", + "text": "We will define the size in the base asset, so delete the Target Size In Quoted Asset node!" + }, + { + "style": "Text", + "text": "We will keep this one simple too. For the time being, we will use the whole balance available to the session." + }, + { + "style": "Success", + "text": "How do we do that? You'll see!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-008-tutorial-step- the whole balance.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-008-tutorial-step- the whole balance.json new file mode 100644 index 000000000..a6eca1956 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-008-tutorial-step- the whole balance.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 8, + "type": "Tutorial Step - The Whole Balance?", + "definition": { + "icon": { + "project": "Superalgos", + "name": "balance" + }, + "text": "We haven't discussed position size so far, as the intention of the testing of the trading idea is measuring hit ratio only." + }, + "paragraphs": [ + { + "style": "Text", + "text": "For the same reason, we are not going to get into further considerations at this point. We'll save a few thoughts in that regard for when we define the execution algorithm and orders.

I just brought you to the definition of the Trading Parameters of the trading session so that you may check how the initialBalance is defined!" + }, + { + "style": "Callout", + "text": "Check the Session Base Asset and the Session Quoted Asset configuration!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-009-tutorial-step- initial balance vs. balance.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-009-tutorial-step- initial balance vs. balance.json new file mode 100644 index 000000000..227777319 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-009-tutorial-step- initial balance vs. balance.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 9, + "type": "Tutorial Step - Initial Balance vs. Balance", + "definition": { + "icon": { + "project": "Superalgos", + "name": "balance" + }, + "text": "As you can see, the initialBalance is defined in the Session Base Asset. This is just a matter of choice!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "We defined it in the base asset because it makes sense for our trading idea, which intends to sell some bitcoin we hold to rebuy it at a cheaper price." + }, + { + "style": "Callout", + "text": "But we can't use the value of the initialBalance for our target size! Can you see why?" + }, + { + "style": "Text", + "text": "The target size we define is valid for each position the strategy will take. If it was the initialBalance and we lost some bitcoin in the first position, we would get an error in the second position, as—by then—we wouldn't have that much bitcoin any more!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-010-tutorial-step- its the balance.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-010-tutorial-step- its the balance.json new file mode 100644 index 000000000..afee150fd --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-010-tutorial-step- its the balance.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 10, + "type": "Tutorial Step - It's The Balance!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "balance" + }, + "text": "What we need is the Balance! What balance? Take a minute and see if you can finish tying up the loose ends of the reasoning!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "We defined the initialBalance in the base asset and will define the target size in the base asset..." + }, + { + "style": "Callout", + "text": "We need the current balance of the base asset! Can you find the node in the Trading Engine that holds precisely that value?" + }, + { + "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?" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-011-tutorial-step- there it is.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-011-tutorial-step- there it is.json new file mode 100644 index 000000000..292f7dc53 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-011-tutorial-step- there it is.json @@ -0,0 +1,34 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 11, + "type": "Tutorial Step - There It Is!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "balance" + }, + "text": "I hope you found it on your own, but don't worry if you didn't! We'll go through the whole reasoning once again!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "The goal is that you learn how to find the data you need in the confines of the Trading Engine, which is structured logically... Make sure you read the tooltips!" + }, + { + "style": "List", + "text": "Current because we need the balance at the moment of evaluation!" + }, + { + "style": "List", + "text": "Episode because is the running balance kept along the whole trading session!" + }, + { + "style": "List", + "text": "Episode Base Asset because it's consistent with the rest of our definitions!" + }, + { + "style": "List", + "text": "Balance because it's what we wanted!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-012-tutorial-step- copy the nodes path.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-012-tutorial-step- copy the nodes path.json new file mode 100644 index 000000000..a6af45fe6 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-012-tutorial-step- copy the nodes path.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 12, + "type": "Tutorial Step - Copy The Node's Path!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "copy-path" + }, + "text": "Do you remember how to extract the address of the node so that we may reference it from our formula?" + }, + "paragraphs": [ + { + "style": "Callout", + "text": "Open the node's menu and click on the Copy Node Path button!" + }, + { + "style": "Text", + "text": "The following string should end up in your clipboard:
tradingEngine.current.episode.
episodeBaseAsset.balance.value" + }, + { + "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!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-013-tutorial-step- circling back.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-013-tutorial-step- circling back.json new file mode 100644 index 000000000..406537cc9 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-013-tutorial-step- circling back.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 13, + "type": "Tutorial Step - Circling Back!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "formula" + }, + "text": "Awesome! We have the path of the appropriate Balance node and we now may use it in our formula!" + }, + "paragraphs": [ + { + "style": "Callout", + "text": "Paste the string you copied in the formula of the Target Size In Base Asset node! That's it!" + }, + { + "style": "Note", + "text": "Notice that using the balance for the target size is an arbitrary decision! We could have used anything else! A percentage of the balance, a fixed number, a percentage of the initial balance... anything! Or, actually, whatever makes sense for your strategy!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-014-tutorial-step- time to talk execution.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-014-tutorial-step- time to talk execution.json new file mode 100644 index 000000000..cefeb02cb --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-014-tutorial-step- time to talk execution.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 14, + "type": "Tutorial Step - Time to Talk Execution!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "open-execution" + }, + "text": "We finished the definition of the rate and size targets. Let's define how we are going to take the position in terms of execution!" + }, + "paragraphs": [ + { + "style": "Callout", + "text": "We are in the Open Execution section of the open stage! Go exploring the Execution Algorithm and the Market Sell Order I created!" + }, + { + "style": "Note", + "text": "I created the execution algo and the market order ahead of time so that I can reference them easily and take you to the right nodes during the tutorial. Both are in a freshly-created state, right as they'd be had you created them right now!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-015-tutorial-step- lets do some reading.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-015-tutorial-step- lets do some reading.json new file mode 100644 index 000000000..1c681435d --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-015-tutorial-step- lets do some reading.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 15, + "type": "Tutorial Step - Let's Do Some Reading!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "open-execution" + }, + "text": "Read these first few paragraphs about the Open Execution so that we may then start working on the definitions." + }, + "paragraphs": [ + { + "style": "Callout", + "text": "The point to take home is that Superalgos proposes granular definitions of orders set up within execution algorithms, which in turn are built into strategies, as the way to program both simple and complex execution logic." + }, + { + "style": "Success", + "text": "We'll do some more reading before we bring all this down to Earth!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-016-tutorial-step- execution algorithm.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-016-tutorial-step- execution algorithm.json new file mode 100644 index 000000000..30d52d8be --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-016-tutorial-step- execution algorithm.json @@ -0,0 +1,30 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 16, + "type": "Tutorial Step - Execution Algorithm", + "definition": { + "icon": { + "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!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "For our test—and for most simple strategies—one execution algorithm is all we need." + }, + { + "style": "Callout", + "text": "Once you finish reading, take a look at the configuration of the algorithm!" + }, + { + "style": "Text", + "text": "Notice that the algo is assigned—by default—100% of the stage's size." + }, + { + "style": "Success", + "text": "This is the first instance in which the target size we defined earlier comes into the scene!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-017-tutorial-step- market sell orders.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-017-tutorial-step- market sell orders.json new file mode 100644 index 000000000..1a0ce9306 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-017-tutorial-step- market sell orders.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 17, + "type": "Tutorial Step - Market Sell Orders", + "definition": { + "icon": { + "project": "Superalgos", + "name": "market-sell-order" + }, + "text": "We'll use a single execution algorithm handling 100% of the size we defined earlier! Time to learn a bit about orders!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "There is quite a bit of depth on the matter of how orders work! We'll get into the details on a tutorial focusing on the nuances of order execution. But for the time being, we'll keep it simple:" + }, + { + "style": "Callout", + "text": "A market sell order is an instruction sent to the exchange to sell the base asset, for immediate execution at current market prices." + }, + { + "style": "Success", + "text": "Check the configuration of the sell order!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-018-tutorial-step- 100 of 100 = .json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-018-tutorial-step- 100 of 100 = .json new file mode 100644 index 000000000..31afd27bc --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-018-tutorial-step- 100 of 100 = .json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 18, + "type": "Tutorial Step - 100% of 100% = ?", + "definition": { + "icon": { + "project": "Superalgos", + "name": "market-sell-order" + }, + "text": "As you can see, the percentageOfAlgorithmSize is also 100% by default, and that is what we'll use for the test." + }, + "paragraphs": [ + { + "style": "Text", + "text": "That is, we'll set up a single order to enter the position. The order will handle 100% of what is assigned to the algorithm, which in turn handles 100% of what is assigned to the stage. And we assigned the stage 100% of the balance! In other words, we'll place one market sell order with the size of the Balance to enter each position." + }, + { + "style": "Success", + "text": "I told you we'd keep it simple! This is the simplest possible order execution arrangement and, as you can see, you just need to create the algo and the order, and use the default settings!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-019-tutorial-step- create order event.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-019-tutorial-step- create order event.json new file mode 100644 index 000000000..a8eae8dc9 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-019-tutorial-step- create order event.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 19, + "type": "Tutorial Step - Create Order Event", + "definition": { + "icon": { + "project": "Superalgos", + "name": "create-order-event" + }, + "text": "This event is self-explanatory and works like the rest of the events you're already familiar with, with situations and conditions." + }, + "paragraphs": [ + { + "style": "Text", + "text": "Although the decision to take a position is made at the Trigger Stage, the Create Order Event offers granular control over each order, so that you may decide the precise moment or market situation in which to place it." + }, + { + "style": "Callout", + "text": "In our case, we'll place the order immediately after the Take Position Event is triggered, so go ahead and type true on the JavaScript Code node of the one condition created by default with the order. This makes the condition return true as soon as it's evaluated." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-020-tutorial-step- simulated exchange events.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-020-tutorial-step- simulated exchange events.json new file mode 100644 index 000000000..e470a5238 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-020-tutorial-step- simulated exchange events.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 20, + "type": "Tutorial Step - Simulated Exchange Events", + "definition": { + "icon": { + "project": "Superalgos", + "name": "simulated-exchange-events" + }, + "text": "This section of the definitions offers another example of granular control at the level of the order, in this case affecting how orders are simulated!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "These definitions—if used—override the Slippage and Fee Structure Trading Parameters at the level of the trading session, which affect all orders equally. Notice there is a node that may even define how to simulate the filling of orders! If there is no definition of how to simulate the individual order, the session-level parameters remain relevant." + }, + { + "style": "Callout", + "text": "For the time being, we are not going to use these granular-level simulation parameters, so go ahead and delete the simulated exchange events node!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-021-tutorial-step- close stage event.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-021-tutorial-step- close stage event.json new file mode 100644 index 000000000..0dabb811a --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-021-tutorial-step- close stage event.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 21, + "type": "Tutorial Step - Close Stage Event", + "definition": { + "icon": { + "project": "Superalgos", + "name": "close-stage-event" + }, + "text": "We are not going to use the Close Stage Event either, so go ahead and delete it too!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "The open stage closes automatically once the target size is filled, or when the stop loss or take profit targets are hit. The former is what we expect to happen in our case, as we are using a single market order to take the position, and it is placed as soon as the take position event is triggered. It is safe to assume that the order will get filled immediately." + }, + { + "style": "Callout", + "text": "The close stage event offers—again—an additional level of control! For example, when the position is taken with multiple orders, you may want to stop placing orders under certain circumstances." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-022-tutorial-step- back to the order.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-022-tutorial-step- back to the order.json new file mode 100644 index 000000000..2affd9164 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-022-tutorial-step- back to the order.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 22, + "type": "Tutorial Step - Back to the Order", + "definition": { + "icon": { + "project": "Superalgos", + "name": "market-order" + }, + "text": "There's one more thing we need to take care of before we move on to the definitions in the manage stage!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "The Trading Bot keeps track of each order at all times and saves the corresponding information in a specific structure of nodes in the Trading Engine." + }, + { + "style": "Callout", + "text": "Expand the Market Sell Order #1 node and take a look inside." + }, + { + "style": "Note", + "text": "Because each order has a life of it's own, the bot stores information about each order in separate structures of nodes, one per order." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-023-tutorial-step- heres the thing.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-023-tutorial-step- heres the thing.json new file mode 100644 index 000000000..556315d53 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-023-tutorial-step- heres the thing.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 23, + "type": "Tutorial Step - Here's The Thing!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "market-order" + }, + "text": "The system doesn't know which arrangement of execution algorithms and orders you are going to create!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "For that reason, it doesn't know what kind of data structure you will need at the trading engine to keep track of all your orders!" + }, + { + "style": "Callout", + "text": "For the time being, there is a manual process that is required to tell Superalgos what orders you need to keep track of, and where the information should be stored! And that is what we need to do next!" + }, + { + "style": "Text", + "text": "Don't worry, it's no big deal! As it's often the case, it takes longer to explain than to do it!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-024-tutorial-step- its all about references.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-024-tutorial-step- its all about references.json new file mode 100644 index 000000000..7ec2c740d --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-024-tutorial-step- its all about references.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 24, + "type": "Tutorial Step - It's All About References!", + "definition": { + "icon": { + "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!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "References are a crucial concept in Superalgos, as they relate information across nodes and hierarchies!" + }, + { + "style": "Callout", + "text": "You must establish a reference from the Market Sell Order node in the trading system to this Market Sell Order #1 Market Order node in the trading engine hierarchy! Go ahead! Do it!" + }, + { + "style": "Success", + "text": "I'll give you a couple of tips on the next step if you are not sure how to go about this!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-025-tutorial-step- the tricks of the trade.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-025-tutorial-step- the tricks of the trade.json new file mode 100644 index 000000000..ef3b41702 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-025-tutorial-step- the tricks of the trade.json @@ -0,0 +1,34 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 25, + "type": "Tutorial Step - The Tricks of the Trade", + "definition": { + "icon": { + "project": "Superalgos", + "name": "mouse-pointer" + }, + "text": "Establishing a reference is kid's play! The only 'challenge' here is that the node to be referenced is far away from the originator." + }, + "paragraphs": [ + { + "style": "Text", + "text": "These UI tricks may make your life easier:" + }, + { + "style": "List", + "text": "Use the design space map as many times as required to find your way from node to node." + }, + { + "style": "List", + "text": "Pin the node you are going to move across the design space, so that you may drop it at any point to check the design space map for directions." + }, + { + "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!" + }, + { + "style": "List", + "text": "Remove the pin once the reference is established so that the node goes back to its place." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-026-tutorial-step- position management.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-026-tutorial-step- position management.json new file mode 100644 index 000000000..df6f11346 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-026-tutorial-step- position management.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 26, + "type": "Tutorial Step - Position Management", + "definition": { + "icon": { + "project": "Superalgos", + "name": "manage-stage" + }, + "text": "We finished the definitions required to take a position and we are ready to define the initial stop loss and take profit targets!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "Let's remember what we had decided our targets would be while developing the idea." + }, + { + "style": "List", + "text": "For downtrends: we will set 3% stop loss and 10% take profit targets." + }, + { + "style": "Callout", + "text": "Collapse the open stage node as we are not going to touch it for a while.

Now expand the Manage Stage node and take a look inside!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-027-tutorial-step- phase 1.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-027-tutorial-step- phase 1.json new file mode 100644 index 000000000..4b1390347 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-027-tutorial-step- phase 1.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 27, + "type": "Tutorial Step - Phase 1", + "definition": { + "icon": { + "project": "Superalgos", + "name": "phase-0" + }, + "text": "There is enormous depth to the concept of managing positions and Superalgos offers robust and flexible tools for that matter!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "However, we don't need to get into the details at this point, as—for the sake of our test—all we need to do is set up initial targets." + }, + { + "style": "Callout", + "text": "Initial targets are set on Phase #1" + }, + { + "style": "Success", + "text": "Later on, you will learn that you may manage your positions in phases, each with its formulas and events to switch back and forth to other phases." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-028-tutorial-step- managed stop loss.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-028-tutorial-step- managed stop loss.json new file mode 100644 index 000000000..8f9a9c933 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-028-tutorial-step- managed stop loss.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 28, + "type": "Tutorial Step - Managed Stop Loss", + "definition": { + "icon": { + "project": "Superalgos", + "name": "stop-loss" + }, + "text": "Let's prepare the syntax to use for the Phase #1 formula of the Managed Stop Loss!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "We want to set a stop loss target 3% above the rate at which we entered the position. How do we do that?" + }, + { + "style": "Callout", + "text": "Go to the Trading Engine and try to find the node that holds the information of the rate at which the position is entered." + }, + { + "style": "Success", + "text": "Remember the logic to navigate the data structure! First, determine the context in which the information exists!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-029-tutorial-step- entry target rate.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-029-tutorial-step- entry target rate.json new file mode 100644 index 000000000..3159ed44a --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-029-tutorial-step- entry target rate.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 29, + "type": "Tutorial Step - Entry Target Rate", + "definition": { + "icon": { + "project": "Superalgos", + "name": "entry-target-rate" + }, + "text": "We are in the Current > Position section of the Trading Engine and, to your left, the Entry Target Rate node!" + }, + "paragraphs": [ + { + "style": "Callout", + "text": "Copy the node path from the menu!" + }, + { + "style": "Text", + "text": "Now, let's add 3% to the node's value:

tradingEngine.current.
position.entryTargetRate.value * 1.03" + }, + { + "style": "Success", + "text": "Go ahead and use the above for the Phase #1 stop loss formula! Remember I introduced a break in the line that you must remove!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-030-tutorial-step- managed take profit.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-030-tutorial-step- managed take profit.json new file mode 100644 index 000000000..a1064b08a --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-030-tutorial-step- managed take profit.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 30, + "type": "Tutorial Step - Managed Take Profit", + "definition": { + "icon": { + "project": "Superalgos", + "name": "managed-take-profit" + }, + "text": "Now that we have a formula for a fixed stop loss target, it shouldn't be hard to come up with the formula for the take profit target!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "We just need to subtract 10% to the entry target rate node's value:

tradingEngine.current.
position.entryTargetRate.value * 0.9" + }, + { + "style": "Callout", + "text": "Use the above for the Phase #1 take profit formula!" + }, + { + "style": "Success", + "text": "We are done with the manage stage!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-031-tutorial-step- closing a position.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-031-tutorial-step- closing a position.json new file mode 100644 index 000000000..0193fb251 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-031-tutorial-step- closing a position.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 31, + "type": "Tutorial Step - Closing a Position", + "definition": { + "icon": { + "project": "Superalgos", + "name": "close-stage" + }, + "text": "Let's do some quick reading about the Close Stage! Take a look at this page!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "The close stage features similar workings as the open stage, provides the same level of flexibility to define execution, and requires the same kind of definitions." + }, + { + "style": "Callout", + "text": "Take a few minutes to think about how to close this position. Think about what our target rate and target size should be." + }, + { + "style": "Note", + "text": "Also, think about what type of order we should use!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-032-tutorial-step- initial targets.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-032-tutorial-step- initial targets.json new file mode 100644 index 000000000..589ac6570 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-032-tutorial-step- initial targets.json @@ -0,0 +1,30 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 32, + "type": "Tutorial Step - Initial Targets", + "definition": { + "icon": { + "project": "Superalgos", + "name": "initial-targets" + }, + "text": "For the target rate, we can use the same principle as earlier: chart.at01hs.candle.close Use it for the formula!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "For the target size, we should consider the following:" + }, + { + "style": "List", + "text": " We wish to use all the USDT we obtained upon entering the position." + }, + { + "style": "List", + "text": " The exchange charges fees by subtracting from the asset we obtain on any given transaction." + }, + { + "style": "Callout", + "text": "Consider the above and pay a visit to the Trading Engine. Find the nodes that store the information we need and try to come up with a formula for the target size!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-033-tutorial-step- how to find stuff.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-033-tutorial-step- how to find stuff.json new file mode 100644 index 000000000..e15a08476 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-033-tutorial-step- how to find stuff.json @@ -0,0 +1,34 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 33, + "type": "Tutorial Step - How to Find Stuff", + "definition": { + "icon": { + "project": "Superalgos", + "name": "trading-engine" + }, + "text": "Let me walk you through the reasoning to find the required information on the Trading Engine" + }, + "paragraphs": [ + { + "style": "Text", + "text": "We are in the Current > Strategy Open Stage > Stage Quoted Asset section. This is why:" + }, + { + "style": "List", + "text": "Current : because it's all about the current position." + }, + { + "style": "List", + "text": "Strategy Open Stage : because the transaction to enter the position happened during this stage. We want to know how much USDT we got!" + }, + { + "style": "List", + "text": "Stage Quoted Asset : because we sold the base asset and obtained the quoted asset, and it's the quoted asset we want to get rid of during the close stage! The question is how much of it!" + }, + { + "style": "Text", + "text": "Any ideas for the formula?" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-034-tutorial-step- and the winner is..json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-034-tutorial-step- and the winner is..json new file mode 100644 index 000000000..b177bd2c6 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-034-tutorial-step- and the winner is..json @@ -0,0 +1,30 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 34, + "type": "Tutorial Step - And the Winner Is...", + "definition": { + "icon": { + "project": "Superalgos", + "name": "target-size" + }, + "text": "The answer is Size Filled minus Fees Paid! I'll explain why none of the other nodes fit the bill!" + }, + "paragraphs": [ + { + "style": "List", + "text": "Target Size: no, because this is just the target we defined!" + }, + { + "style": "List", + "text": "Size Placed: closer, but no, because the order won't necessarily fill for the exact amount placed, due to decimal roundings or other reasons!" + }, + { + "style": "List", + "text": "Size Filled: yes! But remember the exchange takes its cut too, so you must subtract the fees!" + }, + { + "style": "Success", + "text": "Can you produce the correct syntax for the formula? Remember you can copy the paths of the nodes holding the data we need!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-035-tutorial-step- target size in quoted asset.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-035-tutorial-step- target size in quoted asset.json new file mode 100644 index 000000000..0b6ce8d77 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-035-tutorial-step- target size in quoted asset.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 35, + "type": "Tutorial Step - Target Size in Quoted Asset", + "definition": { + "icon": { + "project": "Superalgos", + "name": "target-size-in-quoted-asset" + }, + "text": "I didn't mention this earlier: we will define the target size in the quoted asset, not the base asset as we did for the open stage!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "It's natural we do so, as that is the asset we now have!" + }, + { + "style": "Callout", + "text": "Delete the Target Size In Base Asset node!" + }, + { + "style": "Text", + "text": "Copying paths, I built this for the target size formula... Use it, making sure you don't introduce line breaks on the nodes' paths!

tradingEngine.current.strategyOpenStage.
stageQuotedAsset.sizeFilled.value -
tradingEngine.current.strategyOpenStage.
stageQuotedAsset.feesPaid.value" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-036-tutorial-step- market buy order.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-036-tutorial-step- market buy order.json new file mode 100644 index 000000000..100d952a8 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-036-tutorial-step- market buy order.json @@ -0,0 +1,30 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 36, + "type": "Tutorial Step - Market Buy Order", + "definition": { + "icon": { + "project": "Superalgos", + "name": "market-buy-order" + }, + "text": "Just like for the open stage, I created the execution algorithm and the market buy order..." + }, + "paragraphs": [ + { + "style": "Text", + "text": "Let's take care of a couple of things before we move on:" + }, + { + "style": "List", + "text": "Delete the Simulated Exchange Events node! We are not going to use it for the time being..." + }, + { + "style": "List", + "text": "Enter true in the JavaScript Code node of the Create Order Event condition." + }, + { + "style": "Success", + "text": "Now you have to create the reference from the Market Buy Order node to the Market Order in the trading engine. I will show you which one in the next step!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-037-tutorial-step- this is it.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-037-tutorial-step- this is it.json new file mode 100644 index 000000000..297bd4059 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-037-tutorial-step- this is it.json @@ -0,0 +1,34 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 37, + "type": "Tutorial Step - This is it!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "market-order" + }, + "text": "This is the node you have to create the reference to: Market Buy Order #1." + }, + "paragraphs": [ + { + "style": "Text", + "text": "Remember the tricks for the trip!" + }, + { + "style": "List", + "text": "Use the design space map as many times as required to find your way from node to node." + }, + { + "style": "List", + "text": "Pin the node you are going to move across the design space, so that you may drop it at any point to check the design space map for directions." + }, + { + "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!" + }, + { + "style": "List", + "text": "Remove the pin once the reference is established so that the node goes back to its place." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-038-tutorial-step- were almost done.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-038-tutorial-step- were almost done.json new file mode 100644 index 000000000..680cc147e --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-038-tutorial-step- were almost done.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 38, + "type": "Tutorial Step - We're almost done!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "close-stage-event" + }, + "text": "We're virtually ready to run a new backtest, this time, with complete definitions in all stages!" + }, + "paragraphs": [ + { + "style": "Callout", + "text": "Before we do that, let's delete the Close Stage Event as we are not going to use it either!" + }, + { + "style": "Success", + "text": "That's it! It wasn't hard at all right? This basic set up is OK for testing simple trading ideas. In the next few tutorials, we're going to go through more elaborate management and execution setups!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-039-tutorial-step- first backtest.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-039-tutorial-step- first backtest.json new file mode 100644 index 000000000..6a7a86e00 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-039-tutorial-step- first backtest.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 39, + "type": "Tutorial Step - First Backtest!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "backtesting-session" + }, + "text": "Now that we have the basic definitions in all stages, we may do a first backtest!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "We'll be using the same parameters we ended up with at the end of the previous tutorial. Feel free to go and check!" + }, + { + "style": "Callout", + "text": "Start the task for BB Breakdown 2 and start the corresponding backtesting session too!" + }, + { + "style": "Note", + "text": "I'm assuming you have the data we mined during the previous tutorial! If you don't this is unlikely to work!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-040-tutorial-step- ready to rock.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-040-tutorial-step- ready to rock.json new file mode 100644 index 000000000..7a009bf36 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-040-tutorial-step- ready to rock.json @@ -0,0 +1,34 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 40, + "type": "Tutorial Step - Ready to Rock?", + "definition": { + "icon": { + "project": "Superalgos", + "name": "trading-strategy" + }, + "text": "We are on a new chart! Let's set it up so that we may see the results of the backtest!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "Make sure the following layers are turned on in each of the layer managers:" + }, + { + "style": "List", + "text": "Masters Data: Candles and Bollinger Bands." + }, + { + "style": "List", + "text": "Simulation Objects: Strategies, Market Buy Orders, Market Sell Orders, Position Base Asset, Stop Loss, and Take Profit." + }, + { + "style": "List", + "text": "Trading System: Trading System Errors and Trading System Warnings." + }, + { + "style": "Success", + "text": "The next step shows what you should see!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-041-tutorial-step- trading systems position.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-041-tutorial-step- trading systems position.json new file mode 100644 index 000000000..0b441b50d --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-041-tutorial-step- trading systems position.json @@ -0,0 +1,17 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 41, + "type": "Tutorial Step - Trading Systems Position", + "definition": { + "icon": { + "project": "Superalgos" + }, + "text": "This step will play a video in full screen mode." + }, + "paragraphs": [ + { + "style": "Gif", + "text": "GIFs/Superalgos/Tutorials/trading-systems-position.gif" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-042-tutorial-step- the first position.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-042-tutorial-step- the first position.json new file mode 100644 index 000000000..4414f45d9 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-042-tutorial-step- the first position.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 42, + "type": "Tutorial Step - The First Position", + "definition": { + "icon": { + "project": "Superalgos", + "name": "layer" + }, + "text": "Remember the Feb 28th case we analyzed in the previous tutorial? This is it! This is the position we got from the rules defined!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "Take a moment to study what the simulation object layers show!" + }, + { + "style": "Callout", + "text": "Let's turn on a few more Simulation Object layers: Trigger, Open, Manage, and Close Stages!" + }, + { + "style": "Text", + "text": "We can now see the four stages in action. Take a minute to read and interpret the graphics. Try to follow the timeline implicit in the drawings of the stages. See when and why each stage opens and closes..." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-043-tutorial-step- chronology of a position.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-043-tutorial-step- chronology of a position.json new file mode 100644 index 000000000..5395d6f7c --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-043-tutorial-step- chronology of a position.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 43, + "type": "Tutorial Step - Chronology of a Position", + "definition": { + "icon": { + "project": "Superalgos", + "name": "position" + }, + "text": "Let's take a few minutes to dissect this position, looking particularly into what makes each stage tick..." + }, + "paragraphs": [ + { + "style": "List", + "text": "Trigger Stage: Opens on Feb 17th at 0 hs because the 24H Bollinger SubChannel turned Down and not Side. Go check if that is the case! The stage closes on Feb 28th at 9 hs, after the second breakdown triggers the take position event." + }, + { + "style": "List", + "text": "Open Stage: Opens when the trigger stage closes, and closes one hour later (!?) after the market sell order is placed." + }, + { + "style": "Note", + "text": "One hour later? Yes! Remember we are running the simulation on the 1H time frame! We'll discuss this matter in depth later on!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-044-tutorial-step- manage and close.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-044-tutorial-step- manage and close.json new file mode 100644 index 000000000..abd433c0c --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-044-tutorial-step- manage and close.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 44, + "type": "Tutorial Step - Manage and Close", + "definition": { + "icon": { + "project": "Superalgos", + "name": "position" + }, + "text": "Those were the trigger and open stages. Let's look into the manage and close stages!" + }, + "paragraphs": [ + { + "style": "List", + "text": "Manage Stage: Opens together with the open stage, and remains open while the price bounces around below the stop loss and above the take position target. When the 22 hs candle on Mar 2nd tags the stop loss target, the manage stage closes." + }, + { + "style": "List", + "text": "Close Stage: Opens after the tagging of the stop loss, and closes one hour later (!?) after placing the market buy order!" + }, + { + "style": "Note", + "text": "The one hour later mystery again... Take a minute to reflect on this behavior." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-045-tutorial-step- time frame matters.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-045-tutorial-step- time frame matters.json new file mode 100644 index 000000000..04e7798c3 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-045-tutorial-step- time frame matters.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 45, + "type": "Tutorial Step - Time Frame Matters!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "time-frame" + }, + "text": "The Time Frame of the trading session determines how often the trading bot does what it does!" + }, + "paragraphs": [ + { + "style": "Callout", + "text": "Read this page about the time frame carefully!" + }, + { + "style": "Note", + "text": "In one of the next tutorials, I'll teach you a trick to overcome this one negative aspect of running backtesting sessions on a time frame different than live sessions." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-046-tutorial-step- warning.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-046-tutorial-step- warning.json new file mode 100644 index 000000000..bbff73a01 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-046-tutorial-step- warning.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 46, + "type": "Tutorial Step - Warning!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "bullet-warning" + }, + "text": "I see a warning sign with a number 3 below it, on Feb 28th at the 9 hs candle. We should take a look and see what it is about!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "The number 3 means there are 3 warnings at the same time. In case you forgot, this is what you need to do:" + }, + { + "style": "Callout", + "text": "Pull the slider up to the middle of the screen or higher and put the pointer of the mouse on the tiny warning sign or the candle in which the warning happens." + }, + { + "style": "Success", + "text": "Now go and track the warnings in the design space using the map feature to find them!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-047-tutorial-step- confusing.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-047-tutorial-step- confusing.json new file mode 100644 index 000000000..6e97b35d2 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-047-tutorial-step- confusing.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 47, + "type": "Tutorial Step - Confusing?", + "definition": { + "icon": { + "project": "Superalgos", + "name": "bullet-warning" + }, + "text": "I'm sure that was a bit confusing! There are more than three nodes with messages, and messages are hard to relate to one another!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "But don't worry! I'll help you figure this out!" + }, + { + "style": "Callout", + "text": "First of all, remember that warnings are not errors!" + }, + { + "style": "Note", + "text": "We don't need to worry about warnings! Warnings are created every time the trading bot has to make adjustments to information that would otherwise not be obvious. It's kind of a verbose mode that the bot uses to leave a trace of its actions." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-048-tutorial-step- three warnings.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-048-tutorial-step- three warnings.json new file mode 100644 index 000000000..9102e3d3c --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-048-tutorial-step- three warnings.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 48, + "type": "Tutorial Step - Three Warnings?", + "definition": { + "icon": { + "project": "Superalgos", + "name": "bullet-warning" + }, + "text": "Each warning may be displayed in more than one node when the action taken by the trading bot affects multiple nodes." + }, + "paragraphs": [ + { + "style": "Text", + "text": "In other words, warnings are displayed in affected nodes, which may be many for any given warning. We'll work with a few examples in a minute!" + }, + { + "style": "Callout", + "text": "In fact, let's look into each warning, one by one!" + }, + { + "style": "Success", + "text": "We're going to take a little detour to explore warnings further. They are a great tool to understand what the trading bot does and how!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-049-tutorial-step- slippage.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-049-tutorial-step- slippage.json new file mode 100644 index 000000000..a1fec356e --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-049-tutorial-step- slippage.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 49, + "type": "Tutorial Step - Slippage", + "definition": { + "icon": { + "project": "Superalgos", + "name": "slippage" + }, + "text": "We are inside the Market Sell Order #1 structure of nodes we referenced from the market sell order in the trading system." + }, + "paragraphs": [ + { + "style": "Text", + "text": "This is the structure of nodes that keeps track of all the variables associated with that order, remember?" + }, + { + "style": "Callout", + "text": "Check the warning in the Rate node!" + }, + { + "style": "Note", + "text": "The slippage configured as a parameter of the trading session was subtracted from the order rate. This resulted in a lower actual rate. All good! The same message appears on the Slippage parameter of the trading session... check it out!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-050-tutorial-step- actual size.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-050-tutorial-step- actual size.json new file mode 100644 index 000000000..3a2231834 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-050-tutorial-step- actual size.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 50, + "type": "Tutorial Step - Actual Size", + "definition": { + "icon": { + "project": "Superalgos", + "name": "actual-size" + }, + "text": "What happens if the actual rate of the order is different than the rate established as a target? Recalculation time!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "When the trading bot adjusts a variable in an order, there's a ripple effect of further adjustments." + }, + { + "style": "Callout", + "text": "Check the warning in the Actual Size node!" + }, + { + "style": "Note", + "text": "For the open stage, we defined the target size in the base asset. However, the system must keep track of variables in both assets! Because the order rate was adjusted, the size of the order in the quoted asset must be adjusted too!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-051-tutorial-step- size placed.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-051-tutorial-step- size placed.json new file mode 100644 index 000000000..811d28ad2 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-051-tutorial-step- size placed.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 51, + "type": "Tutorial Step - Size Placed", + "definition": { + "icon": { + "project": "Superalgos", + "name": "size-placed" + }, + "text": "This is the Stage Quoted Asset bit of the Strategy Open Stage. If the actual size changes, what happens with the Size Placed?" + }, + "paragraphs": [ + { + "style": "Callout", + "text": "Check the warning in the Size Placed node!" + }, + { + "style": "Note", + "text": "In the context of either the open stage or the close stage, size placed is a variable that accumulates the total size placed during the stage, so it must be adjusted to!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-052-tutorial-step- order management.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-052-tutorial-step- order management.json new file mode 100644 index 000000000..e108d6d49 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-052-tutorial-step- order management.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 52, + "type": "Tutorial Step - Order Management", + "definition": { + "icon": { + "project": "Superalgos", + "name": "trading-bot-instance" + }, + "text": "Most warnings happen when the trading bot is handling orders, syncing with the exchange, or simulating the synchronization." + }, + "paragraphs": [ + { + "style": "Text", + "text": "Those operations feature great depth and some intricacy, which we'll cover in future tutorials. In this one, we're just scratching the surface!" + }, + { + "style": "Callout", + "text": "If you wish to get to the bone on this matter, you should read this whole Order Management section of the Documentation." + }, + { + "style": "Success", + "text": "You don't need to read it now, but feel free to dive into it if so you wish! We'll get back to these pages later on!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-053-tutorial-step- back to the position.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-053-tutorial-step- back to the position.json new file mode 100644 index 000000000..8356d3513 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-053-tutorial-step- back to the position.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 53, + "type": "Tutorial Step - Back to the Position!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "fails" + }, + "text": "Back to this first trade, we discussed how stages work and mentioned that the price tagged the stop loss target." + }, + "paragraphs": [ + { + "style": "Callout", + "text": "That means that this first position is a fail!" + }, + { + "style": "Text", + "text": "To be fair, the trade went in our favor up to about 3%, but we didn't take profit and let it slip through our fingers. The entry wasn't awful and it may make sense once we start thinking about position management." + }, + { + "style": "Success", + "text": "Let's take a little tour along the period tested and make a quick assessment of the rest of the positions taken!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-054-tutorial-step- the key moment.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-054-tutorial-step- the key moment.json new file mode 100644 index 000000000..cd8789f59 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-054-tutorial-step- the key moment.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 54, + "type": "Tutorial Step - The Key Moment", + "definition": { + "icon": { + "project": "Superalgos", + "name": "hits" + }, + "text": "This is the key moment in the period tested. March 2020 saw a clear downtrend that ended with a huge market crash!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "The good news is that, as we'd seen in the previous tutorial, two good entries anticipated the crash, with the very simple rules we defined. If you ask me, this looks promising, but judge for yourself!" + }, + { + "style": "Callout", + "text": "Take some time to fiddle with these positions! Start thinking about how you may manage these trades." + }, + { + "style": "Success", + "text": "Once you're done feasting your eyes, we'll take a quick look at the rest of the period tested!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-055-tutorial-step- march 18th.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-055-tutorial-step- march 18th.json new file mode 100644 index 000000000..5a058d716 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-055-tutorial-step- march 18th.json @@ -0,0 +1,30 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 55, + "type": "Tutorial Step - March 18th", + "definition": { + "icon": { + "project": "Superalgos", + "name": "fails" + }, + "text": "This position is a new fail, happening on March 18th, just a few days after one of the major market-crashes in recent history." + }, + "paragraphs": [ + { + "style": "Text", + "text": "What can we say about this entry?" + }, + { + "style": "Callout", + "text": "Go to the 24H time frame and take a look at the overall context!" + }, + { + "style": "Text", + "text": "What I see is a situation of extreme volatility amid a historic pandemic-induced global economic crash." + }, + { + "style": "Success", + "text": "Maybe we shouldn't be trading in such conditions?! It certainly seems risky!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-056-tutorial-step- march 28th - april 1st.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-056-tutorial-step- march 28th - april 1st.json new file mode 100644 index 000000000..f4ccc4811 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-056-tutorial-step- march 28th - april 1st.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 56, + "type": "Tutorial Step - March 28th - April 1st", + "definition": { + "icon": { + "project": "Superalgos", + "name": "fails" + }, + "text": "We've got two more fails by the end of March and the beginning of April. What can we say about these?" + }, + "paragraphs": [ + { + "style": "Text", + "text": "The first position on the 28th seems like a decent entry, despite not reaching the 10% target. It did stay in profit for a while, and got to about 7% on March 30th at 0 hs. The second position is a clear fail!" + }, + { + "style": "Callout", + "text": "Go check the context in the 24H time frame! What do you think?" + }, + { + "style": "Note", + "text": "To me, it looks like a reasonable context to go short, but what do I know?!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-057-tutorial-step- sep 5th - sep 14th.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-057-tutorial-step- sep 5th - sep 14th.json new file mode 100644 index 000000000..d61e0474f --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-057-tutorial-step- sep 5th - sep 14th.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 57, + "type": "Tutorial Step - Sep 5th - Sep 14th", + "definition": { + "icon": { + "project": "Superalgos", + "name": "fails" + }, + "text": "These are the last few trades in the period tested, and all three of them are clear fails." + }, + "paragraphs": [ + { + "style": "Callout", + "text": "Time to check the context in the 24H time frame!" + }, + { + "style": "Note", + "text": "To me, it looks unclear whether the context is suitable for a swing short or not!" + }, + { + "style": "Success", + "text": "So, what do we make of this first test? Let's compare the results with the hypothesis' predictions." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-058-tutorial-step- the prediction game.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-058-tutorial-step- the prediction game.json new file mode 100644 index 000000000..629535fd4 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-058-tutorial-step- the prediction game.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 58, + "type": "Tutorial Step - The Prediction Game", + "definition": { + "icon": { + "project": "Superalgos", + "name": "hit-ratio" + }, + "text": "We expect the idea to trade at least twice per month, with a 50% hit ratio. That was our prediction! How did we do?" + }, + "paragraphs": [ + { + "style": "List", + "text": "Trading frequency: There were less than two months' worth of downtrends in the tested period and a total of 9 trades. In terms of trading frequency, the idea passed the test." + }, + { + "style": "List", + "text": "Hit ratio: We've got 9 trades in total, with 2 hits and 7 fails, strictly speaking. That's a 22% hit ratio. In strict terms, the idea failed the test." + }, + { + "style": "Callout", + "text": "Is there room for nuance in our analysis? Should we look past the hard numbers?" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-059-tutorial-step- is there room for nuance.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-059-tutorial-step- is there room for nuance.json new file mode 100644 index 000000000..35f53cc1e --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-059-tutorial-step- is there room for nuance.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 59, + "type": "Tutorial Step - Is There Room For Nuance?", + "definition": { + "icon": { + "project": "Superalgos", + "name": "space-style" + }, + "text": "Should the testing of a trading idea output black or white results? That's a good question... one that only you may answer!" + }, + "paragraphs": [ + { + "style": "List", + "text": "Is your testing criteria rock-solid? If you trust the testing criteria and are confident the prediction must be fulfilled for the idea to be worth it, then you should probably stick to the hard numbers." + }, + { + "style": "List", + "text": "Is your testing criteria more like a guideline or first assessment? In our case, I may openly confess that the testing criteria proposed is rather arbitrary, and doesn't hold water if questioned. I chose simple criteria to make a point and facilitate the explanations, but I wouldn't defend it in a court of my peers! If you use testing criteria as a first assessment only, then there should probably be room for more nuanced analysis." + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-060-tutorial-step- what is the nuance.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-060-tutorial-step- what is the nuance.json new file mode 100644 index 000000000..862553de5 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-060-tutorial-step- what is the nuance.json @@ -0,0 +1,26 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 60, + "type": "Tutorial Step - What is the Nuance?", + "definition": { + "icon": { + "project": "Superalgos", + "name": "space-style" + }, + "text": "Let's attempt a more nuanced analysis using the elements observed during our tour of the tested period." + }, + "paragraphs": [ + { + "style": "List", + "text": "Potential hits: Two out of the seven fails could have been hits, or at least breakeven trades had we managed the trade and exited earlier, either via a trailing stop loss, partial profit-taking, or any other suitable risk-management strategy." + }, + { + "style": "List", + "text": "Halt trading: One of the fails was likely to be avoidable had we incorporated a basic volatility envelope in the take position event conditions." + }, + { + "style": "Note", + "text": "That would leave us with 4 fails, maybe one break-even, and 3 hits with a potential for 100% profit. Does that nuance work for you?" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-061-tutorial-step- whats next.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-061-tutorial-step- whats next.json new file mode 100644 index 000000000..4a60940a5 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-061-tutorial-step- whats next.json @@ -0,0 +1,22 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 61, + "type": "Tutorial Step - What's Next?", + "definition": { + "icon": { + "project": "Superalgos", + "name": "tutorial" + }, + "text": "In the next tutorial, we'll keep working on this idea, incorporating a few more fundamental considerations left out until now." + }, + "paragraphs": [ + { + "style": "Text", + "text": "We are also going to test the idea in a more favorable environment, that is, a real bear market, so that we may better evaluate it's potential." + }, + { + "style": "Success", + "text": "At this point, you have covered the very basics of building and testing strategies. While more tutorials will become available eventually, nothing stops you from pushing the envelope and keep learning on your own! The documentation is your friend, and covers the workings of Superalgos at a depth that tutorials can't reach!" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-062-tutorial-step- in the mean time.json b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-062-tutorial-step- in the mean time.json new file mode 100644 index 000000000..321516b1f --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/4.-testing-a-trading-idea-the-other-stages-062-tutorial-step- in the mean time.json @@ -0,0 +1,34 @@ +{ + "tutorial": "4. Testing a Trading Idea - The Other Stages", + "pageNumber": 62, + "type": "Tutorial Step - In The Mean Time!", + "definition": { + "icon": { + "project": "Superalgos", + "name": "scripts-library" + }, + "text": "If you are willing to keep going on your own, mastering building strategies requires some reading and a lot of practice!" + }, + "paragraphs": [ + { + "style": "Text", + "text": "Continue your education by reading the following sections of the documentation:" + }, + { + "style": "List", + "text": "The nuances of stages of trading strategies. " + }, + { + "style": "List", + "text": "The whole trading engine section. " + }, + { + "style": "List", + "text": "The whole section on the trading bot. " + }, + { + "style": "Success", + "text": "You may keep developing what we started on this series, or go your own way and start implementing your own idea! Good luck, and see you on the next tutorial!" + } + ] +} \ No newline at end of file