\\r\\n | 7 or more<\\/td>\\r\\n | <\\/span><\\/td>\\r\\n | A purple block.<\\/td>\\r\\n <\\/tr>\\r\\n <\\/tbody>\\r\\n <\\/table>\",\n \"paragraph2\": \" For a new support level with one rejection, the dotted line marks the exact level on which price bounced. For further rejections, the blocks mark the rate ranges on which subsequent rejections are counted.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"1b10ba0b-25e4-40e6-9298-fd0e060218c7","savedPayload":{"position":{"x":17991.664007293173,"y":43898.9669795842},"targetPosition":{"x":18258.965964549683,"y":44035.16412950606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"The Power of Data Mining","config":"{\n \"subTitle\": \"The Power of Data Mining\",\n \"gif\": \"\",\n \"image\": \"layer-resistance\",\n \"definition\": \"Why do levels jump up and down? There's something I haven't told you yet, 'cos I'm afraid it may blow your mind!\",\n \"paragraph1\": \"\",\n \"callOut\": \"The bot keeps track of all support levels alive since the start of the dataset, but only shows you the five levels closest to the current price.\",\n \"paragraph2\": \"Keeping track of information for the whole span of the dataset—which may count years—is the true value of data mining, and the kind of things you wouldn't be able to calculate with a function, on the fly. The ->Plotter-> associated with the ->Indicator Bot-> dynamically shows the five levels of support closest to the price because those are the relevant levels for the context.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}\n","project":"Superalgos","id":"8019055c-dcbd-4f0c-a1be-715cf6512a09","savedPayload":{"position":{"x":18095.574254045176,"y":43783.562959122435},"targetPosition":{"x":18258.965964549683,"y":44035.16412950606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Find the Logic Challenge","config":"{\n \"subTitle\": \"Find the Logic Challenge!\",\n \"gif\": \"\",\n \"image\": \"layer-resistance\",\n \"definition\": \"Now that you know how the indicator works, can you find the relationship between buy orders and support levels?\",\n \"paragraph1\": \"\",\n \"callOut\": \"Take some time to explore the period of time tested looking for clues on how support levels determine the rate of the ->Limit Buy Order->!\",\n \"paragraph2\": \"It's fun noticing how new levels form when price changes direction, and how an established level changes color when price bounces-off it.\",\n \"tip\": \"But the trick lies in counting levels above the order!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"1b6dc587-016b-4c65-9f8e-3e3e59ddc9b7","savedPayload":{"position":{"x":18243.2651776768,"y":43735.57526907969},"targetPosition":{"x":18258.965964549683,"y":44035.16412950606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Here's How It Works","config":"{\n \"subTitle\": \"Here's How it Works...\",\n \"gif\": \"\",\n \"image\": \"layer-resistance\",\n \"definition\": \"Got it? The ->Trading Bot-> places the ->Limit Buy Order-> at the fifth support level! What's the logic behind this?\",\n \"paragraph1\": \"It's sort of arbitrary, but the strategy defines a falling knife as the price action capable of breaching at least four support levels and getting to the fifth during a single minute. Statistically, such events—in this time frame—produce more bounces than continuations. They may be caused by large market orders that temporarily increase the bid/ask spread in the order book.\",\n \"callOut\": \"Take a minute to verify that buy orders are placed at the fifth support level!\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"f9e682fd-3906-4dd4-ad44-9c4af0d8a632","savedPayload":{"position":{"x":18395.163114471547,"y":43767.86217224955},"targetPosition":{"x":18258.965964549683,"y":44035.16412950606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"dbb272f3-27d5-4938-96a4-e5ee1b87bff2","savedPayload":{"position":{"x":18258.965964549683,"y":44035.16412950606},"targetPosition":{"x":18422.35767505419,"y":44286.76529988969},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"5e3deefe-2224-4b65-be4d-0b7ab311bd48","savedPayload":{"position":{"x":18422.35767505419,"y":44286.76529988969},"targetPosition":{"x":18689.6596323107,"y":44422.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Trading System","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","tutorialSteps":[{"type":"Tutorial Step","name":"Come Meet Someone","config":"{\n \"subTitle\": \"Come Meet Someone!\",\n \"gif\": \"\",\n \"image\": \"execution-algorithm\",\n \"definition\": \"Sorry for dragging you away from the charts, but I wanted to introduce you to someone: the guy on the right is the one placing the buy orders!\",\n \"paragraph1\": \"We are inside the Lightning Strike ->Trading System->, within the definitions of the ->Open Stage->. In this stage, the ->Execution Algorithm-> takes over after the decision to take a position has already been made on the ->Trigger Stage->. I know you still don't know what a ->Situation-> or a ->Condition-> are, but I'd still like you to do something...\",\n \"callOut\": \"Take a few minutes to explore the nodes below the execution algorithm, check the formulas and conditions, and see what you can make of them!\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"395d6137-6954-48d0-89d7-a41226d6c667","savedPayload":{"position":{"x":19408.217412411857,"y":36455.60858874119},"targetPosition":{"x":19518.573469233084,"y":36939.052289423926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Execution Algorithm","name":"Buy Orders","id":"e635ed9f-3c8c-45bf-8be0-e3836fa0844e"}}},{"type":"Tutorial Step","name":"Formulations","config":"{\n \"subTitle\": \"Formulations...\",\n \"gif\": \"\",\n \"image\": \"formula\",\n \"definition\": \"What you just went through is the definition of the ->Limit Buy Order-> that is placed and cancelled every minute until it gets filled.\",\n \"paragraph1\": \"This is the node that determines the rate of the limit order. Remember what we discussed earlier about placing the order at the rate of the fifth support level?\",\n \"callOut\": \"Go to the ->Formula-> attached to the ->Order Rate-> node and click Edit on the menu.\",\n \"paragraph2\": \"Well... that is how it's done! As you can see, the syntax is virtually self-explanatory! It involves defining the time frame, the indicator, and the indicator property involved.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"f8c57877-6059-4c16-8dbe-18571d22d8ca","savedPayload":{"position":{"x":19673.91879671924,"y":36463.42473176237},"targetPosition":{"x":19518.573469233084,"y":36939.052289423926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Order Rate","name":"New Order Rate","id":"3ff96eb6-5965-4f82-98d4-cd23bf8d0369"}}},{"type":"Tutorial Step","name":"The Seller","config":"{\n \"subTitle\": \"The Seller\",\n \"gif\": \"\",\n \"image\": \"execution-algorithm\",\n \"definition\": \"We are now in the ->Close Stage->. I though it would be interesting to tell you more about execution algorithms, with another example.\",\n \"paragraph1\": \"An ->Execution Algorithm-> may handle multiple orders, of all types. In this case, multiple limit sell orders are defined.\",\n \"callOut\": \"Select Configure on the menu of the algorithm and reflect on the implications of this definition!\",\n \"paragraph2\": \"Both the open stage, where you define how to take a position, and the close stage, where you define how to exit, may feature multiple execution algorithms, each of them handling a certain amount of capital.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"29fe5e28-80f8-4ca0-902b-5b8de961aeca","savedPayload":{"position":{"x":19890.649921265922,"y":36604.39018086119},"targetPosition":{"x":19518.573469233084,"y":36939.052289423926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Execution Algorithm","name":"Race to Break Even","id":"0fe764ce-3312-4964-9841-b55500e3f80a"}}},{"type":"Tutorial Step","name":"Simplifying Complexity","config":"{\n \"subTitle\": \"Simplifying Complexity\",\n \"gif\": \"\",\n \"image\": \"trading-system\",\n \"definition\": \"We haven't discussed trading systems as a framework, but a feature relevant to this explanation is that they may handle multiple strategies.\",\n \"paragraph1\": \"Each strategy features an ->Open Stage-> and a ->Close Stage->, each with its own execution definitions. Each stage may feature multiple execution algorithms, and each algorithm may handle multiple orders.\",\n \"callOut\": \"Do you see the pattern? We call it granularity. \",\n \"paragraph2\": \"Superalgos breaks down each issue to the minimum expression, and integrates the solutions. This is how it allows you to design, deploy, and manage both simple and the most complex trading setups you may envision.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"4b24efc4-d836-4a22-9791-8f34fed6f6d2","savedPayload":{"position":{"x":20042.9669346752,"y":36803.6408586289},"targetPosition":{"x":19518.573469233084,"y":36939.052289423926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Trading Strategy","name":"My Trading Strategy","id":"711041eb-3055-4611-b64f-570363bae854"}}},{"type":"Tutorial Step","name":"Let's Take a Peek","config":"{\n \"subTitle\": \"Let's Take a Peek...\",\n \"gif\": \"\",\n \"image\": \"limit-sell-order\",\n \"definition\": \"Before we leave the trading system, let's take a quick look into one of these orders and see what may be of interest.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Expand Profit 0.6 and check the formula of the ->Order Rate-> node.\",\n \"paragraph2\": \"Let's focus on this misterious bit of the formula:
tradingEngine.current.position.exitTargetRate.value
The formula is fetching the value of the ->Exit Target Rate->, defined elsewhere. Let's not focus and what this target rate may be. Instead, let's take a look at the mechanism by which a ->Trading System-> may have access to information processed by the ->Trading Bot->. \",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"66730e1d-6c7d-4af9-a053-b77d3c0c80a3","savedPayload":{"position":{"x":19994.4937190843,"y":37093.71203626196},"targetPosition":{"x":19518.573469233084,"y":36939.052289423926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Limit Sell Order","name":"Profit 0.6","id":"b80fe127-d306-4fc1-a3a8-95bf88de046f"}}}],"tutorialTopics":[],"id":"4a22546a-13ad-4d99-8309-9583c44d331a","savedPayload":{"position":{"x":18553.462482388837,"y":44155.66049255504},"targetPosition":{"x":18689.6596323107,"y":44422.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Trading Engine","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","tutorialSteps":[{"type":"Tutorial Step","name":"Find the Node Challenge","config":"{\n \"subTitle\": \"Find the Node Challenge\",\n \"gif\": \"\",\n \"image\": \"trading-engine\",\n \"definition\": \"The ->Trading Engine-> administers the complexity entailed in automated trading by making information accessible to users and trading systems.\",\n \"paragraph1\": \"Rember my comments about granularity? Remember how the formula on the trading system fetched the value of the exit target rate? Here's a quick reminder:
tradingEngine.current.position.exitTargetRate.value\",\n \"callOut\": \"What if I told you that this string holds the path to that piece of information in the data structure of the ->Trading Engine-> hierarchy? Can you find the ->Exit Target Rate-> node? Expand the node and follow the breadcrumb trail!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"1da79160-ab19-4a67-ad10-383158a5330c","savedPayload":{"position":{"x":18489.989349188396,"y":43955.810599682474},"targetPosition":{"x":18736.58997182277,"y":44126.65594763301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Trading Engine","name":"Low-Frequency","id":"eb20f622-71bf-4479-a574-d2320e1d4bd1"}}},{"type":"Tutorial Step","name":"Found It?","config":"{\n \"subTitle\": \"Found It?\",\n \"gif\": \"\",\n \"image\": \"copy-path\",\n \"definition\": \"This is how the ->Trading Engine-> makes every bit of information processed by the ->Trading Bot-> available to trading systems.\",\n \"paragraph1\": \"There is a path to every piece of data, and by knowing the path, you may access the data from within any ->Formula-> or ->Condition-> in a ->Trading Strategy->. Let's run a quick check:\",\n \"callOut\": \"Open the menu of the ->Exit Target Rate-> node to the left, and click Copy Node Path. Now, open a text editor and paste what you copied.\",\n \"paragraph2\": \"Ok! This is how formulas and conditions access the information... How about humans?\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"ff08fcfb-7c33-4d70-9260-f960f4e1dd12","savedPayload":{"position":{"x":18588.537506403467,"y":43865.7336076863},"targetPosition":{"x":18736.58997182277,"y":44126.65594763301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Entry Target Rate","name":"New Entry Target Rate","id":"71b3e7d9-80d0-422d-999e-99549f5ab59d"}}},{"type":"Tutorial Step","name":"The Coolest Trick!","config":"{\n \"subTitle\": \"The Coolest Trick!\",\n \"gif\": \"\",\n \"image\": \"exit-target-rate\",\n \"definition\": \"Humans may access this information by using a cool trick that makes the charting space interact with the design space!\",\n \"bulletListIntro\": \"To use this trick, I just did the following:\",\n \"bulletArray\": [\n [\n \"Split the screen in half\",\n \" pulling the slider up so that we can see both spaces at the same time.\"\n ],\n [\n \"Turn on the Current Position layer\",\n \" on the Trading Engine layers manager. I chose this layer because it corresponds to this section of the hierarchy... tradingEngine.current.position... remember ?\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"Now, slide the mouse pointer across the candles on which the position is taken and see what happens on the nodes to the left...\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"repositionAtTimeMachineReferenceParent\": true,\n \"batchConfigChangesReferenceParent\": [\n {\n \"nodePath\": \"referenceParent.timeScale\",\n \"properties\": {\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"fromDate\": \"2020-08-31T23:40:00.000Z\",\n \"toDate\": \"2020-09-01T01:00:00.000Z\"\n }\n },\n {\n \"nodePath\": \"referenceParent.rateScale\",\n \"properties\": {\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"minValue\": 11000,\n \"maxValue\": 11800\n }\n },\n {\n \"nodePath\": \"referenceParent.timeFrameScale\",\n \"properties\": {\n \"value\": \"01-min\"\n }\n },\n {\n \"nodePath\": \"referenceParent.timelineCharts[1].layerManager\",\n \"properties\": {\n \"visibleLayers\": 3,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n }\n },\n {\n \"nodePath\": \"referenceParent.timelineCharts[1].layerManager.botLayers[0].layerFolders[0].layerFolders[2].layers[0]\",\n \"properties\": {\n \"status\": \"on\"\n }\n }\n ],\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"2cc2befe-1858-4c96-a45c-52e3dbfa7384","savedPayload":{"position":{"x":18716.409270139156,"y":43827.335485119074},"targetPosition":{"x":18736.58997182277,"y":44126.65594763301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","id":"499eac86-6c40-4362-a36a-5f2002081866"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-backtesting-trading-engine-visualization-01\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"positionAtReferenceParent\": true\n}","project":"Superalgos","id":"0276fff4-493c-42c8-8d06-267a23646783","savedPayload":{"position":{"x":18848.278069343352,"y":43848.2214510773},"targetPosition":{"x":18736.58997182277,"y":44126.65594763301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Exit Target Rate","name":"New Exit Target Rate","id":"bc637b55-04bd-4701-9683-78593832cb09"}}},{"type":"Tutorial Step","name":"Feedback Loops","config":"{\n \"subTitle\": \"Feedback Loops\",\n \"gif\": \"\",\n \"image\": \"limit-buy-order\",\n \"definition\": \"Lets take a look at another example to let the notion of the constant feedback loop sink in before we move on!\",\n \"paragraph1\": \"This is the data structure where information about limit buy orders is kept.\",\n \"callOut\": \"Go to the Trading Engine layers manager on the charts (the second counting from the left). Scroll down and turn on the Limit Buy Orders layer. Now swipe the mouse pointer over a few of the buy orders and check the effect on the nodes on the design space.\",\n \"paragraph2\": \"Can you envision the implications of having this level of control over the data managed by the trading bot?\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"f5c6cc94-ab96-4729-aa90-12c904c58066","savedPayload":{"position":{"x":18958.025671068972,"y":43924.25478385339},"targetPosition":{"x":18736.58997182277,"y":44126.65594763301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Rate","name":"New Rate","id":"1c848292-d64a-456f-b1b9-b9e4a387436e"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-backtesting-trading-engine-visualization-02\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"positionAtReferenceParent\": true\n}","project":"Superalgos","id":"3169f747-4d89-463d-8307-aa7f7b4a4a62","savedPayload":{"position":{"x":19023.91521682825,"y":44040.376149403404},"targetPosition":{"x":18736.58997182277,"y":44126.65594763301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"9c34436a-f531-443a-bcd5-d69e352da251","savedPayload":{"position":{"x":18736.58997182277,"y":44126.65594763301},"targetPosition":{"x":18689.6596323107,"y":44422.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"9cf3ea6e-9edb-44ed-81ff-8a00886ce731","savedPayload":{"position":{"x":18689.6596323107,"y":44422.96244981155},"targetPosition":{"x":18901.791666666664,"y":44635.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Live Trading","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Set Up & Run","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","tutorialSteps":[{"type":"Tutorial Step","name":"Enough Chit Chat","config":"{\n \"subTitle\": \"Enough Chit Chat!\",\n \"gif\": \"\",\n \"image\": \"production-environment\",\n \"definition\": \"Ok, my friend... It's time for the real deal! Are you ready for a little ->Live Trading Session->?\",\n \"bulletListIntro\": \"I'll help you with the three main requirements:\",\n \"bulletArray\": [\n [\n \"Check your parameters,\",\n \" in particular, decide how much capital you wish to assign to the session.\"\n ],\n [\n \"Set up an ->Exchange Account Key->\",\n \" so that the app may access your account at the exchange.\"\n ],\n [\n \"Ensure a live data feed\",\n \", that is, the data mining operation with the indicators required by the ->Trading System-> must be running and up to date.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"To proceed with a ->Live Trading Session->, click Next.\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"8dfa9fdb-3591-4dbe-a865-0ef760ce9742","savedPayload":{"position":{"x":18159.272682972678,"y":36848.0484591931},"targetPosition":{"x":18654.621267607057,"y":36749.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Production Environment","name":"New Production Environment","id":"65a40d20-837c-4652-8356-f8054b4e1346"}}},{"type":"Tutorial Step","name":"Warning!","config":"{\n \"warning\": \"Superalgos is a piece of computer software. Like with any software, errors may occur at any point, including errors that may cause you to lose money. You are responsible for taking all precautions you may deem appropriate before trading live. Even if you take all possible precautionary measures, things may still go wrong and errors may occur. By using this software to trade live despite the warnings, you acknowledge that you are aware of the inherent risks in trading and in using software for that purpose. The Superalgos Project offers the software AS IS, with no explicit or implied warranties of any kind. The project, the software, the superalgos.org website, and this tutorial do not offer financial advice. Although the strategies shipping with the system may be fully functional, Superalgos does not make any express or implied recommendation as to how you should use them. We share strategies for educational purposes only. Trade under your responsibility and at your own risk. The use of the software is subject to the terms of the LICENSE.\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"1ad5babb-40d3-48f4-a784-5c2ea0e6b171","savedPayload":{"position":{"x":18157.116172849153,"y":36696.1732869149},"targetPosition":{"x":18654.621267607057,"y":36749.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Let's Start With 20 Bucks!","config":"{\n \"subTitle\": \"Let's Start With 20 Bucks!\",\n \"gif\": \"\",\n \"image\": \"session-quoted-asset\",\n \"definition\": \"The default initialBalance is set to 20 USDT, which ensures we are above the minimum transaction amount supported by Binance.\",\n \"paragraph1\": \"The initialBalance is defined in the configuration of the ->Session Quoted Asset->.\",\n \"callOut\": \"Check that the above is the case and decide for yourself if you wish to change it.\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"important\": \"Make sure you have at least 20 USDT at the exchange! The ->Trading Bot-> will place one limit order for 20 USDT, and cancel it the next minute in case it is not filled, as explained earlier.\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"04b09505-d781-4d1f-8686-57eb3a0cf95c","savedPayload":{"position":{"x":18197.71414351859,"y":36545.037133627135},"targetPosition":{"x":18654.621267607057,"y":36749.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Session Quoted Asset","name":"","id":"f6cd46c1-66df-422c-82d4-02ac8e37f689"}}},{"type":"Tutorial Step","name":"Enjoy the Outdoors!","config":"{\n \"subTitle\": \"Enjoy the Outdoors!\",\n \"gif\": \"\",\n \"image\": \"crypto-ecosystem\",\n \"definition\": \"I believe you haven't visited the ->Crypto Ecosystem-> hierarchy, right? This is where you configure which exchanges and markets you wish to work with...\",\n \"paragraph1\": \"... among other things, such as your accounts with those exchanges, your API keys, your assets, and so on.\",\n \"callOut\": \"Why don't you take a little walk and I'll catch up with you in the next step?\",\n \"paragraph2\": \"\",\n \"tip\": \"Just look around... enjoy the views...\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"ff963975-de14-44e0-a552-44b29644a938","savedPayload":{"position":{"x":18283.057980918613,"y":36413.74506356766},"targetPosition":{"x":18654.621267607057,"y":36749.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Crypto Ecosystem","name":"My Crypto Ecosystem","id":"7217b56c-e854-4c06-8b8a-d5d3c05a153d"}}},{"type":"Tutorial Step","name":"Your Keys, Your Coins!","config":"{\n \"subTitle\": \"Your Keys, Your Coins!\",\n \"gif\": \"\",\n \"image\": \"exchange-account-key\",\n \"definition\": \"This is where you configure your ->Exchange Account Key-> for the Lightning Strike ->Live Trading Session->.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Open the configuration and carefully enter the API name or label and the API secret key.\",\n \"paragraph2\": \"Delete the default text string for each parameter first, so that no foreign character gets mixed up with the keys.\",\n \"note\": \"In the future, when you get to run multiple live sessions at the same time, you will need to set up one ->Exchange Account Key-> per session. This is a requirement in most exchanges.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"a36187cc-415e-424b-8275-352f953552f8","savedPayload":{"position":{"x":18404.720160624332,"y":36315.165434983646},"targetPosition":{"x":18654.621267607057,"y":36749.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Exchange Account Key","name":"Key for Lighting Strike","id":"e85bbbd6-aca8-450f-9237-788062de5761"}}},{"type":"Tutorial Step","name":"Fire Up the Machine!","config":"{\n \"subTitle\": \"Fire Up the Machine!\",\n \"gif\": \"\",\n \"image\": \"data-mining\",\n \"definition\": \"Now it's time to fire up your ->Data Mining-> operation.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Select Run All Exchange Data Tasks on the menu.\",\n \"paragraph2\": \"We'll give it a few minutes to catch up with the present time. Remember, all indicators must get to 100% before we can start trading!\",\n \"tip\": \"If you're getting a bit anxious, feel free to go down the ->Data Mining-> section and check the status of the process instances!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"87824465-1fda-4f6a-bb4f-31f6d7f77268","savedPayload":{"position":{"x":18550.880762064968,"y":36259.07819241989},"targetPosition":{"x":18654.621267607057,"y":36749.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Data Mining","name":"New Data Mining","id":"4df1cb4e-b9ca-4f62-bb5f-c7e262aaa22a"}}},{"type":"Tutorial Step","name":"Are We Ready Yet?","config":"{\n \"subTitle\": \"Are We Ready Yet?\",\n \"gif\": \"\",\n \"image\": \"indicator-process-instance\",\n \"definition\": \"Resistances and Supports Multi-Period-Daily to the left is the last of the process to finish.\",\n \"paragraph1\": \"If this process is at 100%, then we are ready to go.\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"Either way, nothing catastrophic happens if you attempt to run a ->Live Trading Session-> when the required indicators are not up to date. There would be an error, and you'd be notified of the reason. So, no big deal!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"f05ce10a-6ccd-4910-9373-8f3d211fe390","savedPayload":{"position":{"x":18707.063491628538,"y":36250.93142289231},"targetPosition":{"x":18654.621267607057,"y":36749.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Period-Daily","id":"c5395fbe-4b5a-4492-a7fb-e2d259905e27"}}},{"type":"Tutorial Step","name":"Let's Do this!","config":"{\n \"subTitle\": \"Let's Do This!\",\n \"gif\": \"\",\n \"image\": \"live-trading-session\",\n \"definition\": \"We've gone through the 3-point checklist and we are ready to go, so let's get on with it!\",\n \"paragraph1\": \"\",\n \"callOut\": \"Run the Lightning Strike ->Task->, and then run the Lightning Strike ->Live Trading Session-> to the right!\",\n \"paragraph2\": \"\",\n \"note\": \"Once you run the session, the trading bot may have to wait up to 60 seconds for the last indicator to finish processing. Once it does, you will see the current date and a 0% progress notice under the ->Trading Process Instance->, which will remain like that throughout the run.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"ba33c98c-dc22-408d-8206-c173344cdb24","savedPayload":{"position":{"x":18858.462373841467,"y":36291.5831070938},"targetPosition":{"x":18654.621267607057,"y":36749.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Task","name":"Lightning Strike","id":"c8492c4a-a7a7-4a80-a25a-a610377e6180"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-live-trading-process-progress\",\n \"position\": \"Left\",\n\"positionAtReferenceParent\": true,\n \"slider\": \"toTop\"\n}","project":"Superalgos","id":"bd2e54f6-f3ca-4bf7-a453-b2a2ce55e65c","savedPayload":{"position":{"x":18990.00116780749,"y":36377.20811973339},"targetPosition":{"x":18654.621267607057,"y":36749.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Trading Process Instance","name":"Low Frequency Trading","id":"4d7e7fa0-afcb-4b2f-983b-ceacea91b29d"}}}],"tutorialTopics":[],"id":"8f866187-280e-4e87-b871-41dc645fd412","savedPayload":{"position":{"x":18751.791666666664,"y":44075.28686303218},"targetPosition":{"x":18901.791666666664,"y":44335.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Monitoring","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","tutorialSteps":[{"type":"Tutorial Step","name":"Check Your Console!","config":"{\n \"subTitle\": \"Check Your Console!\",\n \"gif\": \"\",\n \"image\": \"trading-process-instance\",\n \"definition\": \"If you don't see any errors on the ->Trading Process Instance->, chances are everything is working fine!\",\n \"paragraph1\": \"However, you may want to take a look at your console application and see if you notice anything out of the norm.\",\n \"callOut\": \"Take a look at your console app!\",\n \"paragraph2\": \"\",\n \"note\": \"You should be able to see the alternating executions of the Candles-Volumes and Resistances-And-Support indicators, with the Low-Frequency ->Trading Bot->\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"036556c5-b0bd-494a-bec2-bd7413506475","savedPayload":{"position":{"x":18901.791666666664,"y":43815.47924189685},"targetPosition":{"x":19051.791666666664,"y":44075.28686303218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-live-trading-console\",\n \"position\": \"Left\",\n \"slider\": \"toTop\"\n}","project":"Superalgos","id":"2708d375-3245-455d-85d2-b164ab3ba86f","savedPayload":{"position":{"x":19051.791666666664,"y":43775.28686303218},"targetPosition":{"x":19051.791666666664,"y":44075.28686303218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Is It Working?","config":"{\n \"subTitle\": \"Is It Working?\",\n \"gif\": \"\",\n \"image\": \"binance\",\n \"definition\": \"The unequivocal way to verify things are working fine is logging on to Binance and checking your order history for BTC/USDT.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Go to Binance and take a look at what's going on!\",\n \"paragraph2\": \"\",\n \"note\": \"At any point in time, you should see one open order and a number of canceled orders pilling up in your order history, pretty much like in the video on the next step!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"8f6913ec-257f-49ba-bdbb-dcd43e5fe727","savedPayload":{"position":{"x":19201.791666666664,"y":43815.47924189685},"targetPosition":{"x":19051.791666666664,"y":44075.28686303218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-live-trading-binance-orders\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"changeNodeConfigWithEvalReferenceParent\": {\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"fromDate\": \"(new Date((new Date()).valueOf() - 60000 * 120)).toISOString()\",\n \"toDate\": \"(new Date((new Date()).valueOf() + 60000 * 120)).toISOString()\"\n }\n}","project":"Superalgos","id":"9a3be7a3-9fe8-4d58-a84c-abd59c43e7f2","savedPayload":{"position":{"x":19311.599287801997,"y":43925.28686303218},"targetPosition":{"x":19051.791666666664,"y":44075.28686303218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Scale","name":"New Time Scale","id":"708c5a9f-a995-4210-aaaf-0794782f0e9e"}}},{"type":"Tutorial Step","name":"Monitor the Fun Way","config":"{\n \"subTitle\": \"Monitoring the Fun Way!\",\n \"gif\": \"\",\n \"image\": \"bullet-limit-buy-order\",\n \"definition\": \"You thought I would let you monitor the ->Live Trading Session-> watching the ugly list of orders at the exchange? No way!\",\n \"paragraph1\": \"Superalgos produces the same kind of simulations you love for live sessions too, in realtime!\",\n \"callOut\": \"Can you see the first few buy orders on the chart?\",\n \"paragraph2\": \"\",\n \"note\": \"I just brought you to the present time, on the 1-minute chart. You should be able to see the latest candle forming and a few orders already. The ->Rate Scale-> is in automatic mode at both ends. Feel free to change the scales to your liking.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\",\n \"repositionAtTimeMachineReferenceParent\": true,\n \"batchConfigChangesReferenceParent\": [\n {\n \"nodePath\": \"referenceParent.rateScale\",\n \"properties\": {\n \"autoMinScale\": true,\n \"autoMaxScale\": true\n }\n },\n {\n \"nodePath\": \"referenceParent.timeFrameScale\",\n \"properties\": {\n \"value\": \"01-min\"\n }\n }\n ]\n}","project":"Superalgos","id":"d84be58b-a1c7-4504-89aa-f98efe132c30","savedPayload":{"position":{"x":19351.791666666664,"y":44075.28686303218},"targetPosition":{"x":19051.791666666664,"y":44075.28686303218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Live Trading Session My Computer","id":"cc1fcc1e-81de-4011-8e59-c37ebe32ecf7"}}}],"tutorialTopics":[],"id":"03e5e234-40eb-4fbe-8df3-95a40f1b34ea","savedPayload":{"position":{"x":19051.791666666664,"y":44075.28686303218},"targetPosition":{"x":18901.791666666664,"y":44335.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"8f829077-b2bd-4747-a01d-762f35b3a070","savedPayload":{"position":{"x":18901.791666666664,"y":44335.094484167515},"targetPosition":{"x":18901.791666666664,"y":44635.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"The End","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","tutorialSteps":[{"type":"Tutorial Step","name":"What's Next?","config":"{\n \"subTitle\": \"What's Next?\",\n \"gif\": \"\",\n \"image\": \"bullet-info\",\n \"definition\": \"There are tons of things we haven't covered yet, I know! Just look around! So much stuff to see! It's mind-boggling.\",\n \"paragraph1\": \"I'm sure you still have tons of questions floating in your head... How do I build my own strategies? How do I measure performance? How do I build an indicator? How do I deploy a trading farm? How may I integrate with TradingView? How do I set up Telegram announcements? Don't worry! You'll get there my friend... you'll just have to do some reading!\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"tip\": \"In the meantime, remember to stop your live session and data mining when you no longer need them running, and especially before closing the backend.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"06efb824-f003-4a3c-8323-549a6427d83e","savedPayload":{"position":{"x":19066.99336151056,"y":44126.65594763301},"targetPosition":{"x":19113.923701022628,"y":44422.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Ready for More?","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Ready for More Tutorials?\",\n \"gif\": \"\",\n \"image\": \"tutorial\",\n \"definition\": \"There are a few more tutorials ready to walk you through other matters upon request!\",\n \"bulletListIntro\": \"At the bottom of this workspace:\",\n \"bulletArray\": [\n [\n \"Developers Intro\",\n \" is a technical overview!\"\n ],\n [\n \"Install a New Market\",\n \" helps you go beyond BTC/USDT!\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"You may also want to load the Weak-hands Buster V.2 plugin workspace from the tab on the left. It features a tutorial about the Trading Bot Layers to complete your understanding on simulations and how they help you design and debug strategies.\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"6ccf52bb-9a95-40e8-8f2c-35530f44114e","savedPayload":{"position":{"x":19250.12085094449,"y":44155.66049255504},"targetPosition":{"x":19113.923701022628,"y":44422.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"What Else Is Cooking?","config":"{\n \"subTitle\": \"What Else Is Cooking?\",\n \"gif\": \"\",\n \"image\": \"ethereum\",\n \"definition\": \"Superalgos is turning into a multi-project platform, and Ethereum is the first project being integrated...\",\n \"paragraph1\": \"\",\n \"bulletListIntro\": \"What does integrating Ethereum means, you ask? It means that—with Beta 7—you will be able to:\",\n \"bulletArray\": [\n [\n \"Connect to an Ethereum node\",\n \" right from within Superalgos using the visual interface.\"\n ],\n [\n \"Mine blockchain data\",\n \" to access coin and contract information for all Ethereum-based projects, including De-Fi or what have you, visualizing data on the charts, building indicators, and leveraging the whole infrastructure.\"\n ],\n [\n \"Use the data to trade\",\n \" by consuming related indicators from within trading systems!\"\n ]\n ],\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"96d43586-d877-4499-92a5-e84882a38a47","savedPayload":{"position":{"x":19381.225658279138,"y":44286.76529988969},"targetPosition":{"x":19113.923701022628,"y":44422.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"This Is The End","config":"{\n \"subTitle\": \"This Is The End!\",\n \"gif\": \"\",\n \"image\": \"close-stage-event\",\n \"definition\": \"Ok, my friend, this is the end! I hope you've enjoyed the show and that I've managed to get you hooked to Superalgos!\",\n \"paragraph1\": \"There's no doubt in my mind that you haven't seen anything like Superalgos before. As you may now figure, Superalgos is a vast system and keeps growing fast.\",\n \"callOut\": \"We count on your help once you start using the system! Superalgos is a community project, and we want your help to grow it stronger!
You may start by spreading the word, bringing your friends, and \",\n \"externalLink\": [\n \"joining the community!\",\n \"https://t.me/superalgoscommunity\"\n ],\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"708b6ed8-28ac-41c8-bf4f-7c1cec6af6a3","savedPayload":{"position":{"x":19410.23020320117,"y":44469.89278932362},"targetPosition":{"x":19113.923701022628,"y":44422.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Tutorial","name":"Welcome to Superalgos!","id":"6f36f540-8de9-4458-b2c7-875884121b87"}}}],"tutorialTopics":[],"id":"fcea7b25-5a13-40e6-a92f-9c530b8a7476","savedPayload":{"position":{"x":19113.923701022628,"y":44422.96244981155},"targetPosition":{"x":18901.791666666664,"y":44635.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"6f36f540-8de9-4458-b2c7-875884121b87","savedPayload":{"position":{"x":18896.791666666664,"y":44662.094484167515},"targetPosition":{"x":18896.791666666664,"y":44662.094484167515},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isPlaying":true,"isRunning":false},"tutorial":{"status":"Done"}}},{"type":"Tutorial","name":"Developers Intro","config":"{ \n\"title\": \"Intro for Developers\",\n \"summary\": \"This tutorial walks you through the technical aspects of Superalgos so that you may take advantage of the infrastructure in place as efficiently as possible.\",\n \"subTitle\": \"\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"I will cover the following topics:\",\n \"bulletArray\": \n[\n [\"Architecture:\", \"Architectural overview of the system.\"], \n[\"Backend:\", \"How the backend is organized.\"], \n[\"Frontend:\", \"How the UI works.\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"This is a 3-year-old project that has pivoted a few times to reach its current state of development. It was initially intended for trading bots competitions and is now focused on crypto-trading automation in general. The main technical pivot occurred when we decided to depart from a centralized cloud-based app, to a decentralized network of nodes.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Architecture","config":"{ \n\"title\": \"System Architecture\",\n \"summary\": \"Superalgos is essentially a Node.js application + a Web App.\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"The overall idea is that Superalgos runs at users' machines. Advanced users may deploy multiple Superalgos nodes in a LAN and distribute tasks easily. In the current version, these nodes are not ready to be exposed to the Internet. Someday they will, and eventually, they will be able to provide services to other users. These services may include:\",\n \"bulletArray\": \n[\n [\"Data Products:\", \"Pre-calculated indicators or studies.\"], \n [\"Backtest Execution:\", \"To scale testing capabilities.\"], \n[\"Live Trading Execution:\", \"Only if trusted entities emerge.\"], \n[\"Data Processing Execution:\", \"External data processing power.\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Backend","config":"{ \n\"title\": \"Backend\",\n \"summary\": \"The backend has two main components: The Backend Servers and the Task Server. When you run the app, what you are running are the Backend Servers. An instance of the Task Server is put to run once a user decides to run a task.\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"\",\n \"paragraph1\": \"Once the services at the backend are running, the default web browser is called with the URL of the local machine so that it may load the UI and let users interact with the system.\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The system holds all of its data and logs in the installation folder. The system does not modify—in any way—anything outside the installation folder. Deleting this folder completely removes Superalgos from the computer.\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Backend Servers","config":"{ \n\"title\": \"Backend Servers\",\n \"summary\": \"Is a collection of servers running on a single Node.js process.\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"The servers are:\",\n \"bulletArray\": \n[\n [\"Web Server:\", \"Serves all the JS files that form the User Interface to the browser.\"], \n[\"Web Sockets Server:\", \"Enables the UI to reach the backend via WS.\"], \n[\"Events Server:\", \"Enables the UI to communicate with the Task Manager Server and all of the Task Servers process instances via events over WS.\"] ,\n[\"Task Manager Server:\", \"Manges Task Servers processes based on users commands.\"]\n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"All of these servers are custom built—in-house—for Superalgos. We prefer to build on top of rock-solid, widely-used, low-level libraries only, like WS, for instance.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","tutorialSteps":[{"type":"Tutorial Step","name":"Web Server","config":"{ \n \"subTitle\": \"Web Server\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"The Web Server has two main goals: it serves all the JS files that form the Web App and all the data files to be plotted at the charts to the browser that is running the UI.\",\n \"bulletListIntro\": \"The complete list Web Server uses is:\",\n \"bulletArray\": \n[\n [\"JS Files:\", \"Enables the Web App to run on a browser.\"], \n[\"JSON Data Files:\", \"Allows the UI to access data to plot.\"], \n[\"Images:\", \"Images used on the UI are served from the Web Server.\"] ,\n[\"JSON Workspaces Files:\", \"Allow users to create definitions on different Workspaces.\"] ,\n[\"JSON Plugin Files:\", \"Files that are automatically included on Workspaces for convenience.\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"4c01144d-0021-4fda-b233-d2984a08be4d","savedPayload":{"position":{"x":24947.810098056187,"y":44088.83878258969},"targetPosition":{"x":25246.166666666668,"y":44120.19732156999},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Web Sockets Server","config":"{ \n \"subTitle\": \"Web Sockets Server\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"This is a simple implementation of a web sockets server. It essentially allows the UI or any of the other services to communicate with the Events Server via WS.\",\n \"bulletListIntro\": \"\",\n \"paragraph1\": \"The system does not allow different processes to talk to each other via WS. All they can do is talk to the Events Server to subscribe to events or to emit events.\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The Web Socket Server enables this indirect communication mechanism between all processes and the UI running on a single machine, as well as communication between processes running on different machines.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"3b772db2-8aee-4f6e-b4d2-3dbd9c3edc83","savedPayload":{"position":{"x":25023.22321902345,"y":43919.45813966233},"targetPosition":{"x":25246.166666666668,"y":44120.19732156999},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Events Server","config":"{ \n \"subTitle\": \"Events Server\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"The Events Server provides the communication model between processes and the UI. It essentially allows any entity inside each process to create a system-wide event handler and allow any other entity inside a process (or the UI) to subscribe or emit events at that event handler.\",\n \"bulletListIntro\": \"Events-based communication happens between:\",\n \"bulletArray\": \n[\n [\"UI and Task Manager:\", \"To run and stop Task Server processes.\"], \n[\"Task Server and UI:\", \"To get online feedback of what is going on at the Task Server, to display relevant status info at the UI.\"]\n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The communication between the UI and the Web Server is HTTP only.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"56f1a417-2b2a-4b82-9ede-11dc2658a4a6","savedPayload":{"position":{"x":25183.79315942134,"y":43826.753041349846},"targetPosition":{"x":25246.166666666668,"y":44120.19732156999},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Task Manager Server","config":"{ \n \"subTitle\": \"Task Manager Server\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"The Task Manager Server is a simple server to manage the execution of Task Servers Node.js processes. It keeps track of all the instances running at any point in time and allows the UI to decide when to run more instance or stop any of those running.\",\n \"bulletListIntro\": \"The Task Manager Server provides the following commands to the UI:\",\n \"bulletArray\": \n[\n [\"Run Task:\", \"Used to run a new task, spawns a Node.js fork process where a Task Server is run.\"], \n[\"Stop Task:\", \"Sends a fork-process-message to the Task Server instance that needs to stop.\"], \n[\"Task Status:\", \"Tells the caller if the Task Id provided corresponds to a running task or not.\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"e4892c24-71fd-4b41-a913-7e27abd5ff91","savedPayload":{"position":{"x":25368.187659589406,"y":43846.13368427721},"targetPosition":{"x":25246.166666666668,"y":44120.19732156999},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"3ce65c39-db2b-4ae1-a091-81871192942c","savedPayload":{"position":{"x":25246.166666666668,"y":44120.19732156999},"targetPosition":{"x":25396.166666666668,"y":44380.00494270532},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Task Server","config":"{\n \"title\": \"Task Server\",\n \"summary\": \"The Task Server is a Node.js fork process of Backend Servers that receives the definition of the Task that needs to run from the UI . \",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"The definition includes:\",\n \"bulletArray\": [\n [\n \"Bot to run:\",\n \"The bot might be a Sensor Bot, an Indicator Bot or a Trading Bot.\"\n ],\n [\n \"Processes to run:\",\n \"Each bot definition may have one or more bot processes. \"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\n \"\",\n \"\"\n ],\n \"paragraph2\": \"\",\n \"note\": \"The UI is where all definitions live. Every time the user runs a task, the UI collects all the relevant information into a single, giant JSON object and sends this to the Task Manager Server, which in turn, after the fork process is running, passes this definition to the Task Server instance just created. With that definition, the Task Server knows all the details of the task to run.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","tutorialSteps":[],"tutorialTopics":[],"id":"1efab353-979b-4b8c-a117-2f1206c16ae4","savedPayload":{"position":{"x":25696.166666666668,"y":44380.00494270532},"targetPosition":{"x":25396.166666666668,"y":44380.00494270532},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"04f8ffd7-52eb-41fa-bd19-e0708060e427","savedPayload":{"position":{"x":25396.166666666668,"y":44380.00494270532},"targetPosition":{"x":25246.166666666668,"y":44639.81256384066},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Frontend","config":"{ \n\"title\": \"Frontend\",\n \"summary\": \"The Frontend is essentially a Javascript web-app running on the browser.\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"As of today it contains:\",\n \"bulletArray\": \n[\n [\"Canvas App:\", \"Most of the functionality is here. The name reflects the fact that most of the UI is rendered in an HTML 5 canvas object.\"], \n[\"Files Component\", \"Includes the mechanisms to read data files in a way that is suitable for navigating through large datasets while plotting the information in real-time.\"]\n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The UI was built entirely in-house. We did not reuse any framework to display the design space or the charts.\",\n \"tip\": \"\",\n \"important\": \"The UI is tested in Chrome only.\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Canvas App","config":"{ \n\"title\": \"Canvas App\",\n \"summary\": \"Most of the action happens on an HTML 5 Canvas animation. The rest is pure HTML + CSS, nothing else. \",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"The main object of the Canvas App is called canvas. It is essentially a collection of different space objects:\",\n \"bulletArray\": \n[\n\n[\"Charting Space:\", \"Where charts are displayed,\"], \n [\"Design Space:\", \"Where definitions are maintained.\"], \n [\"Floating Space:\", \"Enables visual scripting.\"], \n[\"Side Space:\", \"Currently, the workspace selector.\"],\n[\"Docs Space:\", \"In-app documentation.\"],\n[\"Tutorial Space:\", \"Enables tutorials like this one.\"],\n[\"Panel Space:\", \"Where plotter panels live.\"],\n[\"Cockpit Space:\", \"Currently, the slider .\"],\n[\"Top Space:\", \"Currently, the top bar with logo.\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","tutorialSteps":[{"type":"Tutorial Step","name":"Canvas Animation","config":"{ \n \"subTitle\": \"Canvas Animation\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"The animation runs a physics() and a draw() function for each space, allowing each of them to have their own physics engine / rules and render themselves as a top-level layer on the UI.\",\n \"paragraph1\": \"At each frame, the animation calls the physics() function of each space first and, second, the draw() function. Then, it requests a callback from the browser and starts all over again.\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Depending on how many things the user keeps open, both the physics() call or the draw() call may last more or less time. This makes the frames-per-second variable, and a function of the number of things that need to be calculated or rendered on-screen.\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"4c215e8b-7a83-4586-bcb0-31ee3308a82a","savedPayload":{"position":{"x":25656.671702498086,"y":44621.39575959029},"targetPosition":{"x":25571.166666666668,"y":44856.31891478677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Charting Space","config":"{ \n \"subTitle\": \"Charting Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"This is where the charts are displayed. It allows users to navigate through multi-dimensional datasets.\",\n \"bulletListIntro\": \"\",\n \"paragraph1\": \"The Charting Space has its own object structure that partially matches the definitions set by the user on the Charting Space hierarchy. This means that, whenever the user adds a chart, removes a scale, or changes a configuration of any of the nodes inside the Charting Space hierarchy, the Charting Space senses these changes and adapts its object model, most of the time in real-time, which in turn changes the way that the charts are displayed.\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The Charting Space uses the Files Components as its data provider.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"e4fb4c74-d980-4c56-b87e-60696c078abe","savedPayload":{"position":{"x":25731.863569088302,"y":44664.807804007025},"targetPosition":{"x":25571.166666666668,"y":44856.31891478677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Design Space","config":"{ \n \"subTitle\": \"Design Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"Manages the core concept of nodes which, when attached to one another, may form vast definitions easily made and maintained by users.\",\n \"bulletListIntro\": \"\",\n\n \"paragraph1\": \"The system features a file called App Schema which has the rules about the existing types of nodes, which nodes may be the child of other nodes, and which may reference other nodes and which. It also defines the menu items of nodes. All these rules are enforced on the Design Space. \",\n \"callOut\": \"Users may then attach nodes, establish references between nodes, select menu items, and more...\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The Design Space is tightly coupled with the Floating Space.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"602ed273-6058-4660-bdca-dbbed6863bd2","savedPayload":{"position":{"x":25787.67301761278,"y":44731.31891478677},"targetPosition":{"x":25571.166666666668,"y":44856.31891478677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Floating Space","config":"{ \n \"subTitle\": \"Floating Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"This is like the low-level part of the Design Space. It features a physics engine that governs the physical interactions of floating objects.\",\n \"bulletListIntro\": \"\",\n \"paragraph1\": \"At runtime, each node on the Design Space behaves like a molecule featuring three atoms working together: the first one is called Floating Object and belongs to the Floating Space, which controls its position and collision-related physics; the second one is a UiObject which lives at the Design Space and controls the UI of the node, including menu, label, etc.; the third one is a Node that is—essentially—the information contained in that node.\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"When you save the Workspace, Floating Objects and UIOBjects are detached from Nodes, and saved as a big JSON object with only its data.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"87fa3d5c-f9c2-4340-a171-eafbf5926fb8","savedPayload":{"position":{"x":25817.36860491972,"y":44812.90687037003},"targetPosition":{"x":25571.166666666668,"y":44856.31891478677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Side Space","config":"{ \n \"subTitle\": \"Side Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"It is the section on the left, accessed by clicking a tab button. As of today, it features a Workspace selector for users to switch between different workspaces. \",\n \"bulletListIntro\": \"On the Side Space users may:\",\n \"bulletArray\": \n[\n [\"Select an included workspace:\", \"The system ships with one or more included workspaces that serve as examples or case studies.\"], \n[\"Select one's own workspaces:\", \"By renaming any included workspace, the user may create a workspace and switch workspaces using the Side Space.\"]\n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The Side Space is expected to grow in functionality in the future.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"5d2b9869-82e1-4d98-b213-0fd5906608c7","savedPayload":{"position":{"x":25817.36860491972,"y":44899.7309592035},"targetPosition":{"x":25571.166666666668,"y":44856.31891478677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Docs Space","config":"{ \n \"subTitle\": \"Docs Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"This is where the documentation web site is loaded. It's an HTML iFrame inside a DIV, animated in and out of the screen.\",\n \"bulletListIntro\": \"\",\n\n \"paragraph1\": \"\",\n \"callOut\": \"There is an ongoing effort to bring the documentation web site into the app. What you can see today is just the first step in that direction. \",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The current documentation is implemented as a separate repository, hosted by Github Pages.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"aaaee2ea-644e-4769-8848-ef2b2bc62841","savedPayload":{"position":{"x":25787.67301761278,"y":44981.31891478677},"targetPosition":{"x":25571.166666666668,"y":44856.31891478677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Tutorial Space","config":"{ \n \"subTitle\": \"Tutorial Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"Enables running tutorials. It is not based on the HTML canvas, but on HTML + CSS.\",\n \"paragraph1\": \"The Tutorial Space is the highest top-tier layer of all the system since its rendered above everything else. It can manipulate other spaces based on the configuration of each tutorial topic and step. \",\n \"callOut\": \"Not only may tutorials move the user around the UI, but may also take most actions users themselves may take, like, for instance, running tasks of any kind.\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The Tutorial Space is a new addition to the system. For that reason, few tutorials exist today, but we expect this to change in the future.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"782d10c5-de47-4927-b287-5cb630f305f9","savedPayload":{"position":{"x":25731.863569088302,"y":45047.83002556651},"targetPosition":{"x":25571.166666666668,"y":44856.31891478677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Panel Space","config":"{ \n \"subTitle\": \"Panel Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"The Panel Space is where all panels defined by plotters exist. The space has its own physics engine which governs the way users interact with panels, and panels with other panels.\",\n \"bulletListIntro\": \"\",\n \"paragraph1\": \"Panels are constrained within the boundaries of the Panel Space, which matches the boundaries of the Charting Space.\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"Although the panel space has existed since the project's inception, it is still quite underdeveloped, and there is a lot of room to improve it.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"54722f4b-8f86-4220-9e0f-5417297450a6","savedPayload":{"position":{"x":25656.671702498086,"y":45091.242069983244},"targetPosition":{"x":25571.166666666668,"y":44856.31891478677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"d284c632-42b2-47e6-b1f6-6c64029311a0","savedPayload":{"position":{"x":25696.166666666668,"y":44899.62018497599},"targetPosition":{"x":25396.166666666668,"y":44899.62018497599},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Files Component","config":"{ \n\"title\": \"Files Component\",\n \"summary\": \"Encapsulates different data providers able to read datasets organized in different ways.\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"The system defines these types of data providers:\",\n \"bulletArray\": \n[\n [\"Market Files:\", \"For time-frames of 1 hour and above, it is convenient to have a single file with all the data of the whole market.\"], \n[\"Daily Files:\", \"For time-frames below 1 hour, up to 1 minute, it is convenient to split market data into one file per day.\"], \n[\"Single File:\", \"Sometimes a process may generate a single file irrespective of the time-frame.\"], \n[\"Files Sequence:\", \"Some processes may produce a sequence of files.\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"Daily Files are managed by a File Cursor which dynamically loads the files of one day and its neighboring days.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","project":"Superalgos","tutorialSteps":[],"tutorialTopics":[],"id":"719861ad-82fd-4c93-b510-86af1d666908","savedPayload":{"position":{"x":25246.166666666668,"y":45159.42780611132},"targetPosition":{"x":25396.166666666668,"y":44899.62018497599},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"b2cfb2eb-be83-4075-bf26-932a75e83566","savedPayload":{"position":{"x":25396.166666666668,"y":44899.62018497599},"targetPosition":{"x":25246.166666666668,"y":44639.81256384066},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"33eb3496-ba79-468a-a30a-9b3e4ba0f4c8","savedPayload":{"position":{"x":25246.166666666668,"y":44639.81256384066},"targetPosition":{"x":24946.166666666668,"y":44639.81256384066},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Concusion","config":"{ \n\"title\": \"Parting Thoughts...\",\n \"summary\": \"As you can see, Superalgos is much more than a trading bot. It's a holistic infrastructure to manage complexity in the easiest way possible for users.\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"\",\n \"paragraph1\": \" This introduction covered the highest level topics of the system in the hope it may help you understand the foundations on which the system is being built.\",\n \"callOut\": \"We hope you agree it's a good idea to reuse this infrastructure to build trading intelligence rather than code a trading bot from scratch. We hope more devs will join us!\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"If you like the project, there are many ways to contribute. Take a look at this page featuring the roadmap to becoming a part of the team.\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"https://docs.superalgos.org/contributing-to-superalgos.html\" \n}","project":"Superalgos","tutorialSteps":[],"tutorialTopics":[],"id":"bbc427d1-eec8-489b-bc23-d99281687741","savedPayload":{"position":{"x":24646.166666666668,"y":44639.81256384066},"targetPosition":{"x":24946.166666666668,"y":44639.81256384066},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"6a03c441-823d-4147-aef3-d592f110dfd8","savedPayload":{"position":{"x":24944.166666666668,"y":44636.81256384066},"targetPosition":{"x":24944.166666666668,"y":44636.81256384066},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Done"}}}]}
\ No newline at end of file
diff --git a/Integrations/Projects/Superalgos/Plugins/Workspaces/Weak-Hands-Buster v2.json b/Integrations/Projects/Superalgos/Plugins/Workspaces/Weak-Hands-Buster v2.json
new file mode 100644
index 000000000..81db42efb
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Plugins/Workspaces/Weak-Hands-Buster v2.json
@@ -0,0 +1 @@
+{"type":"Workspace","name":"Weak-hands Buster v2","rootNodes":[{"type":"Network","name":"My Network","project":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","project":"Superalgos","dataMining":{"type":"Data Mining","name":"New Data Mining","project":"Superalgos","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","project":"Superalgos","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","project":"Superalgos","dataMineTasks":[{"type":"Data Mine Tasks","name":"Sparta","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Sparta","project":"Superalgos","tasks":[{"type":"Task","name":"EMA","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"EMA","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Period-Market","project":"Superalgos","id":"9adffd60-8756-44f0-9290-692711f43349","savedPayload":{"position":{"x":23470.126508730755,"y":29652.495915209296},"targetPosition":{"x":23770.126508730755,"y":29652.495915209296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Period-Daily","project":"Superalgos","id":"559fc728-018a-4e8e-a5fa-1e37958e4f6c","savedPayload":{"position":{"x":23620.126508730755,"y":29392.688294073963},"targetPosition":{"x":23770.126508730755,"y":29652.495915209296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"943ea24f-ee24-4eae-9b4b-e8a73122b1c2"}}}],"id":"82a8c05f-a6f6-4728-8271-7b327c2b72ee","savedPayload":{"position":{"x":23770.126508730755,"y":29652.495915209296},"targetPosition":{"x":24029.934129866087,"y":29802.495915209296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8ae4fc50-8c1f-4e45-9ffd-fad368816b9a","savedPayload":{"position":{"x":24029.934129866087,"y":29802.495915209296},"targetPosition":{"x":24289.74175100142,"y":29952.495915209296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51b49b9d-cb97-4d98-ad8f-9f691320bac2","savedPayload":{"position":{"x":24289.74175100142,"y":29952.495915209296},"targetPosition":{"x":24549.549372136753,"y":30102.495915209296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"63728769-73e4-474e-8aa3-0d82bedca08e","savedPayload":{"position":{"x":24549.549372136753,"y":30102.495915209296},"targetPosition":{"x":24809.356993272086,"y":30252.495915209296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Sparta","id":"9cfffc48-486a-48cb-b641-98c82e314d3a"}}},{"type":"Data Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"Exchange Raw Data","project":"Superalgos","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","project":"Superalgos","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","project":"Superalgos","id":"149bc037-9762-4737-b1b8-945b5ccee230","savedPayload":{"position":{"x":24081.241698334637,"y":29123.489188146068},"targetPosition":{"x":24323.94679664712,"y":29299.82476383381},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"507bc325-1cbd-40f4-85eb-cfe77b78000e","savedPayload":{"position":{"x":24323.94679664712,"y":29299.82476383381},"targetPosition":{"x":24566.651894959603,"y":29476.160339521553},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7c28a4a4-86da-43be-9e89-d01b202f27eb","savedPayload":{"position":{"x":24566.651894959603,"y":29476.160339521553},"targetPosition":{"x":24809.356993272086,"y":29652.495915209296},"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":"ab6608d2-a876-42ca-afee-6ea8e996b720","savedPayload":{"position":{"x":24401.003349003902,"y":28881.122823524547},"targetPosition":{"x":24623.94679664712,"y":29081.862005432205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Daily","project":"Superalgos","id":"6eebde17-ba9a-4ba6-9ef8-862762a9951a","savedPayload":{"position":{"x":24686.320303892448,"y":28788.417725212064},"targetPosition":{"x":24623.94679664712,"y":29081.862005432205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"3e3e037f-722b-46ed-b355-09a4116c2959","savedPayload":{"position":{"x":24623.94679664712,"y":29081.862005432205},"targetPosition":{"x":24716.651894959603,"y":29367.17896032075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f351c034-5a40-4831-aaaf-b92b97694e24","savedPayload":{"position":{"x":24716.651894959603,"y":29367.17896032075},"targetPosition":{"x":24809.356993272086,"y":29652.495915209296},"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":"9edfd024-2a02-4809-89cf-c79b52a4adf9","savedPayload":{"position":{"x":24932.393682651724,"y":28788.417725212064},"targetPosition":{"x":24994.76718989705,"y":29081.862005432205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"941a0543-0cc0-4a5d-a782-728d2835c100"}}},{"type":"Indicator Process Instance","name":"Bollinger Bands Multi-Period-Daily","project":"Superalgos","id":"bc6520ae-f5e7-4d43-882d-f032dfe725ff","savedPayload":{"position":{"x":25217.71063754027,"y":28881.122823524547},"targetPosition":{"x":24994.76718989705,"y":29081.862005432205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"e598ee86-1e18-4aa1-95c2-64aaf66776ca"}}}],"id":"f5669135-8f3d-4ada-aef6-a503f831f612","savedPayload":{"position":{"x":24994.76718989705,"y":29081.862005432205},"targetPosition":{"x":24902.06209158457,"y":29367.17896032075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"db37b827-4200-4cfa-b973-9ad2c5d5c587","savedPayload":{"position":{"x":24902.06209158457,"y":29367.17896032075},"targetPosition":{"x":24809.356993272086,"y":29652.495915209296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Bollinger Channels","project":"Superalgos","bot":{"type":"Indicator Bot Instance","name":"Bollinger Channels","config":"{}","project":"Superalgos","processes":[{"type":"Indicator Process Instance","name":"Bollinger Channels Multi-Period-Market","project":"Superalgos","id":"e09e4195-bf40-4b14-b603-51872fdb7156","savedPayload":{"position":{"x":25416.78818281979,"y":29025.76112654103},"targetPosition":{"x":25294.76718989705,"y":29299.82476383381},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"28be432d-80ca-46b3-859a-55541e24b2b4"}}},{"type":"Indicator Process Instance","name":"Bollinger Channels Multi-Period-Daily","project":"Superalgos","id":"40de2dfa-6faf-4dc3-b21e-8cf8e4a274f4","savedPayload":{"position":{"x":25593.123758507532,"y":29268.466224853513},"targetPosition":{"x":25294.76718989705,"y":29299.82476383381},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"bc15b49d-4547-4bac-a28b-193eb0158fe3"}}}],"id":"d890cbea-6399-4b88-ab5c-df5f9704817b","savedPayload":{"position":{"x":25294.76718989705,"y":29299.82476383381},"targetPosition":{"x":25052.06209158457,"y":29476.160339521553},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"039dc305-4627-406e-8f40-ee2527cd4b99","savedPayload":{"position":{"x":25052.06209158457,"y":29476.160339521553},"targetPosition":{"x":24809.356993272086,"y":29652.495915209296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cbf6546f-5c9f-476d-ae9d-cfdc4a27cd58","savedPayload":{"position":{"x":24809.356993272086,"y":29652.495915209296},"targetPosition":{"x":24809.356993272086,"y":29952.495915209296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c43a111f-2783-490f-8570-3fd38f6fa76c","savedPayload":{"position":{"x":24809.356993272086,"y":29952.495915209296},"targetPosition":{"x":24809.356993272086,"y":30252.495915209296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Masters","id":"35be7b1c-a0f7-4b5f-9ee1-8fb51595e959"}}}],"id":"e83ad2a7-9bd0-41d1-aa76-4c889e76e482","savedPayload":{"position":{"x":24809.356993272086,"y":30252.495915209296},"targetPosition":{"x":24959.356993272086,"y":30512.30353634463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"af949a76-a6f4-4ec6-869e-f240480eea81","savedPayload":{"position":{"x":24959.356993272086,"y":30512.30353634463},"targetPosition":{"x":25109.356993272086,"y":30772.11115747996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"4df1cb4e-b9ca-4f62-bb5f-c7e262aaa22a","savedPayload":{"position":{"x":25109.356993272086,"y":30772.11115747996},"targetPosition":{"x":25259.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"learningMining":{"type":"Learning Mining","name":"New Learning Mining","project":"Superalgos","exchangeLearningTasks":[],"id":"2cd8cc1a-d9a0-4297-878f-b704894e968a","savedPayload":{"position":{"x":25409.356993272086,"y":30772.11115747996},"targetPosition":{"x":25259.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"testingEnvironment":{"type":"Testing Environment","name":"New Testing Environment","project":"Superalgos","exchangeTradingTasks":[{"type":"Exchange Trading Tasks","name":"Binance","project":"Superalgos","marketTradingTasks":[{"type":"Market Trading Tasks","name":"Binance BTC/USDT","project":"Superalgos","tradingMineTasks":[{"type":"Trading Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"WHB v2","project":"Superalgos","bot":{"type":"Trading Bot Instance","name":"Low Frequency","config":"{}","project":"Superalgos","processes":[{"type":"Trading Process Instance","name":"Low Frequency Trading","project":"Superalgos","session":{"type":"Backtesting Session","name":"WHB v2","config":"{\"folderName\":\"WHB-v2\"}","project":"Superalgos","tradingParameters":{"type":"Trading Parameters","name":"New Parameters","project":"Superalgos","sessionBaseAsset":{"type":"Session Base Asset","name":"","config":"{\n\"initialBalance\": 1,\n\"minimumBalance\": 0\n}","project":"Superalgos","id":"fa7ece1b-0925-444a-808e-0175da02b228","savedPayload":{"position":{"x":28035.291877706186,"y":30552.48478700282},"targetPosition":{"x":28171.48902762805,"y":30819.78674425933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sessionQuotedAsset":{"type":"Session Quoted Asset","name":"","config":"{\n\"initialBalance\": 0\n}","project":"Superalgos","id":"00b998af-5c29-48c8-8826-d4e63c18540e","savedPayload":{"position":{"x":28124.55868811598,"y":30523.48024208079},"targetPosition":{"x":28171.48902762805,"y":30819.78674425933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeRange":{"type":"Time Range","name":"New Time Range","config":"{ \n\"initialDatetime\": \"2020-01-01\",\n\"finalDatetime\": \"2020-07-01\" \n}","project":"Superalgos","id":"6e3026a7-d451-4231-bb5a-eff95464b280","savedPayload":{"position":{"x":28218.41936714012,"y":30523.48024208079},"targetPosition":{"x":28171.48902762805,"y":30819.78674425933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeFrame":{"type":"Time Frame","name":"New Time Frame","config":"{ \n\"label\": \"01-hs\"\n}","project":"Superalgos","id":"9f69f044-6d39-4c9a-88a3-5dc634e28bca","savedPayload":{"position":{"x":28307.686177549913,"y":30552.48478700282},"targetPosition":{"x":28171.48902762805,"y":30819.78674425933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"slippage":{"type":"Slippage","name":"New Slippage","config":"{ \n\"marketOrderRate\": 0.1,\n\"stopLoss\": 0.1,\n\"takeProfit\": 0.1\n}","project":"Superalgos","id":"be861734-9d9c-479c-b89d-6f39067b42af","savedPayload":{"position":{"x":28383.621061984013,"y":30607.654709903367},"targetPosition":{"x":28171.48902762805,"y":30819.78674425933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"feeStructure":{"type":"Fee Structure","name":"New Fee Structure","config":"{ \n\"maker\": 0.1,\n\"taker\": 0.1\n}","project":"Superalgos","id":"2af98d0e-47b3-4714-a24a-8f4b6e856a17","savedPayload":{"position":{"x":28438.79098488456,"y":30683.589594337467},"targetPosition":{"x":28171.48902762805,"y":30819.78674425933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"snapshots":{"type":"Snapshots","name":"New Snapshots","config":"{ \n\"strategy\": true,\n\"position\": true\n}","project":"Superalgos","id":"227439e1-61ea-48fc-a41c-891af977b8ab","savedPayload":{"position":{"x":28467.79552980659,"y":30772.85640474726},"targetPosition":{"x":28171.48902762805,"y":30819.78674425933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"heartbeats":{"type":"Heartbeats","name":"New Heartbeats","config":"{ \n\"date\": true,\n\"candleIndex\": false\n}","project":"Superalgos","id":"2884bf0f-cd27-492f-a014-b41bc6b616e3","savedPayload":{"position":{"x":28467.79552980659,"y":30866.7170837714},"targetPosition":{"x":28171.48902762805,"y":30819.78674425933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedParameters":{"type":"User Defined Parameters","name":"New User Defined Parameters","config":"{ \n\"param1Name\": \"A text string value example\",\n\"param2Name\": 0\n}","project":"Superalgos","id":"9fe3c9a4-2961-402a-93d6-9659772d4954","savedPayload":{"position":{"x":28438.79098488456,"y":30955.983894181194},"targetPosition":{"x":28171.48902762805,"y":30819.78674425933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"caa614ed-c80e-4d7c-82f6-22dd05cc047c","savedPayload":{"position":{"x":28171.48902762805,"y":30819.78674425933},"targetPosition":{"x":27959.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"tradingSystemReference":{"type":"Trading System Reference","name":"WHB v2","project":"Superalgos","id":"3843eabf-52dc-4dae-aa28-d9187a009aab","savedPayload":{"position":{"x":28259.356993272086,"y":31031.918778615294},"targetPosition":{"x":27959.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Trading System","name":"WHB v2","id":"975c2fc3-a8f5-43e9-900f-4a4f2430d128"}}},"tradingEngineReference":{"type":"Trading Engine Reference","name":"Low-Frequency","project":"Superalgos","id":"0c3253e9-355e-47f1-85ae-881bd64ed0d5","savedPayload":{"position":{"x":28171.48902762805,"y":31244.050812971258},"targetPosition":{"x":27959.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Trading Engine","name":"Low-Frequency","id":"eb20f622-71bf-4479-a574-d2320e1d4bd1"}}},"id":"1ff8cd88-dcd9-4528-b406-05647ddd8c9c","savedPayload":{"position":{"x":27959.356993272086,"y":31031.918778615294},"targetPosition":{"x":27659.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cf364276-eeae-4d16-b90c-3da9aecacfa0","savedPayload":{"position":{"x":27659.356993272086,"y":31031.918778615294},"targetPosition":{"x":27359.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":true},"referenceParent":{"type":"Process Definition","name":"Trading","id":"a8c8d761-96e5-4a86-9285-6c3881d61442"}}}],"id":"f55d9c28-8196-4b23-a840-769fbec83000","savedPayload":{"position":{"x":27359.356993272086,"y":31031.918778615294},"targetPosition":{"x":27059.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f3dccd9e-6130-40aa-b794-fca344df4a99","savedPayload":{"position":{"x":27059.356993272086,"y":31031.918778615294},"targetPosition":{"x":26759.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":true}}}],"id":"c1604baa-e824-4b58-b252-922a9fc879cf","savedPayload":{"position":{"x":26759.356993272086,"y":31031.918778615294},"targetPosition":{"x":26459.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":true}}}],"id":"2ef6bd4b-57a2-46d9-be37-5c16e315f4a3","savedPayload":{"position":{"x":26459.356993272086,"y":31031.918778615294},"targetPosition":{"x":26159.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":true},"referenceParent":{"type":"Trading Mine","name":"Masters","id":"6a54eece-4582-4cda-a854-1cd805e00fed"}}}],"id":"85153016-33c7-484d-9f10-2fc313f19051","savedPayload":{"position":{"x":26159.356993272086,"y":31031.918778615294},"targetPosition":{"x":25859.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":true},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"ba36975c-08d6-458d-b7c0-eb4684a85b5d","savedPayload":{"position":{"x":25859.356993272086,"y":31031.918778615294},"targetPosition":{"x":25559.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":true},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"5882d8a8-345b-4188-b1c1-797e9ff805d9","savedPayload":{"position":{"x":25559.356993272086,"y":31031.918778615294},"targetPosition":{"x":25259.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":true}}},"productionEnvironment":{"type":"Production Environment","name":"New Production Environment","project":"Superalgos","exchangeTradingTasks":[{"type":"Exchange Trading Tasks","name":"Binance","project":"Superalgos","marketTradingTasks":[{"type":"Market Trading Tasks","name":"Binance BTC/USDT","project":"Superalgos","tradingMineTasks":[{"type":"Trading Mine Tasks","name":"Masters","project":"Superalgos","taskManagers":[{"type":"Task Manager","name":"Masters","project":"Superalgos","tasks":[{"type":"Task","name":"WHB v2","project":"Superalgos","bot":{"type":"Trading Bot Instance","name":"Low Frequency","config":"{}","project":"Superalgos","processes":[{"type":"Trading Process Instance","name":"Low Frequency Trading","project":"Superalgos","session":{"type":"Live Trading Session","name":"WHB v2","config":"{\"folderName\":\"WHB-v2\"}","project":"Superalgos","tradingParameters":{"type":"Trading Parameters","name":"New Parameters","project":"Superalgos","sessionBaseAsset":{"type":"Session Base Asset","name":"","config":"{\n\"initialBalance\": 1,\n\"minimumBalance\": 0\n}","project":"Superalgos","id":"785c152d-03f4-4c42-8107-2a4481dc1c77","savedPayload":{"position":{"x":27786.93971977504,"y":32274.70211811437},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sessionQuotedAsset":{"type":"Session Quoted Asset","name":"","config":"{\n\"initialBalance\": 0\n}","project":"Superalgos","id":"b9daac05-6265-40e9-b5e7-eeabbf7f2144","savedPayload":{"position":{"x":27876.206530184834,"y":32303.7066630364},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeRange":{"type":"Time Range","name":"New Time Range","config":"{ \n\"initialDatetime\": \"2020-01-01\",\n\"finalDatetime\": \"2020-07-01\" \n}","project":"Superalgos","id":"b5971ea3-aa3b-4691-8bf1-5c5f6ba3950c","savedPayload":{"position":{"x":27952.141414618935,"y":32358.876585936945},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeFrame":{"type":"Time Frame","name":"New Time Frame","config":"{ \n\"label\": \"01-hs\"\n}","project":"Superalgos","id":"00a93153-88b7-4c62-82e3-ca96e9e56025","savedPayload":{"position":{"x":28007.31133751948,"y":32434.811470371045},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"slippage":{"type":"Slippage","name":"New Slippage","config":"{ \n\"marketOrderRate\": 0.1,\n\"stopLoss\": 0.1,\n\"takeProfit\": 0.1\n}","project":"Superalgos","id":"0047f446-0cfc-42f5-8a57-a7599f97ea1a","savedPayload":{"position":{"x":28036.31588244151,"y":32524.07828078084},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"feeStructure":{"type":"Fee Structure","name":"New Fee Structure","config":"{ \n\"maker\": 0.1,\n\"taker\": 0.1\n}","project":"Superalgos","id":"f137906d-664b-4a00-8814-00dabcc8b386","savedPayload":{"position":{"x":28036.31588244151,"y":32617.93895980498},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"snapshots":{"type":"Snapshots","name":"New Snapshots","config":"{ \n\"strategy\": true,\n\"position\": true\n}","project":"Superalgos","id":"5173568a-1f7f-461e-aa3b-006193997bac","savedPayload":{"position":{"x":28007.31133751948,"y":32707.205770214772},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"heartbeats":{"type":"Heartbeats","name":"New Heartbeats","config":"{ \n\"date\": true,\n\"candleIndex\": false\n}","project":"Superalgos","id":"85f19b17-a752-4f20-a740-14883258f9bc","savedPayload":{"position":{"x":27952.141414618935,"y":32783.14065464887},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedParameters":{"type":"User Defined Parameters","name":"New User Defined Parameters","config":"{ \n\"param1Name\": \"A text string value example\",\n\"param2Name\": 0\n}","project":"Superalgos","id":"3c15c609-1a9c-4712-a7eb-1aad80fcd20b","savedPayload":{"position":{"x":27876.206530184834,"y":32838.31057754942},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f8bf92d7-9037-4ddd-9a93-0963005465c4","savedPayload":{"position":{"x":27740.00938026297,"y":32571.00862029291},"targetPosition":{"x":27443.70287808443,"y":32617.93895980498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"tradingSystemReference":{"type":"Trading System Reference","name":"WHB v2","project":"Superalgos","id":"52a08de1-1413-4a74-ab6b-5e50dd862b33","savedPayload":{"position":{"x":27686.407976396913,"y":32794.27453549272},"targetPosition":{"x":27443.70287808443,"y":32617.93895980498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Trading System","name":"WHB v2","id":"975c2fc3-a8f5-43e9-900f-4a4f2430d128"}}},"tradingEngineReference":{"type":"Trading Engine Reference","name":"Low-Frequency","project":"Superalgos","id":"25ecae9f-e4e3-4c35-9a75-ff9e7b5f5b5b","savedPayload":{"position":{"x":27490.6332175965,"y":32914.24546198352},"targetPosition":{"x":27443.70287808443,"y":32617.93895980498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Trading Engine","name":"Low-Frequency","id":"eb20f622-71bf-4479-a574-d2320e1d4bd1"}}},"id":"934095e8-4a1c-4baf-828f-7818f73c4219","savedPayload":{"position":{"x":27443.70287808443,"y":32617.93895980498},"targetPosition":{"x":27200.997779771948,"y":32441.603384117236},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5ce11ebc-6b00-40a7-b78b-650650dc561c","savedPayload":{"position":{"x":27200.997779771948,"y":32441.603384117236},"targetPosition":{"x":26958.292681459465,"y":32265.267808429493},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Trading","id":"a8c8d761-96e5-4a86-9285-6c3881d61442"}}}],"id":"b648768f-57f7-49c9-89a6-c5c6f9d88fc2","savedPayload":{"position":{"x":26958.292681459465,"y":32265.267808429493},"targetPosition":{"x":26715.587583146982,"y":32088.93223274175},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"edfaadd0-892d-49b6-8353-c4864f4446d2","savedPayload":{"position":{"x":26715.587583146982,"y":32088.93223274175},"targetPosition":{"x":26472.8824848345,"y":31912.596657054008},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"18684d79-f3d4-4164-9926-aefa1fb42218","savedPayload":{"position":{"x":26472.8824848345,"y":31912.596657054008},"targetPosition":{"x":26230.177386522017,"y":31736.261081366265},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a2e9d816-e6c9-4783-b6dd-42997c660372","savedPayload":{"position":{"x":26230.177386522017,"y":31736.261081366265},"targetPosition":{"x":25987.472288209534,"y":31559.925505678522},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Trading Mine","name":"Masters","id":"6a54eece-4582-4cda-a854-1cd805e00fed"}}}],"id":"eaa22575-ca9c-4851-bc7f-3bf05161e58a","savedPayload":{"position":{"x":25987.472288209534,"y":31559.925505678522},"targetPosition":{"x":25744.76718989705,"y":31383.58992999078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"d539c0ac-aaeb-4c44-9dba-ac26df819a8d","savedPayload":{"position":{"x":25744.76718989705,"y":31383.58992999078},"targetPosition":{"x":25502.06209158457,"y":31207.254354303037},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"65a40d20-837c-4652-8356-f8054b4e1346","savedPayload":{"position":{"x":25409.356993272086,"y":31291.726399750627},"targetPosition":{"x":25259.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"u"}}},"dataStorage":{"type":"Data Storage","name":"New Data Storage","project":"Superalgos","dataMinesData":{"type":"Data Mines Data","name":"New Data Mines Data","project":"Superalgos","exchangeDataProducts":[{"type":"Exchange Data Products","name":"Binance","project":"Superalgos","marketDataProducts":[{"type":"Market Data Products","name":"Binance BTC/USDT","project":"Superalgos","dataProducts":[],"dataMineProducts":[{"type":"Data Mine Products","name":"Sparta","project":"Superalgos","botProducts":[{"type":"Bot Products","name":"EMA","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Popular EMAs","project":"Superalgos","id":"8b3b410e-0728-457a-a2ac-640f8839592c","savedPayload":{"position":{"x":25161.398909450258,"y":31777.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Popular EMAs","id":"d5894707-b065-429b-ba6b-78c71e6529fe"}}},{"type":"Data Product","name":"Base5 EMAs","project":"Superalgos","id":"c0043adc-1516-45f9-8044-71dac10926b4","savedPayload":{"position":{"x":25227.398909450258,"y":31791.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Base5 EMAs","id":"9a37881e-7d9a-4279-95b2-8743de82eec5"}}},{"type":"Data Product","name":"Base6 EMAs","project":"Superalgos","id":"6ad6f193-f293-474a-892d-452ee224e923","savedPayload":{"position":{"x":25258.398909450258,"y":31737.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Base6 EMAs","id":"e4267570-575b-4e59-9667-cb78aaae052c"}}},{"type":"Data Product","name":"Base7 EMAs","project":"Superalgos","id":"45eea564-7729-421c-b871-acda5a5ae81e","savedPayload":{"position":{"x":25221.398909450258,"y":31741.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Base7 EMAs","id":"b42348a4-6a26-4d46-aa2e-cbf5fa0a4984"}}},{"type":"Data Product","name":"Base11 EMAs","project":"Superalgos","id":"fe10ecb5-0593-4c6b-9fd0-1729976ce713","savedPayload":{"position":{"x":25325.398909450258,"y":31871.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Base11 EMAs","id":"21df4f44-96eb-453b-8652-4ce2dc03424c"}}},{"type":"Data Product","name":"Base12 EMAs","project":"Superalgos","id":"3457daa7-4c0c-4c71-abe8-176e9fb806ae","savedPayload":{"position":{"x":25220.398909450258,"y":31722.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Base12 EMAs","id":"43d6f23d-d206-47e9-95d4-6bef34377014"}}},{"type":"Data Product","name":"Base30 EMAs","project":"Superalgos","id":"4bca4b0e-6942-4322-90a3-3a976614d591","savedPayload":{"position":{"x":25144.398909450258,"y":31759.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Base30 EMAs","id":"4394346c-7c25-478f-9be7-04f071dc673c"}}}],"dataProductFolders":[],"id":"39b86066-ae70-4cde-9fd6-b463addf0e77","savedPayload":{"position":{"x":25755.2507805109,"y":32642.4554694507},"targetPosition":{"x":25554.511598603243,"y":32419.51202180748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cc85c8b7-657d-4589-8373-ac3ff5cf3c6a","savedPayload":{"position":{"x":25554.511598603243,"y":32419.51202180748},"targetPosition":{"x":25353.772416695585,"y":32196.568574164263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Sparta","id":"9cfffc48-486a-48cb-b641-98c82e314d3a"}}},{"type":"Data Mine Products","name":"Masters","project":"Superalgos","botProducts":[{"type":"Bot Products","name":"Exchange Raw Data","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Trades","project":"Superalgos","id":"b5217c9e-0fc7-4714-839a-6639437f21ad","savedPayload":{"position":{"x":25312.398909450258,"y":32193.12429394412},"targetPosition":{"x":25377.398909450258,"y":32126.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trades","id":"38dbb942-a15b-450b-a867-02a94030965f"}}},{"type":"Data Product","name":"Candles","project":"Superalgos","id":"18490446-c8fe-4061-8a9e-c4f2b8c67677","savedPayload":{"position":{"x":25399.398909450258,"y":32164.12429394412},"targetPosition":{"x":25377.398909450258,"y":32126.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Candles","id":"2443883b-6959-42a3-ae3b-ef3102ffcdcc"}}},{"type":"Data Product","name":"Volumes","project":"Superalgos","id":"475838db-033e-4bf5-9c06-5a649d8b6e4d","savedPayload":{"position":{"x":25304.398909450258,"y":32147.12429394412},"targetPosition":{"x":25377.398909450258,"y":32126.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Volumes","id":"3a43c6f3-bac0-404e-865f-822eb48c8660"}}}],"dataProductFolders":[],"id":"f6344699-6b56-4863-97ba-b3ab72e9cdd8","savedPayload":{"position":{"x":25437.402894070845,"y":32724.59062736529},"targetPosition":{"x":25261.067318383102,"y":32481.885529052808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Products","name":"Candles Volumes","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Candles","project":"Superalgos","id":"70d84756-8e7a-4dfc-8aae-abf8affc802f","savedPayload":{"position":{"x":25349.398909450258,"y":32166.12429394412},"targetPosition":{"x":25326.398909450258,"y":32072.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Candles","id":"fe6065ec-4d2d-47a0-bae0-8647f0e195d7"}}},{"type":"Data Product","name":"Volumes","project":"Superalgos","id":"5a47df0f-0524-401a-b5f4-f292eda68238","savedPayload":{"position":{"x":25418.398909450258,"y":32043.12429394412},"targetPosition":{"x":25326.398909450258,"y":32072.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Volumes","id":"1a366aef-efef-470e-88e0-2a6fbe4dd91f"}}}],"dataProductFolders":[],"id":"ce53c027-2bdd-48b6-a42c-43bd762d723d","savedPayload":{"position":{"x":25261.067318383102,"y":32781.88552905281},"targetPosition":{"x":25261.067318383102,"y":32481.885529052808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Products","name":"Bollinger Bands","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Bollinger Bands","project":"Superalgos","id":"d50dcdf4-6251-4c59-9a04-d5dedadd86f7","savedPayload":{"position":{"x":25213.398909450258,"y":32108.12429394412},"targetPosition":{"x":25259.398909450258,"y":32022.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Bands","id":"29088877-8d63-4217-8d34-8742afc262f4"}}},{"type":"Data Product","name":"Percentage Bandwidth","project":"Superalgos","id":"1e029c1d-85c8-4d3d-90d8-388bf135d110","savedPayload":{"position":{"x":25217.398909450258,"y":32036.12429394412},"targetPosition":{"x":25259.398909450258,"y":32022.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Percentage Bandwidth","id":"3b7885a0-cd72-4a3f-a38b-3dc8c47bd068"}}}],"dataProductFolders":[],"id":"41f6cc17-d2ef-4a8e-a30b-c0dbcf515d25","savedPayload":{"position":{"x":25084.73174269536,"y":32724.59062736529},"targetPosition":{"x":25261.067318383102,"y":32481.885529052808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Products","name":"Bollinger Channels","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Bollinger Channels Objects","project":"Superalgos","id":"aba646d5-9b32-48d6-abc3-e9fa8405b279","savedPayload":{"position":{"x":25304.398909450258,"y":32189.12429394412},"targetPosition":{"x":25226.398909450258,"y":32100.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Channels Objects","id":"1f111f72-624f-4166-9f99-ab8d785d5267"}}},{"type":"Data Product","name":"Bollinger Channels","project":"Superalgos","id":"241723cd-ae4d-4990-88f8-29bfad2e14ed","savedPayload":{"position":{"x":25230.398909450258,"y":32178.12429394412},"targetPosition":{"x":25226.398909450258,"y":32100.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Channels","id":"94bc3958-cc85-43a1-a178-103e84f42910"}}},{"type":"Data Product","name":"Bollinger Sub-Channels Objects","project":"Superalgos","id":"e171424f-d37d-46d5-aada-1d66ccb0961f","savedPayload":{"position":{"x":25237.398909450258,"y":32032.12429394412},"targetPosition":{"x":25226.398909450258,"y":32100.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Sub-Channels Objects","id":"080c87fc-4546-4482-ab11-180a33f6d9ab"}}},{"type":"Data Product","name":"Bollinger Sub-Channels","project":"Superalgos","id":"f8686b62-8ca9-4b30-9c27-9844c109d987","savedPayload":{"position":{"x":25226.398909450258,"y":32042.12429394412},"targetPosition":{"x":25226.398909450258,"y":32100.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Sub-Channels","id":"79ce9c05-8a4c-4b58-850f-288037acc702"}}}],"dataProductFolders":[],"id":"8c843479-10c3-4ac3-8566-42574738e89c","savedPayload":{"position":{"x":24975.750363494557,"y":32574.59062736529},"targetPosition":{"x":25261.067318383102,"y":32481.885529052808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f527bdd3-f5bc-4248-a35f-ac7e591c3aec","savedPayload":{"position":{"x":25261.067318383102,"y":32481.885529052808},"targetPosition":{"x":25353.772416695585,"y":32196.568574164263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Masters","id":"35be7b1c-a0f7-4b5f-9ee1-8fb51595e959"}}}],"id":"449f1f87-399d-4ec2-9af2-beb92609dc27","savedPayload":{"position":{"x":25353.772416695585,"y":32196.568574164263},"targetPosition":{"x":25291.398909450258,"y":31903.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"9bc0aea4-0596-449c-91bd-4fb4cb672aa8","savedPayload":{"position":{"x":25291.398909450258,"y":31903.12429394412},"targetPosition":{"x":25229.02540220493,"y":31609.68001372398},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"32e7c122-fa5a-4d00-9d71-d54e890e32de","savedPayload":{"position":{"x":25229.02540220493,"y":31609.68001372398},"targetPosition":{"x":25166.651894959603,"y":31316.23573350384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"tradingMinesData":{"type":"Trading Mines Data","name":"New Trading Mines Data","project":"Superalgos","exchangeTradingProducts":[{"type":"Exchange Trading Products","name":"Binance","project":"Superalgos","marketTradingProducts":[{"type":"Market Trading Products","name":"Binance BTC/USDT","project":"Superalgos","tradingSessionReferences":[{"type":"Trading Session Reference","name":"WHB v2 Backtesting Session","project":"Superalgos","dataProducts":[],"tradingMineProducts":[{"type":"Trading Mine Products","name":"Masters","project":"Superalgos","botProducts":[{"type":"Bot Products","name":"Low Frequency","project":"Superalgos","dataProducts":[],"dataProductFolders":[{"type":"Data Product Folder","name":"Trading Engine","project":"Superalgos","dataProducts":[],"dataProductFolders":[{"type":"Data Product Folder","name":"Episode","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Episode Counters","project":"Superalgos","id":"dd0c8cb9-af86-43fc-a22e-2b1b408787d9","savedPayload":{"position":{"x":24625.764999673167,"y":31670.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Counters","id":"d81c6019-864e-42f5-94ba-2f249b865f85"}}},{"type":"Data Product","name":"Episode Statistics","project":"Superalgos","id":"5c98f3e9-72a7-4742-9315-50d6e4aaa452","savedPayload":{"position":{"x":24492.764999673167,"y":31685.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Statistics","id":"400c7f49-37da-41fb-b83d-879960aa74ff"}}},{"type":"Data Product","name":"Episode Candle","project":"Superalgos","id":"b626d6f0-f929-457e-910b-dfb83c666deb","savedPayload":{"position":{"x":24585.764999673167,"y":31571.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Candle","id":"b9a58113-cf27-4d57-9810-87a2cc158804"}}},{"type":"Data Product","name":"Episode Balances","project":"Superalgos","id":"3d2dee0f-a7df-463f-befe-5f6231ab7830","savedPayload":{"position":{"x":24554.764999673167,"y":31667.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Balances","id":"a9a53d82-133b-4417-b639-f9a56d338233"}}},{"type":"Data Product","name":"Distance To Event","project":"Superalgos","id":"5699dc43-eb9a-4e42-aece-e9567924cac2","savedPayload":{"position":{"x":24602.764999673167,"y":31603.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Distance To Event","id":"8ea88d6c-7d7f-4152-b781-ea108df52c63"}}},{"type":"Data Product","name":"Episode Base Asset","project":"Superalgos","id":"7647e8ee-0ab7-41af-b153-099a334a362d","savedPayload":{"position":{"x":24479.764999673167,"y":31733.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Base Asset","id":"234969ff-eab1-4d59-b6fa-79433c9a20e9"}}},{"type":"Data Product","name":"Episode Quoted Asset","project":"Superalgos","id":"00bf7f7c-9002-4923-8010-7125327f9128","savedPayload":{"position":{"x":24624.764999673167,"y":31623.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Quoted Asset","id":"ae525e31-d6a8-47d2-9021-3f2ddb9615b0"}}},{"type":"Data Product","name":"Current Episode","project":"Superalgos","id":"54b85d80-295a-4540-b726-f6f7cd17c6c9","savedPayload":{"position":{"x":24614.764999673167,"y":31724.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Episode","id":"b8da0132-ba28-46ec-aa54-eb9eaac56ce7"}}}],"dataProductFolders":[],"id":"135f87c8-2206-4e9f-b93a-d9c764a69f23","savedPayload":{"position":{"x":24536.764999673167,"y":31671.714097319156},"targetPosition":{"x":24483.764999673167,"y":31732.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Strategy","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Current Strategy","project":"Superalgos","id":"68fdae81-0371-428f-8495-a0fe100cbba8","savedPayload":{"position":{"x":24479.764999673167,"y":31715.714097319156},"targetPosition":{"x":24388.764999673167,"y":31633.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Strategy","id":"895d8a04-ef45-41a7-909a-ba31013ffb90"}}},{"type":"Data Product","name":"Last Strategy","project":"Superalgos","id":"51693a6b-7d84-4f20-bdee-1211f9bae6f9","savedPayload":{"position":{"x":24355.764999673167,"y":31587.714097319156},"targetPosition":{"x":24388.764999673167,"y":31633.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Strategy","id":"0625f524-2b97-4b4d-8a90-590ffc62ecd3"}}}],"dataProductFolders":[],"id":"ffbfa6f7-5ca0-41c2-85e8-e9a3305ce12f","savedPayload":{"position":{"x":24388.764999673167,"y":31633.714097319156},"targetPosition":{"x":24483.764999673167,"y":31732.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Position","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Current Position","project":"Superalgos","id":"80cb8779-8e2b-4c33-bd43-c696dbc4e5f6","savedPayload":{"position":{"x":24450.764999673167,"y":31699.714097319156},"targetPosition":{"x":24505.764999673167,"y":31770.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Position","id":"832ecada-8da3-4ba6-b6e9-be34dd5f7ce9"}}},{"type":"Data Product","name":"Last Position","project":"Superalgos","id":"cd54c5f3-13f4-4e71-b233-b649d4878ab6","savedPayload":{"position":{"x":24418.764999673167,"y":31806.714097319156},"targetPosition":{"x":24505.764999673167,"y":31770.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Position","id":"477cd6d5-862a-44d0-9313-786a4e63a602"}}}],"dataProductFolders":[],"id":"3004c779-23c1-4f87-aedc-744dd6edb204","savedPayload":{"position":{"x":24505.764999673167,"y":31770.714097319156},"targetPosition":{"x":24483.764999673167,"y":31732.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Stages","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Open Stage","project":"Superalgos","id":"7466e39e-eced-4ca3-9d56-a0d1548b91c6","savedPayload":{"position":{"x":24514.764999673167,"y":31782.714097319156},"targetPosition":{"x":24547.764999673167,"y":31755.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Open Stage","id":"73c3c041-ba2a-4798-a362-a453409b518a"}}},{"type":"Data Product","name":"Close Stage","project":"Superalgos","id":"bea0a14e-e504-4e9e-a346-439180b6ad31","savedPayload":{"position":{"x":24613.764999673167,"y":31696.714097319156},"targetPosition":{"x":24547.764999673167,"y":31755.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Close Stage","id":"2bb9bb41-1ff5-4f83-aa5b-bfc4c9f06a9a"}}},{"type":"Data Product","name":"Trigger Stage","project":"Superalgos","id":"06ef8c46-5cc3-4890-9a44-8fd57b8e9ca3","savedPayload":{"position":{"x":24572.764999673167,"y":31655.714097319156},"targetPosition":{"x":24547.764999673167,"y":31755.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trigger Stage","id":"b6cff826-9056-4fbd-8eca-cbd6cceec962"}}},{"type":"Data Product","name":"Manage Stage","project":"Superalgos","id":"9df7d784-5665-4fa1-9d85-ee74845267aa","savedPayload":{"position":{"x":24532.764999673167,"y":31794.714097319156},"targetPosition":{"x":24547.764999673167,"y":31755.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Manage Stage","id":"bd691611-e7a6-49a8-b07d-c15360b55e40"}}}],"dataProductFolders":[],"id":"4767afd5-931b-4604-a5c6-d1f7c306096e","savedPayload":{"position":{"x":24547.764999673167,"y":31755.714097319156},"targetPosition":{"x":24483.764999673167,"y":31732.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Orders","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Market Buy Orders","project":"Superalgos","id":"4bc0034d-935a-4193-89cf-b18c65b0905a","savedPayload":{"position":{"x":24496.764999673167,"y":31884.714097319156},"targetPosition":{"x":24437.764999673167,"y":31818.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Buy Orders","id":"7c769317-2639-4460-8b88-9dc92f7b0585"}}},{"type":"Data Product","name":"Market Sell Orders","project":"Superalgos","id":"ffada7e3-6897-4d94-b119-eef67c178678","savedPayload":{"position":{"x":24450.764999673167,"y":31796.714097319156},"targetPosition":{"x":24437.764999673167,"y":31818.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Sell Orders","id":"9cc7645a-54fe-40d6-9896-9278167011fb"}}},{"type":"Data Product","name":"Limit Buy Orders","project":"Superalgos","id":"e195d10c-7b9f-4428-910e-11be05f66345","savedPayload":{"position":{"x":24512.764999673167,"y":31750.714097319156},"targetPosition":{"x":24437.764999673167,"y":31818.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Buy Orders","id":"4c827ee0-a29b-4b65-8438-03e2ea98b410"}}},{"type":"Data Product","name":"Limit Sell Orders","project":"Superalgos","id":"c396625e-9a71-4edd-a954-ea2c884538f5","savedPayload":{"position":{"x":24456.764999673167,"y":31737.714097319156},"targetPosition":{"x":24437.764999673167,"y":31818.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Sell Orders","id":"2c753cd8-36d8-466c-bd80-1ebfa8e314dc"}}},{"type":"Data Product","name":"Last Market Order","project":"Superalgos","id":"d15cc7d7-3e92-4f92-9bbe-e0a3ba499740","savedPayload":{"position":{"x":24473.764999673167,"y":31736.714097319156},"targetPosition":{"x":24437.764999673167,"y":31818.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Market Order","id":"6df1ac87-92d5-4788-b0bc-f3543b283ef0"}}},{"type":"Data Product","name":"Last Limit Order","project":"Superalgos","id":"507be75d-cd3c-4767-b159-328469e5c6e8","savedPayload":{"position":{"x":24418.764999673167,"y":31775.714097319156},"targetPosition":{"x":24437.764999673167,"y":31818.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Limit Order","id":"c24ec6a1-e937-4d20-93eb-4faf2a0becc3"}}}],"dataProductFolders":[],"id":"7ca1fb0a-67c1-41c3-945e-7b343d938c37","savedPayload":{"position":{"x":24437.764999673167,"y":31818.714097319156},"targetPosition":{"x":24483.764999673167,"y":31732.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b702fdec-9278-4b8a-9a5e-2a3fe6bc8d5b","savedPayload":{"position":{"x":24483.764999673167,"y":31732.714097319156},"targetPosition":{"x":24574.764999673167,"y":31719.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Trading System","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Trading System Errors","project":"Superalgos","id":"8cb33c4c-4561-4e2e-a145-19bb87fa9b61","savedPayload":{"position":{"x":24482.764999673167,"y":31709.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Errors","id":"1d9c570d-77c7-40ac-a61e-c5a57a411de8"}}},{"type":"Data Product","name":"Trading System Highlights","project":"Superalgos","id":"3521e920-c9b3-493b-9690-58101c475dad","savedPayload":{"position":{"x":24533.764999673167,"y":31705.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Highlights","id":"319f660a-78be-4cf4-8052-877837cad806"}}},{"type":"Data Product","name":"Trading System Values","project":"Superalgos","id":"084d12bb-30ec-4a0f-a356-a58817d4e266","savedPayload":{"position":{"x":24456.764999673167,"y":31606.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Values","id":"c90c009b-588d-45d4-aff1-05e375181dfa"}}},{"type":"Data Product","name":"Trading System Status","project":"Superalgos","id":"12e328ff-6658-4ca1-be6d-a93c8fc5c42e","savedPayload":{"position":{"x":24504.764999673167,"y":31681.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Status","id":"eed48c80-35c5-49fa-b12d-18e7280ffb8f"}}},{"type":"Data Product","name":"Trading System Progress","project":"Superalgos","id":"d35b7442-5911-4456-bc9e-c451e21d4a30","savedPayload":{"position":{"x":24540.764999673167,"y":31622.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Progress","id":"04c8606b-5e59-4e7d-b3ac-387bfffcd300"}}},{"type":"Data Product","name":"Trading System Running","project":"Superalgos","id":"65c269c0-2793-483c-ad8e-5c107a56b951","savedPayload":{"position":{"x":24506.764999673167,"y":31546.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Running","id":"17236f59-6ef2-4cc3-913c-1ff6db052236"}}},{"type":"Data Product","name":"Trading System Announcements","project":"Superalgos","id":"56631448-2669-47f1-bbc9-7dda628f433e","savedPayload":{"position":{"x":24591.764999673167,"y":31610.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Announcements","id":"4a6f828a-9671-431e-8257-fc920943581e"}}},{"type":"Data Product","name":"Trading System Warnings","project":"Superalgos","id":"c7c4ece9-6d52-4e9a-800e-11c22955c178","savedPayload":{"position":{"x":24461.764999673167,"y":31619.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Warnings","id":"34310596-466a-4e9a-a5a2-256b0fe3e339"}}},{"type":"Data Product","name":"Trading System Infos","project":"Superalgos","id":"f937c3f3-305c-4abc-aa12-0f2015e8f5fa","savedPayload":{"position":{"x":24481.764999673167,"y":31622.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Infos","id":"020ad519-0fc6-4f2f-9f26-b2c7de118fb8"}}}],"dataProductFolders":[],"id":"922f6ae2-8a20-492c-9c18-811e6a871c6f","savedPayload":{"position":{"x":24511.764999673167,"y":31639.714097319156},"targetPosition":{"x":24574.764999673167,"y":31719.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Simulation Objects","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Episodes","project":"Superalgos","id":"b4881fc1-e88b-4be3-805d-ab98c4ccbb0b","savedPayload":{"position":{"x":24665.764999673167,"y":31854.714097319156},"targetPosition":{"x":24566.764999673167,"y":31764.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episodes","id":"aeec080e-8caf-4976-8187-ba4e725b73b0"}}},{"type":"Data Product","name":"Strategies","project":"Superalgos","id":"7201adfb-d461-46b7-af3a-a45fabe24835","savedPayload":{"position":{"x":24582.764999673167,"y":31703.714097319156},"targetPosition":{"x":24566.764999673167,"y":31764.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Strategies","id":"21db6fce-8450-4b07-9015-d81a339fd030"}}}],"dataProductFolders":[{"type":"Data Product Folder","name":"Orders","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Market Buy Orders","project":"Superalgos","id":"c92a34c6-c74b-48ad-a57d-9fb78e3e642c","savedPayload":{"position":{"x":24564.764999673167,"y":31810.714097319156},"targetPosition":{"x":24477.764999673167,"y":31834.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Buy Orders","id":"db256083-9aa2-48e1-8fd6-3425a5085302"}}},{"type":"Data Product","name":"Market Sell Orders","project":"Superalgos","id":"442e4f1d-e420-43cf-94c8-08282408f555","savedPayload":{"position":{"x":24519.764999673167,"y":31839.714097319156},"targetPosition":{"x":24477.764999673167,"y":31834.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Sell Orders","id":"1958f79b-5c6c-4874-9154-98c314822ed7"}}},{"type":"Data Product","name":"Limit Buy Orders","project":"Superalgos","id":"5beb71e3-23fd-4e79-b7fd-46da219b1112","savedPayload":{"position":{"x":24568.764999673167,"y":31785.714097319156},"targetPosition":{"x":24477.764999673167,"y":31834.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Buy Orders","id":"5deceb32-c7ab-4560-818a-0f0b9d6632fb"}}},{"type":"Data Product","name":"Limit Sell Orders","project":"Superalgos","id":"1d6f14f5-c7fe-4b42-8a1b-5859e6e5a592","savedPayload":{"position":{"x":24434.764999673167,"y":31805.714097319156},"targetPosition":{"x":24477.764999673167,"y":31834.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Sell Orders","id":"2a1d405b-2fbe-4ed4-a76a-d2c7be59d20e"}}}],"dataProductFolders":[],"id":"10897f51-b5dd-4f76-8ab3-ac77df8a6976","savedPayload":{"position":{"x":24477.764999673167,"y":31834.714097319156},"targetPosition":{"x":24566.764999673167,"y":31764.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Stages","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Trigger Stages","project":"Superalgos","id":"7f256746-a20a-4856-af57-18f91e02fdaf","savedPayload":{"position":{"x":24611.764999673167,"y":31745.714097319156},"targetPosition":{"x":24619.764999673167,"y":31741.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trigger Stages","id":"18cc2e79-7e57-418c-b635-6c68fc11d681"}}},{"type":"Data Product","name":"Open Stages","project":"Superalgos","id":"c9b06e1b-2816-4770-b4d2-951b354fa688","savedPayload":{"position":{"x":24665.764999673167,"y":31718.714097319156},"targetPosition":{"x":24619.764999673167,"y":31741.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Open Stages","id":"d5938c00-0849-466d-ae14-4ea91b571678"}}},{"type":"Data Product","name":"Manage Stages","project":"Superalgos","id":"59770c0b-e50d-46d3-b62f-7ea080fcbeb2","savedPayload":{"position":{"x":24669.764999673167,"y":31762.714097319156},"targetPosition":{"x":24619.764999673167,"y":31741.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Manage Stages","id":"8fab86b3-db8d-4113-8418-1d256bd98cf2"}}},{"type":"Data Product","name":"Close Stages","project":"Superalgos","id":"56915d54-1528-46bf-ad3f-361ca441abc0","savedPayload":{"position":{"x":24613.764999673167,"y":31775.714097319156},"targetPosition":{"x":24619.764999673167,"y":31741.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Close Stages","id":"ba911e61-f951-48cd-b547-9a70aa211100"}}}],"dataProductFolders":[],"id":"768c6ff6-a03d-43d0-9a13-f7037e9352f3","savedPayload":{"position":{"x":24619.764999673167,"y":31741.714097319156},"targetPosition":{"x":24566.764999673167,"y":31764.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Position","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Positions","project":"Superalgos","id":"112221cf-8147-484f-a9aa-d86c2402d1b4","savedPayload":{"position":{"x":24690.764999673167,"y":31722.714097319156},"targetPosition":{"x":24617.764999673167,"y":31768.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Positions","id":"1eabba24-cbd4-4cbf-95e0-c5135349d41d"}}},{"type":"Data Product","name":"Position Base Asset","project":"Superalgos","id":"b92609ac-310d-482c-a96f-8e90d4c43d72","savedPayload":{"position":{"x":24647.764999673167,"y":31752.714097319156},"targetPosition":{"x":24617.764999673167,"y":31768.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Position Base Asset","id":"b371b039-f6c8-4f60-84cb-52f55c96c84d"}}},{"type":"Data Product","name":"Position Quoted Asset","project":"Superalgos","id":"1e037875-a2ee-44c3-8d8e-861f39f9d8a7","savedPayload":{"position":{"x":24703.764999673167,"y":31795.714097319156},"targetPosition":{"x":24617.764999673167,"y":31768.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Position Quoted Asset","id":"a376f02b-a5d2-4079-b5cd-ab7dc894b909"}}},{"type":"Data Product","name":"Stop Loss","project":"Superalgos","id":"7f2737da-5aef-4dbf-b86c-80132bcb3289","savedPayload":{"position":{"x":24703.764999673167,"y":31693.714097319156},"targetPosition":{"x":24617.764999673167,"y":31768.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Stop Loss","id":"c18bdc82-216a-4b1d-8850-5c3c9dc2000b"}}},{"type":"Data Product","name":"Take Profit","project":"Superalgos","id":"4d5fcd48-f3df-43c9-818e-70057086a961","savedPayload":{"position":{"x":24645.764999673167,"y":31699.714097319156},"targetPosition":{"x":24617.764999673167,"y":31768.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Take Profit","id":"2542c7d0-fa26-4b52-a59a-a3630e52eb89"}}}],"dataProductFolders":[],"id":"053b9219-8b8e-4b7e-a7c0-3132f44b2bc9","savedPayload":{"position":{"x":24617.764999673167,"y":31768.714097319156},"targetPosition":{"x":24566.764999673167,"y":31764.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0fac6eab-3a4a-4e40-aa19-ab019941ba92","savedPayload":{"position":{"x":24566.764999673167,"y":31764.714097319156},"targetPosition":{"x":24574.764999673167,"y":31719.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6f5b7da1-419c-4728-b650-6bcf0abe0381","savedPayload":{"position":{"x":24574.764999673167,"y":31719.714097319156},"targetPosition":{"x":24606.764999673167,"y":31755.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7d983ca2-8566-436b-ab21-445564aba4b3","savedPayload":{"position":{"x":24606.764999673167,"y":31755.714097319156},"targetPosition":{"x":24691.764999673167,"y":31841.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Trading Mine","name":"Masters","id":"6a54eece-4582-4cda-a854-1cd805e00fed"}}}],"id":"cfccd77b-3680-4e30-ba08-0bf8c906f739","savedPayload":{"position":{"x":24691.764999673167,"y":31841.714097319156},"targetPosition":{"x":24621.764999673167,"y":31804.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Backtesting Session","name":"WHB v2","id":"1ff8cd88-dcd9-4528-b406-05647ddd8c9c"}}},{"type":"Trading Session Reference","name":"WHB v2 Live Trading Session","project":"Superalgos","dataProducts":[],"tradingMineProducts":[{"type":"Trading Mine Products","name":"Masters","project":"Superalgos","botProducts":[{"type":"Bot Products","name":"Low Frequency","project":"Superalgos","dataProducts":[],"dataProductFolders":[{"type":"Data Product Folder","name":"Trading Engine","project":"Superalgos","dataProducts":[],"dataProductFolders":[{"type":"Data Product Folder","name":"Episode","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Episode Counters","project":"Superalgos","id":"4d1ea2bf-5a1d-4b37-9719-007e28b81184","savedPayload":{"position":{"x":24489.764999673167,"y":31757.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Counters","id":"d81c6019-864e-42f5-94ba-2f249b865f85"}}},{"type":"Data Product","name":"Episode Statistics","project":"Superalgos","id":"2c4ef698-66da-4079-90ec-9fdf5ce41be7","savedPayload":{"position":{"x":24567.764999673167,"y":31886.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Statistics","id":"400c7f49-37da-41fb-b83d-879960aa74ff"}}},{"type":"Data Product","name":"Episode Candle","project":"Superalgos","id":"5ee16bd3-cb60-4b92-ab67-d56dfbdd8671","savedPayload":{"position":{"x":24423.764999673167,"y":31729.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Candle","id":"b9a58113-cf27-4d57-9810-87a2cc158804"}}},{"type":"Data Product","name":"Episode Balances","project":"Superalgos","id":"660caa52-ba9a-4829-9143-3ca16f2590aa","savedPayload":{"position":{"x":24506.764999673167,"y":31873.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Balances","id":"a9a53d82-133b-4417-b639-f9a56d338233"}}},{"type":"Data Product","name":"Distance To Event","project":"Superalgos","id":"382ccb5c-e0c3-4e34-97b9-599cf5d6792d","savedPayload":{"position":{"x":24586.764999673167,"y":31757.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Distance To Event","id":"8ea88d6c-7d7f-4152-b781-ea108df52c63"}}},{"type":"Data Product","name":"Episode Base Asset","project":"Superalgos","id":"42d86745-d971-4328-a908-91bf6d19a019","savedPayload":{"position":{"x":24522.764999673167,"y":31859.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Base Asset","id":"234969ff-eab1-4d59-b6fa-79433c9a20e9"}}},{"type":"Data Product","name":"Episode Quoted Asset","project":"Superalgos","id":"7dbf878d-588f-422e-acd2-03968abaf5f0","savedPayload":{"position":{"x":24493.764999673167,"y":31796.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Quoted Asset","id":"ae525e31-d6a8-47d2-9021-3f2ddb9615b0"}}},{"type":"Data Product","name":"Current Episode","project":"Superalgos","id":"d678dfa8-544b-456f-b3f0-715579440aa2","savedPayload":{"position":{"x":24424.764999673167,"y":31797.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Episode","id":"b8da0132-ba28-46ec-aa54-eb9eaac56ce7"}}}],"dataProductFolders":[],"id":"bc8ed9e2-3910-497b-b29e-dc88db8ab671","savedPayload":{"position":{"x":24512.764999673167,"y":31797.714097319156},"targetPosition":{"x":24543.764999673167,"y":31702.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Strategy","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Current Strategy","project":"Superalgos","id":"07b721a0-55e0-4e7a-b0e2-a91e8c76de4f","savedPayload":{"position":{"x":24581.764999673167,"y":31793.714097319156},"targetPosition":{"x":24550.764999673167,"y":31758.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Strategy","id":"895d8a04-ef45-41a7-909a-ba31013ffb90"}}},{"type":"Data Product","name":"Last Strategy","project":"Superalgos","id":"15f34c1a-b30d-4dd1-96e0-8a2646de3635","savedPayload":{"position":{"x":24452.764999673167,"y":31750.714097319156},"targetPosition":{"x":24550.764999673167,"y":31758.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Strategy","id":"0625f524-2b97-4b4d-8a90-590ffc62ecd3"}}}],"dataProductFolders":[],"id":"3c5ab12d-c6cf-4b36-baec-a83284745381","savedPayload":{"position":{"x":24550.764999673167,"y":31758.714097319156},"targetPosition":{"x":24543.764999673167,"y":31702.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Position","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Current Position","project":"Superalgos","id":"ab53428d-89a3-4b1f-84b1-d5bd1d957f02","savedPayload":{"position":{"x":24615.764999673167,"y":31642.714097319156},"targetPosition":{"x":24558.764999673167,"y":31719.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Position","id":"832ecada-8da3-4ba6-b6e9-be34dd5f7ce9"}}},{"type":"Data Product","name":"Last Position","project":"Superalgos","id":"5909ca07-e00c-4669-9cd3-17eb83796f31","savedPayload":{"position":{"x":24584.764999673167,"y":31640.714097319156},"targetPosition":{"x":24558.764999673167,"y":31719.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Position","id":"477cd6d5-862a-44d0-9313-786a4e63a602"}}}],"dataProductFolders":[],"id":"73850961-f70a-4995-a51e-6f35382f1294","savedPayload":{"position":{"x":24558.764999673167,"y":31719.714097319156},"targetPosition":{"x":24543.764999673167,"y":31702.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Stages","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Open Stage","project":"Superalgos","id":"68803338-3e70-443f-90fd-8b36f5378f31","savedPayload":{"position":{"x":24556.764999673167,"y":31721.714097319156},"targetPosition":{"x":24589.764999673167,"y":31691.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Open Stage","id":"73c3c041-ba2a-4798-a362-a453409b518a"}}},{"type":"Data Product","name":"Close Stage","project":"Superalgos","id":"2d2dd9df-d00a-4d69-9b29-66e19d0238fe","savedPayload":{"position":{"x":24613.764999673167,"y":31786.714097319156},"targetPosition":{"x":24589.764999673167,"y":31691.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Close Stage","id":"2bb9bb41-1ff5-4f83-aa5b-bfc4c9f06a9a"}}},{"type":"Data Product","name":"Trigger Stage","project":"Superalgos","id":"7a71d0ce-5592-4b70-b30c-9676b67feb47","savedPayload":{"position":{"x":24505.764999673167,"y":31770.714097319156},"targetPosition":{"x":24589.764999673167,"y":31691.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trigger Stage","id":"b6cff826-9056-4fbd-8eca-cbd6cceec962"}}},{"type":"Data Product","name":"Manage Stage","project":"Superalgos","id":"5b233b81-aa5f-4222-9772-5c8810cb683a","savedPayload":{"position":{"x":24670.764999673167,"y":31739.714097319156},"targetPosition":{"x":24589.764999673167,"y":31691.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Manage Stage","id":"bd691611-e7a6-49a8-b07d-c15360b55e40"}}}],"dataProductFolders":[],"id":"f7fff058-7a27-462e-8c28-56c7df8d17db","savedPayload":{"position":{"x":24589.764999673167,"y":31691.714097319156},"targetPosition":{"x":24543.764999673167,"y":31702.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Orders","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Market Buy Orders","project":"Superalgos","id":"0487769a-1b78-45ce-8750-6cb55c0785f4","savedPayload":{"position":{"x":24636.764999673167,"y":31795.714097319156},"targetPosition":{"x":24641.764999673167,"y":31785.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Buy Orders","id":"7c769317-2639-4460-8b88-9dc92f7b0585"}}},{"type":"Data Product","name":"Market Sell Orders","project":"Superalgos","id":"6e666549-9e9f-42d3-b543-fc0ce961cc64","savedPayload":{"position":{"x":24710.764999673167,"y":31864.714097319156},"targetPosition":{"x":24641.764999673167,"y":31785.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Sell Orders","id":"9cc7645a-54fe-40d6-9896-9278167011fb"}}},{"type":"Data Product","name":"Limit Buy Orders","project":"Superalgos","id":"a596b5e6-666d-4da0-bd2f-2b65292b8d87","savedPayload":{"position":{"x":24642.764999673167,"y":31763.714097319156},"targetPosition":{"x":24641.764999673167,"y":31785.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Buy Orders","id":"4c827ee0-a29b-4b65-8438-03e2ea98b410"}}},{"type":"Data Product","name":"Limit Sell Orders","project":"Superalgos","id":"528f2741-eda9-4dd4-b731-8110336c0a34","savedPayload":{"position":{"x":24718.764999673167,"y":31826.714097319156},"targetPosition":{"x":24641.764999673167,"y":31785.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Sell Orders","id":"2c753cd8-36d8-466c-bd80-1ebfa8e314dc"}}},{"type":"Data Product","name":"Last Market Order","project":"Superalgos","id":"0d7a0263-dc84-4b4a-a6cc-ad6c3f9824fe","savedPayload":{"position":{"x":24738.764999673167,"y":31851.714097319156},"targetPosition":{"x":24641.764999673167,"y":31785.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Market Order","id":"6df1ac87-92d5-4788-b0bc-f3543b283ef0"}}},{"type":"Data Product","name":"Last Limit Order","project":"Superalgos","id":"51e9b95a-96c1-4cf4-a188-9669c73c7e8e","savedPayload":{"position":{"x":24647.764999673167,"y":31824.714097319156},"targetPosition":{"x":24641.764999673167,"y":31785.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Limit Order","id":"c24ec6a1-e937-4d20-93eb-4faf2a0becc3"}}}],"dataProductFolders":[],"id":"0dbd65bc-9ab3-40f3-b972-4b6c6c304d1d","savedPayload":{"position":{"x":24641.764999673167,"y":31785.714097319156},"targetPosition":{"x":24543.764999673167,"y":31702.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1facfef6-da1b-40a6-ba07-bbec4ef2f246","savedPayload":{"position":{"x":24543.764999673167,"y":31702.714097319156},"targetPosition":{"x":24590.764999673167,"y":31617.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Trading System","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Trading System Errors","project":"Superalgos","id":"1c539f66-a512-4cd9-b974-622b95e2cca9","savedPayload":{"position":{"x":24490.764999673167,"y":31599.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Errors","id":"1d9c570d-77c7-40ac-a61e-c5a57a411de8"}}},{"type":"Data Product","name":"Trading System Highlights","project":"Superalgos","id":"409e6575-034e-4d3d-99e5-0495ba229622","savedPayload":{"position":{"x":24552.764999673167,"y":31522.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Highlights","id":"319f660a-78be-4cf4-8052-877837cad806"}}},{"type":"Data Product","name":"Trading System Values","project":"Superalgos","id":"55245047-2d2d-4a04-97f9-d413d82375a9","savedPayload":{"position":{"x":24516.764999673167,"y":31668.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Values","id":"c90c009b-588d-45d4-aff1-05e375181dfa"}}},{"type":"Data Product","name":"Trading System Status","project":"Superalgos","id":"9f9ea8fa-0769-44b9-a4f1-86f2c3a22195","savedPayload":{"position":{"x":24485.764999673167,"y":31687.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Status","id":"eed48c80-35c5-49fa-b12d-18e7280ffb8f"}}},{"type":"Data Product","name":"Trading System Progress","project":"Superalgos","id":"d2e7ed86-a88f-484b-ab5f-d6212cb7045f","savedPayload":{"position":{"x":24550.764999673167,"y":31549.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Progress","id":"04c8606b-5e59-4e7d-b3ac-387bfffcd300"}}},{"type":"Data Product","name":"Trading System Running","project":"Superalgos","id":"0a0b3b0e-cac0-42a3-8825-637b2b78afad","savedPayload":{"position":{"x":24548.764999673167,"y":31673.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Running","id":"17236f59-6ef2-4cc3-913c-1ff6db052236"}}},{"type":"Data Product","name":"Trading System Announcements","project":"Superalgos","id":"b79dfe54-361e-44f2-87ce-5e012bba3bcd","savedPayload":{"position":{"x":24578.764999673167,"y":31641.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Announcements","id":"4a6f828a-9671-431e-8257-fc920943581e"}}},{"type":"Data Product","name":"Trading System Warnings","project":"Superalgos","id":"29681b5e-16e2-4bc0-816e-537b271c0ea5","savedPayload":{"position":{"x":24560.764999673167,"y":31530.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Warnings","id":"34310596-466a-4e9a-a5a2-256b0fe3e339"}}},{"type":"Data Product","name":"Trading System Infos","project":"Superalgos","id":"3da52870-d76c-4e37-9247-9eecfdbb64ec","savedPayload":{"position":{"x":24629.764999673167,"y":31678.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Infos","id":"020ad519-0fc6-4f2f-9f26-b2c7de118fb8"}}}],"dataProductFolders":[],"id":"62beef62-7bc7-4980-b2f5-050542e09597","savedPayload":{"position":{"x":24530.764999673167,"y":31600.714097319156},"targetPosition":{"x":24590.764999673167,"y":31617.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Simulation Objects","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Episodes","project":"Superalgos","id":"802ebea8-becf-45e5-b761-078cad3acd74","savedPayload":{"position":{"x":24594.764999673167,"y":31696.714097319156},"targetPosition":{"x":24671.764999673167,"y":31599.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episodes","id":"aeec080e-8caf-4976-8187-ba4e725b73b0"}}},{"type":"Data Product","name":"Strategies","project":"Superalgos","id":"601cbf34-9a33-4066-9709-b23c6c34b17d","savedPayload":{"position":{"x":24647.764999673167,"y":31534.714097319156},"targetPosition":{"x":24671.764999673167,"y":31599.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Strategies","id":"21db6fce-8450-4b07-9015-d81a339fd030"}}}],"dataProductFolders":[{"type":"Data Product Folder","name":"Orders","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Market Buy Orders","project":"Superalgos","id":"e1516339-ebcb-4840-a23d-cebd855911b6","savedPayload":{"position":{"x":24566.764999673167,"y":31615.714097319156},"targetPosition":{"x":24637.764999673167,"y":31564.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Buy Orders","id":"db256083-9aa2-48e1-8fd6-3425a5085302"}}},{"type":"Data Product","name":"Market Sell Orders","project":"Superalgos","id":"57a0d52c-d2a3-4fd3-907c-66fd51cecdc6","savedPayload":{"position":{"x":24569.764999673167,"y":31593.714097319156},"targetPosition":{"x":24637.764999673167,"y":31564.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Sell Orders","id":"1958f79b-5c6c-4874-9154-98c314822ed7"}}},{"type":"Data Product","name":"Limit Buy Orders","project":"Superalgos","id":"b67b6a65-5bd1-4b58-aa65-a8b840c54d9b","savedPayload":{"position":{"x":24640.764999673167,"y":31587.714097319156},"targetPosition":{"x":24637.764999673167,"y":31564.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Buy Orders","id":"5deceb32-c7ab-4560-818a-0f0b9d6632fb"}}},{"type":"Data Product","name":"Limit Sell Orders","project":"Superalgos","id":"c27b0f50-fdad-4b69-a99e-2708806066aa","savedPayload":{"position":{"x":24566.764999673167,"y":31467.714097319156},"targetPosition":{"x":24637.764999673167,"y":31564.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Sell Orders","id":"2a1d405b-2fbe-4ed4-a76a-d2c7be59d20e"}}}],"dataProductFolders":[],"id":"6b55d39b-b602-4d0f-9d73-253e4fbe60ee","savedPayload":{"position":{"x":24637.764999673167,"y":31564.714097319156},"targetPosition":{"x":24671.764999673167,"y":31599.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Stages","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Trigger Stages","project":"Superalgos","id":"bc3d588e-823d-4461-b550-b8ec912c4c8f","savedPayload":{"position":{"x":24637.764999673167,"y":31555.714097319156},"targetPosition":{"x":24613.764999673167,"y":31631.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trigger Stages","id":"18cc2e79-7e57-418c-b635-6c68fc11d681"}}},{"type":"Data Product","name":"Open Stages","project":"Superalgos","id":"edb07104-591d-453b-b7fe-bd3854ff8a36","savedPayload":{"position":{"x":24648.764999673167,"y":31561.714097319156},"targetPosition":{"x":24613.764999673167,"y":31631.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Open Stages","id":"d5938c00-0849-466d-ae14-4ea91b571678"}}},{"type":"Data Product","name":"Manage Stages","project":"Superalgos","id":"9b884f77-297b-4618-ac4b-b995570284b6","savedPayload":{"position":{"x":24608.764999673167,"y":31550.714097319156},"targetPosition":{"x":24613.764999673167,"y":31631.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Manage Stages","id":"8fab86b3-db8d-4113-8418-1d256bd98cf2"}}},{"type":"Data Product","name":"Close Stages","project":"Superalgos","id":"c07cc0bb-c49e-42d1-a5ba-f5fa9882fbab","savedPayload":{"position":{"x":24604.764999673167,"y":31605.714097319156},"targetPosition":{"x":24613.764999673167,"y":31631.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Close Stages","id":"ba911e61-f951-48cd-b547-9a70aa211100"}}}],"dataProductFolders":[],"id":"9d38f1ab-49ec-461c-9eb1-7f7bb7529baf","savedPayload":{"position":{"x":24613.764999673167,"y":31631.714097319156},"targetPosition":{"x":24671.764999673167,"y":31599.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Position","project":"Superalgos","dataProducts":[{"type":"Data Product","name":"Positions","project":"Superalgos","id":"0e3c5d47-28d9-4cd3-ad72-1bdb054550a8","savedPayload":{"position":{"x":24597.764999673167,"y":31560.714097319156},"targetPosition":{"x":24640.764999673167,"y":31593.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Positions","id":"1eabba24-cbd4-4cbf-95e0-c5135349d41d"}}},{"type":"Data Product","name":"Position Base Asset","project":"Superalgos","id":"47ffaf48-d92f-4da8-afb3-7787c5ba597e","savedPayload":{"position":{"x":24557.764999673167,"y":31660.714097319156},"targetPosition":{"x":24640.764999673167,"y":31593.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Position Base Asset","id":"b371b039-f6c8-4f60-84cb-52f55c96c84d"}}},{"type":"Data Product","name":"Position Quoted Asset","project":"Superalgos","id":"59eb8fe6-5429-4d2d-8971-47580c5816b8","savedPayload":{"position":{"x":24542.764999673167,"y":31682.714097319156},"targetPosition":{"x":24640.764999673167,"y":31593.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Position Quoted Asset","id":"a376f02b-a5d2-4079-b5cd-ab7dc894b909"}}},{"type":"Data Product","name":"Stop Loss","project":"Superalgos","id":"13a4d476-b8bb-4bb3-9a97-1c2a7b5c6188","savedPayload":{"position":{"x":24736.764999673167,"y":31626.714097319156},"targetPosition":{"x":24640.764999673167,"y":31593.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Stop Loss","id":"c18bdc82-216a-4b1d-8850-5c3c9dc2000b"}}},{"type":"Data Product","name":"Take Profit","project":"Superalgos","id":"1af2f188-5506-47ff-859b-08e8f1c56754","savedPayload":{"position":{"x":24540.764999673167,"y":31498.714097319156},"targetPosition":{"x":24640.764999673167,"y":31593.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Take Profit","id":"2542c7d0-fa26-4b52-a59a-a3630e52eb89"}}}],"dataProductFolders":[],"id":"23dd1804-2a69-4a66-9c55-9b7a5333c263","savedPayload":{"position":{"x":24640.764999673167,"y":31593.714097319156},"targetPosition":{"x":24671.764999673167,"y":31599.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"224dd8a4-9dda-4294-8287-bb108a560eae","savedPayload":{"position":{"x":24671.764999673167,"y":31599.714097319156},"targetPosition":{"x":24590.764999673167,"y":31617.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"893b0c86-043f-404c-b4d7-c77d74c6002c","savedPayload":{"position":{"x":24590.764999673167,"y":31617.714097319156},"targetPosition":{"x":24603.764999673167,"y":31701.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ffdfebe3-50db-41b5-8077-7a7d0d008865","savedPayload":{"position":{"x":24603.764999673167,"y":31701.714097319156},"targetPosition":{"x":24562.764999673167,"y":31792.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Trading Mine","name":"Masters","id":"6a54eece-4582-4cda-a854-1cd805e00fed"}}}],"id":"8e57ee10-b239-4a92-81b4-44315e3cfd03","savedPayload":{"position":{"x":24562.764999673167,"y":31792.714097319156},"targetPosition":{"x":24621.764999673167,"y":31804.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Live Trading Session","name":"WHB v2","id":"934095e8-4a1c-4baf-828f-7818f73c4219"}}}],"id":"d04c2806-8d2d-4de2-8d10-b05a87a91b65","savedPayload":{"position":{"x":24497.82155202995,"y":31918.453279226815},"targetPosition":{"x":24720.764999673167,"y":31717.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"f601d2a7-fada-477f-9b63-3ef7ed42d44a","savedPayload":{"position":{"x":24720.764999673167,"y":31717.714097319156},"targetPosition":{"x":24943.708447316385,"y":31516.974915411498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"e4e268f3-a677-4f90-90a1-d87244e647e5","savedPayload":{"position":{"x":24943.708447316385,"y":31516.974915411498},"targetPosition":{"x":25166.651894959603,"y":31316.23573350384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"learningMinesData":{"type":"Learning Mines Data","name":"New Learning Mines Data","project":"Superalgos","exchangeLearningProducts":[],"id":"6f1d049c-18b7-4c73-9c2e-f65068679719","savedPayload":{"position":{"x":25197.356993272086,"y":31220.726399750627},"targetPosition":{"x":25109.356993272086,"y":31291.726399750627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e2697759-6038-4943-b90c-5a68651ff9a8","savedPayload":{"position":{"x":25109.356993272086,"y":31291.726399750627},"targetPosition":{"x":25259.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"d"}}},"id":"e452cf65-2b2b-44f2-9e67-bdd9d3c008e4","savedPayload":{"position":{"x":25259.356993272086,"y":31031.918778615294},"targetPosition":{"x":24959.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"3c165071-7558-4708-9999-8ffe71d346b1","savedPayload":{"position":{"x":24959.356993272086,"y":31031.918778615294},"targetPosition":{"x":24959.356993272086,"y":31031.918778615294},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},{"type":"Crypto Ecosystem","name":"My Crypto Ecosystem","project":"Superalgos","cryptoExchanges":[{"type":"Crypto Exchanges","name":"Tested","project":"Superalgos","exchanges":[{"type":"Crypto Exchange","name":"Binance","config":"{\n \"codeName\": \"binance\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"EUR\"} \n}","project":"Superalgos","assets":[{"type":"Asset","name":"Bitcoin","config":"{ \n\"codeName\": \"BTC\"\n}","project":"Superalgos","id":"5f5e4a94-5090-47d4-8883-cc2325d20bfa","savedPayload":{"position":{"x":19794.079365950267,"y":30512.325102172115},"targetPosition":{"x":19716.43365241951,"y":30802.102850058836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Asset","name":"Tether","config":"{ \n\"codeName\": \"USDT\"\n}","project":"Superalgos","id":"f110bfa0-bd5b-469b-a940-4524c8688136","savedPayload":{"position":{"x":20006.21140030623,"y":30724.45713652808},"targetPosition":{"x":19716.43365241951,"y":30802.102850058836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"id":"95d2c30f-215b-486e-8119-f4eac0279575","savedPayload":{"position":{"x":19716.43365241951,"y":30802.102850058836},"targetPosition":{"x":19504.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"E"}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","code":"{ \n\"codeName\": \"Write here the code name of the Market here.\"\n}","project":"Superalgos","markets":[{"type":"Market","name":"BTC/USDT","config":"{ \n\"codeName\": \"BTC/USDT\"\n}","project":"Superalgos","baseAsset":{"type":"Market Base Asset","name":"Bitcoin","project":"Superalgos","id":"1017b30d-de1b-4212-991e-9fd0a5b6c814","savedPayload":{"position":{"x":20394.079365950267,"y":30936.589170884043},"targetPosition":{"x":20104.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Asset","name":"Bitcoin","id":"5f5e4a94-5090-47d4-8883-cc2325d20bfa"}}},"quotedAsset":{"type":"Market Quoted Asset","name":"Tether","project":"Superalgos","id":"705c4a67-787a-48cd-a3dc-3a557438bf0b","savedPayload":{"position":{"x":20394.079365950267,"y":31091.880597945557},"targetPosition":{"x":20104.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Asset","name":"Tether","id":"f110bfa0-bd5b-469b-a940-4524c8688136"}}},"id":"9a867bf0-a71d-445c-b99a-75b60bbdce09","savedPayload":{"position":{"x":20104.301618063546,"y":31014.2348844148},"targetPosition":{"x":19804.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2fd80894-900e-44ac-a1a7-56c14124f7a1","savedPayload":{"position":{"x":19804.301618063546,"y":31014.2348844148},"targetPosition":{"x":19504.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[{"type":"Exchange Account Asset","name":"Bitcoin","project":"Superalgos","id":"ba6f3d5c-b36b-49d9-947f-392068109169","savedPayload":{"position":{"x":20508.121182548915,"y":31438.498953126727},"targetPosition":{"x":20218.343434662194,"y":31516.144666657485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Asset","name":"Bitcoin","id":"5f5e4a94-5090-47d4-8883-cc2325d20bfa"}}},{"type":"Exchange Account Asset","name":"Tether","project":"Superalgos","id":"c90be267-90f9-45ae-b225-0578adb4aad9","savedPayload":{"position":{"x":20430.475469018158,"y":31728.27670101345},"targetPosition":{"x":20218.343434662194,"y":31516.144666657485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Asset","name":"Tether","id":"f110bfa0-bd5b-469b-a940-4524c8688136"}}}],"id":"8ac5c2a9-a238-48ae-ab43-0a0a95a37464","savedPayload":{"position":{"x":20218.343434662194,"y":31516.144666657485},"targetPosition":{"x":19928.565686775473,"y":31438.498953126727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"Key for Lighting Strike","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"e85bbbd6-aca8-450f-9237-788062de5761","savedPayload":{"position":{"x":20083.857113836988,"y":32018.05444890017},"targetPosition":{"x":20006.21140030623,"y":31728.27670101345},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"id":"48925cc9-f3cd-4499-8466-1338fed28a0d","savedPayload":{"position":{"x":20006.21140030623,"y":31728.27670101345},"targetPosition":{"x":19928.565686775473,"y":31438.498953126727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"63794496-c94b-42f9-81cc-c588708617a6","savedPayload":{"position":{"x":19928.565686775473,"y":31438.498953126727},"targetPosition":{"x":19716.43365241951,"y":31226.366918770764},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4b0c1ac5-515f-44a9-b9b9-e698a9c51eac","savedPayload":{"position":{"x":19716.43365241951,"y":31226.366918770764},"targetPosition":{"x":19504.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b","savedPayload":{"position":{"x":19504.301618063546,"y":31014.2348844148},"targetPosition":{"x":19204.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""},"tutorial":{"status":"Done"}}}],"id":"e3879d63-6f8f-41a3-8ac3-0349c4361722","savedPayload":{"position":{"x":19204.301618063546,"y":31014.2348844148},"targetPosition":{"x":18904.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchanges","name":"Untested","project":"Superalgos","exchanges":[{"type":"Crypto Exchange","name":"ACX","config":"{ \n\"codeName\": \"acx\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"ebcb522b-ae58-46d2-9d82-a9b0beec3976","savedPayload":{"position":{"x":17935.64382962515,"y":31014.23747069523},"targetPosition":{"x":17912.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"b2649588-27c6-442c-b179-f6d8817188b3","savedPayload":{"position":{"x":17954.64382962515,"y":31004.23747069523},"targetPosition":{"x":17912.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"9b2051d5-7ee7-4e94-8c8d-306674889339","savedPayload":{"position":{"x":17838.64382962515,"y":30896.23747069523},"targetPosition":{"x":17766.64382962515,"y":30905.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"1d5461aa-d26c-4df5-b383-8c83e311b8ca","savedPayload":{"position":{"x":17643.64382962515,"y":30952.23747069523},"targetPosition":{"x":17698.64382962515,"y":30973.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"c6372400-de52-4b63-97f3-f748aac9c63f","savedPayload":{"position":{"x":17698.64382962515,"y":30973.23747069523},"targetPosition":{"x":17766.64382962515,"y":30905.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c948314e-2247-4234-b83d-cc2c1b152665","savedPayload":{"position":{"x":17766.64382962515,"y":30905.23747069523},"targetPosition":{"x":17837.64382962515,"y":30978.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"04ccb742-ef1b-4138-b38d-a6b0d92f2f8e","savedPayload":{"position":{"x":17837.64382962515,"y":30978.23747069523},"targetPosition":{"x":17912.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e9c21b2d-de21-43b5-8b48-51367a8c981c","savedPayload":{"position":{"x":19313.14497226101,"y":30565.583066825377},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"AOFEX","config":"{ \n\"codeName\": \"aofex\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"623ef91b-04c0-4bd5-ac0d-b32c809be3ea","savedPayload":{"position":{"x":17973.64382962515,"y":30923.23747069523},"targetPosition":{"x":17950.64382962515,"y":30994.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"9d0b5855-59a6-4dda-9a4b-33d7a44d582e","savedPayload":{"position":{"x":17901.64382962515,"y":30994.23747069523},"targetPosition":{"x":17950.64382962515,"y":30994.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"e898e569-0dd3-4a22-baa5-caaace66d4ed","savedPayload":{"position":{"x":18062.64382962515,"y":30838.23747069523},"targetPosition":{"x":17982.64382962515,"y":30899.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"64a69d3d-15ff-41c3-a926-5ec93c932ab1","savedPayload":{"position":{"x":17822.64382962515,"y":31052.23747069523},"targetPosition":{"x":17893.64382962515,"y":30981.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ae2785c5-75a1-44fc-a71b-363d88cb5dac","savedPayload":{"position":{"x":17893.64382962515,"y":30981.23747069523},"targetPosition":{"x":17982.64382962515,"y":30899.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"07ea69aa-7357-43b1-b548-a4c4fab70c55","savedPayload":{"position":{"x":17982.64382962515,"y":30899.23747069523},"targetPosition":{"x":17971.64382962515,"y":30962.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2146b410-fc4e-452d-ae57-5d58c9a29706","savedPayload":{"position":{"x":17971.64382962515,"y":30962.23747069523},"targetPosition":{"x":17950.64382962515,"y":30994.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c2e9bb45-97c7-47e8-b13c-56946e673c53","savedPayload":{"position":{"x":19413.67778623216,"y":30647.89853748846},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bequant","config":"{ \n\"codeName\": \"bequant\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"b23c8adf-c880-48fd-b4af-4b4be86cf0e5","savedPayload":{"position":{"x":18059.64382962515,"y":31101.23747069523},"targetPosition":{"x":17960.64382962515,"y":31060.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"523bd94f-68f9-457e-91fd-806c1b95e98d","savedPayload":{"position":{"x":18006.64382962515,"y":31117.23747069523},"targetPosition":{"x":17960.64382962515,"y":31060.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"9d914bb1-a68b-41ae-8666-0fcc755358c1","savedPayload":{"position":{"x":17859.64382962515,"y":30964.23747069523},"targetPosition":{"x":17936.64382962515,"y":31059.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"15d903b5-113c-465e-8120-7c46a9a85565","savedPayload":{"position":{"x":17976.64382962515,"y":31146.23747069523},"targetPosition":{"x":17943.64382962515,"y":31134.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"2d1c0bc3-abe2-4340-91bf-2eef5b98a2f0","savedPayload":{"position":{"x":17943.64382962515,"y":31134.23747069523},"targetPosition":{"x":17936.64382962515,"y":31059.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5a50d459-914c-4bfc-91e8-f15c383280eb","savedPayload":{"position":{"x":17936.64382962515,"y":31059.23747069523},"targetPosition":{"x":17931.64382962515,"y":31071.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b2f2b69f-3bef-4edc-9950-5261d9f36382","savedPayload":{"position":{"x":17931.64382962515,"y":31071.23747069523},"targetPosition":{"x":17960.64382962515,"y":31060.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8e928d3e-a2c2-4341-aa2f-b753551c9479","savedPayload":{"position":{"x":19504.72140465123,"y":30740.600980501622},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bibox","config":"{ \n\"codeName\": \"bibox\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"13c1f22c-9a35-4d3f-b000-c96984fd6a2b","savedPayload":{"position":{"x":17995.64382962515,"y":31047.23747069523},"targetPosition":{"x":17929.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"3c6df49d-70c3-468a-bdd8-6768ce6d3a9d","savedPayload":{"position":{"x":17916.64382962515,"y":31018.23747069523},"targetPosition":{"x":17929.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"5a54ef39-8fba-4a5f-ac24-5f27e763e28f","savedPayload":{"position":{"x":18050.64382962515,"y":31174.23747069523},"targetPosition":{"x":17956.64382962515,"y":31128.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"08df1f45-dab0-463a-8758-359973f2620d","savedPayload":{"position":{"x":17899.64382962515,"y":31242.23747069523},"targetPosition":{"x":17959.64382962515,"y":31180.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"105b52c2-90ad-4fa1-b690-d8fab14209b4","savedPayload":{"position":{"x":17959.64382962515,"y":31180.23747069523},"targetPosition":{"x":17956.64382962515,"y":31128.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"68c1ef42-1b7b-4cc6-981f-80b20dabcd89","savedPayload":{"position":{"x":17956.64382962515,"y":31128.23747069523},"targetPosition":{"x":17907.64382962515,"y":31057.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fc35e5d0-ea61-42b6-979a-859f19c5ac6c","savedPayload":{"position":{"x":17907.64382962515,"y":31057.23747069523},"targetPosition":{"x":17929.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e5f9ee4d-77a3-48ae-b354-b2f6a97d5e47","savedPayload":{"position":{"x":19585.208424334218,"y":30842.603544479174},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BigONE","config":"{ \n\"codeName\": \"bigone\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"3f289513-c1c8-457c-b65a-8cf62b5f5eb5","savedPayload":{"position":{"x":17778.64382962515,"y":31071.23747069523},"targetPosition":{"x":17839.64382962515,"y":31063.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"8b365e73-1cee-496a-921f-121cb628a130","savedPayload":{"position":{"x":17798.64382962515,"y":31121.23747069523},"targetPosition":{"x":17839.64382962515,"y":31063.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"447a4f6f-cfa0-443e-9339-d7c1153ada31","savedPayload":{"position":{"x":17921.64382962515,"y":31046.23747069523},"targetPosition":{"x":17891.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"0d234c53-c121-471e-bce1-a258c13cd148","savedPayload":{"position":{"x":17848.64382962515,"y":31175.23747069523},"targetPosition":{"x":17944.64382962515,"y":31086.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"816e1b6a-d790-4abd-9ae1-e203fa737af2","savedPayload":{"position":{"x":17944.64382962515,"y":31086.23747069523},"targetPosition":{"x":17891.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"561a57f7-8c22-4e50-840d-d983ed6bb864","savedPayload":{"position":{"x":17891.64382962515,"y":31102.23747069523},"targetPosition":{"x":17813.64382962515,"y":31064.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e243bd5d-ade7-46c8-876b-6ad8c6eb5e0a","savedPayload":{"position":{"x":17813.64382962515,"y":31064.23747069523},"targetPosition":{"x":17839.64382962515,"y":31063.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fb9ee540-bf12-4dda-bf87-cb6b58fce649","savedPayload":{"position":{"x":19654.195208565325,"y":30952.710342620318},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Binance Jersey","config":"{ \n\"codeName\": \"binanceje\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"0b979ea9-7a2d-4744-9517-2dfa632dfafc","savedPayload":{"position":{"x":17852.64382962515,"y":30989.23747069523},"targetPosition":{"x":17933.64382962515,"y":30992.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"b9a4497d-20f1-4c61-9a79-444e0fe0ddf4","savedPayload":{"position":{"x":17924.64382962515,"y":30952.23747069523},"targetPosition":{"x":17933.64382962515,"y":30992.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"1b24d8a4-ec70-4501-838c-7633f6f7288e","savedPayload":{"position":{"x":17882.64382962515,"y":31051.23747069523},"targetPosition":{"x":17942.64382962515,"y":31066.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"627472e3-638f-4d68-a917-d0844d6a227b","savedPayload":{"position":{"x":17991.64382962515,"y":31190.23747069523},"targetPosition":{"x":17986.64382962515,"y":31110.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"b8ce75fb-93c9-4ca2-9b2b-9f8ed8af34f3","savedPayload":{"position":{"x":17986.64382962515,"y":31110.23747069523},"targetPosition":{"x":17942.64382962515,"y":31066.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"08b226e4-14ee-4ad3-8d96-efe77cc38489","savedPayload":{"position":{"x":17942.64382962515,"y":31066.23747069523},"targetPosition":{"x":17949.64382962515,"y":31009.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2771eb11-bc72-4273-9e1b-9ac5410c6354","savedPayload":{"position":{"x":17949.64382962515,"y":31009.23747069523},"targetPosition":{"x":17933.64382962515,"y":30992.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2782350a-84a2-40ec-87c6-3c8043376a18","savedPayload":{"position":{"x":19710.872950374665,"y":31069.630473388454},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Binance US","config":"{ \n\"codeName\": \"binanceus\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"817ee1cf-b44c-4458-a9c4-a05a17ea0510","savedPayload":{"position":{"x":17943.64382962515,"y":30999.23747069523},"targetPosition":{"x":17898.64382962515,"y":31020.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"c6694e9e-74dc-4c2e-9151-90f1d6631b45","savedPayload":{"position":{"x":17937.64382962515,"y":30989.23747069523},"targetPosition":{"x":17898.64382962515,"y":31020.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"00144904-5363-49eb-b445-8c8283d92b0d","savedPayload":{"position":{"x":17838.64382962515,"y":31193.23747069523},"targetPosition":{"x":17781.64382962515,"y":31156.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"2e71aa3c-03d4-4dbd-bc50-43b30f59e655","savedPayload":{"position":{"x":17783.64382962515,"y":31148.23747069523},"targetPosition":{"x":17703.64382962515,"y":31182.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"a4d0df32-c600-4421-b893-2a05f0442ed6","savedPayload":{"position":{"x":17703.64382962515,"y":31182.23747069523},"targetPosition":{"x":17781.64382962515,"y":31156.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7a39543a-00e1-452b-8aba-36c2b240f9fc","savedPayload":{"position":{"x":17781.64382962515,"y":31156.23747069523},"targetPosition":{"x":17799.64382962515,"y":31119.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2543c4e5-8233-4348-b6dc-e47aed1ff381","savedPayload":{"position":{"x":17799.64382962515,"y":31119.23747069523},"targetPosition":{"x":17898.64382962515,"y":31020.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"0b2b67d2-853b-470e-8b13-925956ad5621","savedPayload":{"position":{"x":19754.577155060477,"y":31191.993155151424},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"bitbank","config":"{ \n\"codeName\": \"bitbank\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"eb6b6842-9bf7-450e-baa3-7a87541a1cf6","savedPayload":{"position":{"x":17955.64382962515,"y":31107.23747069523},"targetPosition":{"x":17941.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"6353ff56-759f-457d-81f3-fdb8ae5b3e83","savedPayload":{"position":{"x":17942.64382962515,"y":31183.23747069523},"targetPosition":{"x":17941.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"a2b297c7-f33b-48b9-98fa-d339c7b0ff67","savedPayload":{"position":{"x":17999.64382962515,"y":31016.23747069523},"targetPosition":{"x":17945.64382962515,"y":31116.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"9ce6c354-b294-4062-b763-421e5edb69de","savedPayload":{"position":{"x":17883.64382962515,"y":31186.23747069523},"targetPosition":{"x":17845.64382962515,"y":31202.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"547dbf6c-a292-46c0-a628-62856858121e","savedPayload":{"position":{"x":17845.64382962515,"y":31202.23747069523},"targetPosition":{"x":17945.64382962515,"y":31116.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"097055b3-37e5-4100-a24b-91e404fe49a6","savedPayload":{"position":{"x":17945.64382962515,"y":31116.23747069523},"targetPosition":{"x":17897.64382962515,"y":31142.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51aed4ce-0303-431e-a15f-e6f133f7a2cf","savedPayload":{"position":{"x":17897.64382962515,"y":31142.23747069523},"targetPosition":{"x":17941.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6c9a96a7-ed12-4b3e-bb51-306a8da131f5","savedPayload":{"position":{"x":19784.79543078195,"y":31318.363797342816},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BitBay","config":"{ \n\"codeName\": \"bitbay\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"83b4e523-72a7-41ce-9363-fe0c799dcac1","savedPayload":{"position":{"x":17861.64382962515,"y":30965.23747069523},"targetPosition":{"x":17855.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"966698f7-8a28-42d7-bb80-f7cd0601e44f","savedPayload":{"position":{"x":17823.64382962515,"y":31026.23747069523},"targetPosition":{"x":17855.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"554829eb-3d40-4b95-a1cd-9de943763e2c","savedPayload":{"position":{"x":17914.64382962515,"y":30924.23747069523},"targetPosition":{"x":17876.64382962515,"y":30921.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"2f534989-7ca7-4c3d-b14a-3b1071543c8c","savedPayload":{"position":{"x":17845.64382962515,"y":30853.23747069523},"targetPosition":{"x":17832.64382962515,"y":30821.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"2f6b76b4-51d4-434f-8aa1-ed86b0e26bd2","savedPayload":{"position":{"x":17832.64382962515,"y":30821.23747069523},"targetPosition":{"x":17876.64382962515,"y":30921.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cbcc3ab6-9758-4273-99d2-9d05fdd392b5","savedPayload":{"position":{"x":17876.64382962515,"y":30921.23747069523},"targetPosition":{"x":17805.64382962515,"y":31015.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dada6c12-7c41-4ab8-9922-908233829f58","savedPayload":{"position":{"x":17805.64382962515,"y":31015.23747069523},"targetPosition":{"x":17855.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8778eee5-97a2-4f9d-bd25-cd5a64ec6663","savedPayload":{"position":{"x":19801.173495885087,"y":31447.26081972472},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bitfinex","config":"{ \n\"codeName\": \"bitfinex\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"33508b53-2769-4f3d-8c98-9fa37e5cbf5b","savedPayload":{"position":{"x":17888.64382962515,"y":31043.23747069523},"targetPosition":{"x":17965.64382962515,"y":30956.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"4d4ad5a1-81a7-4f92-83db-99f57ce261bb","savedPayload":{"position":{"x":17975.64382962515,"y":30868.23747069523},"targetPosition":{"x":17965.64382962515,"y":30956.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"29d52baf-645c-4d8f-9631-ebd391b4c815","savedPayload":{"position":{"x":18034.64382962515,"y":31066.23747069523},"targetPosition":{"x":18037.64382962515,"y":31012.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"d615c33d-c6cf-4572-ac32-8e9ddeb5bb52","savedPayload":{"position":{"x":18023.64382962515,"y":30916.23747069523},"targetPosition":{"x":18106.64382962515,"y":30982.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"0c189040-6318-483c-b6d7-982370a3298d","savedPayload":{"position":{"x":18106.64382962515,"y":30982.23747069523},"targetPosition":{"x":18037.64382962515,"y":31012.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cd60de4a-d17c-4ba7-936a-cbf2305fe3bb","savedPayload":{"position":{"x":18037.64382962515,"y":31012.23747069523},"targetPosition":{"x":18039.64382962515,"y":30964.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d247f4f5-6f16-4a59-a4a5-6d1554b43562","savedPayload":{"position":{"x":18039.64382962515,"y":30964.23747069523},"targetPosition":{"x":17965.64382962515,"y":30956.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6c076027-683d-4778-8a6a-e60984980fdf","savedPayload":{"position":{"x":19803.51933253116,"y":31577.173022561386},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bitfinex","config":"{ \n\"codeName\": \"bitfinex2\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"8fc7f955-5c81-446c-bbeb-205988bf1fc0","savedPayload":{"position":{"x":17830.64382962515,"y":31051.23747069523},"targetPosition":{"x":17863.64382962515,"y":31062.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"d5ba38e9-3282-4634-b922-16532c71f426","savedPayload":{"position":{"x":17819.64382962515,"y":31118.23747069523},"targetPosition":{"x":17863.64382962515,"y":31062.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"1cebbed5-28f7-4ccd-afce-9e7634d90fb6","savedPayload":{"position":{"x":17892.64382962515,"y":30997.23747069523},"targetPosition":{"x":17855.64382962515,"y":30970.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"0d109aa9-c80c-4a64-96f0-1d8fda0a70a4","savedPayload":{"position":{"x":17888.64382962515,"y":30805.23747069523},"targetPosition":{"x":17942.64382962515,"y":30905.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"5459ab1e-a1ce-4dae-ae72-61c1f7f37ce0","savedPayload":{"position":{"x":17942.64382962515,"y":30905.23747069523},"targetPosition":{"x":17855.64382962515,"y":30970.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a4615f7a-000d-4ff9-b5ac-109bc9a3a849","savedPayload":{"position":{"x":17855.64382962515,"y":30970.23747069523},"targetPosition":{"x":17919.64382962515,"y":31043.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e10d303e-ea21-4625-bae1-c32ad7a44e8a","savedPayload":{"position":{"x":17919.64382962515,"y":31043.23747069523},"targetPosition":{"x":17863.64382962515,"y":31062.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f3114102-a73c-4086-9594-5888ef1ab4ec","savedPayload":{"position":{"x":19791.80543793031,"y":31706.577304054405},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bitforex","config":"{ \n\"codeName\": \"bitforex\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"698e5e38-ad73-4cb6-b7f6-2b69913faff9","savedPayload":{"position":{"x":17897.64382962515,"y":30956.23747069523},"targetPosition":{"x":17937.64382962515,"y":30945.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"f0142bd4-1b63-4d12-a4b7-e150d0da197f","savedPayload":{"position":{"x":18020.64382962515,"y":31021.23747069523},"targetPosition":{"x":17937.64382962515,"y":30945.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"7164fb28-405b-461a-a7d4-59d438ecf1ce","savedPayload":{"position":{"x":17821.64382962515,"y":30984.23747069523},"targetPosition":{"x":17901.64382962515,"y":30907.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"ce8a00c9-f090-4ec2-84ed-c6661f8bf7b0","savedPayload":{"position":{"x":17825.64382962515,"y":30965.23747069523},"targetPosition":{"x":17818.64382962515,"y":30913.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"579cd74b-98f6-4000-990b-25ae1456c94b","savedPayload":{"position":{"x":17818.64382962515,"y":30913.23747069523},"targetPosition":{"x":17901.64382962515,"y":30907.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"dbac6eef-25d2-4cda-86a6-59ce8a9a26bc","savedPayload":{"position":{"x":17901.64382962515,"y":30907.23747069523},"targetPosition":{"x":17909.64382962515,"y":30970.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a1da9dd3-22ec-4536-bb5a-4d0bb8a56b81","savedPayload":{"position":{"x":17909.64382962515,"y":30970.23747069523},"targetPosition":{"x":17937.64382962515,"y":30945.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"499a5a3b-7871-4c95-9b2e-d58d4d9e2392","savedPayload":{"position":{"x":19766.169146786622,"y":31833.956517318737},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"bitkk","config":"{ \n\"codeName\": \"bitkk\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"efbb916c-780b-447f-a4c2-df68570d4ee1","savedPayload":{"position":{"x":17931.64382962515,"y":30937.23747069523},"targetPosition":{"x":17951.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"0d829516-81d9-46a5-9861-7d94cc89455d","savedPayload":{"position":{"x":17951.64382962515,"y":30912.23747069523},"targetPosition":{"x":17951.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"fc174aa3-c485-4b9b-ba19-444b0189ccb1","savedPayload":{"position":{"x":17788.64382962515,"y":30980.23747069523},"targetPosition":{"x":17834.64382962515,"y":30983.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"15921d8a-4b45-481c-9165-79969ed3fd27","savedPayload":{"position":{"x":17796.64382962515,"y":30936.23747069523},"targetPosition":{"x":17891.64382962515,"y":30922.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"927d5c8a-85df-48bb-b097-c36abb76ca0e","savedPayload":{"position":{"x":17891.64382962515,"y":30922.23747069523},"targetPosition":{"x":17834.64382962515,"y":30983.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"43d218c2-e633-47d5-8dd8-60bc7f7c0b9e","savedPayload":{"position":{"x":17834.64382962515,"y":30983.23747069523},"targetPosition":{"x":17853.64382962515,"y":30925.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2d310d61-cbc7-4306-af02-be3888939545","savedPayload":{"position":{"x":17853.64382962515,"y":30925.23747069523},"targetPosition":{"x":17951.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ded39740-3c93-4fda-bb9c-6ac75d2109f4","savedPayload":{"position":{"x":19726.911021174266,"y":31957.817257542785},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BitMart","config":"{ \n\"codeName\": \"bitmart\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"10374855-6b4a-460b-9c95-70072ac00315","savedPayload":{"position":{"x":17907.64382962515,"y":30901.23747069523},"targetPosition":{"x":17834.64382962515,"y":30915.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"3aded60c-4061-48ff-ad33-212c965b5c43","savedPayload":{"position":{"x":17829.64382962515,"y":30925.23747069523},"targetPosition":{"x":17834.64382962515,"y":30915.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"1789a3ca-d948-497d-8d1b-1eefd25d16a3","savedPayload":{"position":{"x":17886.64382962515,"y":30937.23747069523},"targetPosition":{"x":17895.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"038170bc-0ca7-4a92-8219-61b7bc8431b0","savedPayload":{"position":{"x":17893.64382962515,"y":31034.23747069523},"targetPosition":{"x":17835.64382962515,"y":30962.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"55f79ede-ef02-405f-92bd-11902ab3cc7a","savedPayload":{"position":{"x":17835.64382962515,"y":30962.23747069523},"targetPosition":{"x":17895.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8185c660-4af3-4a62-bfa9-8922861101b5","savedPayload":{"position":{"x":17895.64382962515,"y":30988.23747069523},"targetPosition":{"x":17819.64382962515,"y":30909.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"546d48c3-df31-495c-b3b4-cb35109c5542","savedPayload":{"position":{"x":17819.64382962515,"y":30909.23747069523},"targetPosition":{"x":17834.64382962515,"y":30915.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c7ed52a7-895b-46f1-a745-35954d8bcfc6","savedPayload":{"position":{"x":19674.491326722004,"y":32076.707370794375},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BitMax","config":"{ \n\"codeName\": \"bitmax\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"8a042d0d-7a7a-4a76-889e-42d8642404f4","savedPayload":{"position":{"x":17944.64382962515,"y":31046.23747069523},"targetPosition":{"x":17944.64382962515,"y":31109.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"0c4fcc48-51e6-4ff2-925f-405cda6d1122","savedPayload":{"position":{"x":17898.64382962515,"y":31024.23747069523},"targetPosition":{"x":17944.64382962515,"y":31109.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"ef9d5381-d9e3-47f5-9069-6fc14eda0fa3","savedPayload":{"position":{"x":17879.64382962515,"y":31096.23747069523},"targetPosition":{"x":17977.64382962515,"y":31041.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"c66fe606-9705-45b0-a196-7ea3efb0221e","savedPayload":{"position":{"x":17982.64382962515,"y":31053.23747069523},"targetPosition":{"x":17943.64382962515,"y":31083.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"80a5f68e-776a-44de-8797-d2eb806c306e","savedPayload":{"position":{"x":17943.64382962515,"y":31083.23747069523},"targetPosition":{"x":17977.64382962515,"y":31041.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"011fcf1c-1c94-4c36-a246-d6c400aa39dc","savedPayload":{"position":{"x":17977.64382962515,"y":31041.23747069523},"targetPosition":{"x":17942.64382962515,"y":31103.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4a87b8c5-e009-427f-afb7-21afe5594b59","savedPayload":{"position":{"x":17942.64382962515,"y":31103.23747069523},"targetPosition":{"x":17944.64382962515,"y":31109.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fc6a9048-ab8c-48f9-91ae-6c95c28714b0","savedPayload":{"position":{"x":19609.524636419505,"y":32189.2329791979},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BitMEX","config":"{ \n\"codeName\": \"bitmex\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"f7636e2b-354a-4217-894b-5e26eddc0c2a","savedPayload":{"position":{"x":17894.64382962515,"y":30934.23747069523},"targetPosition":{"x":17910.64382962515,"y":30922.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"6eb2ddd1-6d06-456c-b4e0-7df56ba182e6","savedPayload":{"position":{"x":17823.64382962515,"y":30834.23747069523},"targetPosition":{"x":17910.64382962515,"y":30922.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"b4a4b8fe-d923-4eb0-a066-171b83d1540d","savedPayload":{"position":{"x":17902.64382962515,"y":31064.23747069523},"targetPosition":{"x":17815.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"918ed585-ce46-4d51-a07a-9beee51f70eb","savedPayload":{"position":{"x":17711.64382962515,"y":31036.23747069523},"targetPosition":{"x":17805.64382962515,"y":31078.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"9efef4d8-5be3-4d17-a645-6edffd9535cf","savedPayload":{"position":{"x":17805.64382962515,"y":31078.23747069523},"targetPosition":{"x":17815.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6ad31a6e-f27b-45c3-9996-a41fb39aa154","savedPayload":{"position":{"x":17815.64382962515,"y":30988.23747069523},"targetPosition":{"x":17844.64382962515,"y":30896.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"82887393-cb1c-4b01-8581-4b3dabc86584","savedPayload":{"position":{"x":17844.64382962515,"y":30896.23747069523},"targetPosition":{"x":17910.64382962515,"y":30922.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1e2f1dd0-ebf1-4485-83d8-7723a9e3e714","savedPayload":{"position":{"x":19532.77262531095,"y":32294.07482287797},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bittrex","config":"{ \n\"codeName\": \"bittrex\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"88d4ef94-f030-42df-9115-69d9611317b1","savedPayload":{"position":{"x":17839.64382962515,"y":31009.23747069523},"targetPosition":{"x":17893.64382962515,"y":30968.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"7fe8234d-9a39-4b28-bf98-43b4fdb57ee5","savedPayload":{"position":{"x":17878.64382962515,"y":31045.23747069523},"targetPosition":{"x":17893.64382962515,"y":30968.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"5ba7fe13-1e0f-403a-8f4b-8e3968d2e5e2","savedPayload":{"position":{"x":17841.64382962515,"y":30890.23747069523},"targetPosition":{"x":17742.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"e926fbb8-d2ac-4e3d-aa59-a0a828d202fd","savedPayload":{"position":{"x":17707.64382962515,"y":30983.23747069523},"targetPosition":{"x":17782.64382962515,"y":31052.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"4fbe41e1-cb15-4bc2-a3de-681c5b22cc97","savedPayload":{"position":{"x":17782.64382962515,"y":31052.23747069523},"targetPosition":{"x":17742.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ab9fe180-1c07-44de-a0a1-863761ac52d6","savedPayload":{"position":{"x":17742.64382962515,"y":30961.23747069523},"targetPosition":{"x":17796.64382962515,"y":30903.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"584f29ca-9b3c-4b7f-a2b0-aab4180ecefd","savedPayload":{"position":{"x":17796.64382962515,"y":30903.23747069523},"targetPosition":{"x":17893.64382962515,"y":30968.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f598f002-8fc5-491f-888e-07d017ea83c6","savedPayload":{"position":{"x":19445.135140551556,"y":32390.003727075255},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bit-Z","config":"{ \n\"codeName\": \"bitz\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"0a22e02b-7d2e-4955-9cfc-ed7d95f0c9a0","savedPayload":{"position":{"x":17751.64382962515,"y":31083.23747069523},"targetPosition":{"x":17850.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"298b45af-b73d-4cd5-848a-97de7b857569","savedPayload":{"position":{"x":17944.64382962515,"y":31083.23747069523},"targetPosition":{"x":17850.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"6ede807b-b1ab-42b5-bfd7-3b12a942447e","savedPayload":{"position":{"x":17871.64382962515,"y":31049.23747069523},"targetPosition":{"x":17772.64382962515,"y":31098.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"dc172858-3241-4487-950a-e5cae03ac376","savedPayload":{"position":{"x":17751.64382962515,"y":31081.23747069523},"targetPosition":{"x":17753.64382962515,"y":31028.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"19c07cee-1fdf-4e02-ac9f-d110b64ee033","savedPayload":{"position":{"x":17753.64382962515,"y":31028.23747069523},"targetPosition":{"x":17772.64382962515,"y":31098.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b4ef5048-ac4c-410e-bd6d-3338e33ab108","savedPayload":{"position":{"x":17772.64382962515,"y":31098.23747069523},"targetPosition":{"x":17788.64382962515,"y":31134.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e7e96c41-c839-4eec-9bcf-1c60d60fa3f5","savedPayload":{"position":{"x":17788.64382962515,"y":31134.23747069523},"targetPosition":{"x":17850.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6cc10926-fe41-43be-887b-fa8aba1c7377","savedPayload":{"position":{"x":19347.639651522415,"y":32475.89501309667},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BTC-Alpha","config":"{ \n\"codeName\": \"btcalpha\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"263e3b9c-8fdd-4376-b53b-87f32d0f5898","savedPayload":{"position":{"x":17904.64382962515,"y":30922.23747069523},"targetPosition":{"x":17883.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"804603e1-3e0f-4219-a9b7-ee27810d4f07","savedPayload":{"position":{"x":17829.64382962515,"y":30977.23747069523},"targetPosition":{"x":17883.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"83b25fff-e448-483f-9bee-cb85fa592c6e","savedPayload":{"position":{"x":17734.64382962515,"y":30862.23747069523},"targetPosition":{"x":17829.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"efcfa3ca-0f82-4eb7-9b04-ed5eb4e1c3cf","savedPayload":{"position":{"x":17799.64382962515,"y":30864.23747069523},"targetPosition":{"x":17837.64382962515,"y":30919.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"9ca8d728-ee11-4905-9a3a-5ca4ed50f3df","savedPayload":{"position":{"x":17837.64382962515,"y":30919.23747069523},"targetPosition":{"x":17829.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2cfde277-afa6-4ad3-bb5b-8a32b89e2037","savedPayload":{"position":{"x":17829.64382962515,"y":30960.23747069523},"targetPosition":{"x":17903.64382962515,"y":30969.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"297a0ea2-f6d7-47fd-9fb7-0d99d00a87d8","savedPayload":{"position":{"x":17903.64382962515,"y":30969.23747069523},"targetPosition":{"x":17883.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"30e5485f-213b-435b-a670-07b76cfe5cae","savedPayload":{"position":{"x":19241.429203691412,"y":32550.741684144767},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BTC Markets","config":"{ \n\"codeName\": \"btcmarkets\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"fcb3b880-0852-4d93-8714-67373f9dca16","savedPayload":{"position":{"x":17911.64382962515,"y":31036.23747069523},"targetPosition":{"x":17994.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"953d8eff-0b2e-4b07-8635-393fddae0c9d","savedPayload":{"position":{"x":18025.64382962515,"y":31127.23747069523},"targetPosition":{"x":17994.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"c08873f6-9120-4764-8b06-c8110468b423","savedPayload":{"position":{"x":17935.64382962515,"y":30927.23747069523},"targetPosition":{"x":18027.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"beaa2557-4976-4e53-8a24-7ea00fc3afd5","savedPayload":{"position":{"x":18054.64382962515,"y":30851.23747069523},"targetPosition":{"x":18125.64382962515,"y":30951.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"445158a2-91b4-4ad8-8380-036cbba6ad7e","savedPayload":{"position":{"x":18125.64382962515,"y":30951.23747069523},"targetPosition":{"x":18027.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cd00e08c-a26d-4b11-93a3-b0e8f35bec4b","savedPayload":{"position":{"x":18027.64382962515,"y":31003.23747069523},"targetPosition":{"x":18016.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"35cb55c1-ceb3-4093-98af-8a1c2411fe0f","savedPayload":{"position":{"x":18016.64382962515,"y":31075.23747069523},"targetPosition":{"x":17994.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ac2fda42-95ca-404a-8dd2-72bff0ff5a0f","savedPayload":{"position":{"x":19127.749017450227,"y":32613.66623143447},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Buda","config":"{ \n\"codeName\": \"buda\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"27f3573d-e1f0-473f-9bfd-f9198e7240a0","savedPayload":{"position":{"x":17945.64382962515,"y":30937.23747069523},"targetPosition":{"x":17853.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"4ddc0981-4e45-42f3-ae11-f5b136b2bc3d","savedPayload":{"position":{"x":17783.64382962515,"y":31008.23747069523},"targetPosition":{"x":17853.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"5a325d59-e6a6-4f76-a311-5e67c5f5a8a2","savedPayload":{"position":{"x":17980.64382962515,"y":30843.23747069523},"targetPosition":{"x":17956.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"fb985ab9-7759-4780-a052-8ee9be0b712a","savedPayload":{"position":{"x":17907.64382962515,"y":30968.23747069523},"targetPosition":{"x":17958.64382962515,"y":30884.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"fdf7665a-2974-467b-9280-4077a888733f","savedPayload":{"position":{"x":17958.64382962515,"y":30884.23747069523},"targetPosition":{"x":17956.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a3105cfc-f80e-4bcb-b399-6ea9c0f7edf0","savedPayload":{"position":{"x":17956.64382962515,"y":30936.23747069523},"targetPosition":{"x":17872.64382962515,"y":30941.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5d69a76f-e7bc-4538-950e-2e2353eccea3","savedPayload":{"position":{"x":17872.64382962515,"y":30941.23747069523},"targetPosition":{"x":17853.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"90fe3d74-662e-4fac-aff3-f41990b61ccf","savedPayload":{"position":{"x":19007.931889043757,"y":32663.930922181273},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BW","config":"{ \n\"codeName\": \"bw\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"457616cd-25f9-4ad3-8c18-6331859dd42e","savedPayload":{"position":{"x":17890.64382962515,"y":31014.23747069523},"targetPosition":{"x":17900.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"8c1f9aa2-4253-4129-a533-e515644ddb38","savedPayload":{"position":{"x":17909.64382962515,"y":30970.23747069523},"targetPosition":{"x":17900.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"24314a5b-85ca-4036-adc6-618120496f1d","savedPayload":{"position":{"x":17773.64382962515,"y":30945.23747069523},"targetPosition":{"x":17860.64382962515,"y":30865.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"f7c593f6-bd7a-41f7-a5e7-b2e1ea9a528f","savedPayload":{"position":{"x":17820.64382962515,"y":30885.23747069523},"targetPosition":{"x":17828.64382962515,"y":30802.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"60dfc799-f863-4895-8d17-568aa2303ef5","savedPayload":{"position":{"x":17828.64382962515,"y":30802.23747069523},"targetPosition":{"x":17860.64382962515,"y":30865.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"223e466d-d750-4e38-91ce-8a59c15242ba","savedPayload":{"position":{"x":17860.64382962515,"y":30865.23747069523},"targetPosition":{"x":17818.64382962515,"y":30919.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cfff1310-5220-4978-9553-8514be141d14","savedPayload":{"position":{"x":17818.64382962515,"y":30919.23747069523},"targetPosition":{"x":17900.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d72db90c-d572-4cbb-8348-e3cc485d8e86","savedPayload":{"position":{"x":18883.38256475272,"y":32700.94644884361},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bybit","config":"{ \n\"codeName\": \"bybit\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"18fdf7c8-03c4-4f81-a88e-de97589765e1","savedPayload":{"position":{"x":17803.64382962515,"y":31059.23747069523},"targetPosition":{"x":17855.64382962515,"y":31007.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"a62b2603-ac6f-4b6e-9541-86daf32027b1","savedPayload":{"position":{"x":17847.64382962515,"y":31104.23747069523},"targetPosition":{"x":17855.64382962515,"y":31007.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"66ecff99-7102-4f4a-9ce8-4d55fb22dfbc","savedPayload":{"position":{"x":17851.64382962515,"y":31165.23747069523},"targetPosition":{"x":17916.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"625e127c-0ebb-4f57-af9f-9dfb57b262a1","savedPayload":{"position":{"x":18004.64382962515,"y":31091.23747069523},"targetPosition":{"x":18008.64382962515,"y":31027.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"8174bb53-66b8-4575-b206-74f9b6352a80","savedPayload":{"position":{"x":18008.64382962515,"y":31027.23747069523},"targetPosition":{"x":17916.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ee16357e-abde-4800-b089-f43f4b696a35","savedPayload":{"position":{"x":17916.64382962515,"y":31077.23747069523},"targetPosition":{"x":17944.64382962515,"y":31101.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c9e9473b-aff9-43c8-a6be-5cd30330bee2","savedPayload":{"position":{"x":17944.64382962515,"y":31101.23747069523},"targetPosition":{"x":17855.64382962515,"y":31007.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"516c3831-456b-4d17-b0a0-6a363ba2ddb2","savedPayload":{"position":{"x":18755.561271527895,"y":32724.27883821499},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"ByteTrade","config":"{ \n\"codeName\": \"bytetrade\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"e7a1e531-5a9e-466e-b98d-672de39eed3a","savedPayload":{"position":{"x":18088.64382962515,"y":31024.23747069523},"targetPosition":{"x":17991.64382962515,"y":30981.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"edafaba7-fd82-4d9f-b3f7-5d1c01c56599","savedPayload":{"position":{"x":17941.64382962515,"y":30943.23747069523},"targetPosition":{"x":17991.64382962515,"y":30981.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"50fa78b8-3aea-4e43-adcf-1e31820bf97f","savedPayload":{"position":{"x":17886.64382962515,"y":31008.23747069523},"targetPosition":{"x":17858.64382962515,"y":30967.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"b9c39b04-e86e-4ebb-9aba-39c375f2960c","savedPayload":{"position":{"x":17865.64382962515,"y":30941.23747069523},"targetPosition":{"x":17953.64382962515,"y":31023.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"5965d9cc-1d68-47a7-b838-e6dd81da6ea9","savedPayload":{"position":{"x":17953.64382962515,"y":31023.23747069523},"targetPosition":{"x":17858.64382962515,"y":30967.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f51a08be-ee3f-4d3b-a75e-d783d63092a7","savedPayload":{"position":{"x":17858.64382962515,"y":30967.23747069523},"targetPosition":{"x":17898.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d395efd0-691b-4a68-a7f1-9bce95b2f687","savedPayload":{"position":{"x":17898.64382962515,"y":30965.23747069523},"targetPosition":{"x":17991.64382962515,"y":30981.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"45e2306f-03e8-4d17-a73a-72c11dd14e78","savedPayload":{"position":{"x":18625.966597164217,"y":32733.65453936303},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"CEX.IO","config":"{ \n\"codeName\": \"cex\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"9de19f0a-5824-4e42-af00-484b64421dc3","savedPayload":{"position":{"x":17890.64382962515,"y":31049.23747069523},"targetPosition":{"x":17896.64382962515,"y":31076.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"39db01bc-0cea-422f-b9e9-7d84e3f5446d","savedPayload":{"position":{"x":17918.64382962515,"y":31105.23747069523},"targetPosition":{"x":17896.64382962515,"y":31076.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"93833d3c-42c9-4e4d-bf0f-5b80a90d10c2","savedPayload":{"position":{"x":17978.64382962515,"y":31126.23747069523},"targetPosition":{"x":17953.64382962515,"y":31167.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"42863a52-30f4-4322-9c20-99a45d6dc3d6","savedPayload":{"position":{"x":17884.64382962515,"y":31149.23747069523},"targetPosition":{"x":17895.64382962515,"y":31148.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"fcff471d-29be-4176-8ff8-12088361f9fc","savedPayload":{"position":{"x":17895.64382962515,"y":31148.23747069523},"targetPosition":{"x":17953.64382962515,"y":31167.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f7975a18-b3ab-49bc-ae45-eb02c99aff8c","savedPayload":{"position":{"x":17953.64382962515,"y":31167.23747069523},"targetPosition":{"x":17881.64382962515,"y":31096.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ec432123-43fe-4171-8c41-b797d3161edb","savedPayload":{"position":{"x":17881.64382962515,"y":31096.23747069523},"targetPosition":{"x":17896.64382962515,"y":31076.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"346bfc30-e32a-453a-bdc6-0ead48221581","savedPayload":{"position":{"x":18496.117920729066,"y":32728.96363076407},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Coinbase Prime","config":"{ \n\"codeName\": \"coinbaseprime\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"73cabd8d-9308-49ed-b544-44f785ee7d38","savedPayload":{"position":{"x":17867.64382962515,"y":30962.23747069523},"targetPosition":{"x":17922.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"31bd1360-f0c5-4d70-876a-b152f7cedfd7","savedPayload":{"position":{"x":17960.64382962515,"y":30864.23747069523},"targetPosition":{"x":17922.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"9b75fcfa-fe75-48a8-9d28-2ff19c58c041","savedPayload":{"position":{"x":17792.64382962515,"y":30841.23747069523},"targetPosition":{"x":17809.64382962515,"y":30934.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"c900b14a-c728-45af-90f8-29b3e5f29f46","savedPayload":{"position":{"x":17801.64382962515,"y":30986.23747069523},"targetPosition":{"x":17793.64382962515,"y":31006.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"eaf72df3-b66f-4b83-83f9-91e22ec0c300","savedPayload":{"position":{"x":17793.64382962515,"y":31006.23747069523},"targetPosition":{"x":17809.64382962515,"y":30934.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"9da95675-2071-41bf-b5ac-4f2af602994f","savedPayload":{"position":{"x":17809.64382962515,"y":30934.23747069523},"targetPosition":{"x":17862.64382962515,"y":31021.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4fc49ad4-57cc-43b0-b14b-15f26af994aa","savedPayload":{"position":{"x":17862.64382962515,"y":31021.23747069523},"targetPosition":{"x":17922.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5a8281db-6ace-4186-8cfb-cd249c4af48b","savedPayload":{"position":{"x":18367.537599231866,"y":32710.26110903248},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Coinbase Pro","config":"{ \n\"codeName\": \"coinbasepro\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"a29d6e1a-a94e-4b6b-8741-e9af6e4762f4","savedPayload":{"position":{"x":17788.64382962515,"y":30897.23747069523},"targetPosition":{"x":17841.64382962515,"y":30932.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"10cd9004-0088-4bc0-8fe6-b937f1bb311b","savedPayload":{"position":{"x":17865.64382962515,"y":30918.23747069523},"targetPosition":{"x":17841.64382962515,"y":30932.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"004397e6-ae73-46a6-9ed7-b4ba1930f77b","savedPayload":{"position":{"x":17945.64382962515,"y":30899.23747069523},"targetPosition":{"x":17850.64382962515,"y":30889.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"a81a7021-2228-4386-a773-9ac80c9e723a","savedPayload":{"position":{"x":17738.64382962515,"y":30761.23747069523},"targetPosition":{"x":17792.64382962515,"y":30789.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"482d82f2-364e-483c-b51a-a3fbe8a91577","savedPayload":{"position":{"x":17792.64382962515,"y":30789.23747069523},"targetPosition":{"x":17850.64382962515,"y":30889.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d823ad8e-0452-40f0-bad9-c2cb3ad29a21","savedPayload":{"position":{"x":17850.64382962515,"y":30889.23747069523},"targetPosition":{"x":17772.64382962515,"y":30894.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0c965322-fdd2-4e67-aaf3-dfc4b9dffc59","savedPayload":{"position":{"x":17772.64382962515,"y":30894.23747069523},"targetPosition":{"x":17841.64382962515,"y":30932.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4242da4b-a67e-44d8-8a19-b1c2f078c94c","savedPayload":{"position":{"x":18241.733119380056,"y":32677.766244135688},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"CoinEx","config":"{ \n\"codeName\": \"coinex\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"af78f796-60e5-4794-87b8-772c7bc74be1","savedPayload":{"position":{"x":18043.64382962515,"y":31069.23747069523},"targetPosition":{"x":18000.64382962515,"y":31106.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"d351e6d9-36eb-4d0e-aca5-94429bbb23a3","savedPayload":{"position":{"x":18094.64382962515,"y":31090.23747069523},"targetPosition":{"x":18000.64382962515,"y":31106.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"438f74c6-15e0-4553-af2a-febd5290c269","savedPayload":{"position":{"x":17908.64382962515,"y":31088.23747069523},"targetPosition":{"x":17986.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"bfb22430-77c7-41a7-8083-771f7d7f3634","savedPayload":{"position":{"x":17927.64382962515,"y":30953.23747069523},"targetPosition":{"x":17947.64382962515,"y":30990.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"51daaa12-1c60-4cef-96d8-a445b4b32296","savedPayload":{"position":{"x":17947.64382962515,"y":30990.23747069523},"targetPosition":{"x":17986.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"726b8c33-9873-4be1-b9ef-d6b4483f23b1","savedPayload":{"position":{"x":17986.64382962515,"y":31075.23747069523},"targetPosition":{"x":17919.64382962515,"y":31016.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"30469514-b983-4f6f-9d74-6d6ceef25eb6","savedPayload":{"position":{"x":17919.64382962515,"y":31016.23747069523},"targetPosition":{"x":18000.64382962515,"y":31106.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"62ad0961-6bdf-4a4a-a340-610816742d0a","savedPayload":{"position":{"x":18120.179423675774,"y":32631.860008654276},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"COSS","config":"{ \n\"codeName\": \"coss\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"e6315232-c6b1-4e25-aade-7bc7ba9ba6ac","savedPayload":{"position":{"x":17787.64382962515,"y":30984.23747069523},"targetPosition":{"x":17874.64382962515,"y":31049.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"b1e8451f-09a2-47b0-add3-cf9c35c487bb","savedPayload":{"position":{"x":17829.64382962515,"y":31095.23747069523},"targetPosition":{"x":17874.64382962515,"y":31049.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"d1c9b795-0434-4ce1-9cb7-cc61fac7396d","savedPayload":{"position":{"x":17950.64382962515,"y":31149.23747069523},"targetPosition":{"x":17882.64382962515,"y":31131.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"22be64f9-4b08-4ac3-ae89-6726743a7d5a","savedPayload":{"position":{"x":17890.64382962515,"y":31165.23747069523},"targetPosition":{"x":17956.64382962515,"y":31156.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"c7462500-ba74-4bf3-ad81-35fa232bede3","savedPayload":{"position":{"x":17956.64382962515,"y":31156.23747069523},"targetPosition":{"x":17882.64382962515,"y":31131.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5cd41ced-981a-4075-af43-3a0497eb0fcb","savedPayload":{"position":{"x":17882.64382962515,"y":31131.23747069523},"targetPosition":{"x":17856.64382962515,"y":31148.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b5937899-c6ee-4d7a-b259-1ee23d721f60","savedPayload":{"position":{"x":17856.64382962515,"y":31148.23747069523},"targetPosition":{"x":17874.64382962515,"y":31049.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"695029de-7f61-45bb-aa4c-c6d51e6369ed","savedPayload":{"position":{"x":18004.301618063546,"y":32573.08061122679},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"CREX24","config":"{ \n\"codeName\": \"crex24\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"c5e12f4a-fb26-40d3-9e70-751b55018e74","savedPayload":{"position":{"x":17910.64382962515,"y":31024.23747069523},"targetPosition":{"x":17860.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"00cb629e-bad4-4c6e-8abb-499cad3992f4","savedPayload":{"position":{"x":17938.64382962515,"y":31054.23747069523},"targetPosition":{"x":17860.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"4909d182-e0d5-49a9-8ad2-a553c8aaaf88","savedPayload":{"position":{"x":17912.64382962515,"y":31301.23747069523},"targetPosition":{"x":17920.64382962515,"y":31249.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"075eb2a2-299b-4a0f-9f6d-76c385521dc4","savedPayload":{"position":{"x":17800.64382962515,"y":31332.23747069523},"targetPosition":{"x":17883.64382962515,"y":31289.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"e062ef2e-b252-4a66-8f58-d9aa8031f526","savedPayload":{"position":{"x":17883.64382962515,"y":31289.23747069523},"targetPosition":{"x":17920.64382962515,"y":31249.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8e75be98-f874-486d-b749-536e364934dc","savedPayload":{"position":{"x":17920.64382962515,"y":31249.23747069523},"targetPosition":{"x":17845.64382962515,"y":31164.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"052f73cd-7ed7-4537-8b01-840b5b892fea","savedPayload":{"position":{"x":17845.64382962515,"y":31164.23747069523},"targetPosition":{"x":17860.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"07a7ec7c-273e-4675-8d8d-21ab8514a1f0","savedPayload":{"position":{"x":17895.458263866083,"y":32502.117186545547},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Deribit","config":"{ \n\"codeName\": \"deribit\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"f0b2354b-89e3-4eca-b051-664a3b8283f6","savedPayload":{"position":{"x":17862.64382962515,"y":30844.23747069523},"targetPosition":{"x":17906.64382962515,"y":30929.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"4ae1f824-82a8-4796-a2d5-3d2358d8089f","savedPayload":{"position":{"x":17912.64382962515,"y":31024.23747069523},"targetPosition":{"x":17906.64382962515,"y":30929.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"2013fe7a-d52c-4c9d-ba53-d281d014a8fc","savedPayload":{"position":{"x":17873.64382962515,"y":30926.23747069523},"targetPosition":{"x":17855.64382962515,"y":30967.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"706d5778-ed21-49bd-9277-1840ec52708d","savedPayload":{"position":{"x":17729.64382962515,"y":31033.23747069523},"targetPosition":{"x":17813.64382962515,"y":31053.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"2e76bc02-6e10-4f14-9bf1-a11dc4268466","savedPayload":{"position":{"x":17813.64382962515,"y":31053.23747069523},"targetPosition":{"x":17855.64382962515,"y":30967.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"89a3ccc7-20ab-4e2d-929b-52d9286179b7","savedPayload":{"position":{"x":17855.64382962515,"y":30967.23747069523},"targetPosition":{"x":17818.64382962515,"y":30920.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5c8219e3-4509-4b8b-941b-b88ac2c12237","savedPayload":{"position":{"x":17818.64382962515,"y":30920.23747069523},"targetPosition":{"x":17906.64382962515,"y":30929.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"21971815-4248-45df-8e04-20b9a5a83f06","savedPayload":{"position":{"x":17794.92544989493,"y":32419.801715882462},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"DigiFinex","config":"{ \n\"codeName\": \"digifinex\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"e583c93e-9a44-4e0d-acb7-56d7e00a555a","savedPayload":{"position":{"x":17954.64382962515,"y":30992.23747069523},"targetPosition":{"x":17996.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"8917c7c0-b420-4d4f-a35a-c0fc6870f0de","savedPayload":{"position":{"x":18052.64382962515,"y":30972.23747069523},"targetPosition":{"x":17996.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"a00b5bb0-5ab9-42e2-91fe-b450c7eb66d2","savedPayload":{"position":{"x":18220.64382962515,"y":31090.23747069523},"targetPosition":{"x":18123.64382962515,"y":30998.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"2aafc473-339b-4d23-9b74-06fa7574c293","savedPayload":{"position":{"x":18144.64382962515,"y":31123.23747069523},"targetPosition":{"x":18203.64382962515,"y":31084.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"99e9e136-1ac7-4400-a100-0a2d37f0882d","savedPayload":{"position":{"x":18203.64382962515,"y":31084.23747069523},"targetPosition":{"x":18123.64382962515,"y":30998.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b7cee21b-ddcb-4fd7-b610-43aabb2d1766","savedPayload":{"position":{"x":18123.64382962515,"y":30998.23747069523},"targetPosition":{"x":18032.64382962515,"y":30976.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"08e84a25-4368-4ad6-939f-5a16cece62cc","savedPayload":{"position":{"x":18032.64382962515,"y":30976.23747069523},"targetPosition":{"x":17996.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b7d56781-0c51-4ec1-95fd-bf4dc8c00352","savedPayload":{"position":{"x":17703.88183147586,"y":32327.0992728693},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"DSX","config":"{ \n\"codeName\": \"dsx\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"d672ab56-cd32-4ff5-8fc5-3733262aeccb","savedPayload":{"position":{"x":17916.64382962515,"y":31106.23747069523},"targetPosition":{"x":17955.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"3731a7b5-ba9d-483e-bb41-abf3ae0232c6","savedPayload":{"position":{"x":17878.64382962515,"y":30946.23747069523},"targetPosition":{"x":17955.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"9ef7e0ac-dc27-4b47-a06e-0cb7e80ee3d7","savedPayload":{"position":{"x":18124.64382962515,"y":31136.23747069523},"targetPosition":{"x":18093.64382962515,"y":31072.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"77491a3c-3db7-446f-aa67-9b5a1a3be7b3","savedPayload":{"position":{"x":18109.64382962515,"y":31081.23747069523},"targetPosition":{"x":18188.64382962515,"y":31137.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"bd1bd0b7-4943-4aeb-bf90-d3192dcabbb1","savedPayload":{"position":{"x":18188.64382962515,"y":31137.23747069523},"targetPosition":{"x":18093.64382962515,"y":31072.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"45747fef-f30e-4fae-b02d-5768ae7dbe68","savedPayload":{"position":{"x":18093.64382962515,"y":31072.23747069523},"targetPosition":{"x":18018.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"aa2e1c9b-428c-4bb0-9e75-ceb8c9043d4b","savedPayload":{"position":{"x":18018.64382962515,"y":31005.23747069523},"targetPosition":{"x":17955.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4c543abc-7372-4701-bc58-107578d45c25","savedPayload":{"position":{"x":17623.394811792878,"y":32225.09670889175},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"FCoin","config":"{ \n\"codeName\": \"fcoin\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"a97d578c-6d7f-403c-8294-18aacf14abd8","savedPayload":{"position":{"x":17893.64382962515,"y":30953.23747069523},"targetPosition":{"x":17919.64382962515,"y":30948.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"442c3834-482e-4928-9255-8ac859ae012e","savedPayload":{"position":{"x":17905.64382962515,"y":30896.23747069523},"targetPosition":{"x":17919.64382962515,"y":30948.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"79754959-1219-4c4d-be63-22766158beb5","savedPayload":{"position":{"x":18106.64382962515,"y":30976.23747069523},"targetPosition":{"x":18069.64382962515,"y":31056.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"1c3ae096-5024-43c3-abca-24498254e363","savedPayload":{"position":{"x":18112.64382962515,"y":30919.23747069523},"targetPosition":{"x":18126.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"59db5bfd-e413-48a7-af63-237ad56adc82","savedPayload":{"position":{"x":18126.64382962515,"y":30965.23747069523},"targetPosition":{"x":18069.64382962515,"y":31056.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"833c4e54-08f4-48ec-b90a-2767eb55f244","savedPayload":{"position":{"x":18069.64382962515,"y":31056.23747069523},"targetPosition":{"x":17996.64382962515,"y":30970.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a8cf17b3-0ea7-4a14-8c76-f655344b58a3","savedPayload":{"position":{"x":17996.64382962515,"y":30970.23747069523},"targetPosition":{"x":17919.64382962515,"y":30948.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6ddedcbd-07cb-4928-91b3-348f47118391","savedPayload":{"position":{"x":17554.408027561767,"y":32114.989910750606},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"FCoinJP","config":"{ \n\"codeName\": \"fcoinjp\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"4a8a9810-6df6-451a-ab26-22bd7e7be85a","savedPayload":{"position":{"x":17930.64382962515,"y":31129.23747069523},"targetPosition":{"x":17942.64382962515,"y":31052.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"138ab40c-18ca-4a11-9709-0baa040873e6","savedPayload":{"position":{"x":18007.64382962515,"y":31122.23747069523},"targetPosition":{"x":17942.64382962515,"y":31052.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"258cdf92-8ed0-4133-ae2a-b9f086f56a13","savedPayload":{"position":{"x":17897.64382962515,"y":30887.23747069523},"targetPosition":{"x":17903.64382962515,"y":30977.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"537e8f0c-05ca-4403-bc96-da6c2f4678ae","savedPayload":{"position":{"x":17825.64382962515,"y":30842.23747069523},"targetPosition":{"x":17836.64382962515,"y":30926.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"62519e63-8f4e-4b72-a341-0a6eea01ac3f","savedPayload":{"position":{"x":17836.64382962515,"y":30926.23747069523},"targetPosition":{"x":17903.64382962515,"y":30977.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b4974cc1-f594-436b-8aa4-aff2733b8e3c","savedPayload":{"position":{"x":17903.64382962515,"y":30977.23747069523},"targetPosition":{"x":17873.64382962515,"y":31061.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d84b404f-75e2-4eb5-b34a-b45af8a57ca7","savedPayload":{"position":{"x":17873.64382962515,"y":31061.23747069523},"targetPosition":{"x":17942.64382962515,"y":31052.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"982627ea-df84-4ba9-9219-612fbe1e4276","savedPayload":{"position":{"x":17497.730285752426,"y":31998.069779982467},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"FTX","config":"{ \n\"codeName\": \"ftx\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"20c0a4f5-bdb9-46cc-af7e-2111964551e3","savedPayload":{"position":{"x":17886.64382962515,"y":30940.23747069523},"targetPosition":{"x":17960.64382962515,"y":31019.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"75c99a0b-d3c9-4073-9283-d33e539c36bb","savedPayload":{"position":{"x":17992.64382962515,"y":31061.23747069523},"targetPosition":{"x":17960.64382962515,"y":31019.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"2e037470-549e-4aa8-bbe7-95cdeaef88ea","savedPayload":{"position":{"x":17964.64382962515,"y":31027.23747069523},"targetPosition":{"x":17970.64382962515,"y":31008.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"3b6f5b7b-9c61-4b71-b29a-ca1bc027e55f","savedPayload":{"position":{"x":17817.64382962515,"y":30943.23747069523},"targetPosition":{"x":17890.64382962515,"y":30978.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"a84010f0-04b5-4eab-a3a6-a5944b80a373","savedPayload":{"position":{"x":17890.64382962515,"y":30978.23747069523},"targetPosition":{"x":17970.64382962515,"y":31008.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5cdc51a3-6136-4e03-9e2c-26a752140d17","savedPayload":{"position":{"x":17970.64382962515,"y":31008.23747069523},"targetPosition":{"x":18010.64382962515,"y":30986.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"55258a2b-3199-4070-beed-d34a8496870c","savedPayload":{"position":{"x":18010.64382962515,"y":30986.23747069523},"targetPosition":{"x":17960.64382962515,"y":31019.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"0c0bcf5c-2774-423e-9fcf-c512b38dd06d","savedPayload":{"position":{"x":17454.026081066615,"y":31875.707098219504},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Gate.io","config":"{ \n\"codeName\": \"gateio\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"71a15089-9d40-4726-9a41-37d406064164","savedPayload":{"position":{"x":17930.64382962515,"y":30993.23747069523},"targetPosition":{"x":17880.64382962515,"y":31031.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"c025e976-c2c6-49de-81ec-48e2f737b412","savedPayload":{"position":{"x":17925.64382962515,"y":31053.23747069523},"targetPosition":{"x":17880.64382962515,"y":31031.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"876f964a-e12d-4438-87fb-a84be22f86d1","savedPayload":{"position":{"x":17914.64382962515,"y":30833.23747069523},"targetPosition":{"x":17827.64382962515,"y":30882.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"0c5d34c4-467f-4e98-bd39-1b2d9afb834e","savedPayload":{"position":{"x":17852.64382962515,"y":30831.23747069523},"targetPosition":{"x":17870.64382962515,"y":30847.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"89316d8c-893a-46ae-b147-948b4b8a5292","savedPayload":{"position":{"x":17870.64382962515,"y":30847.23747069523},"targetPosition":{"x":17827.64382962515,"y":30882.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a2a5de53-bd45-4904-8bae-0cf5ed66d2af","savedPayload":{"position":{"x":17827.64382962515,"y":30882.23747069523},"targetPosition":{"x":17800.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f6f4072d-8cf6-4e47-8b4e-a21cd553348a","savedPayload":{"position":{"x":17800.64382962515,"y":30936.23747069523},"targetPosition":{"x":17880.64382962515,"y":31031.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c4028289-4cdb-4da0-90e6-5f93328b8e03","savedPayload":{"position":{"x":17423.807805345143,"y":31749.336456028108},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Gemini","config":"{ \n\"codeName\": \"gemini\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"9eb15872-8d15-4086-9920-46909eb5f9e7","savedPayload":{"position":{"x":17951.64382962515,"y":30901.23747069523},"targetPosition":{"x":17971.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"a84dcf06-57c6-47d7-97a0-9f03f3af8b34","savedPayload":{"position":{"x":18045.64382962515,"y":30891.23747069523},"targetPosition":{"x":17971.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"5da1ba65-3839-4664-8105-2ccb11652767","savedPayload":{"position":{"x":18028.64382962515,"y":31112.23747069523},"targetPosition":{"x":17941.64382962515,"y":31044.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"337fe5e2-b9fd-40eb-9f42-44fc5057d981","savedPayload":{"position":{"x":17957.64382962515,"y":31129.23747069523},"targetPosition":{"x":17875.64382962515,"y":31086.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"17a3f4a3-8914-4995-afb0-7e8115791b17","savedPayload":{"position":{"x":17875.64382962515,"y":31086.23747069523},"targetPosition":{"x":17941.64382962515,"y":31044.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"32e4a3f1-40d8-421f-9634-7ab339858286","savedPayload":{"position":{"x":17941.64382962515,"y":31044.23747069523},"targetPosition":{"x":17877.64382962515,"y":30977.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"365f6865-e707-415d-a168-b67c66ca9553","savedPayload":{"position":{"x":17877.64382962515,"y":30977.23747069523},"targetPosition":{"x":17971.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"58bf8247-baef-4ea6-a483-7ed8f0ba5043","savedPayload":{"position":{"x":17407.429740242005,"y":31620.439433646203},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"HitBTC","config":"{ \n\"codeName\": \"hitbtc\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"1632c520-fa79-442f-b33b-430cb1356de6","savedPayload":{"position":{"x":17809.64382962515,"y":31086.23747069523},"targetPosition":{"x":17880.64382962515,"y":31069.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"576d1666-dbd3-4914-9fe2-fa05bdf72eea","savedPayload":{"position":{"x":17840.64382962515,"y":31148.23747069523},"targetPosition":{"x":17880.64382962515,"y":31069.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"41317aae-08ce-48cf-a47b-c2d2cc3920ec","savedPayload":{"position":{"x":18096.64382962515,"y":30975.23747069523},"targetPosition":{"x":18026.64382962515,"y":31066.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"23d7e4ba-8432-4214-bd94-0db5046e39cd","savedPayload":{"position":{"x":18039.64382962515,"y":31075.23747069523},"targetPosition":{"x":17981.64382962515,"y":31126.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ab200349-5ba5-44d2-ad5c-fa826303cfcd","savedPayload":{"position":{"x":17981.64382962515,"y":31126.23747069523},"targetPosition":{"x":18026.64382962515,"y":31066.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a5f24785-5b2c-429b-a2e4-07063e2de904","savedPayload":{"position":{"x":18026.64382962515,"y":31066.23747069523},"targetPosition":{"x":17972.64382962515,"y":31093.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"13f275ca-06a6-4a72-8b4d-a9c079b9cef4","savedPayload":{"position":{"x":17972.64382962515,"y":31093.23747069523},"targetPosition":{"x":17880.64382962515,"y":31069.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8384fa0b-854c-4c23-846e-a5da0179a738","savedPayload":{"position":{"x":17405.083903595932,"y":31490.527230809537},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"HitBTC","config":"{ \n\"codeName\": \"hitbtc2\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"9a29cb9e-ee8d-4315-8532-eef82224b84a","savedPayload":{"position":{"x":17838.64382962515,"y":30922.23747069523},"targetPosition":{"x":17829.64382962515,"y":30949.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"badd79e7-1e21-4dc3-bfa7-8dfb4a6c6267","savedPayload":{"position":{"x":17920.64382962515,"y":30944.23747069523},"targetPosition":{"x":17829.64382962515,"y":30949.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"ffdda0b7-af50-4010-84da-2bc0d562af2b","savedPayload":{"position":{"x":17887.64382962515,"y":30982.23747069523},"targetPosition":{"x":17836.64382962515,"y":31023.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"24816eed-adf7-453e-9b38-42ea4758dbaa","savedPayload":{"position":{"x":18021.64382962515,"y":30979.23747069523},"targetPosition":{"x":17931.64382962515,"y":30923.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"1dd16858-5641-4454-88a3-e5d7446e12a3","savedPayload":{"position":{"x":17931.64382962515,"y":30923.23747069523},"targetPosition":{"x":17836.64382962515,"y":31023.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"457d75ed-ad21-4ee5-b36b-88cdc444008e","savedPayload":{"position":{"x":17836.64382962515,"y":31023.23747069523},"targetPosition":{"x":17808.64382962515,"y":31039.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b29ded7e-e2d5-4c7f-89af-b0816c32c743","savedPayload":{"position":{"x":17808.64382962515,"y":31039.23747069523},"targetPosition":{"x":17829.64382962515,"y":30949.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"09c634c2-5aba-49c5-80bc-4fd4175e7f0c","savedPayload":{"position":{"x":17416.79779819678,"y":31361.12294931652},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Huobi Pro","config":"{ \n\"codeName\": \"huobipro\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"86caa38c-5bdf-40e4-b27b-8d8b64319575","savedPayload":{"position":{"x":18071.64382962515,"y":31171.23747069523},"targetPosition":{"x":17996.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"001225af-c715-4566-9502-f8f0ac1c4531","savedPayload":{"position":{"x":18040.64382962515,"y":31019.23747069523},"targetPosition":{"x":17996.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"b4bf5ccb-b529-4500-a192-d9c3a0613389","savedPayload":{"position":{"x":18129.64382962515,"y":31073.23747069523},"targetPosition":{"x":18033.64382962515,"y":31090.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"2e58c6d1-cfa7-4dc7-a322-e9356596ea1e","savedPayload":{"position":{"x":17976.64382962515,"y":31132.23747069523},"targetPosition":{"x":17953.64382962515,"y":31093.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ae04ddf4-ae3e-4bdc-9393-41acc38ef818","savedPayload":{"position":{"x":17953.64382962515,"y":31093.23747069523},"targetPosition":{"x":18033.64382962515,"y":31090.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2428e8ef-6a09-48fa-8ae4-ebfb28420be8","savedPayload":{"position":{"x":18033.64382962515,"y":31090.23747069523},"targetPosition":{"x":18085.64382962515,"y":31157.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"55c71c8b-f21f-4d16-ae93-e29362c39bf5","savedPayload":{"position":{"x":18085.64382962515,"y":31157.23747069523},"targetPosition":{"x":17996.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"967c3914-a76d-4389-9c7e-9c258ae683bd","savedPayload":{"position":{"x":17442.43408934047,"y":31233.743736052187},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Huobi Russia","config":"{ \n\"codeName\": \"huobiru\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"9b7b32d6-a42e-44bb-8065-5aa32b1e844b","savedPayload":{"position":{"x":17980.64382962515,"y":31034.23747069523},"targetPosition":{"x":17957.64382962515,"y":31088.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"8d74201c-33cd-4e12-8920-b08d0ef97572","savedPayload":{"position":{"x":17992.64382962515,"y":31105.23747069523},"targetPosition":{"x":17957.64382962515,"y":31088.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"c6e289d7-074b-4837-96e3-687988886fcc","savedPayload":{"position":{"x":18078.64382962515,"y":30954.23747069523},"targetPosition":{"x":18008.64382962515,"y":31029.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"d72f81ba-6b41-414d-9cf0-d5f9c0c25403","savedPayload":{"position":{"x":18026.64382962515,"y":31021.23747069523},"targetPosition":{"x":18083.64382962515,"y":31117.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"5354f66c-6e73-4fe5-80ca-2c25b761ef51","savedPayload":{"position":{"x":18083.64382962515,"y":31117.23747069523},"targetPosition":{"x":18008.64382962515,"y":31029.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"81f5adbb-054c-47f2-b019-52585f5d7417","savedPayload":{"position":{"x":18008.64382962515,"y":31029.23747069523},"targetPosition":{"x":18018.64382962515,"y":31009.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ecd8645b-4bb6-4641-a20f-cee51bf33f1a","savedPayload":{"position":{"x":18018.64382962515,"y":31009.23747069523},"targetPosition":{"x":17957.64382962515,"y":31088.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6f97bb5c-8d85-43ee-86a1-33e22cdfbb5e","savedPayload":{"position":{"x":17481.692214952825,"y":31109.882995828142},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"KKEX","config":"{ \n\"codeName\": \"kkex\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"daa4e07a-1cd8-4d92-8004-2eabfaa62f77","savedPayload":{"position":{"x":17924.64382962515,"y":31038.23747069523},"targetPosition":{"x":17987.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"cb64951f-d984-4f51-a751-166a316084f3","savedPayload":{"position":{"x":17945.64382962515,"y":31156.23747069523},"targetPosition":{"x":17987.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"6915bf12-9271-47e2-8b49-924ae9f5c65f","savedPayload":{"position":{"x":17958.64382962515,"y":31297.23747069523},"targetPosition":{"x":17875.64382962515,"y":31252.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"ff53381f-c6dd-4d17-a477-11396f60663f","savedPayload":{"position":{"x":17805.64382962515,"y":31141.23747069523},"targetPosition":{"x":17861.64382962515,"y":31223.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ae05bfc4-6ac8-408c-a90b-263830b2a71e","savedPayload":{"position":{"x":17861.64382962515,"y":31223.23747069523},"targetPosition":{"x":17875.64382962515,"y":31252.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"61c85f1a-a2a6-45c9-bb1e-3c76110f5d1e","savedPayload":{"position":{"x":17875.64382962515,"y":31252.23747069523},"targetPosition":{"x":17911.64382962515,"y":31154.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9fafb114-37d2-4d04-9c42-83d04ff62fc7","savedPayload":{"position":{"x":17911.64382962515,"y":31154.23747069523},"targetPosition":{"x":17987.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"16ae95ce-796f-4f2b-942c-f98dcbf9cf4b","savedPayload":{"position":{"x":17534.11190940509,"y":30990.99288257655},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Kraken","config":"{ \n\"codeName\": \"kraken\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"747af60f-c8b9-4377-aa6c-172d4137ea23","savedPayload":{"position":{"x":17854.64382962515,"y":31008.23747069523},"targetPosition":{"x":17946.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"c75f7d97-9dc2-4d3e-89eb-f8a3d5f16368","savedPayload":{"position":{"x":17916.64382962515,"y":30872.23747069523},"targetPosition":{"x":17946.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"0093e946-03f4-4aec-942d-c76aed12ab1a","savedPayload":{"position":{"x":17780.64382962515,"y":31091.23747069523},"targetPosition":{"x":17836.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"2a4235ac-e5ea-4484-bccd-f06c8a7275ec","savedPayload":{"position":{"x":17930.64382962515,"y":30869.23747069523},"targetPosition":{"x":17883.64382962515,"y":30953.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"737dec0a-23ab-4044-94ba-95c8bc50c0eb","savedPayload":{"position":{"x":17883.64382962515,"y":30953.23747069523},"targetPosition":{"x":17836.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"457b045e-dae5-4f53-a8b7-cab4757e5286","savedPayload":{"position":{"x":17836.64382962515,"y":31011.23747069523},"targetPosition":{"x":17926.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6eff12db-8e7c-402a-9e06-ae2618f506a0","savedPayload":{"position":{"x":17926.64382962515,"y":31005.23747069523},"targetPosition":{"x":17946.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"644efe9c-597a-4ddf-9e28-b33fb3b62d3e","savedPayload":{"position":{"x":17599.078599707587,"y":30878.467274173025},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"KuCoin","config":"{ \n\"codeName\": \"kucoin\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"01ca3037-4ed3-499e-ad6b-e14ca1d4a51f","savedPayload":{"position":{"x":17919.64382962515,"y":30949.23747069523},"targetPosition":{"x":17920.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"8b3c4ce0-98b1-4d46-bd02-6cf44c3dd686","savedPayload":{"position":{"x":17998.64382962515,"y":30978.23747069523},"targetPosition":{"x":17920.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"d6c7c0ef-670d-4ed6-9246-6eb7d6bfc359","savedPayload":{"position":{"x":17927.64382962515,"y":30962.23747069523},"targetPosition":{"x":17953.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"e8c2c454-b246-4f63-b51b-74d9cbb01ac2","savedPayload":{"position":{"x":17927.64382962515,"y":30924.23747069523},"targetPosition":{"x":17912.64382962515,"y":30869.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"d2bb2603-3b52-443c-8923-86fefafc0b14","savedPayload":{"position":{"x":17912.64382962515,"y":30869.23747069523},"targetPosition":{"x":17953.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fa83b0b9-1039-4406-907c-f809a5af40f5","savedPayload":{"position":{"x":17953.64382962515,"y":30954.23747069523},"targetPosition":{"x":17966.64382962515,"y":30962.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"471161d3-201e-40c6-b433-49643cf7e43b","savedPayload":{"position":{"x":17966.64382962515,"y":30962.23747069523},"targetPosition":{"x":17920.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d79bc720-68e1-4771-a66a-bcffa30639d3","savedPayload":{"position":{"x":17675.830610816145,"y":30773.625430492953},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"LBank","config":"{ \n\"codeName\": \"lbank\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"def3f9d0-f09e-4e09-8b6d-a4c322a4384b","savedPayload":{"position":{"x":17877.64382962515,"y":31024.23747069523},"targetPosition":{"x":17838.64382962515,"y":31032.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"53eac3c1-96d6-4cb1-b54d-f3f174eaf733","savedPayload":{"position":{"x":17764.64382962515,"y":31036.23747069523},"targetPosition":{"x":17838.64382962515,"y":31032.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"c6c00704-1357-4426-910e-8134d6f87017","savedPayload":{"position":{"x":18030.64382962515,"y":31212.23747069523},"targetPosition":{"x":17951.64382962515,"y":31172.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"13990604-2192-4be1-b21b-53cf2bafc002","savedPayload":{"position":{"x":17893.64382962515,"y":31189.23747069523},"targetPosition":{"x":17964.64382962515,"y":31122.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ed2c483e-d412-406d-b6f3-cfb1112a3a05","savedPayload":{"position":{"x":17964.64382962515,"y":31122.23747069523},"targetPosition":{"x":17951.64382962515,"y":31172.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6033b63c-c7fe-4a5d-8cf6-82128e2cfb41","savedPayload":{"position":{"x":17951.64382962515,"y":31172.23747069523},"targetPosition":{"x":17891.64382962515,"y":31096.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"20ece5c4-dbfa-4f4a-a9ee-8c8d9c38943b","savedPayload":{"position":{"x":17891.64382962515,"y":31096.23747069523},"targetPosition":{"x":17838.64382962515,"y":31032.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cb2558d6-dab0-4f35-b83f-7cfc161b3d4f","savedPayload":{"position":{"x":17763.468095575536,"y":30677.69652629567},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Mercado Bitcoin","config":"{ \n\"codeName\": \"mercado\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"83ab2c39-e844-496f-bebb-7b8607428902","savedPayload":{"position":{"x":17849.64382962515,"y":31081.23747069523},"targetPosition":{"x":17849.64382962515,"y":30986.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"d69e722e-c71a-462a-8bbd-d3482d0eab21","savedPayload":{"position":{"x":17771.64382962515,"y":30887.23747069523},"targetPosition":{"x":17849.64382962515,"y":30986.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"18438709-83cf-49a3-96b8-888ab5adbcc5","savedPayload":{"position":{"x":17937.64382962515,"y":31080.23747069523},"targetPosition":{"x":17866.64382962515,"y":31013.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"6b9d4ed4-af81-462a-aace-fac0afd4687a","savedPayload":{"position":{"x":17787.64382962515,"y":30841.23747069523},"targetPosition":{"x":17873.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"802a4c53-8617-4257-95a5-45bfaa60ad0e","savedPayload":{"position":{"x":17873.64382962515,"y":30935.23747069523},"targetPosition":{"x":17866.64382962515,"y":31013.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"87936a4a-aac5-4aca-8f3e-2051611932c4","savedPayload":{"position":{"x":17866.64382962515,"y":31013.23747069523},"targetPosition":{"x":17829.64382962515,"y":30919.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"48f3a793-bb97-447b-8f1a-1d6965219747","savedPayload":{"position":{"x":17829.64382962515,"y":30919.23747069523},"targetPosition":{"x":17849.64382962515,"y":30986.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5002072e-145c-4aeb-a611-3e0e4c60ee5d","savedPayload":{"position":{"x":17860.963584604677,"y":30591.805240274254},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"OKCoin","config":"{ \n\"codeName\": \"okcoin\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"1e4dd5c8-0545-4698-8695-c985880243a3","savedPayload":{"position":{"x":17921.64382962515,"y":31043.23747069523},"targetPosition":{"x":17967.64382962515,"y":30969.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"0e188cae-9764-4963-a78b-e5d7ef272522","savedPayload":{"position":{"x":18005.64382962515,"y":30891.23747069523},"targetPosition":{"x":17967.64382962515,"y":30969.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"6d82bfd7-b4e1-4f93-a0f8-18f62cee944e","savedPayload":{"position":{"x":18047.64382962515,"y":30877.23747069523},"targetPosition":{"x":17963.64382962515,"y":30898.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"d815409c-1dd4-4e89-b844-5b96104509b4","savedPayload":{"position":{"x":17958.64382962515,"y":30988.23747069523},"targetPosition":{"x":17945.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"238b9d2c-e2c0-4a77-945e-8e28604c0a2d","savedPayload":{"position":{"x":17945.64382962515,"y":30961.23747069523},"targetPosition":{"x":17963.64382962515,"y":30898.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8416c29a-5d73-4b2a-9463-511f400deafb","savedPayload":{"position":{"x":17963.64382962515,"y":30898.23747069523},"targetPosition":{"x":18047.64382962515,"y":30885.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"04abf32b-084e-4784-aa84-8c5612d3b7b9","savedPayload":{"position":{"x":18047.64382962515,"y":30885.23747069523},"targetPosition":{"x":17967.64382962515,"y":30969.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1f860b4b-2893-4a51-8649-19c47d494a37","savedPayload":{"position":{"x":17967.17403243568,"y":30516.958569226157},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"OKEX","config":"{ \n\"codeName\": \"okex\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"7f618566-3d10-4c3c-90b2-7541a5146eeb","savedPayload":{"position":{"x":17770.64382962515,"y":31094.23747069523},"targetPosition":{"x":17847.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"21205576-5d12-452c-814f-eb56182162ae","savedPayload":{"position":{"x":17794.64382962515,"y":31173.23747069523},"targetPosition":{"x":17847.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"46456247-ae9c-41ea-8395-a5e4a78007d4","savedPayload":{"position":{"x":17724.64382962515,"y":31147.23747069523},"targetPosition":{"x":17795.64382962515,"y":31083.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"706bf601-eaad-48bd-b0a7-8dad59066171","savedPayload":{"position":{"x":17715.64382962515,"y":31182.23747069523},"targetPosition":{"x":17706.64382962515,"y":31162.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"f9c7071c-2e5b-4c90-b482-dfc7ee001244","savedPayload":{"position":{"x":17706.64382962515,"y":31162.23747069523},"targetPosition":{"x":17795.64382962515,"y":31083.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e87e1e10-3404-48b9-8629-5df92ffa1979","savedPayload":{"position":{"x":17795.64382962515,"y":31083.23747069523},"targetPosition":{"x":17789.64382962515,"y":31181.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"08e8fd6a-6b23-4d65-8b8e-d966f845c07f","savedPayload":{"position":{"x":17789.64382962515,"y":31181.23747069523},"targetPosition":{"x":17847.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"aa0edec0-8b27-4f94-abce-1e437ce5aba6","savedPayload":{"position":{"x":18080.854218676865,"y":30454.034021936455},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"RightBTC","config":"{ \n\"codeName\": \"rightbtc\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"ade372e9-5070-4fa9-843e-57732c4106c3","savedPayload":{"position":{"x":17999.64382962515,"y":30964.23747069523},"targetPosition":{"x":17991.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"b63d440e-4501-475c-b8a6-2b9a144e32a1","savedPayload":{"position":{"x":17984.64382962515,"y":30901.23747069523},"targetPosition":{"x":17991.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"81d77477-4f2e-43c0-b284-dde54f91c37f","savedPayload":{"position":{"x":17864.64382962515,"y":31036.23747069523},"targetPosition":{"x":17861.64382962515,"y":31043.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"9ce3cc34-1ba4-4155-96a5-c946b1bcc5ab","savedPayload":{"position":{"x":17819.64382962515,"y":31127.23747069523},"targetPosition":{"x":17810.64382962515,"y":31080.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"c7df4af7-37c1-403d-ada1-b6a527821bdd","savedPayload":{"position":{"x":17810.64382962515,"y":31080.23747069523},"targetPosition":{"x":17861.64382962515,"y":31043.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6de19501-5ce7-4944-b9dd-25b149acbb38","savedPayload":{"position":{"x":17861.64382962515,"y":31043.23747069523},"targetPosition":{"x":17946.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"aa87ace4-a976-401c-93f9-24a498261742","savedPayload":{"position":{"x":17946.64382962515,"y":30988.23747069523},"targetPosition":{"x":17991.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c20cd9e1-52a0-4d17-b90c-e9d5b63315ce","savedPayload":{"position":{"x":18200.67134708334,"y":30403.76933118965},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"STEX","config":"{ \n\"codeName\": \"stex\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"f1d65161-4922-4a1e-ac98-df1a842347a7","savedPayload":{"position":{"x":17872.64382962515,"y":31001.23747069523},"targetPosition":{"x":17892.64382962515,"y":31092.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"c313b2c6-6154-4a9a-b826-fd99cc500cd9","savedPayload":{"position":{"x":17888.64382962515,"y":31186.23747069523},"targetPosition":{"x":17892.64382962515,"y":31092.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"d0a1259b-1c37-4d39-836e-3c434c3b3687","savedPayload":{"position":{"x":17778.64382962515,"y":31076.23747069523},"targetPosition":{"x":17858.64382962515,"y":31091.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"4a1e5627-459c-4dec-be13-c20d4a9ea58f","savedPayload":{"position":{"x":17841.64382962515,"y":31179.23747069523},"targetPosition":{"x":17795.64382962515,"y":31105.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"6981eb0d-0f0e-4f8e-9781-4a03e22e93fd","savedPayload":{"position":{"x":17795.64382962515,"y":31105.23747069523},"targetPosition":{"x":17858.64382962515,"y":31091.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7704478a-9717-43a8-bd2e-88daa6f84bd0","savedPayload":{"position":{"x":17858.64382962515,"y":31091.23747069523},"targetPosition":{"x":17941.64382962515,"y":31173.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"262aad86-f430-49ea-a636-e8bd816a9636","savedPayload":{"position":{"x":17941.64382962515,"y":31173.23747069523},"targetPosition":{"x":17892.64382962515,"y":31092.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"0ea23137-3c65-4de1-9772-6ac1b65196e8","savedPayload":{"position":{"x":18325.220671374373,"y":30366.753804527314},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"TideBit","config":"{ \n\"codeName\": \"tidebit\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"c92318bd-8b2d-489b-b8e8-cf30fb63286e","savedPayload":{"position":{"x":17981.64382962515,"y":31021.23747069523},"targetPosition":{"x":17978.64382962515,"y":31048.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"83bca3ec-fc1c-435c-b5fe-b1cf92463fd1","savedPayload":{"position":{"x":18051.64382962515,"y":31072.23747069523},"targetPosition":{"x":17978.64382962515,"y":31048.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"2f3ee9b2-cd41-458c-84da-edac3155028a","savedPayload":{"position":{"x":18075.64382962515,"y":31059.23747069523},"targetPosition":{"x":17987.64382962515,"y":31047.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"009ae4b6-adbc-4900-9fc0-f18936eeed9b","savedPayload":{"position":{"x":18030.64382962515,"y":31058.23747069523},"targetPosition":{"x":18009.64382962515,"y":31028.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"3ee88180-fe10-41df-8251-b1ed0a526e7a","savedPayload":{"position":{"x":18009.64382962515,"y":31028.23747069523},"targetPosition":{"x":17987.64382962515,"y":31047.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bb88e6e8-a99a-4c4e-9ca5-ffed49aa8b54","savedPayload":{"position":{"x":17987.64382962515,"y":31047.23747069523},"targetPosition":{"x":17925.64382962515,"y":31135.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"13a4a95e-4333-4455-9f7c-90bc839d174a","savedPayload":{"position":{"x":17925.64382962515,"y":31135.23747069523},"targetPosition":{"x":17978.64382962515,"y":31048.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5563c310-701a-4c1e-8155-87c08c927ce3","savedPayload":{"position":{"x":18453.041964599197,"y":30343.421415155935},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"TimeX","config":"{ \n\"codeName\": \"timex\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"5c004b5f-eec4-414f-8d01-d9b3fddeee9e","savedPayload":{"position":{"x":17892.64382962515,"y":30973.23747069523},"targetPosition":{"x":17949.64382962515,"y":30914.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"59a33add-d0e9-4ae1-8a01-f1e0ed09cb61","savedPayload":{"position":{"x":17911.64382962515,"y":30878.23747069523},"targetPosition":{"x":17949.64382962515,"y":30914.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"a4189ba1-d1d4-4ff8-91dd-a8696ca493e3","savedPayload":{"position":{"x":17953.64382962515,"y":30880.23747069523},"targetPosition":{"x":17924.64382962515,"y":30871.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"3d34eb9d-e7cb-42fe-8785-c327b2bbc529","savedPayload":{"position":{"x":17839.64382962515,"y":30875.23747069523},"targetPosition":{"x":17930.64382962515,"y":30877.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"773de01f-0999-4a59-91f0-642148cd58d0","savedPayload":{"position":{"x":17930.64382962515,"y":30877.23747069523},"targetPosition":{"x":17924.64382962515,"y":30871.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fe33a596-4f98-4843-a5b1-26e7e0fcf1c8","savedPayload":{"position":{"x":17924.64382962515,"y":30871.23747069523},"targetPosition":{"x":18018.64382962515,"y":30832.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d078b9a3-cdc6-458e-a511-dc4f5bef38ba","savedPayload":{"position":{"x":18018.64382962515,"y":30832.23747069523},"targetPosition":{"x":17949.64382962515,"y":30914.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"27d69fa7-b561-4986-8c0d-1b374e7e1bf1","savedPayload":{"position":{"x":18582.63663896287,"y":30334.045714007894},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"TOP.Q","config":"{ \n\"codeName\": \"topq\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"eafef6a3-eed2-470e-a15c-aa4c10001cd2","savedPayload":{"position":{"x":17818.64382962515,"y":31115.23747069523},"targetPosition":{"x":17847.64382962515,"y":31105.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"2d5eb813-ceb6-40cd-8682-7205596bb8b5","savedPayload":{"position":{"x":17759.64382962515,"y":31188.23747069523},"targetPosition":{"x":17847.64382962515,"y":31105.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"61f7832c-c1f0-40bc-b1f2-ba947c58309d","savedPayload":{"position":{"x":17741.64382962515,"y":31288.23747069523},"targetPosition":{"x":17788.64382962515,"y":31228.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"63b973da-30a7-467a-b954-c57537aab18d","savedPayload":{"position":{"x":17677.64382962515,"y":31206.23747069523},"targetPosition":{"x":17756.64382962515,"y":31146.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"722dcf44-de3f-4d1a-8655-80561e1e4d55","savedPayload":{"position":{"x":17756.64382962515,"y":31146.23747069523},"targetPosition":{"x":17788.64382962515,"y":31228.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"45d5e04a-4a53-4f32-b4c0-d882456cb263","savedPayload":{"position":{"x":17788.64382962515,"y":31228.23747069523},"targetPosition":{"x":17806.64382962515,"y":31163.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c66e8dfc-4847-4180-b82c-36458f9b405d","savedPayload":{"position":{"x":17806.64382962515,"y":31163.23747069523},"targetPosition":{"x":17847.64382962515,"y":31105.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8fdf13d8-e8d2-4ef4-8b34-f492a25d753a","savedPayload":{"position":{"x":18712.485315398026,"y":30338.736622606855},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Upbit","config":"{ \n\"codeName\": \"upbit\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"f456fec2-cee6-4f0c-b865-1188088879c9","savedPayload":{"position":{"x":17919.64382962515,"y":30973.23747069523},"targetPosition":{"x":17991.64382962515,"y":30980.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"947c1ca0-bff9-4372-b153-40054e29b705","savedPayload":{"position":{"x":17921.64382962515,"y":31014.23747069523},"targetPosition":{"x":17991.64382962515,"y":30980.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"34ffbe12-5a26-446a-8bf6-7395c0370ba2","savedPayload":{"position":{"x":17874.64382962515,"y":30900.23747069523},"targetPosition":{"x":17945.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"8f00f19d-74a8-48d8-b951-79f35e87b110","savedPayload":{"position":{"x":17906.64382962515,"y":30902.23747069523},"targetPosition":{"x":17896.64382962515,"y":30896.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"64e1bede-aabf-4831-83a6-fe1cea435613","savedPayload":{"position":{"x":17896.64382962515,"y":30896.23747069523},"targetPosition":{"x":17945.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7c80b956-f2ca-4a6f-a661-f17546288d3e","savedPayload":{"position":{"x":17945.64382962515,"y":30971.23747069523},"targetPosition":{"x":18027.64382962515,"y":31048.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e3686b02-4ecc-4dcb-a311-b7ef542a3c37","savedPayload":{"position":{"x":18027.64382962515,"y":31048.23747069523},"targetPosition":{"x":17991.64382962515,"y":30980.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"74e57ecd-3394-42b4-b2c4-6f216f7e41db","savedPayload":{"position":{"x":18841.065636895226,"y":30357.439144338445},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"WhiteBit","config":"{ \n\"codeName\": \"whitebit\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"c16eae45-a568-4b2e-b064-4431bdf34c24","savedPayload":{"position":{"x":17767.64382962515,"y":30899.23747069523},"targetPosition":{"x":17834.64382962515,"y":30950.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"dfdf793f-4ba6-4215-a325-323c0f223553","savedPayload":{"position":{"x":17920.64382962515,"y":31004.23747069523},"targetPosition":{"x":17834.64382962515,"y":30950.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"fd749d13-dbac-493f-9af6-c521eddf909f","savedPayload":{"position":{"x":17815.64382962515,"y":30973.23747069523},"targetPosition":{"x":17720.64382962515,"y":31056.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"79f7d2d0-77a5-4f38-ac68-fd11f18e5e6b","savedPayload":{"position":{"x":17761.64382962515,"y":31182.23747069523},"targetPosition":{"x":17680.64382962515,"y":31153.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"fd0506f4-58b7-431e-bc9d-69bce63c3379","savedPayload":{"position":{"x":17680.64382962515,"y":31153.23747069523},"targetPosition":{"x":17720.64382962515,"y":31056.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"47e8a4b1-9a6c-4555-a881-f7524183d72e","savedPayload":{"position":{"x":17720.64382962515,"y":31056.23747069523},"targetPosition":{"x":17817.64382962515,"y":31010.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7fa08b91-55ab-477d-a097-88ea7f25fb76","savedPayload":{"position":{"x":17817.64382962515,"y":31010.23747069523},"targetPosition":{"x":17834.64382962515,"y":30950.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"467ece1e-d1d0-4a11-ae7a-d0e22cd4eba5","savedPayload":{"position":{"x":18966.87011674703,"y":30389.934009235236},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"ZB","config":"{ \n\"codeName\": \"zb\"\n}","project":"Superalgos","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","project":"Superalgos","assets":[],"id":"db206cbd-a587-4e8e-acbe-6581ad3b5cc4","savedPayload":{"position":{"x":17855.64382962515,"y":31027.23747069523},"targetPosition":{"x":17861.64382962515,"y":30951.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","project":"Superalgos","markets":[],"id":"1dd658c5-7755-44b7-85f0-9bcd787762a0","savedPayload":{"position":{"x":17789.64382962515,"y":31044.23747069523},"targetPosition":{"x":17861.64382962515,"y":30951.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","project":"Superalgos","userAccounts":[{"type":"User Account","name":"New User Account","project":"Superalgos","userAssets":{"type":"User Assets","name":"New User Assets","project":"Superalgos","assets":[],"id":"0de82bbe-7909-4b65-b304-f59b41f618ae","savedPayload":{"position":{"x":17830.64382962515,"y":30696.23747069523},"targetPosition":{"x":17846.64382962515,"y":30793.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","project":"Superalgos","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","project":"Superalgos","id":"c89819d0-8880-4b36-a9b3-0b284d266e3b","savedPayload":{"position":{"x":17891.64382962515,"y":30748.23747069523},"targetPosition":{"x":17865.64382962515,"y":30772.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"7a55f503-17fa-45c4-880b-1a9a11a0a555","savedPayload":{"position":{"x":17865.64382962515,"y":30772.23747069523},"targetPosition":{"x":17846.64382962515,"y":30793.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e640fca2-8bab-45ff-9a47-8e7b9650c277","savedPayload":{"position":{"x":17846.64382962515,"y":30793.23747069523},"targetPosition":{"x":17909.64382962515,"y":30886.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"421a99cd-3d9a-46a5-8654-08d6336e75be","savedPayload":{"position":{"x":17909.64382962515,"y":30886.23747069523},"targetPosition":{"x":17861.64382962515,"y":30951.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"07df07e8-39a8-4fbc-a0c8-150f20b6ac59","savedPayload":{"position":{"x":19088.423812451314,"y":30435.840244716648},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51f64e29-e3ab-4683-a5de-f397fbf94260","savedPayload":{"position":{"x":18604.301618063546,"y":31533.850126685462},"targetPosition":{"x":18904.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchanges","name":"Testing Queue","project":"Superalgos","exchanges":[],"id":"895ce4b1-4890-4216-89ba-a012181d2546","savedPayload":{"position":{"x":18754.301618063546,"y":30754.427263279467},"targetPosition":{"x":18904.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"signalsProviders":[],"id":"7217b56c-e854-4c06-8b8a-d5d3c05a153d","savedPayload":{"position":{"x":18904.301618063546,"y":31014.2348844148},"targetPosition":{"x":18904.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},{"type":"Charting Space","name":"New Charting Space","project":"Superalgos","viewport":{"type":"Viewport","name":"New Viewport","config":"{\"zoom\":\"1.40\"}","project":"Superalgos","id":"01713f1d-91b8-44f9-9c5d-a0c12fd09037","savedPayload":{"position":{"x":19200.806237131383,"y":24983.35640053908},"targetPosition":{"x":18900.806237131383,"y":24983.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"frame":{"position":{"x":0,"y":40}}}},"dashboards":[{"type":"Dashboard","name":"Testing Environment My Computer","project":"Superalgos","timeMachines":[{"type":"Time Machine","name":"WHB v2 Backtesting Session My Computer","config":"{}","project":"Superalgos","timeScale":{"type":"Time Scale","name":"New Time Scale","config":"{\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"fromDate\": \"2020-03-04T12:15:03.517Z\",\n \"toDate\": \"2020-03-16T22:08:40.266Z\"\n}","project":"Superalgos","id":"5192eaa2-8ea0-46b1-870f-b9429a00e993","savedPayload":{"position":{"x":18793.642520037345,"y":25732.78497574544},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rateScale":{"type":"Rate Scale","name":"New Rate Scale","config":"{\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"minValue\": 2976.596840823151,\n \"maxValue\": 11824.968140823152\n}","project":"Superalgos","id":"6e48a952-39da-466f-813d-b27da5599ea0","savedPayload":{"position":{"x":18703.412280129083,"y":25784.87942904552},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeFrameScale":{"type":"Time Frame Scale","name":"New Time Frame Scale","config":"{\"value\":\"01-hs\"}","project":"Superalgos","id":"b26b5d49-6ee6-46c0-98d3-9940b99d2f40","savedPayload":{"position":{"x":18600.806237131383,"y":25802.971642809745},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timelineCharts":[{"type":"Timeline Chart","name":"Trading Engine","project":"Superalgos","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","project":"Superalgos","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","project":"Superalgos","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Trading Engine","project":"Superalgos","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Episode","project":"Superalgos","layers":[{"type":"Layer","name":"Episode Counters","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"fa813608-2b0a-48b2-910b-7ddaac756e16","savedPayload":{"position":{"x":18701.806237131383,"y":24913.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Counters","id":"dd0c8cb9-af86-43fc-a22e-2b1b408787d9"}}},{"type":"Layer","name":"Episode Statistics","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","project":"Superalgos","id":"b5af64e4-f6b0-43fb-9505-16f90deb554d","savedPayload":{"position":{"x":18633.806237131383,"y":24947.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Statistics","id":"5c98f3e9-72a7-4742-9315-50d6e4aaa452"}}},{"type":"Layer","name":"Episode Candle","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"6266fd8e-a5f5-4cfa-b8ba-ab722fce5235","savedPayload":{"position":{"x":18731.806237131383,"y":25004.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Candle","id":"b626d6f0-f929-457e-910b-dfb83c666deb"}}},{"type":"Layer","name":"Episode Balances","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"8bf67d64-0c44-4dbe-aa36-54f2cfcac9a7","savedPayload":{"position":{"x":18647.806237131383,"y":25034.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Balances","id":"3d2dee0f-a7df-463f-befe-5f6231ab7830"}}},{"type":"Layer","name":"Distance To Event","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"edb413d2-a9d3-4789-84c3-73d931d54a7c","savedPayload":{"position":{"x":18606.806237131383,"y":24984.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Distance To Event","id":"5699dc43-eb9a-4e42-aece-e9567924cac2"}}},{"type":"Layer","name":"Episode Base Asset","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"40eb24d7-de06-40de-a366-b6282ce71c2b","savedPayload":{"position":{"x":18727.806237131383,"y":24939.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Base Asset","id":"7647e8ee-0ab7-41af-b153-099a334a362d"}}},{"type":"Layer","name":"Episode Quoted Asset","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"42ff6f2d-3fe6-45eb-9030-4293c24226c4","savedPayload":{"position":{"x":18586.806237131383,"y":24962.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Quoted Asset","id":"00bf7f7c-9002-4923-8010-7125327f9128"}}},{"type":"Layer","name":"Current Episode","config":"{\n \"status\": \"off\"\n}","project":"Superalgos","id":"ab1ce152-2274-4b30-8d7d-7a965cafbf31","savedPayload":{"position":{"x":18656.806237131383,"y":24942.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Episode","id":"54b85d80-295a-4540-b726-f6f7cd17c6c9"}}}],"layerFolders":[],"id":"fe0d7201-2146-4833-ae77-cfadb7270673","savedPayload":{"position":{"x":18652.806237131383,"y":24950.35640053908},"targetPosition":{"x":18656.806237131383,"y":25019.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Strategy","project":"Superalgos","layers":[{"type":"Layer","name":"Current Strategy","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"d169d6ef-5565-426c-b8d7-147ed9c36e6e","savedPayload":{"position":{"x":18731.806237131383,"y":24843.35640053908},"targetPosition":{"x":18712.806237131383,"y":24939.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Strategy","id":"68fdae81-0371-428f-8495-a0fe100cbba8"}}},{"type":"Layer","name":"Last Strategy","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"0afe1dde-aa14-4bd5-aad6-8940d0f368ce","savedPayload":{"position":{"x":18642.806237131383,"y":24892.35640053908},"targetPosition":{"x":18712.806237131383,"y":24939.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Strategy","id":"51693a6b-7d84-4f20-bdee-1211f9bae6f9"}}}],"layerFolders":[],"id":"403e5d9f-65ec-40b8-ab0a-b0d63388815a","savedPayload":{"position":{"x":18712.806237131383,"y":24939.35640053908},"targetPosition":{"x":18656.806237131383,"y":25019.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Position","project":"Superalgos","layers":[{"type":"Layer","name":"Current Position","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"f1ad300d-2644-4c81-936c-fbf395c1a6bb","savedPayload":{"position":{"x":18652.806237131383,"y":25142.35640053908},"targetPosition":{"x":18722.806237131383,"y":25116.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Position","id":"80cb8779-8e2b-4c33-bd43-c696dbc4e5f6"}}},{"type":"Layer","name":"Last Position","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"61fe281f-e795-4e5d-bc56-ea4ccfdb0e81","savedPayload":{"position":{"x":18723.806237131383,"y":25165.35640053908},"targetPosition":{"x":18722.806237131383,"y":25116.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Position","id":"cd54c5f3-13f4-4e71-b233-b649d4878ab6"}}}],"layerFolders":[],"id":"707f45cd-f2fa-4685-ae9a-f247195f1c2b","savedPayload":{"position":{"x":18722.806237131383,"y":25116.35640053908},"targetPosition":{"x":18656.806237131383,"y":25019.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Stages","project":"Superalgos","layers":[{"type":"Layer","name":"Open Stage","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"c16346d4-a027-4afd-b3de-d04c98278ce2","savedPayload":{"position":{"x":18644.806237131383,"y":25110.35640053908},"targetPosition":{"x":18714.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Open Stage","id":"7466e39e-eced-4ca3-9d56-a0d1548b91c6"}}},{"type":"Layer","name":"Close Stage","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"079ed389-1381-4147-8d81-7c51c34bf23b","savedPayload":{"position":{"x":18695.806237131383,"y":24986.35640053908},"targetPosition":{"x":18714.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Close Stage","id":"bea0a14e-e504-4e9e-a346-439180b6ad31"}}},{"type":"Layer","name":"Trigger Stage","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"37c1f78a-2773-42b8-a0e5-04e6fa014eda","savedPayload":{"position":{"x":18645.806237131383,"y":25067.35640053908},"targetPosition":{"x":18714.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trigger Stage","id":"06ef8c46-5cc3-4890-9a44-8fd57b8e9ca3"}}},{"type":"Layer","name":"Manage Stage","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"7ae2aa13-6f81-4be9-b3fa-4bf46194fa91","savedPayload":{"position":{"x":18733.806237131383,"y":25063.35640053908},"targetPosition":{"x":18714.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Manage Stage","id":"9df7d784-5665-4fa1-9d85-ee74845267aa"}}}],"layerFolders":[],"id":"dce48197-8109-41cc-9e8d-43c49ecd8d98","savedPayload":{"position":{"x":18714.806237131383,"y":25042.35640053908},"targetPosition":{"x":18656.806237131383,"y":25019.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Orders","project":"Superalgos","layers":[{"type":"Layer","name":"Market Buy Orders","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"fe9cc276-d299-412e-b321-afc86593f929","savedPayload":{"position":{"x":18588.806237131383,"y":24928.35640053908},"targetPosition":{"x":18568.806237131383,"y":25020.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Buy Orders","id":"4bc0034d-935a-4193-89cf-b18c65b0905a"}}},{"type":"Layer","name":"Market Sell Orders","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"82636cd6-117e-4b83-85e7-6ee5ddd0d644","savedPayload":{"position":{"x":18615.806237131383,"y":24928.35640053908},"targetPosition":{"x":18568.806237131383,"y":25020.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Sell Orders","id":"ffada7e3-6897-4d94-b119-eef67c178678"}}},{"type":"Layer","name":"Limit Buy Orders","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"0e389a87-dfef-44f9-812d-1dd1f5cfbf43","savedPayload":{"position":{"x":18607.806237131383,"y":24978.35640053908},"targetPosition":{"x":18568.806237131383,"y":25020.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Buy Orders","id":"e195d10c-7b9f-4428-910e-11be05f66345"}}},{"type":"Layer","name":"Limit Sell Orders","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"64ba9c66-3f86-4577-ad49-75eaab68c0ba","savedPayload":{"position":{"x":18488.806237131383,"y":24939.35640053908},"targetPosition":{"x":18568.806237131383,"y":25020.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Sell Orders","id":"c396625e-9a71-4edd-a954-ea2c884538f5"}}},{"type":"Layer","name":"Last Market Order","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"dd350949-fa54-430f-b5b0-2a9167bae8f0","savedPayload":{"position":{"x":18473.806237131383,"y":25048.35640053908},"targetPosition":{"x":18568.806237131383,"y":25020.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Market Order","id":"d15cc7d7-3e92-4f92-9bbe-e0a3ba499740"}}},{"type":"Layer","name":"Last Limit Order","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"3157319b-7ae4-4ea6-99fb-e8bc2b7c0b24","savedPayload":{"position":{"x":18508.806237131383,"y":24970.35640053908},"targetPosition":{"x":18568.806237131383,"y":25020.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Limit Order","id":"507be75d-cd3c-4767-b159-328469e5c6e8"}}}],"layerFolders":[],"id":"4c246238-98c7-414d-b25b-aa82c3cbe143","savedPayload":{"position":{"x":18568.806237131383,"y":25020.35640053908},"targetPosition":{"x":18656.806237131383,"y":25019.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"340fd3f6-a9c9-47b0-b4be-078b7d806800","savedPayload":{"position":{"x":18656.806237131383,"y":25019.35640053908},"targetPosition":{"x":18733.806237131383,"y":24998.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d4903f86-8eee-42b2-b3db-230029802ccb","savedPayload":{"position":{"x":18733.806237131383,"y":24998.35640053908},"targetPosition":{"x":18811.806237131383,"y":25062.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ced831dc-8bda-42ef-97f1-d6d75cf0e68a","savedPayload":{"position":{"x":18811.806237131383,"y":25062.35640053908},"targetPosition":{"x":18893.806237131383,"y":25028.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":0,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"7d983ca2-8566-436b-ab21-445564aba4b3"}}},"id":"e771e170-f11f-4f7d-9cb4-112bafb9c1f4","savedPayload":{"position":{"x":18498.200194133682,"y":25784.87942904552},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Trading System","project":"Superalgos","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","project":"Superalgos","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","project":"Superalgos","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Trading System","project":"Superalgos","layers":[{"type":"Layer","name":"Trading System Errors","config":"{\n \"status\": \"off\"\n}","project":"Superalgos","id":"30b49f64-f53b-406a-ba61-aad55cd084e3","savedPayload":{"position":{"x":18923.806237131383,"y":25101.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Errors","id":"8cb33c4c-4561-4e2e-a145-19bb87fa9b61"}}},{"type":"Layer","name":"Trading System Highlights","config":"{\n \"status\": \"off\"\n}","project":"Superalgos","id":"37f95213-23f6-473b-ab56-944a60f0d3ee","savedPayload":{"position":{"x":18867.806237131383,"y":25141.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Highlights","id":"3521e920-c9b3-493b-9690-58101c475dad"}}},{"type":"Layer","name":"Trading System Values","config":"{\n \"status\": \"off\"\n}","project":"Superalgos","id":"f4119e12-f225-46f4-be06-b56509bbf00f","savedPayload":{"position":{"x":18878.806237131383,"y":25007.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Values","id":"084d12bb-30ec-4a0f-a356-a58817d4e266"}}},{"type":"Layer","name":"Trading System Status","config":"{\n \"status\": \"off\"\n}","project":"Superalgos","id":"de0d7560-5dc3-4d72-b95f-e26d686ebd64","savedPayload":{"position":{"x":18922.806237131383,"y":25043.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Status","id":"12e328ff-6658-4ca1-be6d-a93c8fc5c42e"}}},{"type":"Layer","name":"Trading System Progress","config":"{\n \"status\": \"off\"\n}","project":"Superalgos","id":"6e83e3f7-36f3-4d40-a6d9-2800f339aa51","savedPayload":{"position":{"x":19030.806237131383,"y":25074.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Progress","id":"d35b7442-5911-4456-bc9e-c451e21d4a30"}}},{"type":"Layer","name":"Trading System Running","config":"{\n \"status\": \"off\"\n}","project":"Superalgos","id":"7d2b6f17-ecc9-493d-9b0a-41904bb3b852","savedPayload":{"position":{"x":18955.806237131383,"y":25000.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Running","id":"65c269c0-2793-483c-ad8e-5c107a56b951"}}},{"type":"Layer","name":"Trading System Announcements","config":"{\n \"status\": \"off\"\n}","project":"Superalgos","id":"3568bbb7-41a3-4805-80b3-b344dc8bd80c","savedPayload":{"position":{"x":18889.806237131383,"y":25080.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Announcements","id":"56631448-2669-47f1-bbc9-7dda628f433e"}}},{"type":"Layer","name":"Trading System Warnings","config":"{\n \"status\": \"off\"\n}","project":"Superalgos","id":"0a880071-8042-4cef-95fb-47fdd99737ce","savedPayload":{"position":{"x":18868.806237131383,"y":25095.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Warnings","id":"c7c4ece9-6d52-4e9a-800e-11c22955c178"}}},{"type":"Layer","name":"Trading System Infos","config":"{\n \"status\": \"off\"\n}","project":"Superalgos","id":"53b788b5-a4b1-4179-9e5c-f43adf1e83d5","savedPayload":{"position":{"x":18980.806237131383,"y":25083.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Infos","id":"f937c3f3-305c-4abc-aa12-0f2015e8f5fa"}}}],"layerFolders":[],"id":"0d7e6572-550e-425e-a408-9cd4a6d2de07","savedPayload":{"position":{"x":18942.806237131383,"y":25093.35640053908},"targetPosition":{"x":18926.806237131383,"y":25190.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"91960320-2dcb-458a-83dd-dce4a019a209","savedPayload":{"position":{"x":18926.806237131383,"y":25190.35640053908},"targetPosition":{"x":18856.806237131383,"y":25099.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"34799cb4-7d89-4f96-8e56-807ff9ed0148","savedPayload":{"position":{"x":18856.806237131383,"y":25099.35640053908},"targetPosition":{"x":18796.806237131383,"y":25002.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":150,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"7d983ca2-8566-436b-ab21-445564aba4b3"}}},"id":"4c457781-9247-442d-875c-1a476cf66bfe","savedPayload":{"position":{"x":18407.96995422542,"y":25732.78497574544},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Simulation Objects","project":"Superalgos","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","project":"Superalgos","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","project":"Superalgos","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Simulation Objects","project":"Superalgos","layers":[{"type":"Layer","name":"Episodes","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"f65f3741-038e-4748-81d9-3bf0f5c92388","savedPayload":{"position":{"x":18579.806237131383,"y":24908.35640053908},"targetPosition":{"x":18608.806237131383,"y":25008.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episodes","id":"b4881fc1-e88b-4be3-805d-ab98c4ccbb0b"}}},{"type":"Layer","name":"Strategies","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","project":"Superalgos","id":"a570f5c9-baf9-4acb-8305-651a78689b92","savedPayload":{"position":{"x":18663.806237131383,"y":25076.35640053908},"targetPosition":{"x":18608.806237131383,"y":25008.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Strategies","id":"7201adfb-d461-46b7-af3a-a45fabe24835"}}}],"layerFolders":[{"type":"Layer Folder","name":"Orders","project":"Superalgos","layers":[{"type":"Layer","name":"Market Buy Orders","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"8ef28bbb-7daf-4e89-996f-8125cf4464f7","savedPayload":{"position":{"x":18499.806237131383,"y":25047.35640053908},"targetPosition":{"x":18559.806237131383,"y":25084.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Buy Orders","id":"c92a34c6-c74b-48ad-a57d-9fb78e3e642c"}}},{"type":"Layer","name":"Market Sell Orders","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"74ce175e-697a-459b-87c7-1dd7a9773312","savedPayload":{"position":{"x":18495.806237131383,"y":25098.35640053908},"targetPosition":{"x":18559.806237131383,"y":25084.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Sell Orders","id":"442e4f1d-e420-43cf-94c8-08282408f555"}}},{"type":"Layer","name":"Limit Buy Orders","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"e4fac985-c39e-4765-9eb4-f7eac5eb0ad3","savedPayload":{"position":{"x":18501.806237131383,"y":25045.35640053908},"targetPosition":{"x":18559.806237131383,"y":25084.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Buy Orders","id":"5beb71e3-23fd-4e79-b7fd-46da219b1112"}}},{"type":"Layer","name":"Limit Sell Orders","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"0356dd2e-b704-4be0-8794-ca197cc18bd1","savedPayload":{"position":{"x":18466.806237131383,"y":25071.35640053908},"targetPosition":{"x":18559.806237131383,"y":25084.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Sell Orders","id":"1d6f14f5-c7fe-4b42-8a1b-5859e6e5a592"}}}],"layerFolders":[],"id":"2b4a8143-844b-46be-beec-0328c5feeeb0","savedPayload":{"position":{"x":18559.806237131383,"y":25084.35640053908},"targetPosition":{"x":18608.806237131383,"y":25008.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Stages","project":"Superalgos","layers":[{"type":"Layer","name":"Trigger Stages","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"f3324490-0585-4cc1-8ca6-82cbba329286","savedPayload":{"position":{"x":18458.806237131383,"y":25018.35640053908},"targetPosition":{"x":18531.806237131383,"y":25106.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trigger Stages","id":"7f256746-a20a-4856-af57-18f91e02fdaf"}}},{"type":"Layer","name":"Open Stages","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"68057302-b007-4c11-937c-f3666e549d06","savedPayload":{"position":{"x":18554.806237131383,"y":25007.35640053908},"targetPosition":{"x":18531.806237131383,"y":25106.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Open Stages","id":"c9b06e1b-2816-4770-b4d2-951b354fa688"}}},{"type":"Layer","name":"Manage Stages","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"ed7d05b5-e17f-4d1b-8877-3771f1ff1f2b","savedPayload":{"position":{"x":18605.806237131383,"y":25063.35640053908},"targetPosition":{"x":18531.806237131383,"y":25106.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Manage Stages","id":"59770c0b-e50d-46d3-b62f-7ea080fcbeb2"}}},{"type":"Layer","name":"Close Stages","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"5f05ebbd-0849-429e-95a0-870672f781ef","savedPayload":{"position":{"x":18436.806237131383,"y":25202.35640053908},"targetPosition":{"x":18531.806237131383,"y":25106.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Close Stages","id":"56915d54-1528-46bf-ad3f-361ca441abc0"}}}],"layerFolders":[],"id":"272eae40-8975-4ffa-984d-9cb015a86913","savedPayload":{"position":{"x":18531.806237131383,"y":25106.35640053908},"targetPosition":{"x":18608.806237131383,"y":25008.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Position","project":"Superalgos","layers":[{"type":"Layer","name":"Positions","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"3f5758b3-7ae1-49eb-87d9-51965408b246","savedPayload":{"position":{"x":18518.806237131383,"y":25044.35640053908},"targetPosition":{"x":18537.806237131383,"y":25076.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Positions","id":"112221cf-8147-484f-a9aa-d86c2402d1b4"}}},{"type":"Layer","name":"Position Base Asset","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","project":"Superalgos","id":"2093a6be-57ea-4aea-b1d8-7a5504acf8d0","savedPayload":{"position":{"x":18620.806237131383,"y":25098.35640053908},"targetPosition":{"x":18537.806237131383,"y":25076.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Position Base Asset","id":"b92609ac-310d-482c-a96f-8e90d4c43d72"}}},{"type":"Layer","name":"Position Quoted Asset","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"94e1588e-0c27-4ac2-8b25-cbe4c568b94c","savedPayload":{"position":{"x":18523.806237131383,"y":25144.35640053908},"targetPosition":{"x":18537.806237131383,"y":25076.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Position Quoted Asset","id":"1e037875-a2ee-44c3-8d8e-861f39f9d8a7"}}},{"type":"Layer","name":"Stop Loss","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"e8b96393-0706-4444-a88e-189490c8720f","savedPayload":{"position":{"x":18542.806237131383,"y":25004.35640053908},"targetPosition":{"x":18537.806237131383,"y":25076.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Stop Loss","id":"7f2737da-5aef-4dbf-b86c-80132bcb3289"}}},{"type":"Layer","name":"Take Profit","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","project":"Superalgos","id":"1b15b0df-dfbd-4701-a4cf-4a0ad7e51847","savedPayload":{"position":{"x":18461.806237131383,"y":25040.35640053908},"targetPosition":{"x":18537.806237131383,"y":25076.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Take Profit","id":"4d5fcd48-f3df-43c9-818e-70057086a961"}}}],"layerFolders":[],"id":"e2b2ad32-3780-436f-ba33-ec49827eb7c9","savedPayload":{"position":{"x":18537.806237131383,"y":25076.35640053908},"targetPosition":{"x":18608.806237131383,"y":25008.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6de64ba0-66f9-4268-bcc5-da53f800f9cf","savedPayload":{"position":{"x":18608.806237131383,"y":25008.35640053908},"targetPosition":{"x":18704.806237131383,"y":25083.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b605e608-0de4-4b90-a4c5-6fe037da273d","savedPayload":{"position":{"x":18704.806237131383,"y":25083.35640053908},"targetPosition":{"x":18795.806237131383,"y":25171.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c83690b2-8551-43b6-b0a6-ca9366c441e9","savedPayload":{"position":{"x":18795.806237131383,"y":25171.35640053908},"targetPosition":{"x":18821.806237131383,"y":25072.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":300,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"7d983ca2-8566-436b-ab21-445564aba4b3"}}},"id":"45ae1a95-dea4-4d47-a7ce-6c8d8f13dd14","savedPayload":{"position":{"x":18340.99861599605,"y":25652.971642809745},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Sparta","project":"Superalgos","layerManager":{"type":"Layer Manager","name":"Sparta","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","project":"Superalgos","layers":[],"botLayers":[{"type":"Bot Layers","name":"EMA","project":"Superalgos","layers":[{"type":"Layer","name":"Popular EMAs","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"6443b8e7-7124-465e-9ffb-eca387bfc0c5","savedPayload":{"position":{"x":17434.876898635554,"y":25767.986414195097},"targetPosition":{"x":17714.479259420394,"y":25659.255002709986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Popular EMAs","id":"8b3b410e-0728-457a-a2ac-640f8839592c"}}},{"type":"Layer","name":"Base7 EMAs","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"1d52126c-9162-4a08-910b-a8648c9c4d30","savedPayload":{"position":{"x":17419.03693351673,"y":25711.349456010066},"targetPosition":{"x":17714.479259420394,"y":25659.255002709986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Base7 EMAs","id":"45eea564-7729-421c-b871-acda5a5ae81e"}}},{"type":"Layer","name":"Base11 EMAs","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"03f74f67-0ffa-475c-ad79-f78f25fd8841","savedPayload":{"position":{"x":17414.55065129642,"y":25652.71053719962},"targetPosition":{"x":17714.479259420394,"y":25659.255002709986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Base11 EMAs","id":"fe10ecb5-0593-4c6b-9fd0-1729976ce713"}}}],"layerFolders":[],"id":"fdc7f2ac-b6e5-4c2a-873e-708794c567d8","savedPayload":{"position":{"x":17714.479259420394,"y":25659.255002709986},"targetPosition":{"x":18009.921585324057,"y":25607.160549409906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"bb26a76c-f706-496d-bbaa-81475ad0aa60","savedPayload":{"position":{"x":18009.921585324057,"y":25607.160549409906},"targetPosition":{"x":18305.36391122772,"y":25555.066096109826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":450,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Data Mine Products","name":"Sparta","id":"cc85c8b7-657d-4589-8373-ac3ff5cf3c6a"}}},"id":"d449ea7e-cc93-438c-bdc2-84f06c670890","savedPayload":{"position":{"x":18305.36391122772,"y":25555.066096109826},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Masters","project":"Superalgos","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","project":"Superalgos","layers":[],"botLayers":[{"type":"Bot Layers","name":"Exchange Raw Data","project":"Superalgos","layers":[],"layerFolders":[],"id":"e341f133-88b2-4dcc-9a82-addc8d68ea45","savedPayload":{"position":{"x":17794.11964522246,"y":25607.180247347285},"targetPosition":{"x":18009.921585324057,"y":25398.782736209585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Candles Volumes","project":"Superalgos","layers":[{"type":"Layer","name":"Candles","config":"{\n \"status\": \"on\",\n \"showPanels\": false\n}","project":"Superalgos","id":"22555671-02c7-4be3-bed8-e808e015ddb7","savedPayload":{"position":{"x":17423.752028739,"y":25520.70617932108},"targetPosition":{"x":17712.841164701586,"y":25440.534666497606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Candles","id":"70d84756-8e7a-4dfc-8aae-abf8affc802f"}}},{"type":"Layer","name":"Volumes","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"88622f71-4be1-425c-ba9d-8ec10bd3fa74","savedPayload":{"position":{"x":17412.852587782334,"y":25443.15262714712},"targetPosition":{"x":17712.841164701586,"y":25440.534666497606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Volumes","id":"5a47df0f-0524-401a-b5f4-f292eda68238"}}}],"layerFolders":[],"id":"40d6fb03-d3b4-4a3e-8293-21d256246e96","savedPayload":{"position":{"x":17712.841164701586,"y":25440.534666497606},"targetPosition":{"x":18009.921585324057,"y":25398.782736209585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Bollinger Bands","project":"Superalgos","layers":[{"type":"Layer","name":"Bollinger Bands","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"c7224f35-eb60-41ba-9cef-14891b7549c1","savedPayload":{"position":{"x":17464.03565069186,"y":25152.879052995977},"targetPosition":{"x":17745.03730746638,"y":25257.94126737382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Bands","id":"d50dcdf4-6251-4c59-9a04-d5dedadd86f7"}}},{"type":"Layer","name":"Percentage Bandwidth","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"3403e533-bccb-4d6a-9c8c-7e7dae15893f","savedPayload":{"position":{"x":17500.802651959486,"y":25083.730380660538},"targetPosition":{"x":17745.03730746638,"y":25257.94126737382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Percentage Bandwidth","id":"1e029c1d-85c8-4d3d-90d8-388bf135d110"}}}],"layerFolders":[],"id":"b9834ac2-04d9-4978-9f7e-1513df5a91a7","savedPayload":{"position":{"x":17745.03730746638,"y":25257.94126737382},"targetPosition":{"x":18009.921585324057,"y":25398.782736209585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Bollinger Channels","project":"Superalgos","layers":[{"type":"Layer","name":"Bollinger Channels Objects","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"4ed08f32-cb20-433b-b1b4-9506f7f9fa55","savedPayload":{"position":{"x":17687.586775204003,"y":24897.65714730352},"targetPosition":{"x":17878.410241287333,"y":25129.144522319835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Channels Objects","id":"aba646d5-9b32-48d6-abc3-e9fa8405b279"}}},{"type":"Layer","name":"Bollinger Channels","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"b72da299-ad7b-40ef-b28d-5e06b55d38b4","savedPayload":{"position":{"x":17726.14873239912,"y":24870.655774187377},"targetPosition":{"x":17878.410241287333,"y":25129.144522319835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Channels","id":"241723cd-ae4d-4990-88f8-29bfad2e14ed"}}},{"type":"Layer","name":"Bollinger Sub-Channels Objects","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"43940d4c-5b47-4eed-afb8-c83dea0a2e86","savedPayload":{"position":{"x":17768.459873270043,"y":24850.019251925227},"targetPosition":{"x":17878.410241287333,"y":25129.144522319835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Sub-Channels Objects","id":"e171424f-d37d-46d5-aada-1d66ccb0961f"}}},{"type":"Layer","name":"Bollinger Sub-Channels","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"44bfe72d-d563-4d7d-94f6-32b251ea8519","savedPayload":{"position":{"x":17813.4783571059,"y":24836.255720183854},"targetPosition":{"x":17878.410241287333,"y":25129.144522319835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Sub-Channels","id":"f8686b62-8ca9-4b30-9c27-9844c109d987"}}}],"layerFolders":[],"id":"e9f0e366-b340-487a-b7f9-40f37e7994da","savedPayload":{"position":{"x":17878.410241287333,"y":25129.144522319835},"targetPosition":{"x":18009.921585324057,"y":25398.782736209585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a2cae263-03ad-4322-b867-14cbb3a3653a","savedPayload":{"position":{"x":18009.921585324057,"y":25398.782736209585},"targetPosition":{"x":18305.36391122772,"y":25450.877189509665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":600,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Data Mine Products","name":"Masters","id":"f527bdd3-f5bc-4248-a35f-ac7e591c3aec"}}},"id":"bcdf169d-6297-4f61-b125-2aacefdc4f18","savedPayload":{"position":{"x":18305.36391122772,"y":25450.877189509665},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c36f98d3-5b61-4f02-bad5-c97fbe968d5c","savedPayload":{"position":{"x":18600.806237131383,"y":25502.971642809745},"targetPosition":{"x":18750.806237131383,"y":25243.164021674413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":0,"y":0},"width":240,"height":112.375,"radius":0},"referenceParent":{"type":"Backtesting Session","name":"WHB v2","id":"1ff8cd88-dcd9-4528-b406-05647ddd8c9c"}}}],"id":"97979c42-ea93-4e10-8af1-20a6658b6d57","savedPayload":{"position":{"x":18750.806237131383,"y":25243.164021674413},"targetPosition":{"x":18900.806237131383,"y":24983.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Testing Environment","name":"New Testing Environment","id":"5882d8a8-345b-4188-b1c1-797e9ff805d9"}}},{"type":"Dashboard","name":"Production Environment My Computer","project":"Superalgos","timeMachines":[{"type":"Time Machine","name":"WHB v2 Live Trading Session My Computer","config":"{}","project":"Superalgos","timeScale":{"type":"Time Scale","name":"New Time Scale","config":"{\n \"autoMinScale\": true,\n \"autoMaxScale\": true,\n \"fromDate\": \"2020-01-01T00:00:00.000Z\",\n \"toDate\": \"2020-10-09T23:59:59.999Z\"\n}","project":"Superalgos","id":"9e3b6145-28ed-4709-9e82-9eba74e55c19","savedPayload":{"position":{"x":18305.36391122772,"y":24515.835611568495},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rateScale":{"type":"Rate Scale","name":"New Rate Scale","config":"{\n \"autoMinScale\": true,\n \"autoMaxScale\": true,\n \"minValue\": 3744.3087,\n \"maxValue\": 12592.68\n}","project":"Superalgos","id":"e2887721-8e49-482a-8bfe-d1c0d84c5b1e","savedPayload":{"position":{"x":18305.36391122772,"y":24411.646704968334},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeFrameScale":{"type":"Time Frame Scale","name":"New Time Frame Scale","config":"{ \n\"value\": \"24-hs\"\n}","project":"Superalgos","id":"c06978cc-97da-4321-bcec-1be366f04b3e","savedPayload":{"position":{"x":18340.99861599605,"y":24313.741158268414},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timelineCharts":[{"type":"Timeline Chart","name":"Trading Engine","project":"Superalgos","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","project":"Superalgos","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","project":"Superalgos","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Trading Engine","project":"Superalgos","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Episode","project":"Superalgos","layers":[{"type":"Layer","name":"Episode Counters","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"f1f95b78-c2c3-4271-bcb6-91b79825858e","savedPayload":{"position":{"x":18669.806237131383,"y":25026.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Counters","id":"4d1ea2bf-5a1d-4b37-9719-007e28b81184"}}},{"type":"Layer","name":"Episode Statistics","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"ae5b3b26-2687-4b2a-828f-e6275553ef2f","savedPayload":{"position":{"x":18667.806237131383,"y":24997.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Statistics","id":"2c4ef698-66da-4079-90ec-9fdf5ce41be7"}}},{"type":"Layer","name":"Episode Candle","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"fc1bc47c-3e1a-4b5a-ba84-8882868e400a","savedPayload":{"position":{"x":18711.806237131383,"y":25071.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Candle","id":"5ee16bd3-cb60-4b92-ab67-d56dfbdd8671"}}},{"type":"Layer","name":"Episode Balances","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"caa2849f-552d-4762-97eb-ed66670e71b5","savedPayload":{"position":{"x":18847.806237131383,"y":24978.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Balances","id":"660caa52-ba9a-4829-9143-3ca16f2590aa"}}},{"type":"Layer","name":"Distance To Event","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"57949a00-f277-4a9b-b480-8c4d7749eea6","savedPayload":{"position":{"x":18818.806237131383,"y":25085.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Distance To Event","id":"382ccb5c-e0c3-4e34-97b9-599cf5d6792d"}}},{"type":"Layer","name":"Episode Base Asset","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"a5dc3f74-ae54-491f-8761-dd1ff593d7e1","savedPayload":{"position":{"x":18858.806237131383,"y":25140.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Base Asset","id":"42d86745-d971-4328-a908-91bf6d19a019"}}},{"type":"Layer","name":"Episode Quoted Asset","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"e904ccb9-94fe-4d2a-80b9-aef73a46b84a","savedPayload":{"position":{"x":18793.806237131383,"y":25079.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Quoted Asset","id":"7dbf878d-588f-422e-acd2-03968abaf5f0"}}},{"type":"Layer","name":"Current Episode","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"6fa6eec1-da47-451c-96ff-24de0a07a68f","savedPayload":{"position":{"x":18844.806237131383,"y":25083.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Episode","id":"d678dfa8-544b-456f-b3f0-715579440aa2"}}}],"layerFolders":[],"id":"c37d2dd1-f13a-466a-a217-ec8ae805f8d2","savedPayload":{"position":{"x":18762.806237131383,"y":25042.35640053908},"targetPosition":{"x":18788.806237131383,"y":24986.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Strategy","project":"Superalgos","layers":[{"type":"Layer","name":"Current Strategy","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"938325be-e1cd-42ec-9d48-4b7284833347","savedPayload":{"position":{"x":18835.806237131383,"y":24930.35640053908},"targetPosition":{"x":18880.806237131383,"y":24943.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Strategy","id":"07b721a0-55e0-4e7a-b0e2-a91e8c76de4f"}}},{"type":"Layer","name":"Last Strategy","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"b82d691f-9709-42c6-a6f4-c0b7d83a1839","savedPayload":{"position":{"x":18804.806237131383,"y":24843.35640053908},"targetPosition":{"x":18880.806237131383,"y":24943.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Strategy","id":"15f34c1a-b30d-4dd1-96e0-8a2646de3635"}}}],"layerFolders":[],"id":"d27b2ba3-8ab6-45c8-a50d-7bdd2e39a1b2","savedPayload":{"position":{"x":18880.806237131383,"y":24943.35640053908},"targetPosition":{"x":18788.806237131383,"y":24986.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Position","project":"Superalgos","layers":[{"type":"Layer","name":"Current Position","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"635f4c80-d3ae-4382-a6fa-656e1c25aab6","savedPayload":{"position":{"x":18797.806237131383,"y":25147.35640053908},"targetPosition":{"x":18851.806237131383,"y":25068.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Position","id":"ab53428d-89a3-4b1f-84b1-d5bd1d957f02"}}},{"type":"Layer","name":"Last Position","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"ee8464c4-513c-4248-aa78-19d91d6e2789","savedPayload":{"position":{"x":18841.806237131383,"y":25009.35640053908},"targetPosition":{"x":18851.806237131383,"y":25068.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Position","id":"5909ca07-e00c-4669-9cd3-17eb83796f31"}}}],"layerFolders":[],"id":"44bb52f1-bcc7-4f05-8c2f-48d675deb366","savedPayload":{"position":{"x":18851.806237131383,"y":25068.35640053908},"targetPosition":{"x":18788.806237131383,"y":24986.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Stages","project":"Superalgos","layers":[{"type":"Layer","name":"Open Stage","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"c3243adf-912b-47da-9404-39811daf5efa","savedPayload":{"position":{"x":18720.806237131383,"y":24987.35640053908},"targetPosition":{"x":18703.806237131383,"y":25000.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Open Stage","id":"68803338-3e70-443f-90fd-8b36f5378f31"}}},{"type":"Layer","name":"Close Stage","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"8e74ff15-a7d9-433c-9252-2b41664138a9","savedPayload":{"position":{"x":18658.806237131383,"y":25047.35640053908},"targetPosition":{"x":18703.806237131383,"y":25000.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Close Stage","id":"2d2dd9df-d00a-4d69-9b29-66e19d0238fe"}}},{"type":"Layer","name":"Trigger Stage","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"f093b5a0-e006-4fc8-a1a4-526ddabe03a6","savedPayload":{"position":{"x":18688.806237131383,"y":24936.35640053908},"targetPosition":{"x":18703.806237131383,"y":25000.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trigger Stage","id":"7a71d0ce-5592-4b70-b30c-9676b67feb47"}}},{"type":"Layer","name":"Manage Stage","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"417dbc47-0de8-4b43-9807-6321269b1bad","savedPayload":{"position":{"x":18622.806237131383,"y":24922.35640053908},"targetPosition":{"x":18703.806237131383,"y":25000.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Manage Stage","id":"5b233b81-aa5f-4222-9772-5c8810cb683a"}}}],"layerFolders":[],"id":"2d472757-6f85-45c7-bf7f-459d3d87bbfa","savedPayload":{"position":{"x":18703.806237131383,"y":25000.35640053908},"targetPosition":{"x":18788.806237131383,"y":24986.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Orders","project":"Superalgos","layers":[{"type":"Layer","name":"Market Buy Orders","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"9b2d6215-dc66-47f1-bafe-233d262f0b26","savedPayload":{"position":{"x":18623.806237131383,"y":25126.35640053908},"targetPosition":{"x":18709.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Buy Orders","id":"0487769a-1b78-45ce-8750-6cb55c0785f4"}}},{"type":"Layer","name":"Market Sell Orders","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"185c3169-d930-4413-a912-6e2d20088562","savedPayload":{"position":{"x":18677.806237131383,"y":24952.35640053908},"targetPosition":{"x":18709.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Sell Orders","id":"6e666549-9e9f-42d3-b543-fc0ce961cc64"}}},{"type":"Layer","name":"Limit Buy Orders","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"b6d40f2a-3f43-4aaa-bfc3-0a3e28278961","savedPayload":{"position":{"x":18780.806237131383,"y":25035.35640053908},"targetPosition":{"x":18709.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Buy Orders","id":"a596b5e6-666d-4da0-bd2f-2b65292b8d87"}}},{"type":"Layer","name":"Limit Sell Orders","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"064d574e-fa92-43d3-a182-3f426dd2c3c1","savedPayload":{"position":{"x":18732.806237131383,"y":24994.35640053908},"targetPosition":{"x":18709.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Sell Orders","id":"528f2741-eda9-4dd4-b731-8110336c0a34"}}},{"type":"Layer","name":"Last Market Order","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"8ba82947-b00d-438a-b384-1786af913e30","savedPayload":{"position":{"x":18763.806237131383,"y":25069.35640053908},"targetPosition":{"x":18709.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Market Order","id":"0d7a0263-dc84-4b4a-a6cc-ad6c3f9824fe"}}},{"type":"Layer","name":"Last Limit Order","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"f1ece4d3-1d8c-432c-a5d3-78b0d437ad68","savedPayload":{"position":{"x":18641.806237131383,"y":24984.35640053908},"targetPosition":{"x":18709.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Limit Order","id":"51e9b95a-96c1-4cf4-a188-9669c73c7e8e"}}}],"layerFolders":[],"id":"2355f3c7-a7a4-44c9-aab7-23c6fa62113e","savedPayload":{"position":{"x":18709.806237131383,"y":25029.35640053908},"targetPosition":{"x":18788.806237131383,"y":24986.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ec0a181b-98eb-4e8e-8638-e2ab1c0d1d36","savedPayload":{"position":{"x":18788.806237131383,"y":24986.35640053908},"targetPosition":{"x":18787.806237131383,"y":24955.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fe8004ba-62be-44b0-9eb7-b9f1f8563e09","savedPayload":{"position":{"x":18787.806237131383,"y":24955.35640053908},"targetPosition":{"x":18747.806237131383,"y":25054.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"89ae209b-5e81-4414-8754-eb734a59b417","savedPayload":{"position":{"x":18747.806237131383,"y":25054.35640053908},"targetPosition":{"x":18815.806237131383,"y":25073.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":300,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"ffdfebe3-50db-41b5-8077-7a7d0d008865"}}},"id":"3664debe-440e-4226-bb00-d56d2d97daff","savedPayload":{"position":{"x":18407.96995422542,"y":24233.92782533272},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Trading System","project":"Superalgos","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","project":"Superalgos","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","project":"Superalgos","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Trading System","project":"Superalgos","layers":[{"type":"Layer","name":"Trading System Errors","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"2a3273c5-d373-480f-8e58-5f0479049a89","savedPayload":{"position":{"x":18848.806237131383,"y":24905.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Errors","id":"1c539f66-a512-4cd9-b974-622b95e2cca9"}}},{"type":"Layer","name":"Trading System Highlights","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"cc124ad2-8e2e-4caa-b324-42f74494c7cf","savedPayload":{"position":{"x":18830.806237131383,"y":24964.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Highlights","id":"409e6575-034e-4d3d-99e5-0495ba229622"}}},{"type":"Layer","name":"Trading System Values","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"7f291996-c831-4fd6-9e32-bd939e6618a2","savedPayload":{"position":{"x":18799.806237131383,"y":24837.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Values","id":"55245047-2d2d-4a04-97f9-d413d82375a9"}}},{"type":"Layer","name":"Trading System Status","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"52322cb7-4fb2-4b11-9372-f834de6e41e7","savedPayload":{"position":{"x":18772.806237131383,"y":24997.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Status","id":"9f9ea8fa-0769-44b9-a4f1-86f2c3a22195"}}},{"type":"Layer","name":"Trading System Progress","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"71473cf3-6f27-498c-bbb6-7dcce412502d","savedPayload":{"position":{"x":18956.806237131383,"y":24938.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Progress","id":"d2e7ed86-a88f-484b-ab5f-d6212cb7045f"}}},{"type":"Layer","name":"Trading System Running","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"032120ab-1bbe-46cf-8986-24b3e2869aa9","savedPayload":{"position":{"x":18820.806237131383,"y":24953.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Running","id":"0a0b3b0e-cac0-42a3-8825-637b2b78afad"}}},{"type":"Layer","name":"Trading System Announcements","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"742f34cd-23ff-4b8d-b070-b28e19f7e821","savedPayload":{"position":{"x":18856.806237131383,"y":24857.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Announcements","id":"b79dfe54-361e-44f2-87ce-5e012bba3bcd"}}},{"type":"Layer","name":"Trading System Warnings","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"e575fb48-fd1d-479c-aa3b-baa983463ae5","savedPayload":{"position":{"x":18847.806237131383,"y":24897.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Warnings","id":"29681b5e-16e2-4bc0-816e-537b271c0ea5"}}},{"type":"Layer","name":"Trading System Infos","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"c1132f1c-eb35-4e60-b855-576f9393a008","savedPayload":{"position":{"x":18823.806237131383,"y":24904.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Infos","id":"3da52870-d76c-4e37-9247-9eecfdbb64ec"}}}],"layerFolders":[],"id":"3c36ab4e-20df-4ed1-ba62-3c1af51f24a9","savedPayload":{"position":{"x":18866.806237131383,"y":24914.35640053908},"targetPosition":{"x":18922.806237131383,"y":24892.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9be3a6b8-f673-4ff7-8978-732494fdd1de","savedPayload":{"position":{"x":18922.806237131383,"y":24892.35640053908},"targetPosition":{"x":18844.806237131383,"y":24921.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fe7408ef-04ca-4b85-bcde-4bb82f7c974f","savedPayload":{"position":{"x":18844.806237131383,"y":24921.35640053908},"targetPosition":{"x":18865.806237131383,"y":24967.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":450,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"ffdfebe3-50db-41b5-8077-7a7d0d008865"}}},"id":"00ae8c42-9686-470d-8167-178b41cc06ec","savedPayload":{"position":{"x":18498.200194133682,"y":24181.83337203264},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Simulation Objects","project":"Superalgos","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","project":"Superalgos","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","project":"Superalgos","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Simulation Objects","project":"Superalgos","layers":[{"type":"Layer","name":"Episodes","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"66623184-4f58-4be2-ae6a-ab12eddf30a2","savedPayload":{"position":{"x":18878.806237131383,"y":25149.35640053908},"targetPosition":{"x":18816.806237131383,"y":25193.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episodes","id":"802ebea8-becf-45e5-b761-078cad3acd74"}}},{"type":"Layer","name":"Strategies","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"6bd41ea0-15bb-40d0-a977-f85aebd8f172","savedPayload":{"position":{"x":18887.806237131383,"y":25292.35640053908},"targetPosition":{"x":18816.806237131383,"y":25193.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Strategies","id":"601cbf34-9a33-4066-9709-b23c6c34b17d"}}}],"layerFolders":[{"type":"Layer Folder","name":"Orders","project":"Superalgos","layers":[{"type":"Layer","name":"Market Buy Orders","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"ca0a428f-b7e6-41ab-b4b4-cff6c14e6693","savedPayload":{"position":{"x":18822.806237131383,"y":25105.35640053908},"targetPosition":{"x":18860.806237131383,"y":25166.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Buy Orders","id":"e1516339-ebcb-4840-a23d-cebd855911b6"}}},{"type":"Layer","name":"Market Sell Orders","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"e20857f3-6fe7-472f-ac3e-888b7e28fc4d","savedPayload":{"position":{"x":18896.806237131383,"y":25086.35640053908},"targetPosition":{"x":18860.806237131383,"y":25166.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Sell Orders","id":"57a0d52c-d2a3-4fd3-907c-66fd51cecdc6"}}},{"type":"Layer","name":"Limit Buy Orders","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"88646088-3689-4547-b974-0d0d0d56b2b6","savedPayload":{"position":{"x":18869.806237131383,"y":25207.35640053908},"targetPosition":{"x":18860.806237131383,"y":25166.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Buy Orders","id":"b67b6a65-5bd1-4b58-aa65-a8b840c54d9b"}}},{"type":"Layer","name":"Limit Sell Orders","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"40bed7b6-261e-4527-8e6a-51f99c69b576","savedPayload":{"position":{"x":18772.806237131383,"y":25066.35640053908},"targetPosition":{"x":18860.806237131383,"y":25166.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Sell Orders","id":"c27b0f50-fdad-4b69-a99e-2708806066aa"}}}],"layerFolders":[],"id":"94d0f42e-b7c8-4831-914b-1fae457e4046","savedPayload":{"position":{"x":18860.806237131383,"y":25166.35640053908},"targetPosition":{"x":18816.806237131383,"y":25193.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Stages","project":"Superalgos","layers":[{"type":"Layer","name":"Trigger Stages","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"dc2dab26-6c18-4995-b0b4-93b85624ab06","savedPayload":{"position":{"x":18668.806237131383,"y":25101.35640053908},"targetPosition":{"x":18753.806237131383,"y":25139.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trigger Stages","id":"bc3d588e-823d-4461-b550-b8ec912c4c8f"}}},{"type":"Layer","name":"Open Stages","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"4dfc372b-4de6-4aec-b29f-99e5410d001e","savedPayload":{"position":{"x":18700.806237131383,"y":25053.35640053908},"targetPosition":{"x":18753.806237131383,"y":25139.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Open Stages","id":"edb07104-591d-453b-b7fe-bd3854ff8a36"}}},{"type":"Layer","name":"Manage Stages","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"af792d27-879d-4a3c-a83b-bf2e79376ee3","savedPayload":{"position":{"x":18849.806237131383,"y":25113.35640053908},"targetPosition":{"x":18753.806237131383,"y":25139.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Manage Stages","id":"9b884f77-297b-4618-ac4b-b995570284b6"}}},{"type":"Layer","name":"Close Stages","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"bf4d6a12-d08d-4e8c-9591-31317c974358","savedPayload":{"position":{"x":18710.806237131383,"y":25150.35640053908},"targetPosition":{"x":18753.806237131383,"y":25139.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Close Stages","id":"c07cc0bb-c49e-42d1-a5ba-f5fa9882fbab"}}}],"layerFolders":[],"id":"bf12f50e-de09-4563-8253-01c39ac87962","savedPayload":{"position":{"x":18753.806237131383,"y":25139.35640053908},"targetPosition":{"x":18816.806237131383,"y":25193.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Position","project":"Superalgos","layers":[{"type":"Layer","name":"Positions","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"841f1809-e887-47c9-bec3-9e339a8a175d","savedPayload":{"position":{"x":18832.806237131383,"y":25073.35640053908},"targetPosition":{"x":18742.806237131383,"y":25145.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Positions","id":"0e3c5d47-28d9-4cd3-ad72-1bdb054550a8"}}},{"type":"Layer","name":"Position Base Asset","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"50c17ba9-287e-4c3f-9a46-1f7d6ad15633","savedPayload":{"position":{"x":18684.806237131383,"y":25198.35640053908},"targetPosition":{"x":18742.806237131383,"y":25145.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Position Base Asset","id":"47ffaf48-d92f-4da8-afb3-7787c5ba597e"}}},{"type":"Layer","name":"Position Quoted Asset","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"9659c4bd-ce07-469d-9d2d-2675ca6e81b5","savedPayload":{"position":{"x":18693.806237131383,"y":25142.35640053908},"targetPosition":{"x":18742.806237131383,"y":25145.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Position Quoted Asset","id":"59eb8fe6-5429-4d2d-8971-47580c5816b8"}}},{"type":"Layer","name":"Stop Loss","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"9e506a39-2fc1-4ac0-b5d4-7bf76a73d0f9","savedPayload":{"position":{"x":18729.806237131383,"y":25097.35640053908},"targetPosition":{"x":18742.806237131383,"y":25145.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Stop Loss","id":"13a4d476-b8bb-4bb3-9a97-1c2a7b5c6188"}}},{"type":"Layer","name":"Take Profit","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"e13f9336-7bdc-4459-aca9-dc5d9747a69c","savedPayload":{"position":{"x":18742.806237131383,"y":25085.35640053908},"targetPosition":{"x":18742.806237131383,"y":25145.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Take Profit","id":"1af2f188-5506-47ff-859b-08e8f1c56754"}}}],"layerFolders":[],"id":"c42efa3e-8cef-458f-82dd-30ddc130a306","savedPayload":{"position":{"x":18742.806237131383,"y":25145.35640053908},"targetPosition":{"x":18816.806237131383,"y":25193.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b27076de-7c3a-43f6-be80-88d0792c245e","savedPayload":{"position":{"x":18816.806237131383,"y":25193.35640053908},"targetPosition":{"x":18883.806237131383,"y":25193.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"79584687-bd14-42e6-856e-8708b13d1951","savedPayload":{"position":{"x":18883.806237131383,"y":25193.35640053908},"targetPosition":{"x":18845.806237131383,"y":25134.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a74f69c4-085d-465f-973f-34fbe4da72d4","savedPayload":{"position":{"x":18845.806237131383,"y":25134.35640053908},"targetPosition":{"x":18746.806237131383,"y":25045.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":600,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"ffdfebe3-50db-41b5-8077-7a7d0d008865"}}},"id":"73f3b68a-98c7-4c1b-9ddc-82dccb1e8ab7","savedPayload":{"position":{"x":18600.806237131383,"y":24163.741158268414},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Sparta","project":"Superalgos","layerManager":{"type":"Layer Manager","name":"Sparta","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","project":"Superalgos","layers":[],"botLayers":[{"type":"Bot Layers","name":"EMA","project":"Superalgos","layers":[{"type":"Layer","name":"Popular EMAs","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"55b6fec0-3624-475f-9e9a-2bcb1e4e8df2","savedPayload":{"position":{"x":18954.261381981458,"y":23321.509346420764},"targetPosition":{"x":18908.624366124484,"y":23618.017799561094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Popular EMAs","id":"8b3b410e-0728-457a-a2ac-640f8839592c"}}},{"type":"Layer","name":"Base7 EMAs","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"5336c2ad-aa2d-4a96-a589-b1b4bd1b4ab8","savedPayload":{"position":{"x":19011.230409122185,"y":23336.11001332532},"targetPosition":{"x":18908.624366124484,"y":23618.017799561094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Base7 EMAs","id":"45eea564-7729-421c-b871-acda5a5ae81e"}}},{"type":"Layer","name":"Base11 EMAs","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"b112b862-311b-4638-9c1f-04c014581a54","savedPayload":{"position":{"x":19064.25634357264,"y":23361.54423835921},"targetPosition":{"x":18908.624366124484,"y":23618.017799561094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Base11 EMAs","id":"fe10ecb5-0593-4c6b-9fd0-1729976ce713"}}}],"layerFolders":[],"id":"612cf965-a657-4def-ada8-89f938d1c00d","savedPayload":{"position":{"x":18908.624366124484,"y":23618.017799561094},"targetPosition":{"x":18806.018323126784,"y":23899.925585796867},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b57ed65d-02a6-460f-a6df-dd76e41646a8","savedPayload":{"position":{"x":18806.018323126784,"y":23899.925585796867},"targetPosition":{"x":18703.412280129083,"y":24181.83337203264},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":0,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Data Mine Products","name":"Sparta","id":"cc85c8b7-657d-4589-8373-ac3ff5cf3c6a"}}},"id":"61e1c989-2f17-4d3d-9327-232b3a5f3bd8","savedPayload":{"position":{"x":18703.412280129083,"y":24181.83337203264},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Masters","project":"Superalgos","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","project":"Superalgos","layers":[],"botLayers":[{"type":"Bot Layers","name":"Exchange Raw Data","project":"Superalgos","layers":[],"layerFolders":[],"id":"bbd0630d-361d-4f6e-ac32-f3797740891a","savedPayload":{"position":{"x":18913.90223426341,"y":23713.02577451423},"targetPosition":{"x":18986.478802943308,"y":24004.114492397028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Candles Volumes","project":"Superalgos","layers":[{"type":"Layer","name":"Candles","config":"{\n \"status\": \"on\",\n \"showPanels\": true\n}","project":"Superalgos","id":"e154fbee-086a-496b-ad92-9b7586c80604","savedPayload":{"position":{"x":19173.974782184414,"y":23435.515043913558},"targetPosition":{"x":19098.86078096808,"y":23725.95933602699},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Candles","id":"70d84756-8e7a-4dfc-8aae-abf8affc802f"}}},{"type":"Layer","name":"Volumes","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"fcab2754-0ea7-4077-a384-f2078642641c","savedPayload":{"position":{"x":19246.58784899912,"y":23464.85262724502},"targetPosition":{"x":19098.86078096808,"y":23725.95933602699},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Volumes","id":"5a47df0f-0524-401a-b5f4-f292eda68238"}}}],"layerFolders":[],"id":"e39078b8-8050-47b3-bed2-3c4002a1032b","savedPayload":{"position":{"x":19098.86078096808,"y":23725.95933602699},"targetPosition":{"x":18986.478802943308,"y":24004.114492397028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Bollinger Bands","project":"Superalgos","layers":[{"type":"Layer","name":"Bollinger Bands","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"e0f8dd99-047e-488a-bb10-2781d91aad82","savedPayload":{"position":{"x":19472.380606806553,"y":23654.315247043738},"targetPosition":{"x":19240.893231790236,"y":23845.138713127068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Bands","id":"d50dcdf4-6251-4c59-9a04-d5dedadd86f7"}}},{"type":"Layer","name":"Percentage Bandwidth","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"6b54bcb1-0672-448c-9efa-af5bd47ed9da","savedPayload":{"position":{"x":19513.8816130532,"y":23720.730740330197},"targetPosition":{"x":19240.893231790236,"y":23845.138713127068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Percentage Bandwidth","id":"1e029c1d-85c8-4d3d-90d8-388bf135d110"}}}],"layerFolders":[],"id":"8f5122b2-7b52-4b7f-9464-9fbd1b8085cc","savedPayload":{"position":{"x":19240.893231790236,"y":23845.138713127068},"targetPosition":{"x":18986.478802943308,"y":24004.114492397028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Bollinger Channels","project":"Superalgos","layers":[{"type":"Layer","name":"Bollinger Channels Objects","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"000ec7dc-1137-48fe-baa6-bfdc3cc6d1d2","savedPayload":{"position":{"x":19581.633698482423,"y":23975.527152762064},"targetPosition":{"x":19285.748018021255,"y":24025.041434520266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Channels Objects","id":"aba646d5-9b32-48d6-abc3-e9fa8405b279"}}},{"type":"Layer","name":"Bollinger Channels","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"ae13c978-a98c-45d4-939b-c0302c93b95f","savedPayload":{"position":{"x":19585.736594940507,"y":24022.423473870753},"targetPosition":{"x":19285.748018021255,"y":24025.041434520266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Channels","id":"241723cd-ae4d-4990-88f8-29bfad2e14ed"}}},{"type":"Layer","name":"Bollinger Sub-Channels Objects","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"40bc0669-59ed-47b3-85fa-56ec06d17793","savedPayload":{"position":{"x":19582.45277702983,"y":24069.38425785915},"targetPosition":{"x":19285.748018021255,"y":24025.041434520266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Sub-Channels Objects","id":"e171424f-d37d-46d5-aada-1d66ccb0961f"}}},{"type":"Layer","name":"Bollinger Sub-Channels","config":"{ \n\"status\": \"off\"\n}","project":"Superalgos","id":"170ad2e1-ae15-46d1-b630-9c508171f250","savedPayload":{"position":{"x":19571.863103245723,"y":24115.253174371548},"targetPosition":{"x":19285.748018021255,"y":24025.041434520266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Sub-Channels","id":"f8686b62-8ca9-4b30-9c27-9844c109d987"}}}],"layerFolders":[],"id":"ded0c3aa-12ff-4b98-b612-33e8b13ad0b9","savedPayload":{"position":{"x":19285.748018021255,"y":24025.041434520266},"targetPosition":{"x":18986.478802943308,"y":24004.114492397028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"723329d0-b912-46fa-b7d9-60bc634a1b91","savedPayload":{"position":{"x":18986.478802943308,"y":24004.114492397028},"targetPosition":{"x":18793.642520037345,"y":24233.92782533272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":150,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Data Mine Products","name":"Masters","id":"f527bdd3-f5bc-4248-a35f-ac7e591c3aec"}}},"id":"808378d4-842e-48e9-8684-78400dfd8e66","savedPayload":{"position":{"x":18793.642520037345,"y":24233.92782533272},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"09b9e440-eb36-4c7b-90bb-01ff86676d62","savedPayload":{"position":{"x":18600.806237131383,"y":24463.741158268414},"targetPosition":{"x":18750.806237131383,"y":24723.548779403747},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":0,"y":224.75},"width":240,"height":112.375,"radius":0},"referenceParent":{"type":"Live Trading Session","name":"WHB v2","id":"934095e8-4a1c-4baf-828f-7818f73c4219"}}}],"id":"b7e04999-97b0-400a-bd6b-63d9ef43a028","savedPayload":{"position":{"x":18750.806237131383,"y":24723.548779403747},"targetPosition":{"x":18900.806237131383,"y":24983.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Production Environment","name":"New Production Environment","id":"65a40d20-837c-4652-8356-f8054b4e1346"}}}],"id":"21d2ec55-9e56-4652-8e96-c7e451262c36","savedPayload":{"position":{"x":18900.806237131383,"y":24983.35640053908},"targetPosition":{"x":18900.806237131383,"y":24983.35640053908},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"c"}}},{"type":"Plugins","name":"New Plugins","project":"Superalgos","pluginProjects":[{"type":"Plugin Project","name":"Superalgos","config":"{ \n \"codeName\": \"\"\n}","project":"Superalgos","pluginDataMines":{"type":"Plugin Data Mines","name":"New Plugin Data Mines","project":"Superalgos","pluginFiles":[{"type":"Plugin File","name":"Masters","project":"Superalgos","pluginFilePosition":{"type":"Plugin File Position","name":"Masters","project":"Superalgos","id":"d5234bd2-ef4e-4856-a6a0-ce7659653a48","savedPayload":{"position":{"x":18879.35218735615,"y":18688.55301821844},"targetPosition":{"x":31380.185902390363,"y":18528.802375894946},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ecc1a524-de9b-4e73-8874-b99a7ea0402b","savedPayload":{"position":{"x":30804.72973529933,"y":18192.746239098742},"targetPosition":{"x":31027.673182942548,"y":18393.4854210064},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plugin File","name":"Sparta","project":"Superalgos","pluginFilePosition":{"type":"Plugin File Position","name":"Sparta","project":"Superalgos","id":"2ccc5e2f-816d-411a-98dd-19f384c4fb56","savedPayload":{"position":{"x":12827.993523525696,"y":18705.802375894946},"targetPosition":{"x":31380.185902390363,"y":18828.802375894946},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6cd79166-dec1-46e5-a54d-ce3ee5d877c2","savedPayload":{"position":{"x":31090.046690187875,"y":18100.04114078626},"targetPosition":{"x":31027.673182942548,"y":18393.4854210064},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cbc3d9be-5e59-45d8-bb0f-4ec82763691d","savedPayload":{"position":{"x":31027.673182942548,"y":18393.4854210064},"targetPosition":{"x":31120.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginTradingMines":{"type":"Plugin Trading Mines","name":"New Plugin Trading Mines","project":"Superalgos","pluginFiles":[{"type":"Plugin File","name":"Masters","project":"Superalgos","pluginFilePosition":{"type":"Plugin File Position","name":"Masters","project":"Superalgos","id":"ad1ce785-858f-4cfc-ba68-108b5e0c54d9","savedPayload":{"position":{"x":24941.217404066585,"y":18714.893045797242},"targetPosition":{"x":31120.37828125503,"y":19198.41761816561},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8a64c00e-4f8c-49bf-b57d-4e2e388bae41","savedPayload":{"position":{"x":31120.37828125503,"y":19198.41761816561},"targetPosition":{"x":30970.37828125503,"y":18938.60999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8d881813-3ab9-4e8b-ab5a-48dedab2dd19","savedPayload":{"position":{"x":31363.083379567513,"y":18502.466800207203},"targetPosition":{"x":31120.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginTradingSystems":{"type":"Plugin Trading Systems","name":"New Plugin Trading Systems","project":"Superalgos","pluginFiles":[{"type":"Plugin File","name":"Sparta-WHB-BTC-USDT","project":"Superalgos","pluginFilePosition":{"type":"Plugin File Position","name":"Sparta-WHB-BTC-USDT","project":"Superalgos","id":"0d138b32-51ae-48ab-b92a-6dffaa441290","savedPayload":{"position":{"x":30945.763038984365,"y":30950.85999703028},"targetPosition":{"x":30520.37828125503,"y":19198.41761816561},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8cc06746-0b0f-4bc0-bd34-22ed46a24a8a","savedPayload":{"position":{"x":31605.788477879996,"y":19031.47352727043},"targetPosition":{"x":31363.083379567513,"y":18855.13795158269},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3569d452-c593-4e54-a356-7ff8c6b519f3","savedPayload":{"position":{"x":31363.083379567513,"y":18855.13795158269},"targetPosition":{"x":31120.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginTradingEngines":{"type":"Plugin Trading Engines","name":"New Plugin Trading Engines","project":"Superalgos","pluginFiles":[{"type":"Plugin File","name":"Low-Frequency","project":"Superalgos","pluginFilePosition":{"type":"Plugin File Position","name":"Low-Frequency","project":"Superalgos","id":"e117a2a4-09b3-4181-8455-e680de3bdeb3","savedPayload":{"position":{"x":30923.55093774257,"y":24967.049392142086},"targetPosition":{"x":29820.22642897682,"y":18678.80776835817},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e9270d67-4630-4ac9-91ca-1dec4fb5aa38","savedPayload":{"position":{"x":29820.22642897682,"y":18678.80776835817},"targetPosition":{"x":30320.32799443869,"y":18678.805890109317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"87a28762-63d0-45f7-bd39-9dea436d8244","savedPayload":{"position":{"x":31027.673182942548,"y":18964.11933078349},"targetPosition":{"x":31120.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5436943e-3045-4e0d-807e-1be272afaf7f","savedPayload":{"position":{"x":31120.37828125503,"y":18678.802375894946},"targetPosition":{"x":30820.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"bfb0b514-3b9f-4e9a-85ca-d0ca714b09f6","savedPayload":{"position":{"x":30820.37828125503,"y":18678.802375894946},"targetPosition":{"x":30820.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Design Space","name":"My Design Space","project":"Superalgos","spaceStyle":{"type":"Space Style","name":"My Space Style","config":" {\n \"backgroundColor\": \"UI_COLOR.BLACK\",\n \"node\": {\n \"fontSize\": 16,\n \"imageSize\": 60,\n \"type\": {\n \"fontColor\": \"UI_COLOR.WHITE\"\n },\n \"name\": {\n \"fontColor\": \"UI_COLOR.WHITE\"\n },\n \"menuItem\": {\n \"backgroundColor\": \"UI_COLOR.BLACK\",\n \"fontColor\": \"UI_COLOR.WHITE\",\n \"fontSize\": 14,\n \"imageSize\": 14\n }\n }\n }","project":"Superalgos","id":"fad0e429-f7a7-4b62-a2a5-2ead29b8f695","savedPayload":{"position":{"x":25236.875,"y":8701.347826086958},"targetPosition":{"x":24936.875,"y":8701.347826086958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"spaceSettings":{"type":"Space Settings","name":"New Space Settings","config":"{\n \"node\": {\n \"distancePercentage\": 60,\n \"radiusPercentage\": 85,\n \"massPercentage\": 100,\n \"menuItem\": {\n \"widthPercentage\": 100,\n \"heightPercentage\": 60,\n \"radiusPercentage\": 90\n }\n },\n \"physics\": false\n}","project":"Superalgos","id":"05c9d6d5-24c4-4eec-9aca-9668d6486fdd","savedPayload":{"position":{"x":24636.875,"y":8701.347826086958},"targetPosition":{"x":24936.875,"y":8701.347826086958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f8485ce5-67f3-4476-b9e2-80994e49c318","savedPayload":{"position":{"x":24936.875,"y":8701.347826086958},"targetPosition":{"x":24936.875,"y":8701.347826086958},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":255,"y":588.3125}}}},{"type":"Superalgos Project","name":"New Superalgos Project","project":"Superalgos","spaces":{"type":"Spaces","name":"New Spaces","project":"Superalgos","id":"da1661f6-808c-402d-aaa1-0aa3b7052979","savedPayload":{"position":{"x":24780.791666666664,"y":25019.594484167515},"targetPosition":{"x":24480.791666666664,"y":25019.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"mines":{"type":"Mines","name":"New Mines","project":"Superalgos","id":"c37ef894-7662-4327-879c-23a7d05c707a","savedPayload":{"position":{"x":24330.791666666664,"y":25279.40210530285},"targetPosition":{"x":24480.791666666664,"y":25019.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"otherHierarchies":{"type":"Other Hierarchies","name":"New Other Hierarchies","project":"Superalgos","id":"90ef906a-a979-4ca3-abad-d6bccaf03dbb","savedPayload":{"position":{"x":24330.791666666664,"y":24759.786863032183},"targetPosition":{"x":24480.791666666664,"y":25019.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0539e0b4-2d9b-467d-88be-36d45d778823","savedPayload":{"position":{"x":24426.791666666664,"y":24993.594484167515},"targetPosition":{"x":24426.791666666664,"y":24993.594484167515},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Tutorial","name":"Trading Bot Layers","config":"{\n \"title\": \"Trading Bot Layers\",\n \"summary\": \"Hi! I'm going to show you everything about the layers of the trading bot... the ones featured on charts associated with trading sessions!\",\n \"subTitle\": \"\",\n \"gif\": \"\",\n \"image\": \"trading-bot\",\n \"definition\": \"Let's get on with it! The ->Trading Bot-> outputs dozens of products, and they're all featured in three separate layer managers:\",\n \"bulletArray\": [\n [\n \"Trading Engine\",\n \" features layers that turn on and off the reporting of values of nodes in the ->Trading Engine-> hierarchy.\"\n ],\n [\n \"Trading System\",\n \" features layers that turn on and off multiple types of reports at the level of the ->Trading System->.\"\n ],\n [\n \"Simulation Objects\",\n \" features layers that affect the rendering of visual information over the charts.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Getting Ready","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","tutorialSteps":[{"type":"Tutorial Step","name":"Load a Fresh Workspace","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Load a Fresh Workspace!\",\n \"gif\": \"\",\n \"image\": \"workspace\",\n \"definition\": \"But before we go any further, let's make sure we are starting with a fresh workspace!\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"Workspaces with the prefix Plugin \\u2192 comes with the software. The rest are yours. When you open a plugin workspace a copy of it is made for you. Plugins allways remain unchanged.\",\n \"tip\": \"\",\n \"important\": \"This tutorial requires starting with a fresh Plugin \\u2192 Weak-hands Buster v2 workspace. So, unless you loaded the plugin workspace right before starting, please select it from the workspace panel on the right and come back to me after the workspace loads—just click Resume on my menu!\",\n \"warning\": \"\",\n \"position\": \"\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\",\n \"positionAtReferenceParent\": true,\n \"workspaces\": \"Open\"\n}","project":"Superalgos","id":"08f9486c-22f5-4b5c-b41f-d8481b9f9d5a","savedPayload":{"position":{"x":19340.95678840193,"y":44290.30382379679},"targetPosition":{"x":19210.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Workspace","name":"My Default Workspace","id":"1c4772fb-d989-4f06-9335-81e4fc4b8009"}}},{"type":"Tutorial Step","name":"Freeze! Don't Move!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Feeze! Don't Move!\",\n \"gif\": \"\",\n \"image\": \"stop-loss\",\n \"definition\": \"I've got something to tell you before we move on, but I'm struggling to find the right words... I just wouldn't want to come across as a control freak!\",\n \"paragraph1\": \"It's not like you may break something or anything... nothing to fear at all... it's just that... I rely on the fresh state of the workspace to predict what you will see when I take you places. I may comment on what you will experience along the journey, and use my predictions to make the tour juicier and interesting! So...\",\n \"callOut\": \"Don't fool around too much unless I tell you to! I mean, you may look around, but don't make a mess! Fine! Do what you want! If you ever feel I lost you, just start over with a fresh workspace!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\",\n \"workspaces\": \"Close\"\n}","project":"Superalgos","id":"1789569c-20a3-4536-934e-15b6f731b851","savedPayload":{"position":{"x":19445.341111407073,"y":44373.54754360989},"targetPosition":{"x":19210.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Ready to Mine?","config":"{\n \"subTitle\": \"Ready to Mine?\",\n \"gif\": \"\",\n \"image\": \"data-mining\",\n \"definition\": \"We'll do some ->Data Mining-> so that we may then run a quick ->Backtesting Session-> and explore the resulting simulation...\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"The sensor bot will run on the BTC/USDT market (Binance) from January 1st, 2020, along with the indicators required by the Weak-hands Buster ->Trading System->.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"If you have data on this market/exchange but on a different time range, this may affect your data! Read the sensor bot documentation to learn how! If the data you may have is not important, feel free to keep going!\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"https://docs.superalgos.org/suite-hierarchy-network.html#sensor-bot-instance\"\n}","project":"Superalgos","id":"01079470-3a5c-40fe-9695-d6087b0623fe","savedPayload":{"position":{"x":19503.27004032121,"y":44493.838203980624},"targetPosition":{"x":19210.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Data Mining","name":"New Data Mining","id":"4df1cb4e-b9ca-4f62-bb5f-c7e262aaa22a"}}},{"type":"Tutorial Step","name":"Let's Mine Some Data!","config":"{\n \"subTitle\": \"Let's Mine Some Data!\",\n \"gif\": \"\",\n \"image\": \"run\",\n \"definition\": \"Now that you understand the implications of running this data mining operation, let's get on with it!\",\n \"paragraph1\": \"\",\n \"callOut\": \"Select Run All Exchange Data Tasks on the data mining node menu!\",\n \"paragraph2\": \"\",\n \"note\": \"If you are doing this tutorial after doing the Getting Started tutorial, chances are you may already have part of the data required, which may make things faster!\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"6b0d345c-5981-4459-9967-7ca89739a5ab","savedPayload":{"position":{"x":19503.27004032121,"y":44627.35076435441},"targetPosition":{"x":19210.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Data Mining","name":"New Data Mining","id":"4df1cb4e-b9ca-4f62-bb5f-c7e262aaa22a"}}},{"type":"Tutorial Step","name":"Are We Up to Date?","config":"{\n \"subTitle\": \"Are We Up to Date?\",\n \"gif\": \"\",\n \"image\": \"indicator-process-instance\",\n \"definition\": \"Now we have to wait a bit! When all processes reach the 100% mark, we may proceed!\",\n \"paragraph1\": \"As you probably know, the time required to mine data depends on many things. If you already have some of this data from previous activities, it may be faster!\",\n \"callOut\": \"Monitor the processes for all indicators in the Sparta and Masters data mines. When all of them reach 100%, then stop the data mining operation and click Next to continue.\",\n \"paragraph2\": \"\",\n \"tip\": \"Bollinger Channels will likely be last!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\",\n \"positionAtReferenceParent\": true\n}","project":"Superalgos","id":"01767aee-8930-4d29-9b55-74d13dd01f2f","savedPayload":{"position":{"x":19445.341111407073,"y":44747.64142472514},"targetPosition":{"x":19210.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Indicator Process Instance","name":"Exponential Moving Average (EMA) Multi-Period-Market","id":"9adffd60-8756-44f0-9290-692711f43349"}}},{"type":"Tutorial Step","name":"Ready. Set. Go!","config":"{\n \"subTitle\": \"Ready. Set. Go!\",\n \"gif\": \"\",\n \"image\": \"task\",\n \"definition\": \"Let's do some backtesting! This should be rather quick, as we are testing six months' worth of historic data on daily files.\",\n \"paragraph1\": \"Running a trading task is quite similar to running a data mining task. The difference lies in that—after running the task—you also need to run the trading session.\",\n \"callOut\": \"Select Run on the ->Task-> menu and then select Run on the ->Backtesting Session-> menu.\",\n \"paragraph2\": \"\",\n \"note\": \"When the ->Backtesting Session-> informs it has finished, then stop the task and click Next to continue.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","project":"Superalgos","id":"2046f4aa-a9b4-419e-9681-107f6b0002c0","savedPayload":{"position":{"x":19340.95678840193,"y":44830.88514453824},"targetPosition":{"x":19210.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Task","name":"WHB v2","id":"f3dccd9e-6130-40aa-b794-fca344df4a99"}}}],"tutorialTopics":[],"id":"45e0a80c-a3ce-4e81-8e5c-3d97b226e9fc","savedPayload":{"position":{"x":19210.791666666664,"y":44560.594484167515},"targetPosition":{"x":18910.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Trading Engine Layers","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Trading Engine Layers\",\n \"gif\": \"\",\n \"image\": \"trading-engine\",\n \"definition\": \"You are familiar with the concept of the ->Trading Engine->, right? I will teach you which layers affect which sections of the hierarchy so that you may access the info!\",\n \"paragraph1\": \"I'm assuming you've done the Welcome tutorial... Remember when you split the screen in half? You slid the mouse pointer over the candles on the chart, and for each candle, you could see the value of certain nodes in the trading engine hierarchy, right?\",\n \"callOut\": \"Well, that's what it's all about! When you turn a certain layer on, you turn on the visualization of values for a certain section of the hierarchy.\",\n \"paragraph2\": \"Let's take a closer look!\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","tutorialSteps":[{"type":"Tutorial Step","name":"1, 2, 3, Counting!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"1, 2, 3, Counting!\",\n \"gif\": \"\",\n \"image\": \"episode-counters\",\n \"definition\": \"Let's test the first ->Layer-> in the Trading Engine ->Layer Manager->: ->Episode Counters->.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Turn the layer on and slide your mouse pointer over the chart, from the far left to the far right-hand side of your screen!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"See what happens with the various counters on the hierarchy below... that is, ->Periods->, ->Strategies->, ->Positions->, and so on! You should see something similar to what I show in the video on the next step...\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"documentationURL\": \"\",\n \"positionAtReferenceParent\": true\n}","project":"Superalgos","id":"cb3abe07-2fcf-4708-b585-6c0bc4cefa01","savedPayload":{"position":{"x":19170.599287801997,"y":45010.594484167515},"targetPosition":{"x":18910.791666666664,"y":44860.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Periods","name":"New Periods","id":"6c6579c8-fb13-41f6-a25b-1833d2963640"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"trading-bot-layers-episode-counters-01\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\"\n}","project":"Superalgos","id":"ce4aa155-0772-428c-8ed0-b051275c1ec1","savedPayload":{"position":{"x":19060.791666666664,"y":45120.40210530285},"targetPosition":{"x":18910.791666666664,"y":44860.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"How About the Rest?","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"How About the Rest?\",\n \"gif\": \"\",\n \"image\": \"episode\",\n \"definition\": \"Now, why don't the nodes further to the left show their values too? Say, ->Exit Type->, ->Status->, ->End Rate->, ->Begin Rate->, and so on?\",\n \"paragraph1\": \"Let's change that!\",\n \"callOut\": \"Scroll the Trading Engine layer manager until you find the Current Episode layer. Turn it on!\",\n \"paragraph2\": \"Now slide your mouse pointer again... et voilà!\",\n \"note\": \"\",\n \"tip\": \"By turning layers on and off, you turn on and off system's ability to report the values on different sections of the ->Trading Engine-> hierarchy!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"documentationURL\": \"\",\n \"positionAtReferenceParent\": true\n}","project":"Superalgos","id":"c47f1a67-50bb-4e4b-8449-112eacdb9b8c","savedPayload":{"position":{"x":18910.791666666664,"y":45160.594484167515},"targetPosition":{"x":18910.791666666664,"y":44860.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Periods","name":"New Periods","id":"6c6579c8-fb13-41f6-a25b-1833d2963640"}}},{"type":"Tutorial Step","name":"Et Voilà","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Et Voilà!\",\n \"gif\": \"\",\n \"image\": \"current\",\n \"definition\": \"So, we turned on the Episode Counters and the Current Episode layers... let's take a look at the hierarchy...\",\n \"paragraph1\": \"\",\n \"callOut\": \"Track your way up the hierarchy to discover what exactly we were looking at all this time...\",\n \"paragraph2\": \"Right! In the beginning ->Periods->, ->Strategies->, and ->Positions-> where showing their values because they are under the ->Episode Counters-> node of the hierachy... the one we turned on first!
If you follow the hierarchy upstream, you will find the ->Episode-> node, and if you keep going further upstream, you'll find the ->Current-> node. Exactly! Current Episode!.\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\",\n \"positionAtReferenceParent\": true\n}","project":"Superalgos","id":"6531b015-26b7-4438-8226-021b5837421a","savedPayload":{"position":{"x":18760.791666666664,"y":45120.40210530285},"targetPosition":{"x":18910.791666666664,"y":44860.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Periods","name":"New Periods","id":"6c6579c8-fb13-41f6-a25b-1833d2963640"}}},{"type":"Tutorial Step","name":"Compartmentalize It!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Compartmentalize It!\",\n \"gif\": \"\",\n \"image\": \"bot-layers\",\n \"definition\": \"The reason why the access to values in the hierarchy is compartmentalized in layers is that layers correspond to data products output by the bot.\",\n \"paragraph1\": \"Compartmentalization of definitions—and information in general—is a theme in and of itself throughout the system, as it is one of the mechanisms by which complexity is successfully administered.\",\n \"callOut\": \"When you need to use this feature to track values on the trading engine hierarchy, you may choose to turn on multiple layers at once... even all of them if you wish! Just keep in mind that the more layers you turn on, the more files de UI reads, thus the more load you put on your hardware!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"96a53e4e-812f-4da5-b6de-66b70a1c078c","savedPayload":{"position":{"x":18650.98404553133,"y":45010.594484167515},"targetPosition":{"x":18910.791666666664,"y":44860.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"a9b75728-f884-4ab7-aa1e-d4967d90bd5f","savedPayload":{"position":{"x":18910.791666666664,"y":44860.594484167515},"targetPosition":{"x":18910.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Objects Layers","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","tutorialSteps":[{"type":"Tutorial Step","name":"The Elefant in the Room","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Elefant? What Elefant?\",\n \"gif\": \"\",\n \"image\": \"strategy\",\n \"definition\": \"Will someone please acknowledge the elefant in the room? Why did those counters point to one or two strategies and one position?\",\n \"paragraph1\": \"\",\n \"callOut\": \"Go to the Simulation Objects layer manager and turn on the ->Strategies-> layer.\",\n \"paragraph2\": \"What's that? It's a strategy! We are in a simulation! The Strategies layer marks the span of time on which a strategy is active. Notice the ->Plotter Panel-> that drifted to the corner when you turned the layer on. Now, point your mouse to the span of time between the strategy brakets and see what happens... \",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"09cf3c10-29bb-4399-99b1-61c996747fa0","savedPayload":{"position":{"x":18510.657246386323,"y":44999.312044649334},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Making Sense of Objects","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Making Sense of Objects\",\n \"gif\": \"\",\n \"image\": \"layer\",\n \"definition\": \"The layers in the Simulation Objects layer manager feature visual representations of the data that makes up simulations.\",\n \"paragraph1\": \"In other words, each of these layers render graphics over the charts that help us visualize—therefore, better understand—what happens during a trading session.\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"Each layer may feature plotter panels which usually display the hard data associated with the concept represented by the particular layer.\",\n \"tip\": \"Notice how the data in the panel becomes visible only when the pointer of the mouse lies within the candles engulfed by the object.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Center\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"3eea3278-bcdc-4f1d-a7da-876c5df9a6ac","savedPayload":{"position":{"x":18415.543984063763,"y":44966.0304747236},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"What About the Position?","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"What About the Position?\",\n \"gif\": \"\",\n \"image\": \"position\",\n \"definition\": \"As you very clearly pointed, the episode counters showed a strategy, but also a position... what about that?\",\n \"paragraph1\": \"\",\n \"callOut\": \"Scroll down the Simulation Objects layer manager and turn on the ->Position Base Asset-> layer!\",\n \"paragraph2\": \"Nice! A green triangle means that the position was a hit! It would be red otherwise!\",\n \"note\": \"The horizontal side of the triangle marks the ->Entry Target Rate->. The vertical side marks the datetime the position was closed. The vertex away from the horizontal side is the ->Exit Target Rate->.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"409e67f2-6944-49bd-b858-53aed2adaaff","savedPayload":{"position":{"x":18330.221255830234,"y":44912.41865127813},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"The Beauty of the Triangle","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"The Beauty of the Triangle\",\n \"gif\": \"\",\n \"image\": \"bullet-warning\",\n \"definition\": \"I'm sure you would agree that the triangle is a quick visual clue to grasp how the trade went in a glimpse!\",\n \"paragraph1\": \"That's one of the core ideas behind these visualization features: quick and effective communication. \",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"The second core idea is that—by being able to see what went on with the session—it is easier to spot the weaknesses in your strategies, and how you may be able to improve them!\",\n \"tip\": \"On a side note, notice that the data displayed on panels is the same data available on the ->Trading Engine-> hierarchy.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"24c76654-4411-4d28-8bde-2c0391f92798","savedPayload":{"position":{"x":18258.96749955605,"y":44841.164895003945},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Why 3 Position Layers?","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Why 3 Position Layers?\",\n \"gif\": \"\",\n \"image\": \"position\",\n \"definition\": \"Did you notice there are three different layers about positions? ->Position->, ->Position Base Asset->, and ->Position Quoted Asset->!\",\n \"paragraph1\": \"I'll give you the short version: \",\n \"callOut\": \"The system keeps the accounts relative to both the base asset and the quoted asset. It also keeps a consolidated account of both assets (hence, position). What set of accounts is relevant to you depends on how the strategy is designed!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"Reading this documentation page is a must to fully understand this concept.\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"https://docs.superalgos.org/suite-trading-engine-base-asset-and-quoted-asset.html\"\n}","project":"Superalgos","id":"649427a8-47a4-4fab-9a31-25fd10916df8","savedPayload":{"position":{"x":18205.355676110576,"y":44755.84216677042},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Remember Flexibility!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Remember Flexibility!\",\n \"gif\": \"\",\n \"image\": \"nodes-highlights\",\n \"definition\": \"A corollary to the previous step is that not everything will make sense to you!\",\n \"bulletListIntro\": \"Superalgos is designed and built with flexibility in mind. Different users, different approaches to trading, different strategies, they all have different needs!\",\n \"paragraph1\": \"\",\n \"callOut\": \"The system doesn't know what your intent is. It provides a set of tools that you need to use wisely for them to make sense!\",\n \"paragraph2\": \"\",\n \"tip\": \"Learn to pay attention to the information that is relevant to you and discard what is not!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"7bb9d6d3-908b-4857-ab22-6eeeead27a41","savedPayload":{"position":{"x":18172.074106184842,"y":44660.72890444786},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Phased Management","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Phased Management\",\n \"gif\": \"\",\n \"image\": \"phase\",\n \"definition\": \"The ->Manage Stage-> enables the management of your stop loss and take profit targets in phases. Let's see how that looks in simulations...\",\n \"paragraph1\": \"\",\n \"callOut\": \"Find the Stop Loss and the Take Profit layers and turn them on!\",\n \"paragraph2\": \"It's probably self-explanatory, right? The ->Phase-> icon marks the switching of phases, thus, of the ->Formula-> used to determine each target.\",\n \"note\": \"\",\n \"tip\": \"This is a fantastic feature when designing strategies, as you can literally see what the formula does, and how phases change!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"80d0e95d-deef-42fa-917f-d9d60786d9cb","savedPayload":{"position":{"x":18160.791666666664,"y":44560.594484167515},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Orders in Order","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Orders in Order\",\n \"gif\": \"\",\n \"image\": \"bullet-market-sell-order\",\n \"definition\": \"You're familiar with the visualization of limit orders from the Welcome tutorial. It's time for market orders to shine!\",\n \"paragraph1\": \"Weak-hands Buster V.2—born with earlier versions of the system—uses single market orders to get in and out of positions. Let's see how those look over the charts...\",\n \"callOut\": \"Find the Market Buy Orders and Market Sell Orders layers and turn them on!\",\n \"paragraph2\": \"\",\n \"note\": \"Like with limit orders, a red bullet means a sell order, and a green bullet means a buy order. \",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"ab979e22-46f6-438f-bc1c-9fc5667c62b2","savedPayload":{"position":{"x":18172.074106184842,"y":44460.46006388717},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Stages & Time","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Stages & Time\",\n \"gif\": \"\",\n \"image\": \"close-stage-event\",\n \"definition\": \"Layers corresponding to stages, that is, ->Trigger Stage->, ->Open Stage->, ->Close Stage->, and ->Manage Stage-> are markers of spans of time.\",\n \"paragraph1\": \"That is, they signal the span of time on which each stage was open.\",\n \"callOut\": \"Try them out! Find the layers of the different stages and turn them on!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Feel free to turn off a few of the layers you have on at the moment, for clarity!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"822c4fd3-770e-4579-b8d8-5bba5c11f739","savedPayload":{"position":{"x":18205.355676110576,"y":44365.346801564614},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Episode X","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Episode X\",\n \"gif\": \"\",\n \"image\": \"episode\",\n \"definition\": \"There's one layer left... ->Episode->!. It marks the duration of the episode and features several plotter panels...\",\n \"paragraph1\": \"\",\n \"callOut\": \"Turn the Episode layer on!\",\n \"paragraph2\": \"In this case, the episode is six months long, so all you will see is a line at the bottom of the screen, and the episode icon on both sides, signaling the episode is longer than the period represented on screen.\",\n \"note\": \"As usual, the plotter panels feature information that explained on the ->Trading Engine-> section of the documentation.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"55c98dad-a864-45d4-80d9-5284ca252240","savedPayload":{"position":{"x":18258.96749955605,"y":44280.024073331086},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Understanding Objects Data","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Understanding Objects Data\",\n \"gif\": \"\",\n \"image\": \"bullet-warning\",\n \"definition\": \"The data available in Simulation Objects represent the state of affairs at the moment the object is closed, or at the current time if it hasn't closed yet!\",\n \"paragraph1\": \"In contrast, the layers in the Trading Engine and Trading System layer managers represent the value of nodes at the candle signaled by the mouse pointer.\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"This is a fundamental difference that you must understand, as otherwise, you may misinterpret the information presented by Simulation Objects. I will explain the most important implications in the next few steps!\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"8b3db214-d507-46f4-be2e-61e5f9a1272e","savedPayload":{"position":{"x":18330.221255830234,"y":44208.7703170569},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Daily Files vs. Market Files","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Daily Files vs. Market Files\",\n \"gif\": \"\",\n \"image\": \"dataset-definition\",\n \"definition\": \"Superalgos processes time frames below one hour in Daily Files, meaning that the data corresponding to one day is stored in one file.\",\n \"paragraph1\": \"In contrast, data for timeframes of one hour and above are stored in Market Files, meaning that data corresponding to the whole market is stored in one file.\",\n \"callOut\": \"\",\n \"paragraph2\": \"As a result, when working in time frames below one hour, events that span multiple days generate multiple objects: one per day!\",\n \"tip\": \"\",\n \"important\": \"This means that, when working in low time frames, you may run into multiple objects per concept or event, each showing the data corresponding to the close of the day!\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"b246456c-f85a-479b-ac70-e0752e5b5261","savedPayload":{"position":{"x":18415.543984063763,"y":44155.15849361143},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Bring Me Back To Earth!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Bring Me Back To Earth!\",\n \"gif\": \"\",\n \"image\": \"take-position-event\",\n \"definition\": \"I know! This all sounds too abstract! Let me lay out a few examples!\",\n \"bulletListIntro\": \"When working in sub-hour time frames and a concept or event—for example, a position—spans multiple days:\",\n \"bulletArray\": [\n [\n \"You may see multiple triangles!\",\n \"One triangle is drawn at the close of each day, and one last triangle is drawn at the close of the position, or—in case the position hasn't closed yet— at the current datetime.\"\n ],\n [\n \"Statistics and metrics are fragmented too!\",\n \"For example, ROI, Profit Loss, and the evaluation of the position as a hit or a fail are determined daily!\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"5fc87b22-bd7d-427e-b797-9f0fc1ba274b","savedPayload":{"position":{"x":18510.657246386323,"y":44121.8769236857},"targetPosition":{"x":18610.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"16b109a8-0005-4d43-8db1-4f0c6312a085","savedPayload":{"position":{"x":18610.791666666664,"y":44560.594484167515},"targetPosition":{"x":18910.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Trading System Layers","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Trading System Layers\",\n \"gif\": \"\",\n \"image\": \"trading-system\",\n \"definition\": \"The last layer manager is about the ->Trading System-> that features the trading rules for the simulation!\",\n \"paragraph1\": \"These layers work similar to those in the Trading Engine layer manager: they show information on the design space, not on the charts. The difference is that these show stuff on the trading system hierarchy!\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"These layers are particularly useful when designing, testing, and debugging strategies! Just wait and see!\",\n \"tip\": \"Before continuing, turn some Simulation Objects layers off to avoid cluttering up the screen!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","tutorialSteps":[{"type":"Tutorial Step","name":"Trading System Errors!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Trading System Errors!\",\n \"gif\": \"\",\n \"image\": \"bullet-error\",\n \"definition\": \"When writing conditions and formulas, you may make mistakes. Remember conditions must evaluate to true or false and formulas to a number? \",\n \"paragraph1\": \"Well, if they don't, you will get an error! Turning on this layer when you're going back and forth crafting and testing a strategy is a must!\",\n \"callOut\": \"There are no errors in this trading system, but I just planted a fake one so that you may see how they are reported! Look at the ->Formula-> on the left!\",\n \"paragraph2\": \"Now, what if the section of the hierarchy was collapsed? Would you still be able to see error messages? Let's run a quick test! Collapse the ->Initial Targets-> node!\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"setErrorMessageReferenceParent\": \"This is formula has a fake error!\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"99e8ab2e-b689-4187-ab47-6acee91093b2","savedPayload":{"position":{"x":18633.62780691328,"y":44145.78945445799},"targetPosition":{"x":18910.791666666664,"y":44260.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Formula","name":"New Formula","id":"492cee3d-1709-41c5-bfd8-e700a3fdf3da"}}},{"type":"Tutorial Step","name":"Trading System Highlights","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Trading System Highlights!\",\n \"gif\": \"\",\n \"image\": \"bullet-info\",\n \"definition\": \"Whenever something relevant happens with any given node in the trading system hierarchy, the node is highlighted!\",\n \"paragraph1\": \"\",\n \"callOut\": \"Turn the Trading System Highlights layer on, slide your mouse over the chart left of the position, and check these conditions and situations! Now place the mouse pointer over the candle where the strategy is triggered... (08 Mar 2020 at 01 hs)...\",\n \"paragraph2\": \"\",\n \"note\": \"Conditions are highlighted when they validate true; situations, when all conditions validate true; stages and phases, when they become active, and so on!\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"8d16861d-5cd6-4f31-97a3-95e152266cd8","savedPayload":{"position":{"x":18698.6596323107,"y":44048.46244981155},"targetPosition":{"x":18910.791666666664,"y":44260.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Condition","name":"Slope Not Extreme, or...","id":"da235bf3-976c-4832-a565-98a6bb13236d"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"trading-bot-layers-trading-system-highlights\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\"\n}","project":"Superalgos","id":"8e34aa88-c0fc-4268-9638-a72c96104b9a","savedPayload":{"position":{"x":18795.98663695714,"y":43983.430624414126},"targetPosition":{"x":18910.791666666664,"y":44260.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Quick Refresher On Stages","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Quick Refresher on Stages!\",\n \"gif\": \"\",\n \"image\": \"trigger-stage\",\n \"definition\": \"Notice that not all nodes are evaluated all the time! Only those in the active stage are!\",\n \"paragraph1\": \"This is a quick refresher on strategy stages! If you haven't read the docs on trading systems and strategies, then find the time and do it!\",\n \"callOut\": \"Notice how these conditions are not highlighted for the candles within the position.\",\n \"paragraph2\": \"This is because you are looking at the ->Trigger Stage-> definitions. These definitions are evaluated until a ->Strategy-> is triggered. Once triggered, the ->Open Stage-> kicks in, and so on!\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"https://docs.superalgos.org/suite-strategies.html\"\n}","project":"Superalgos","id":"89f8b883-47f4-4fc0-828a-d2ffeff56737","savedPayload":{"position":{"x":18910.791666666664,"y":43960.594484167515},"targetPosition":{"x":18910.791666666664,"y":44260.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Trading System Values!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Trading System Values!\",\n \"gif\": \"\",\n \"image\": \"formula\",\n \"definition\": \"The Trading System Values layers works like the layers on the Trading Engine layer manager showing the values of nodes...\",\n \"paragraph1\": \"\",\n \"callOut\": \"Turn the Trading System Values layer on, slide your mouse over the chart and check the stop formulas!\",\n \"paragraph2\": \"\",\n \"note\": \"The common theme among these layers is that they provide on-the-fly information about each node, for each candle!\",\n \"tip\": \"Is it fair to say that our ->Trading Bot-> is 100% acccountable?\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"a49327ef-0daf-494a-9b76-6d53c914da16","savedPayload":{"position":{"x":19025.596696376193,"y":43983.430624414126},"targetPosition":{"x":18910.791666666664,"y":44260.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Formula","id":"6f65573a-c2ac-476a-9ca1-738971e3ff78"}}},{"type":"Tutorial Step","name":"The Rest of the Crew","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"The Rest of the Crew!\",\n \"gif\": \"\",\n \"image\": \"bot-layers\",\n \"definition\": \"The rest of the layers are virtually self-explanatory once you understand the standard workings... so, I'll be brief!\",\n \"bulletArray\": [\n [\n \"Status,\",\n \"for nodes which have one! \"\n ],\n [\n \"Progress,\",\n \"for nodes that may feature an indication of progress!\"\n ],\n [\n \"Running,\",\n \"for nodes that are evaluated at certain points in time!\"\n ],\n [\n \"Announcements,\",\n \"for announcements set up at the trading system, currently broadcasted over Telegram!\"\n ],\n [\n \"Warnings,\",\n \"when something unusual happens but is not considered an error!\"\n ],\n [\n \"System Info,\",\n \"may be displayed on many nodes, sort of like a verbose mode. \"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"7aa8f881-788d-423d-9f42-70ace943023a","savedPayload":{"position":{"x":19122.923701022628,"y":44048.46244981155},"targetPosition":{"x":18910.791666666664,"y":44260.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Time To Go Out and Play!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Time To Go Out and Play!\",\n \"gif\": \"\",\n \"image\": \"play\",\n \"definition\": \"That's all folks! We've covered it all! Now it's time to go out and play! Have fun!\",\n \"paragraph1\": \"Take some time to explore these layers, paying special attention to those you feel will be of the most use.\",\n \"callOut\": \"Remember, the Trading Bot Layers are a fundamental tool when designing, testing, and debugging strategies!
See you next time!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Drop by the documentation for more info!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"\",\n \"slider\": \"toMiddle\",\n \"documentationURL\": \"\"\n}","project":"Superalgos","id":"dcf1ae5f-f200-4201-ab28-c921417ab7f2","savedPayload":{"position":{"x":19187.95552642005,"y":44145.78945445799},"targetPosition":{"x":18910.791666666664,"y":44260.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"c57458f7-5c9d-41b7-aea1-6c5aff4ef791","savedPayload":{"position":{"x":18910.791666666664,"y":44260.594484167515},"targetPosition":{"x":18910.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"f96b383c-4916-4864-868b-b2b5cf9c5033","savedPayload":{"position":{"x":18910.791666666664,"y":44560.594484167515},"targetPosition":{"x":18910.791666666664,"y":44560.594484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Done"}}}]}
\ No newline at end of file
diff --git a/Projects/Superalgos/Schemas/AppSchema.json b/Integrations/Projects/Superalgos/Schemas/AppSchema.json
similarity index 75%
rename from Projects/Superalgos/Schemas/AppSchema.json
rename to Integrations/Projects/Superalgos/Schemas/AppSchema.json
index ca4b99ce6..dcda0898d 100644
--- a/Projects/Superalgos/Schemas/AppSchema.json
+++ b/Integrations/Projects/Superalgos/Schemas/AppSchema.json
@@ -1,4 +1,206 @@
[
+ {
+ "type": "Superalgos Project",
+ "menuItems": [
+ {
+ "action": "Add Missing Children",
+ "label": "Add Missing Children",
+ "relatedUiObject": "Superalgos Project",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "actionFunction": "payload.executeAction",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete"
+ }
+ ],
+ "isProjectHead": true,
+ "isTitleAllwaysVisible": false,
+ "addLeftIcons": true,
+ "isPinned": true,
+ "positionLocked": true,
+ "icon": "superalgos",
+ "properties": [
+ {
+ "name": "spaces",
+ "type": "node",
+ "childType": "Spaces",
+ "autoAdd": true
+ },
+ {
+ "name": "mines",
+ "type": "node",
+ "childType": "Mines",
+ "autoAdd": true
+ },
+ {
+ "name": "otherHierarchies",
+ "type": "node",
+ "childType": "Other Hierarchies",
+ "autoAdd": true
+ }
+ ]
+ },
+ {
+ "type": "Spaces",
+ "menuItems": [
+ {
+ "action": "Add UI Object",
+ "label": "Add Charting Space",
+ "relatedUiObject": "Charting Space",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Design Space",
+ "relatedUiObject": "Design Space",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "actionFunction": "payload.executeAction",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete"
+ }
+ ],
+ "isTitleAllwaysVisible": false,
+ "addLeftIcons": true,
+ "isPinned": false,
+ "level": 2,
+ "propertyNameAtParent": "spaces"
+ },
+ {
+ "type": "Mines",
+ "menuItems": [
+ {
+ "action": "Add UI Object",
+ "label": "Add Data Mine",
+ "relatedUiObject": "Data Mine",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Trading Mine",
+ "relatedUiObject": "Trading Mine",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Learning Mine",
+ "relatedUiObject": "Learning Mine",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "actionFunction": "payload.executeAction",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete"
+ }
+ ],
+ "isTitleAllwaysVisible": false,
+ "addLeftIcons": true,
+ "isPinned": false,
+ "level": 2,
+ "propertyNameAtParent": "mines"
+ },
+ {
+ "type": "Other Hierarchies",
+ "menuItems": [
+ {
+ "action": "Add UI Object",
+ "label": "Add Trading System",
+ "relatedUiObject": "Trading System",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Network",
+ "relatedUiObject": "Network",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Super Scripts",
+ "relatedUiObject": "Super Scripts",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Trading Engine",
+ "relatedUiObject": "Trading Engine",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Tutorial",
+ "relatedUiObject": "Tutorial",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "actionFunction": "payload.executeAction",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete"
+ }
+ ],
+ "isTitleAllwaysVisible": false,
+ "addLeftIcons": true,
+ "isPinned": false,
+ "level": 2,
+ "propertyNameAtParent": "otherHierarchies"
+ },
+ {
+ "type": "Workspace",
+ "menuItems": [
+ {
+ "action": "Pin / Unpin",
+ "currentStatus": true,
+ "iconPathOn": "unpinned",
+ "iconPathOff": "pinned",
+ "actionFunction": "payload.executeAction",
+ "ring": 1
+ },
+ {
+ "iconPathOn": "share",
+ "iconPathOff": "share",
+ "actionFunction": "UI.projects.superalgos.spaces.designSpace.workspace.share",
+ "ring": 1
+ },
+ {
+ "iconPathOn": "backup",
+ "iconPathOff": "backup",
+ "actionFunction": "UI.projects.superalgos.spaces.designSpace.workspace.backup",
+ "ring": 1
+ },
+ {
+ "action": "Add Missing Workspace Projects",
+ "label": "Add Missing Projects",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Proceed",
+ "workDoneLabel": "Done",
+ "relatedUiObject": "Workspace",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "isTitleAllwaysVisible": true,
+ "addLeftIcons": false,
+ "isPinned": true,
+ "positionLocked": true,
+ "level": 0
+ },
{
"type": "Plotter Module",
"properties": [
@@ -92,7 +294,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "shapes",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Shapes",
"relatedUiObject": "Shapes"
},
@@ -100,27 +302,27 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "javascriptCode",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Javascript Code",
"relatedUiObject": "Javascript Code"
},
{
"action": "Add UI Object",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Plotter Panel",
"relatedUiObject": "Plotter Panel"
},
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -147,7 +349,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -168,7 +370,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -189,7 +391,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -210,7 +412,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -231,7 +433,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -252,7 +454,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -273,7 +475,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -294,7 +496,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -315,7 +517,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -336,7 +538,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -386,25 +588,25 @@
"menuItems": [
{
"action": "Add UI Object",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Chart Points",
"relatedUiObject": "Chart Points"
},
{
"action": "Add UI Object",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Polygon",
"relatedUiObject": "Polygon"
},
{
"action": "Add UI Object",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Image",
"relatedUiObject": "Image"
},
{
"action": "Add UI Object",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Text",
"relatedUiObject": "Text"
},
@@ -412,7 +614,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -458,13 +660,13 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "javascriptCode",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Code",
"relatedUiObject": "Javascript Code"
},
{
"action": "Add UI Object",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Panel Data",
"relatedUiObject": "Panel Data"
},
@@ -472,7 +674,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -519,7 +721,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "dataFormula",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Data Formula",
"relatedUiObject": "Data Formula"
},
@@ -527,7 +729,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "textStyle",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Text Style",
"relatedUiObject": "Text Style"
},
@@ -535,7 +737,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -568,7 +770,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -601,7 +803,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -627,7 +829,7 @@
"menuItems": [
{
"action": "Add UI Object",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Point",
"relatedUiObject": "Point"
},
@@ -635,7 +837,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -663,7 +865,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "pointFormula",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Point Formula",
"relatedUiObject": "Point Formula"
},
@@ -671,7 +873,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -704,7 +906,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -737,7 +939,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "imageCondition",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Image Condition",
"relatedUiObject": "Image Condition"
},
@@ -745,7 +947,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "imagePosition",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Image Position",
"relatedUiObject": "Image Position"
},
@@ -753,7 +955,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -801,7 +1003,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -841,7 +1043,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -861,7 +1063,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "textCondition",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Text Condition",
"relatedUiObject": "Text Condition"
},
@@ -869,7 +1071,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "textPosition",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Text Position",
"relatedUiObject": "Text Position"
},
@@ -877,7 +1079,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "textFormula",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Text Formula",
"relatedUiObject": "Text Formula"
},
@@ -885,7 +1087,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "textStyle",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Text Style",
"relatedUiObject": "Text Style"
},
@@ -893,7 +1095,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -952,7 +1154,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -986,7 +1188,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -1026,7 +1228,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -1059,7 +1261,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -1105,7 +1307,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "polygonCondition",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Polygon Condition",
"relatedUiObject": "Polygon Condition"
},
@@ -1113,7 +1315,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "polygonBody",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Polygon Body",
"relatedUiObject": "Polygon Body"
},
@@ -1121,13 +1323,13 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "polygonBorder",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Polygon Border",
"relatedUiObject": "Polygon Border"
},
{
"action": "Add UI Object",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Polygon Vertex",
"relatedUiObject": "Polygon Vertex"
},
@@ -1135,7 +1337,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -1169,7 +1371,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -1202,13 +1404,13 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "style",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Style",
"relatedUiObject": "Style"
},
{
"action": "Add UI Object",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Style Condition",
"relatedUiObject": "Style Condition"
},
@@ -1216,7 +1418,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -1249,13 +1451,13 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "style",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Style",
"relatedUiObject": "Style"
},
{
"action": "Add UI Object",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Style Condition",
"relatedUiObject": "Style Condition"
},
@@ -1263,7 +1465,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -1304,7 +1506,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "style",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Style",
"relatedUiObject": "Style"
},
@@ -1312,7 +1514,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -1345,7 +1547,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -1372,7 +1574,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -1380,79 +1582,6 @@
],
"addLeftIcons": true
},
- {
- "type": "Workspace",
- "menuItems": [
- {
- "action": "Pin / Unpin",
- "currentStatus": true,
- "iconPathOn": "unpinned",
- "iconPathOff": "pinned",
- "actionFunction": "payload.onMenuItemClick",
- "ring": 1
- },
- {
- "action": "Share Workspace",
- "iconPathOn": "share",
- "iconPathOff": "share",
- "actionFunction": "payload.onMenuItemClick",
- "ring": 1
- },
- {
- "action": "Backup Workspace",
- "iconPathOn": "backup",
- "iconPathOff": "backup",
- "actionFunction": "payload.onMenuItemClick",
- "ring": 1
- },
- {
- "action": "Add UI Object",
- "label": "Add Trading System",
- "relatedUiObject": "Trading System",
- "actionFunction": "payload.onMenuItemClick"
- },
- {
- "action": "Add UI Object",
- "label": "Add Network",
- "relatedUiObject": "Network",
- "actionFunction": "payload.onMenuItemClick"
- },
- {
- "action": "Add UI Object",
- "label": "Add Data Mine",
- "relatedUiObject": "Data Mine",
- "actionFunction": "payload.onMenuItemClick"
- },
- {
- "action": "Add UI Object",
- "label": "Add Trading Mine",
- "relatedUiObject": "Trading Mine",
- "actionFunction": "payload.onMenuItemClick"
- },
- {
- "action": "Add UI Object",
- "label": "Add Super Scripts",
- "relatedUiObject": "Super Scripts",
- "actionFunction": "payload.onMenuItemClick"
- },
- {
- "action": "Add UI Object",
- "label": "Add Trading Engine",
- "relatedUiObject": "Trading Engine",
- "actionFunction": "payload.onMenuItemClick"
- },
- {
- "action": "Add UI Object",
- "label": "Add Tutorial",
- "relatedUiObject": "Tutorial",
- "actionFunction": "payload.onMenuItemClick"
- }
- ],
- "isTitleAllwaysVisible": true,
- "addLeftIcons": false,
- "isPinned": true,
- "positionLocked": true
- },
{
"type": "Situation",
"menuItems": [
@@ -1460,7 +1589,7 @@
"action": "Add UI Object",
"label": "Add Condition",
"relatedUiObject": "Condition",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -1468,7 +1597,7 @@
"propertyToCheckFor": "formula",
"label": "Add Formula",
"relatedUiObject": "Formula",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -1477,13 +1606,13 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 1,
"chainAttachesTo": {
- "compatibleTypes": "->Take Position Event->Trigger On Event->Trigger Off Event->Next Phase Event->Move To Phase Event->"
+ "compatibleTypes": "->Take Position Event->Trigger On Event->Trigger Off Event->Next Phase Event->Move To Phase Event->Create Order Event->Cancel Order Event->Close Stage Event->"
},
"properties": [
{
@@ -1515,19 +1644,19 @@
"propertyToCheckFor": "javascriptCode",
"label": "Add Code",
"relatedUiObject": "Javascript Code",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Fetch Code to Javascript Code",
"label": "Fetch from Javascript Code",
"relatedUiObject": "Javascript Code",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Push Code to Javascript Code",
"label": "Push to Javascript Code",
"relatedUiObject": "Javascript Code",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -1536,7 +1665,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -1573,7 +1702,7 @@
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "scriptsLibrary",
"relatedUiObject": "Scripts Library",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -1582,7 +1711,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -1611,7 +1740,7 @@
"action": "Add UI Object",
"label": "Add Master Script",
"relatedUiObject": "Master Script",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -1620,7 +1749,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"propertyNameAtParent": "scriptsLibrary",
@@ -1646,7 +1775,7 @@
"action": "Add UI Object",
"label": "Add Template Script",
"relatedUiObject": "Template Script",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -1654,7 +1783,7 @@
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "javascriptCode",
"relatedUiObject": "Javascript Code",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -1663,7 +1792,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"propertyNameAtParent": "masterScripts",
@@ -1696,7 +1825,7 @@
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "templateStructure",
"relatedUiObject": "Template Structure",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -1704,7 +1833,7 @@
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "templateTarget",
"relatedUiObject": "Template Target",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -1712,7 +1841,7 @@
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "javascriptCode",
"relatedUiObject": "Javascript Code",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -1721,7 +1850,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"propertyNameAtParent": "templateScripts",
@@ -1762,7 +1891,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"propertyNameAtParent": "templateStructure",
@@ -1784,9 +1913,9 @@
"childType": "Market Data Products"
},
{
- "name": "sessionReferences",
+ "name": "tradingSessionReferences",
"type": "node",
- "childType": "Session Reference"
+ "childType": "Trading Session Reference"
},
{
"name": "timeMachines",
@@ -1805,7 +1934,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"propertyNameAtParent": "templateTarget",
@@ -1831,7 +1960,7 @@
"workDoneLabel": "Super Action Executed",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -1840,7 +1969,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"propertyNameAtParent": "superActions",
@@ -1862,7 +1991,7 @@
"action": "Add UI Object",
"label": "Add Network Node",
"relatedUiObject": "Network Node",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -1871,7 +2000,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isHierarchyHead": true,
@@ -1902,7 +2031,15 @@
"propertyToCheckFor": "dataMining",
"label": "Add Data Mining",
"relatedUiObject": "Data Mining",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "disableIfPropertyIsDefined": true,
+ "propertyToCheckFor": "learningMining",
+ "label": "Add Learning Mining",
+ "relatedUiObject": "Learning Mining",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -1910,7 +2047,7 @@
"propertyToCheckFor": "testingEnvironment",
"label": "Add Testing Environment",
"relatedUiObject": "Testing Environment",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -1918,7 +2055,7 @@
"propertyToCheckFor": "productionEnvironment",
"label": "Add Production Environment",
"relatedUiObject": "Production Environment",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -1926,7 +2063,7 @@
"propertyToCheckFor": "dataStorage",
"label": "Add Data Storage",
"relatedUiObject": "Data Storage",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -1935,7 +2072,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -1957,6 +2094,12 @@
"childType": "Data Mining",
"autoAdd": true
},
+ {
+ "name": "learningMining",
+ "type": "node",
+ "childType": "Learning Mining",
+ "autoAdd": true
+ },
{
"name": "testingEnvironment",
"type": "node",
@@ -1989,7 +2132,7 @@
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Stop All Tasks",
@@ -1999,13 +2142,13 @@
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Task",
"relatedUiObject": "Task",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2014,13 +2157,13 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 2,
"chainAttachesTo": {
- "compatibleTypes": "->Data Mine Tasks->Trading Mine Tasks->"
+ "compatibleTypes": "->Data Mine Tasks->Trading Mine Tasks->Learning Mine Tasks->"
},
"properties": [
{
@@ -2050,7 +2193,7 @@
"secondaryIcon": "stop",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Debug Task",
@@ -2060,7 +2203,7 @@
"workFailedLabel": "Task Cannot be Debugged",
"iconPathOn": "status-dependency",
"iconPathOff": "status-dependency",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -2068,7 +2211,7 @@
"propertyToCheckFor": "bot",
"label": "Add Sensor Bot Instance",
"relatedUiObject": "Sensor Bot Instance",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -2076,7 +2219,7 @@
"propertyToCheckFor": "bot",
"label": "Add Indicator Bot Instance",
"relatedUiObject": "Indicator Bot Instance",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -2084,7 +2227,15 @@
"propertyToCheckFor": "bot",
"label": "Add Trading Bot Instance",
"relatedUiObject": "Trading Bot Instance",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "disableIfPropertyIsDefined": true,
+ "propertyToCheckFor": "bot",
+ "label": "Add Learning Bot Instance",
+ "relatedUiObject": "Learning Bot Instance",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -2092,7 +2243,7 @@
"propertyToCheckFor": "keyReference",
"label": "Add Key Reference",
"relatedUiObject": "Key Reference",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2101,7 +2252,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -2126,6 +2277,11 @@
"type": "node",
"childType": "Indicator Bot Instance"
},
+ {
+ "name": "bot",
+ "type": "node",
+ "childType": "Learning Bot Instance"
+ },
{
"name": "keyReference",
"type": "node",
@@ -2149,7 +2305,7 @@
"action": "Add UI Object",
"label": "Add Process Instance",
"relatedUiObject": "Trading Process Instance",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2158,7 +2314,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -2182,6 +2338,54 @@
],
"propertyNameAtParent": "bot"
},
+ {
+ "type": "Learning Bot Instance",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "dontShowAtFullscreen": true,
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Process Instance",
+ "relatedUiObject": "Learning Process Instance",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "addLeftIcons": true,
+ "editors": {
+ "config": true
+ },
+ "initialValues": {
+ "config": "{}"
+ },
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Task->"
+ },
+ "properties": [
+ {
+ "name": "processes",
+ "type": "array",
+ "childType": "Learning Process Instance",
+ "autoAdd": false
+ }
+ ],
+ "propertyNameAtParent": "bot"
+ },
{
"type": "Sensor Process Instance",
"menuItems": [
@@ -2192,7 +2396,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -2208,8 +2412,7 @@
"chainAttachesTo": {
"compatibleTypes": "->Sensor Bot Instance->"
},
- "properties": [
- ],
+ "properties": [],
"propertyNameAtParent": "processes"
},
{
@@ -2222,7 +2425,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -2238,8 +2441,7 @@
"chainAttachesTo": {
"compatibleTypes": "->Indicator Bot Instance->"
},
- "properties": [
- ],
+ "properties": [],
"propertyNameAtParent": "processes"
},
{
@@ -2249,33 +2451,33 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "session",
- "label": "Add Backtesting",
+ "label": "Add Backtesting Session",
"relatedUiObject": "Backtesting Session",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "session",
- "label": "Add Live Trading",
+ "label": "Add Live Trading Session",
"relatedUiObject": "Live Trading Session",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "session",
- "label": "Add Forward Testing",
+ "label": "Add Forward Testing Session",
"relatedUiObject": "Forward Testing Session",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "session",
- "label": "Add Paper Trading",
+ "label": "Add Paper Trading Session",
"relatedUiObject": "Paper Trading Session",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -2283,7 +2485,7 @@
"propertyToCheckFor": "executionStartedEvent",
"label": "Add Execution Started Event",
"relatedUiObject": "Execution Started Event",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2292,7 +2494,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -2338,16 +2540,73 @@
],
"propertyNameAtParent": "processes"
},
+ {
+ "type": "Learning Process Instance",
+ "menuItems": [
+ {
+ "action": "Add UI Object",
+ "disableIfPropertyIsDefined": true,
+ "propertyToCheckFor": "session",
+ "label": "Add Learning Session",
+ "relatedUiObject": "Learning Session",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "disableIfPropertyIsDefined": true,
+ "propertyToCheckFor": "executionStartedEvent",
+ "label": "Add Execution Started Event",
+ "relatedUiObject": "Execution Started Event",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "isTitleAllwaysVisible": true,
+ "title": [
+ "Use Reference Parent Parent",
+ "Use Reference Parent"
+ ],
+ "addLeftIcons": true,
+ "level": 2,
+ "referenceAttachesTo": {
+ "compatibleTypes": "->Process Definition->"
+ },
+ "chainAttachesTo": {
+ "compatibleTypes": "->Trading Bot Instance->"
+ },
+ "properties": [
+ {
+ "name": "session",
+ "type": "node",
+ "childType": "Learning Session"
+ },
+ {
+ "name": "executionStartedEvent",
+ "type": "node",
+ "childType": "Execution Started Event",
+ "autoAdd": false
+ }
+ ],
+ "propertyNameAtParent": "processes"
+ },
{
"type": "Backtesting Session",
"menuItems": [
{
- "action": "Run Session",
+ "action": "Run Trading Session",
"label": "Run",
"workingLabel": "Run Request Sent",
"workDoneLabel": "Session Running",
"workFailedLabel": "Session Cannot be Ran",
- "secondaryAction": "Stop Session",
+ "secondaryAction": "Stop Trading Session",
"secondaryLabel": "Stop",
"secondaryWorkingLabel": "Stopping...",
"secondaryWorkDoneLabel": "Session Stopped",
@@ -2355,15 +2614,15 @@
"secondaryIcon": "stop",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
- "action": "Resume Session",
+ "action": "Resume Trading Session",
"label": "Resume",
"workingLabel": "Resume Request Sent",
"workDoneLabel": "Session Running",
"workFailedLabel": "Session Cannot be Resumed",
- "secondaryAction": "Stop Session",
+ "secondaryAction": "Stop Trading Session",
"secondaryLabel": "Stop",
"secondaryWorkingLabel": "Stopping...",
"secondaryWorkDoneLabel": "Session Stopped",
@@ -2371,7 +2630,7 @@
"secondaryIcon": "stop",
"iconPathOn": "resume",
"iconPathOff": "resume",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Configure",
@@ -2384,8 +2643,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2394,7 +2653,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -2411,9 +2670,9 @@
},
"properties": [
{
- "name": "parameters",
+ "name": "tradingParameters",
"type": "node",
- "childType": "Parameters",
+ "childType": "Trading Parameters",
"autoAdd": true
},
{
@@ -2443,7 +2702,7 @@
"action": "Add Missing Children",
"label": "Add Missing Children",
"relatedUiObject": "Trading Engine",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2452,7 +2711,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isHierarchyHead": true,
@@ -2486,7 +2745,7 @@
"action": "Add UI Object",
"label": "Add Indicator Function",
"relatedUiObject": "Indicator Function",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2495,7 +2754,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -2529,7 +2788,7 @@
"propertyToCheckFor": "formula",
"label": "Add Formula",
"relatedUiObject": "Formula",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2538,7 +2797,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -2568,8 +2827,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2578,7 +2837,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -2698,14 +2957,14 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add User Defined Counter",
"relatedUiObject": "User Defined Counter",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2714,7 +2973,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -2777,13 +3036,13 @@
"propertyToCheckFor": "periods",
"label": "Add Periods",
"relatedUiObject": "Periods",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add User Defined Counter",
"relatedUiObject": "User Defined Counter",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2792,7 +3051,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -2825,13 +3084,13 @@
"propertyToCheckFor": "periods",
"label": "Add Periods",
"relatedUiObject": "Periods",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add User Defined Counter",
"relatedUiObject": "User Defined Counter",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2840,7 +3099,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -2873,13 +3132,13 @@
"propertyToCheckFor": "periods",
"label": "Add Periods",
"relatedUiObject": "Periods",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add User Defined Counter",
"relatedUiObject": "User Defined Counter",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2888,7 +3147,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -2927,7 +3186,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2936,7 +3209,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -2967,7 +3240,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -2976,7 +3263,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -3007,7 +3294,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3016,7 +3317,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -3047,7 +3348,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3056,7 +3371,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -3087,7 +3402,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3096,7 +3425,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -3127,7 +3456,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3136,7 +3479,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -3167,7 +3510,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3176,7 +3533,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -3198,14 +3555,14 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add User Defined Statistic",
"relatedUiObject": "User Defined Statistic",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3214,7 +3571,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -3275,15 +3632,29 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Copy Node Path",
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3292,7 +3663,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -3308,6 +3679,18 @@
},
"propertyNameAtParent": "stopLoss",
"properties": [
+ {
+ "name": "begin",
+ "type": "node",
+ "childType": "Begin",
+ "autoAdd": true
+ },
+ {
+ "name": "end",
+ "type": "node",
+ "childType": "End",
+ "autoAdd": true
+ },
{
"name": "stopLossPhase",
"type": "node",
@@ -3319,6 +3702,18 @@
"type": "node",
"childType": "Stop Loss Position",
"autoAdd": true
+ },
+ {
+ "name": "initialValue",
+ "type": "node",
+ "childType": "Initial Value",
+ "autoAdd": true
+ },
+ {
+ "name": "finalValue",
+ "type": "node",
+ "childType": "Final Value",
+ "autoAdd": true
}
]
},
@@ -3335,15 +3730,29 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Copy Node Path",
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3352,7 +3761,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -3368,6 +3777,18 @@
},
"propertyNameAtParent": "stopLoss",
"properties": [
+ {
+ "name": "begin",
+ "type": "node",
+ "childType": "Begin",
+ "autoAdd": true
+ },
+ {
+ "name": "end",
+ "type": "node",
+ "childType": "End",
+ "autoAdd": true
+ },
{
"name": "takeProfitPhase",
"type": "node",
@@ -3379,9 +3800,129 @@
"type": "node",
"childType": "Take Profit Position",
"autoAdd": true
+ },
+ {
+ "name": "initialValue",
+ "type": "node",
+ "childType": "Initial Value",
+ "autoAdd": true
+ },
+ {
+ "name": "finalValue",
+ "type": "node",
+ "childType": "Final Value",
+ "autoAdd": true
}
]
},
+ {
+ "type": "Initial Value",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Copy Node Path",
+ "label": "Copy Node Path",
+ "iconPathOn": "copy-path",
+ "iconPathOff": "copy-path",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "editors": {
+ "config": true
+ },
+ "initialValues": {
+ "config": "{\n\"initialValue\": 0\n}"
+ },
+ "addLeftIcons": true,
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Stop Loss->Take Profit->"
+ },
+ "propertyNameAtParent": "initialValue"
+ },
+ {
+ "type": "Final Value",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Copy Node Path",
+ "label": "Copy Node Path",
+ "iconPathOn": "copy-path",
+ "iconPathOff": "copy-path",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "editors": {
+ "config": true
+ },
+ "initialValues": {
+ "config": "{\n\"initialValue\": 0\n}"
+ },
+ "addLeftIcons": true,
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Stop Loss->Take Profit->"
+ },
+ "propertyNameAtParent": "finalValue"
+ },
{
"type": "Stop Loss Phase",
"menuItems": [
@@ -3397,7 +3938,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3406,7 +3961,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -3437,7 +3992,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3446,7 +4015,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -3477,7 +4046,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3486,7 +4069,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -3517,7 +4100,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3526,7 +4123,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -3549,13 +4146,13 @@
"action": "Add UI Object",
"label": "Add User Defined Statistic",
"relatedUiObject": "User Defined Statistic",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3564,7 +4161,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -3612,8 +4209,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3622,7 +4219,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -3664,8 +4261,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3674,7 +4271,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -3716,8 +4313,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3726,7 +4323,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -3804,8 +4401,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3814,7 +4411,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -3892,8 +4489,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3902,7 +4499,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -3962,8 +4559,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -3972,7 +4569,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -4032,14 +4629,14 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add User Defined Statistic",
"relatedUiObject": "User Defined Statistic",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4048,7 +4645,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -4090,8 +4687,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4100,7 +4697,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -4110,6 +4707,12 @@
},
"propertyNameAtParent": "orderBaseAsset",
"properties": [
+ {
+ "name": "actualSize",
+ "type": "node",
+ "childType": "Actual Size",
+ "autoAdd": true
+ },
{
"name": "size",
"type": "node",
@@ -4122,11 +4725,23 @@
"childType": "Size Filled",
"autoAdd": true
},
+ {
+ "name": "amountReceived",
+ "type": "node",
+ "childType": "Amount Received",
+ "autoAdd": true
+ },
{
"name": "feesPaid",
"type": "node",
"childType": "Fees Paid",
"autoAdd": true
+ },
+ {
+ "name": "feesToBePaid",
+ "type": "node",
+ "childType": "Fees To Be Paid",
+ "autoAdd": true
}
]
},
@@ -4136,8 +4751,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4146,7 +4761,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -4156,6 +4771,12 @@
},
"propertyNameAtParent": "orderQuotedAsset",
"properties": [
+ {
+ "name": "actualSize",
+ "type": "node",
+ "childType": "Actual Size",
+ "autoAdd": true
+ },
{
"name": "size",
"type": "node",
@@ -4168,11 +4789,23 @@
"childType": "Size Filled",
"autoAdd": true
},
+ {
+ "name": "amountReceived",
+ "type": "node",
+ "childType": "Amount Received",
+ "autoAdd": true
+ },
{
"name": "feesPaid",
"type": "node",
"childType": "Fees Paid",
"autoAdd": true
+ },
+ {
+ "name": "feesToBePaid",
+ "type": "node",
+ "childType": "Fees To Be Paid",
+ "autoAdd": true
}
]
},
@@ -4192,14 +4825,28 @@
"propertyToCheckFor": "formula",
"label": "Add Formula",
"relatedUiObject": "Formula",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Copy Node Path",
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4208,7 +4855,7 @@
"label": "This",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4247,7 +4894,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4256,7 +4917,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4287,7 +4948,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4296,7 +4971,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4327,7 +5002,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4336,7 +5025,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4367,7 +5056,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4376,7 +5079,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4407,7 +5110,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4416,7 +5133,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4447,7 +5164,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4456,7 +5187,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4470,7 +5201,7 @@
"chainAttachesTo": {
"compatibleTypes": "->Order Statistics->"
},
- "propertyNameAtParent": "search"
+ "propertyNameAtParent": "actualRate"
},
{
"type": "Fees Paid",
@@ -4487,7 +5218,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4496,7 +5241,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4527,7 +5272,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4536,7 +5295,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4567,7 +5326,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4576,7 +5349,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4607,7 +5380,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4616,7 +5403,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4638,8 +5425,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4648,7 +5435,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -4717,7 +5504,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4726,7 +5527,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4757,7 +5558,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4766,7 +5581,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4797,7 +5612,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4806,7 +5635,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4828,8 +5657,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4838,7 +5667,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -4919,7 +5748,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4928,7 +5771,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4959,7 +5802,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -4968,7 +5825,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -4999,7 +5856,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5008,7 +5879,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5039,7 +5910,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5048,7 +5933,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5079,7 +5964,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5088,7 +5987,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5119,7 +6018,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5128,7 +6041,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5159,7 +6072,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5168,7 +6095,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5199,7 +6126,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5208,7 +6149,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5239,7 +6180,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5248,7 +6203,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5270,8 +6225,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5280,7 +6235,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -5334,8 +6289,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5344,7 +6299,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -5398,8 +6353,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5408,7 +6363,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -5480,8 +6435,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5490,7 +6445,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -5562,8 +6517,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5572,7 +6527,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -5671,7 +6626,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5680,7 +6649,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5711,7 +6680,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5720,7 +6703,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5751,7 +6734,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5760,7 +6757,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5791,7 +6788,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5800,7 +6811,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5831,7 +6842,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5840,7 +6865,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5871,7 +6896,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5880,7 +6919,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5911,7 +6950,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5920,7 +6973,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5951,7 +7004,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -5960,7 +7027,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -5991,7 +7058,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6000,7 +7081,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6031,7 +7112,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6040,7 +7135,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6071,7 +7166,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6080,7 +7189,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6092,7 +7201,7 @@
"addLeftIcons": true,
"level": 3,
"chainAttachesTo": {
- "compatibleTypes": "->Episode->Strategy->Position->Candle->Cycle->Market Order->Limit Order->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->"
+ "compatibleTypes": "->Episode->Strategy->Position->Candle->Cycle->Market Order->Limit Order->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->Stop Loss->Take Profit->"
},
"propertyNameAtParent": "begin"
},
@@ -6111,7 +7220,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6120,7 +7243,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6132,10 +7255,118 @@
"addLeftIcons": true,
"level": 3,
"chainAttachesTo": {
- "compatibleTypes": "->Episode->Strategy->Position->Candle->Cycle->Market Order->Limit Order->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->"
+ "compatibleTypes": "->Episode->Strategy->Position->Candle->Cycle->Market Order->Limit Order->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->Stop Loss->Take Profit->"
},
"propertyNameAtParent": "end"
},
+ {
+ "type": "Last Begin",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Copy Node Path",
+ "label": "Copy Node Path",
+ "iconPathOn": "copy-path",
+ "iconPathOff": "copy-path",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "editors": {
+ "config": true
+ },
+ "initialValues": {
+ "config": "{\n\"initialValue\": 0\n}"
+ },
+ "addLeftIcons": true,
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Cycle->"
+ },
+ "propertyNameAtParent": "lastBegin"
+ },
+ {
+ "type": "Last End",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Copy Node Path",
+ "label": "Copy Node Path",
+ "iconPathOn": "copy-path",
+ "iconPathOff": "copy-path",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "editors": {
+ "config": true
+ },
+ "initialValues": {
+ "config": "{\n\"initialValue\": 0\n}"
+ },
+ "addLeftIcons": true,
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Cycle->"
+ },
+ "propertyNameAtParent": "lastEnd"
+ },
{
"type": "Open",
"menuItems": [
@@ -6144,7 +7375,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6153,7 +7398,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -6171,7 +7416,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6180,7 +7439,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -6198,7 +7457,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6207,7 +7480,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -6225,7 +7498,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6234,7 +7521,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -6259,7 +7546,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6268,7 +7569,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6299,7 +7600,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6308,7 +7623,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6330,8 +7645,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6340,7 +7655,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -6469,7 +7784,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6478,7 +7807,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6509,7 +7838,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6518,7 +7861,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6549,7 +7892,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6558,7 +7915,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6589,7 +7946,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6598,7 +7969,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6629,7 +8000,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6638,7 +8023,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6654,6 +8039,168 @@
},
"propertyNameAtParent": "size"
},
+ {
+ "type": "Actual Size",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Copy Node Path",
+ "label": "Copy Node Path",
+ "iconPathOn": "copy-path",
+ "iconPathOff": "copy-path",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "editors": {
+ "config": true
+ },
+ "initialValues": {
+ "config": "{\n\"initialValue\": 0\n}"
+ },
+ "addLeftIcons": true,
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Order Base Asset->Order Quoted Asset->"
+ },
+ "propertyNameAtParent": "actualSize"
+ },
+ {
+ "type": "Amount Received",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Copy Node Path",
+ "label": "Copy Node Path",
+ "iconPathOn": "copy-path",
+ "iconPathOff": "copy-path",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "editors": {
+ "config": true
+ },
+ "initialValues": {
+ "config": "{\n\"initialValue\": 0\n}"
+ },
+ "addLeftIcons": true,
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Order Base Asset->Order Quoted Asset->"
+ },
+ "propertyNameAtParent": "amountReceived"
+ },
+ {
+ "type": "Fees To Be Paid",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Copy Node Path",
+ "label": "Copy Node Path",
+ "iconPathOn": "copy-path",
+ "iconPathOff": "copy-path",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "editors": {
+ "config": true
+ },
+ "initialValues": {
+ "config": "{\n\"initialValue\": 0\n}"
+ },
+ "addLeftIcons": true,
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Order Base Asset->Order Quoted Asset->"
+ },
+ "propertyNameAtParent": "feesToBePaid"
+ },
{
"type": "Entry Target Size",
"menuItems": [
@@ -6669,7 +8216,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6678,7 +8239,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6709,7 +8270,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6718,7 +8293,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6749,7 +8324,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6758,7 +8347,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6789,7 +8378,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6798,7 +8401,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6829,7 +8432,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6838,7 +8455,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6869,7 +8486,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6878,7 +8509,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6909,7 +8540,21 @@
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6918,7 +8563,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -6940,8 +8585,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -6950,7 +8595,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -6992,8 +8637,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -7002,7 +8647,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -7062,15 +8707,29 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Copy Node Path",
"label": "Copy Node Path",
"iconPathOn": "copy-path",
"iconPathOff": "copy-path",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Value",
+ "label": "Copy Node Value",
+ "iconPathOn": "copy-value",
+ "iconPathOff": "copy-value",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Copy Node Type",
+ "label": "Copy Node Type",
+ "iconPathOn": "copy-type",
+ "iconPathOff": "copy-type",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -7079,7 +8738,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -7100,6 +8759,18 @@
"type": "node",
"childType": "End",
"autoAdd": true
+ },
+ {
+ "name": "lastBegin",
+ "type": "node",
+ "childType": "Last Begin",
+ "autoAdd": true
+ },
+ {
+ "name": "lastEnd",
+ "type": "node",
+ "childType": "Last End",
+ "autoAdd": true
}
]
},
@@ -7112,7 +8783,7 @@
"propertyToCheckFor": "marketBuyOrders",
"label": "Add Market Buy Orders",
"relatedUiObject": "Market Buy Orders",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -7120,7 +8791,7 @@
"propertyToCheckFor": "marketSellOrders",
"label": "Add Market Sell Orders",
"relatedUiObject": "Market Sell Orders",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -7128,7 +8799,7 @@
"propertyToCheckFor": "limitBuyOrders",
"label": "Add Limit Buy Orders",
"relatedUiObject": "Limit Buy Orders",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -7136,7 +8807,7 @@
"propertyToCheckFor": "limitSellOrders",
"label": "Add Limit Sell Orders",
"relatedUiObject": "Limit Sell Orders",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -7145,7 +8816,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -7188,7 +8859,7 @@
"action": "Add UI Object",
"label": "Add Market Order",
"relatedUiObject": "Market Order",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -7197,7 +8868,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -7222,7 +8893,7 @@
"action": "Add Missing Children",
"label": "Add Missing Children",
"relatedUiObject": "Trading Engine",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -7231,7 +8902,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -7346,7 +9017,7 @@
"action": "Add UI Object",
"label": "Add Market Order",
"relatedUiObject": "Market Order",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -7355,7 +9026,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -7380,7 +9051,7 @@
"action": "Add UI Object",
"label": "Add Limit Order",
"relatedUiObject": "Limit Order",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -7389,7 +9060,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -7414,7 +9085,7 @@
"action": "Add UI Object",
"label": "Add Limit Order",
"relatedUiObject": "Limit Order",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -7423,7 +9094,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -7448,7 +9119,7 @@
"action": "Add Missing Children",
"label": "Add Missing Children",
"relatedUiObject": "Trading Engine",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -7457,7 +9128,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -7566,13 +9237,13 @@
]
},
{
- "type": "Parameters",
+ "type": "Trading Parameters",
"menuItems": [
{
"action": "Add Missing Children",
- "label": "Add Missing Params",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "label": "Add Missing Parameters",
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -7581,7 +9252,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -7645,7 +9316,53 @@
"autoAdd": true
}
],
- "propertyNameAtParent": "parameters"
+ "propertyNameAtParent": "tradingParameters"
+ },
+ {
+ "type": "Learning Parameters",
+ "menuItems": [
+ {
+ "action": "Add Missing Children",
+ "label": "Add Missing Parameters",
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "addLeftIcons": true,
+ "level": 2,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Learning Session->"
+ },
+ "properties": [
+ {
+ "name": "learningAlgorithm",
+ "type": "node",
+ "childType": "Learning Algorithm",
+ "autoAdd": true
+ },
+ {
+ "name": "heartbeats",
+ "type": "node",
+ "childType": "Heartbeats",
+ "autoAdd": true
+ },
+ {
+ "name": "userDefinedParameters",
+ "type": "node",
+ "childType": "User Defined Parameters",
+ "autoAdd": true
+ }
+ ],
+ "propertyNameAtParent": "learningParameters"
},
{
"type": "Trading System Reference",
@@ -7657,7 +9374,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"title": [
@@ -7683,7 +9400,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"title": [
@@ -7716,7 +9433,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -7732,7 +9449,7 @@
"compatibleTypes": "->Exchange Account Asset->"
},
"chainAttachesTo": {
- "compatibleTypes": "->Parameters->"
+ "compatibleTypes": "->Trading Parameters->"
},
"alternativeIcons": "Use Reference Grandparent",
"title": [
@@ -7757,7 +9474,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -7773,7 +9490,7 @@
"compatibleTypes": "->Exchange Account Asset->"
},
"chainAttachesTo": {
- "compatibleTypes": "->Parameters->"
+ "compatibleTypes": "->Trading Parameters->"
},
"alternativeIcons": "Use Reference Grandparent",
"title": [
@@ -7791,7 +9508,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -7819,7 +9536,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -7854,7 +9571,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -7866,7 +9583,7 @@
},
"level": 3,
"chainAttachesTo": {
- "compatibleTypes": "->Parameters->"
+ "compatibleTypes": "->Trading Parameters->"
},
"propertyNameAtParent": "timeRange"
},
@@ -7887,7 +9604,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -7899,7 +9616,7 @@
},
"level": 3,
"chainAttachesTo": {
- "compatibleTypes": "->Parameters->"
+ "compatibleTypes": "->Trading Parameters->"
},
"propertyNameAtParent": "timeFrame"
},
@@ -7920,11 +9637,11 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
- "config": "{ \n\"positionRate\": 0.1,\n\"stopLoss\": 0.2,\n\"takeProfit\": 0.3\n}"
+ "config": "{ \n\"marketOrderRate\": 0.1,\n\"stopLoss\": 0.2,\n\"takeProfit\": 0.3\n}"
},
"addLeftIcons": true,
"editors": {
@@ -7932,7 +9649,7 @@
},
"level": 3,
"chainAttachesTo": {
- "compatibleTypes": "->Parameters->"
+ "compatibleTypes": "->Trading Parameters->"
},
"propertyNameAtParent": "slippage"
},
@@ -7953,7 +9670,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -7965,7 +9682,7 @@
},
"level": 3,
"chainAttachesTo": {
- "compatibleTypes": "->Parameters->"
+ "compatibleTypes": "->Trading Parameters->"
},
"propertyNameAtParent": "feeStructure"
},
@@ -7986,7 +9703,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -7998,7 +9715,7 @@
},
"level": 3,
"chainAttachesTo": {
- "compatibleTypes": "->Parameters->"
+ "compatibleTypes": "->Trading Parameters->"
},
"propertyNameAtParent": "snapshots"
},
@@ -8019,7 +9736,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -8031,10 +9748,43 @@
},
"level": 3,
"chainAttachesTo": {
- "compatibleTypes": "->Parameters->"
+ "compatibleTypes": "->Trading Parameters->Learning Parameters->"
},
"propertyNameAtParent": "heartbeats"
},
+ {
+ "type": "Learning Algorithm",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "initialValues": {
+ "config": "{ \n\"codeName\": \"\"\n}"
+ },
+ "addLeftIcons": true,
+ "editors": {
+ "config": true
+ },
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Learning Parameters->"
+ },
+ "propertyNameAtParent": "learningAlgorithm"
+ },
{
"type": "User Defined Parameters",
"menuItems": [
@@ -8052,7 +9802,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -8064,7 +9814,7 @@
},
"level": 3,
"chainAttachesTo": {
- "compatibleTypes": "->Parameters->"
+ "compatibleTypes": "->Trading Parameters->Learning Parameters->"
},
"propertyNameAtParent": "userDefinedParameters"
},
@@ -8085,7 +9835,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -8105,12 +9855,12 @@
"type": "Paper Trading Session",
"menuItems": [
{
- "action": "Run Session",
+ "action": "Run Trading Session",
"label": "Run",
"workingLabel": "Run Request Sent",
"workDoneLabel": "Session Running",
"workFailedLabel": "Session Cannot be Run",
- "secondaryAction": "Stop Session",
+ "secondaryAction": "Stop Trading Session",
"secondaryLabel": "Stop",
"secondaryWorkingLabel": "Stopping...",
"secondaryWorkDoneLabel": "Session Stopped",
@@ -8118,15 +9868,15 @@
"secondaryIcon": "stop",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
- "action": "Resume Session",
+ "action": "Resume Trading Session",
"label": "Resume",
"workingLabel": "Resume Request Sent",
"workDoneLabel": "Session Running",
"workFailedLabel": "Session Cannot be Resumed",
- "secondaryAction": "Stop Session",
+ "secondaryAction": "Stop Trading Session",
"secondaryLabel": "Stop",
"secondaryWorkingLabel": "Stopping...",
"secondaryWorkDoneLabel": "Session Stopped",
@@ -8134,7 +9884,7 @@
"secondaryIcon": "stop",
"iconPathOn": "resume",
"iconPathOff": "resume",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Configure",
@@ -8147,8 +9897,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -8157,7 +9907,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -8177,9 +9927,9 @@
},
"properties": [
{
- "name": "parameters",
+ "name": "tradingParameters",
"type": "node",
- "childType": "Parameters",
+ "childType": "Trading Parameters",
"autoAdd": true
},
{
@@ -8206,12 +9956,12 @@
"type": "Forward Testing Session",
"menuItems": [
{
- "action": "Run Session",
+ "action": "Run Trading Session",
"label": "Run",
"workingLabel": "Run Request Sent",
"workDoneLabel": "Session Running",
"workFailedLabel": "Session Cannot be Run",
- "secondaryAction": "Stop Session",
+ "secondaryAction": "Stop Trading Session",
"secondaryLabel": "Stop",
"secondaryWorkingLabel": "Stopping...",
"secondaryWorkDoneLabel": "Session Stopped",
@@ -8219,15 +9969,15 @@
"secondaryIcon": "stop",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
- "action": "Resume Session",
+ "action": "Resume Trading Session",
"label": "Resume",
"workingLabel": "Resume Request Sent",
"workDoneLabel": "Session Running",
"workFailedLabel": "Session Cannot be Resumed",
- "secondaryAction": "Stop Session",
+ "secondaryAction": "Stop Trading Session",
"secondaryLabel": "Stop",
"secondaryWorkingLabel": "Stopping...",
"secondaryWorkDoneLabel": "Session Stopped",
@@ -8235,7 +9985,7 @@
"secondaryIcon": "stop",
"iconPathOn": "resume",
"iconPathOff": "resume",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Configure",
@@ -8248,8 +9998,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -8258,7 +10008,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -8278,9 +10028,9 @@
},
"properties": [
{
- "name": "parameters",
+ "name": "tradingParameters",
"type": "node",
- "childType": "Parameters",
+ "childType": "Trading Parameters",
"autoAdd": true
},
{
@@ -8313,7 +10063,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"title": [
@@ -8333,12 +10083,12 @@
"type": "Live Trading Session",
"menuItems": [
{
- "action": "Run Session",
+ "action": "Run Trading Session",
"label": "Run",
"workingLabel": "Run Request Sent",
"workDoneLabel": "Session Running",
"workFailedLabel": "Session Cannot be Run",
- "secondaryAction": "Stop Session",
+ "secondaryAction": "Stop Trading Session",
"secondaryLabel": "Stop",
"secondaryWorkingLabel": "Stopping...",
"secondaryWorkDoneLabel": "Session Stopped",
@@ -8346,15 +10096,15 @@
"secondaryIcon": "stop",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
- "action": "Resume Session",
+ "action": "Resume Trading Session",
"label": "Resume",
"workingLabel": "Resume Request Sent",
"workDoneLabel": "Session Running",
"workFailedLabel": "Session Cannot be Resumed",
- "secondaryAction": "Stop Session",
+ "secondaryAction": "Stop Trading Session",
"secondaryLabel": "Stop",
"secondaryWorkingLabel": "Stopping...",
"secondaryWorkDoneLabel": "Session Stopped",
@@ -8362,7 +10112,7 @@
"secondaryIcon": "stop",
"iconPathOn": "resume",
"iconPathOff": "resume",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Configure",
@@ -8375,8 +10125,8 @@
{
"action": "Add Missing Children",
"label": "Add Missing Children",
- "relatedUiObject": "Parameters",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -8385,7 +10135,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -8405,9 +10155,110 @@
},
"properties": [
{
- "name": "parameters",
+ "name": "tradingParameters",
"type": "node",
- "childType": "Parameters",
+ "childType": "Trading Parameters",
+ "autoAdd": true
+ },
+ {
+ "name": "tradingSystemReference",
+ "type": "node",
+ "childType": "Trading System Reference",
+ "autoAdd": true
+ },
+ {
+ "name": "tradingEngineReference",
+ "type": "node",
+ "childType": "Trading Engine Reference",
+ "autoAdd": true
+ },
+ {
+ "name": "socialBots",
+ "type": "node",
+ "childType": "Social Bots"
+ }
+ ],
+ "propertyNameAtParent": "session"
+ },
+ {
+ "type": "Learning Session",
+ "menuItems": [
+ {
+ "action": "Run Learning Session",
+ "label": "Run",
+ "workingLabel": "Run Request Sent",
+ "workDoneLabel": "Session Running",
+ "workFailedLabel": "Session Cannot be Run",
+ "secondaryAction": "Stop Learning Session",
+ "secondaryLabel": "Stop",
+ "secondaryWorkingLabel": "Stopping...",
+ "secondaryWorkDoneLabel": "Session Stopped",
+ "secondaryWorkFailedLabel": "Session Cannot be Stopped",
+ "secondaryIcon": "stop",
+ "iconPathOn": "run",
+ "iconPathOff": "run",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Resume Learning Session",
+ "label": "Resume",
+ "workingLabel": "Resume Request Sent",
+ "workDoneLabel": "Session Running",
+ "workFailedLabel": "Session Cannot be Resumed",
+ "secondaryAction": "Stop Learning Session",
+ "secondaryLabel": "Stop",
+ "secondaryWorkingLabel": "Stopping...",
+ "secondaryWorkDoneLabel": "Session Stopped",
+ "secondaryWorkFailedLabel": "Session Cannot be Stopped",
+ "secondaryIcon": "stop",
+ "iconPathOn": "resume",
+ "iconPathOff": "resume",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "dontShowAtFullscreen": true,
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Add Missing Children",
+ "label": "Add Missing Children",
+ "relatedUiObject": "Trading Parameters",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "isTitleAllwaysVisible": true,
+ "addLeftIcons": true,
+ "editors": {
+ "config": true
+ },
+ "initialValues": {
+ "config": "{ \n\"folderName\": \"Your-Session-Folder-Name\"\n}"
+ },
+ "level": 2,
+ "referenceAttachesTo": {
+ "compatibleTypes": "->Trading System->"
+ },
+ "chainAttachesTo": {
+ "compatibleTypes": "->Learning Process Instance->"
+ },
+ "properties": [
+ {
+ "name": "learningParameters",
+ "type": "node",
+ "childType": "Learning Parameters",
"autoAdd": true
},
{
@@ -8445,7 +10296,7 @@
"action": "Add UI Object",
"label": "Add Process Instance",
"relatedUiObject": "Sensor Process Instance",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -8454,7 +10305,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -8496,13 +10347,13 @@
"propertyToCheckFor": "timeFramesFilter",
"label": "Add Time Frames Filter",
"relatedUiObject": "Time Frames Filter",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Process Instance",
"relatedUiObject": "Indicator Process Instance",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -8511,7 +10362,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -8556,19 +10407,19 @@
"action": "Add UI Object",
"label": "Add Sensor Bot",
"relatedUiObject": "Sensor Bot",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Indicator Bot",
"relatedUiObject": "Indicator Bot",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Plotter",
"relatedUiObject": "Plotter",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -8577,7 +10428,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -8623,13 +10474,13 @@
"action": "Add UI Object",
"label": "Add Trading Bot",
"relatedUiObject": "Trading Bot",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Plotter",
"relatedUiObject": "Plotter",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -8638,7 +10489,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -8662,7 +10513,63 @@
"type": "array",
"childType": "Plotter"
}
- ]
+ ]
+ },
+ {
+ "type": "Learning Mine",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "dontShowAtFullscreen": true,
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Learning Bot",
+ "relatedUiObject": "Learning Bot",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Plotter",
+ "relatedUiObject": "Plotter",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "isTitleAllwaysVisible": true,
+ "isHierarchyHead": true,
+ "addLeftIcons": true,
+ "editors": {
+ "config": true
+ },
+ "level": 0,
+ "initialValues": {
+ "config": "{ \n\"codeName\": \"Type a name with no spaces or dashes\"\n}"
+ },
+ "properties": [
+ {
+ "name": "learningBots",
+ "type": "array",
+ "childType": "Learning Bot"
+ },
+ {
+ "name": "plotters",
+ "type": "array",
+ "childType": "Plotter"
+ }
+ ]
},
{
"type": "Sensor Bot",
@@ -8679,13 +10586,13 @@
"action": "Add UI Object",
"label": "Add Process Definition",
"relatedUiObject": "Process Definition",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Product Definition",
"relatedUiObject": "Product Definition",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -8694,7 +10601,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -8740,7 +10647,7 @@
"action": "Add Missing Children",
"label": "Add Missing Items",
"relatedUiObject": "Calculations Procedure",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -8749,7 +10656,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -8762,7 +10669,7 @@
},
"level": 1,
"chainAttachesTo": {
- "compatibleTypes": "->Sensor Bot->Indicator Bot->Trading Bot->"
+ "compatibleTypes": "->Sensor Bot->Indicator Bot->Trading Bot->Learning Bot->"
},
"properties": [
{
@@ -8805,13 +10712,13 @@
"action": "Add UI Object",
"label": "Add Output Dataset",
"relatedUiObject": "Output Dataset",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Output Dataset Folder",
"relatedUiObject": "Output Dataset Folder",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add All Output Datasets",
@@ -8820,7 +10727,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Output Dataset",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -8829,7 +10736,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -8860,13 +10767,13 @@
"action": "Add UI Object",
"label": "Add Status Dependency",
"relatedUiObject": "Status Dependency",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Data Mine Dependencies",
"relatedUiObject": "Data Mine Data Dependencies",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add All Data Mine Dependencies",
@@ -8875,13 +10782,13 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Data Mine Data Dependencies",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Data Dependency",
"relatedUiObject": "Data Dependency",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -8890,7 +10797,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -8938,7 +10845,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -8972,7 +10879,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -8992,7 +10899,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -9006,7 +10913,7 @@
"compatibleTypes": "->Execution Finished Event->"
},
"chainAttachesTo": {
- "compatibleTypes": "->Process Definition->Trading Process Instance->"
+ "compatibleTypes": "->Process Definition->Trading Process Instance->Learning Process Instance->"
},
"propertyNameAtParent": "executionStartedEvent"
},
@@ -9020,7 +10927,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -9037,13 +10944,13 @@
"action": "Add UI Object",
"label": "Add Output Dataset",
"relatedUiObject": "Output Dataset",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Output Dataset Folder",
"relatedUiObject": "Output Dataset Folder",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9052,7 +10959,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -9083,13 +10990,13 @@
"action": "Add UI Object",
"label": "Add Product Definition",
"relatedUiObject": "Product Definition",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Product Definition Folder",
"relatedUiObject": "Product Definition Folder",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9098,13 +11005,13 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 3,
"chainAttachesTo": {
- "compatibleTypes": "->Trading Bot->Product Definition Folder->"
+ "compatibleTypes": "->Trading Bot->Learning Bot->Product Definition Folder->"
},
"properties": [
{
@@ -9139,19 +11046,19 @@
"propertyToCheckFor": "record",
"label": "Add Record Definition",
"relatedUiObject": "Record Definition",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Dataset Definition",
"relatedUiObject": "Dataset Definition",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Children",
"label": "Add Missing Items",
"relatedUiObject": "Calculations Procedure",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9160,7 +11067,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -9176,7 +11083,7 @@
"compatibleTypes": "->Plotter Module->"
},
"chainAttachesTo": {
- "compatibleTypes": "->Sensor Bot->Indicator Bot->Trading Bot->Product Definition Folder->"
+ "compatibleTypes": "->Sensor Bot->Indicator Bot->Trading Bot->Learning Bot->Product Definition Folder->"
},
"properties": [
{
@@ -9222,7 +11129,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -9254,13 +11161,13 @@
"action": "Add UI Object",
"label": "Add Process Definition",
"relatedUiObject": "Process Definition",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Product Definition",
"relatedUiObject": "Product Definition",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9269,7 +11176,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -9310,7 +11217,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -9338,7 +11245,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -9363,7 +11270,7 @@
"action": "Add UI Object",
"label": "Add Record Property",
"relatedUiObject": "Record Property",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9372,7 +11279,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -9407,7 +11314,7 @@
"propertyToCheckFor": "formula",
"label": "Add Formula",
"relatedUiObject": "Formula",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9416,7 +11323,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -9458,7 +11365,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -9492,7 +11399,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -9517,7 +11424,7 @@
"propertyToCheckFor": "initialization",
"label": "Add Procedure Initialization",
"relatedUiObject": "Procedure Initialization",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -9525,7 +11432,7 @@
"propertyToCheckFor": "loop",
"label": "Add Procedure Loop",
"relatedUiObject": "Procedure Loop",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9534,7 +11441,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -9567,7 +11474,7 @@
"propertyToCheckFor": "javascriptCode",
"label": "Add Code",
"relatedUiObject": "Javascript Code",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9576,7 +11483,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -9603,7 +11510,7 @@
"propertyToCheckFor": "javascriptCode",
"label": "Add Code",
"relatedUiObject": "Javascript Code",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9612,7 +11519,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -9639,7 +11546,7 @@
"propertyToCheckFor": "initialization",
"label": "Add Procedure Initialization",
"relatedUiObject": "Procedure Initialization",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -9647,7 +11554,7 @@
"propertyToCheckFor": "loop",
"label": "Add Procedure Loop",
"relatedUiObject": "Procedure Loop",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9656,7 +11563,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -9695,19 +11602,19 @@
"action": "Add UI Object",
"label": "Add Process Definition",
"relatedUiObject": "Process Definition",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Product Definition",
"relatedUiObject": "Product Definition",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Product Definition Folder",
"relatedUiObject": "Product Definition Folder",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9716,7 +11623,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -9729,7 +11636,7 @@
},
"level": 3,
"chainAttachesTo": {
- "compatibleTypes": "->Data Mine->"
+ "compatibleTypes": "->Trading Mine->"
},
"properties": [
{
@@ -9753,6 +11660,79 @@
],
"propertyNameAtParent": "tradingBots"
},
+ {
+ "type": "Learning Bot",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "dontShowAtFullscreen": true,
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Process Definition",
+ "relatedUiObject": "Process Definition",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Product Definition",
+ "relatedUiObject": "Product Definition",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Product Definition Folder",
+ "relatedUiObject": "Product Definition Folder",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "isTitleAllwaysVisible": true,
+ "addLeftIcons": true,
+ "editors": {
+ "config": true
+ },
+ "initialValues": {
+ "config": "{ \n \"codeName\": \"\"\n}"
+ },
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Learning Mine->"
+ },
+ "properties": [
+ {
+ "name": "processes",
+ "type": "array",
+ "childType": "Process Definition",
+ "autoAdd": true
+ },
+ {
+ "name": "products",
+ "type": "array",
+ "childType": "Product Definition",
+ "autoAdd": true
+ },
+ {
+ "name": "productDefinitionFolders",
+ "type": "array",
+ "childType": "Product Definition Folder",
+ "autoAdd": true
+ }
+ ],
+ "propertyNameAtParent": "learningBots"
+ },
{
"type": "Plotter",
"menuItems": [
@@ -9768,7 +11748,7 @@
"action": "Add UI Object",
"label": "Add Plotter Module",
"relatedUiObject": "Plotter Module",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9777,7 +11757,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -9816,7 +11796,7 @@
"action": "Add UI Object",
"label": "Add Trading Strategy",
"relatedUiObject": "Trading Strategy",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -9824,7 +11804,7 @@
"propertyToCheckFor": "dynamicIndicators",
"label": "Add Dynamic Indicators",
"relatedUiObject": "Dynamic Indicators",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9833,10 +11813,9 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
- "isTitleAllwaysVisible": true,
"isHierarchyHead": true,
"addLeftIcons": true,
"level": 0,
@@ -9869,7 +11848,7 @@
"action": "Add Missing Children",
"label": "Add Missing Stages",
"relatedUiObject": "Trading Strategy",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9878,7 +11857,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -9922,13 +11901,13 @@
"action": "Add Missing Children",
"label": "Add Missing Events",
"relatedUiObject": "Trigger Stage",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9937,7 +11916,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -9979,13 +11958,13 @@
"action": "Add UI Object",
"label": "Add Situation",
"relatedUiObject": "Situation",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -9994,7 +11973,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10024,13 +12003,13 @@
"action": "Add UI Object",
"label": "Add Situation",
"relatedUiObject": "Situation",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10039,7 +12018,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10069,13 +12048,13 @@
"action": "Add UI Object",
"label": "Add Situation",
"relatedUiObject": "Situation",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10084,7 +12063,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10114,13 +12093,13 @@
"action": "Add Missing Children",
"label": "Add Missing Items",
"relatedUiObject": "Open Stage",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10129,7 +12108,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10171,13 +12150,13 @@
"action": "Add UI Object",
"label": "Add Situation",
"relatedUiObject": "Situation",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10186,7 +12165,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10216,7 +12195,7 @@
"action": "Add Missing Children",
"label": "Add Missing Items",
"relatedUiObject": "Initial Targets",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10225,7 +12204,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10262,7 +12241,7 @@
"action": "Add UI Object",
"label": "Add Phase",
"relatedUiObject": "Phase",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10271,7 +12250,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10298,7 +12277,7 @@
"propertyToCheckFor": "formula",
"label": "Add Formula",
"relatedUiObject": "Formula",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -10306,19 +12285,19 @@
"propertyToCheckFor": "nextPhaseEvent",
"label": "Add Next Phase Event",
"relatedUiObject": "Next Phase Event",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Move To Phase Event",
"relatedUiObject": "Move To Phase Event",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10327,7 +12306,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10368,13 +12347,13 @@
"action": "Add UI Object",
"label": "Add Situation",
"relatedUiObject": "Situation",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10383,7 +12362,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10414,13 +12393,13 @@
"action": "Add UI Object",
"label": "Add Situation",
"relatedUiObject": "Situation",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10429,7 +12408,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10462,7 +12441,7 @@
"action": "Add UI Object",
"label": "Add Phase",
"relatedUiObject": "Phase",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10471,7 +12450,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10498,7 +12477,7 @@
"propertyToCheckFor": "formula",
"label": "Add Formula",
"relatedUiObject": "Formula",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10507,7 +12486,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10534,7 +12513,7 @@
"propertyToCheckFor": "formula",
"label": "Add Formula",
"relatedUiObject": "Formula",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10543,7 +12522,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10570,7 +12549,7 @@
"propertyToCheckFor": "formula",
"label": "Add Formula",
"relatedUiObject": "Formula",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10579,7 +12558,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10606,7 +12585,7 @@
"propertyToCheckFor": "formula",
"label": "Add Formula",
"relatedUiObject": "Formula",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10615,7 +12594,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10640,7 +12619,7 @@
"action": "Add UI Object",
"label": "Add Execution Algorithm",
"relatedUiObject": "Execution Algorithm",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10649,7 +12628,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10680,25 +12659,25 @@
"action": "Add UI Object",
"label": "Add Market Buy Order",
"relatedUiObject": "Market Buy Order",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Market Sell Order",
"relatedUiObject": "Market Sell Order",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Limit Buy Order",
"relatedUiObject": "Limit Buy Order",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Limit Sell Order",
"relatedUiObject": "Limit Sell Order",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10707,7 +12686,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -10761,7 +12740,7 @@
"propertyToCheckFor": "createOrderEvent",
"label": "Add Create Order Event",
"relatedUiObject": "Create Order Event",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -10769,7 +12748,7 @@
"propertyToCheckFor": "simulatedExchangeEvents",
"label": "Add Simulated Events",
"relatedUiObject": "Simulated Exchange Events",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10778,7 +12757,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -10827,7 +12806,7 @@
"propertyToCheckFor": "createOrderEvent",
"label": "Add Create Order Event",
"relatedUiObject": "Create Order Event",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -10835,7 +12814,7 @@
"propertyToCheckFor": "simulatedExchangeEvents",
"label": "Add Simulated Events",
"relatedUiObject": "Simulated Exchange Events",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10844,7 +12823,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -10893,7 +12872,7 @@
"propertyToCheckFor": "orderRate",
"label": "Add Order Rate",
"relatedUiObject": "Order Rate",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -10901,7 +12880,7 @@
"propertyToCheckFor": "createOrderEvent",
"label": "Add Create Order Event",
"relatedUiObject": "Create Order Event",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -10909,7 +12888,7 @@
"propertyToCheckFor": "cancelOrderEvent",
"label": "Add Cancel Order Event",
"relatedUiObject": "Cancel Order Event",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -10917,7 +12896,7 @@
"propertyToCheckFor": "simulatedExchangeEvents",
"label": "Add Simulated Events",
"relatedUiObject": "Simulated Exchange Events",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -10926,7 +12905,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -10986,7 +12965,7 @@
"propertyToCheckFor": "orderRate",
"label": "Add Order Rate",
"relatedUiObject": "Order Rate",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -10994,7 +12973,7 @@
"propertyToCheckFor": "createOrderEvent",
"label": "Add Create Order Event",
"relatedUiObject": "Create Order Event",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -11002,7 +12981,7 @@
"propertyToCheckFor": "cancelOrderEvent",
"label": "Add Cancel Order Event",
"relatedUiObject": "Cancel Order Event",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -11010,7 +12989,7 @@
"propertyToCheckFor": "simulatedExchangeEvents",
"label": "Add Simulated Events",
"relatedUiObject": "Simulated Exchange Events",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11019,7 +12998,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -11070,13 +13049,13 @@
"action": "Add UI Object",
"label": "Add Situation",
"relatedUiObject": "Situation",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11085,7 +13064,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -11115,13 +13094,13 @@
"action": "Add UI Object",
"label": "Add Situation",
"relatedUiObject": "Situation",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11130,7 +13109,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -11162,7 +13141,7 @@
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "simulatedPartialFill",
"relatedUiObject": "Simulated Partial Fill",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -11170,7 +13149,7 @@
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "simulatedActualRate",
"relatedUiObject": "Simulated Actual Rate",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -11178,7 +13157,7 @@
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "simulatedFeesPaid",
"relatedUiObject": "Simulated Fees Paid",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11187,7 +13166,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -11234,7 +13213,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -11259,7 +13238,7 @@
"propertyToCheckFor": "formula",
"label": "Add Formula",
"relatedUiObject": "Formula",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11268,7 +13247,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -11303,7 +13282,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -11326,13 +13305,13 @@
"action": "Add Missing Children",
"label": "Add Missing Items",
"relatedUiObject": "Manage Stage",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11341,7 +13320,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -11377,13 +13356,13 @@
"action": "Add Missing Children",
"label": "Add Missing Items",
"relatedUiObject": "Close Stage",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
"relatedUiObject": "Announcement",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11392,7 +13371,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -11434,7 +13413,7 @@
"action": "Add UI Object",
"label": "Add Execution Algorithm",
"relatedUiObject": "Execution Algorithm",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11443,7 +13422,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -11467,7 +13446,7 @@
"action": "Add Telegram Bot",
"label": "Add Telegram Bot",
"relatedUiObject": "Telegram Bot",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11476,13 +13455,13 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 4,
"chainAttachesTo": {
- "compatibleTypes": "->Backtesting Session->Live Trading Session->Paper Trading Session->Forward Testing Session->"
+ "compatibleTypes": "->Backtesting Session->Live Trading Session->Paper Trading Session->Forward Testing Session->Learning Session->"
},
"properties": [
{
@@ -11514,7 +13493,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -11547,7 +13526,7 @@
"propertyToCheckFor": "announcementFormula",
"label": "Add Announcement Formula",
"relatedUiObject": "Announcement Formula",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -11555,7 +13534,7 @@
"propertyToCheckFor": "announcementCondition",
"label": "Add Condition",
"relatedUiObject": "Announcement Condition",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11564,7 +13543,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -11611,7 +13590,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -11631,14 +13610,14 @@
"action": "Add UI Object",
"label": "Add Crypto Exchanges",
"relatedUiObject": "Crypto Exchanges",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Signals Providers",
"relatedUiObject": "Signals Providers",
- "actionFunction": "payload.onMenuItemClick"
- }
+ "actionFunction": "payload.executeAction"
+ }
],
"isHierarchyHead": true,
"addLeftIcons": true,
@@ -11653,7 +13632,7 @@
"name": "signalsProviders",
"type": "array",
"childType": "Signals Providers"
- }
+ }
]
},
{
@@ -11663,7 +13642,7 @@
"action": "Add UI Object",
"label": "Add Super Action",
"relatedUiObject": "Super Action",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11672,7 +13651,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"propertyNameAtParent": "superActions",
@@ -11697,7 +13676,7 @@
"action": "Add UI Object",
"label": "Add Signals Provider",
"relatedUiObject": "Signals Provider",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11706,7 +13685,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -11742,7 +13721,7 @@
"workFailedLabel": "Message not Delived",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11751,7 +13730,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -11775,7 +13754,7 @@
"action": "Add UI Object",
"label": "Add Crypto Exchange",
"relatedUiObject": "Crypto Exchange",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Crypto Exchanges",
@@ -11784,7 +13763,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Crypto Exchange",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11793,7 +13772,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -11828,7 +13807,7 @@
"propertyToCheckFor": "exchangeAssets",
"label": "Add Exchange Assets",
"relatedUiObject": "Exchange Assets",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -11836,7 +13815,7 @@
"propertyToCheckFor": "exchangeMarkets",
"label": "Add Exchange Markets",
"relatedUiObject": "Exchange Markets",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -11844,7 +13823,7 @@
"propertyToCheckFor": "exchangeAccounts",
"label": "Add Exchange Accounts",
"relatedUiObject": "Exchange Accounts",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11853,7 +13832,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -11946,7 +13925,7 @@
"action": "Add UI Object",
"label": "Add Asset",
"relatedUiObject": "Asset",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Assets",
@@ -11955,7 +13934,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Asset",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -11964,7 +13943,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -12004,7 +13983,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -12094,7 +14073,7 @@
"action": "Add UI Object",
"label": "Add Market",
"relatedUiObject": "Market",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Markets",
@@ -12103,7 +14082,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Request Sent",
"relatedUiObject": "Market",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -12112,7 +14091,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -12145,7 +14124,7 @@
"propertyToCheckFor": "baseAsset",
"label": "Add Base Asset",
"relatedUiObject": "Market Base Asset",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -12153,7 +14132,7 @@
"propertyToCheckFor": "quotedAsset",
"label": "Add Quoted Asset",
"relatedUiObject": "Market Quoted Asset",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Install Market",
@@ -12162,7 +14141,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Market",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Uninstall Market",
@@ -12171,7 +14150,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Market",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -12180,7 +14159,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"properties": [
@@ -12218,7 +14197,7 @@
"action": "Add UI Object",
"label": "Add User Account",
"relatedUiObject": "User Account",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -12227,7 +14206,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -12255,7 +14234,7 @@
"propertyToCheckFor": "userAssets",
"label": "Add User Assets",
"relatedUiObject": "User Assets",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -12263,7 +14242,7 @@
"propertyToCheckFor": "userKeys",
"label": "Add User Keys",
"relatedUiObject": "User Keys",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -12272,7 +14251,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -12304,7 +14283,7 @@
"action": "Add UI Object",
"label": "Add Asset",
"relatedUiObject": "Exchange Account Asset",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -12313,7 +14292,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -12338,7 +14317,7 @@
"action": "Add UI Object",
"label": "Add Key",
"relatedUiObject": "Exchange Account Key",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -12347,7 +14326,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -12376,7 +14355,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -12413,7 +14392,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -12439,7 +14418,7 @@
"propertyToCheckFor": "spaceStyle",
"label": "Add Space Style",
"relatedUiObject": "Space Style",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -12447,7 +14426,16 @@
"propertyToCheckFor": "spaceSettings",
"label": "Add Space Settings",
"relatedUiObject": "Space Settings",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "actionFunction": "payload.executeAction",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete"
}
],
"isHierarchyHead": true,
@@ -12493,7 +14481,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -12526,7 +14514,7 @@
"action": "Delete UI Object",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete"
@@ -12543,7 +14531,7 @@
"propertyToCheckFor": "viewport",
"label": "Add Viewport",
"relatedUiObject": "Viewport",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -12551,7 +14539,7 @@
"propertyToCheckFor": "spaceStyle",
"label": "Add Space Style",
"relatedUiObject": "Space Style",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -12559,13 +14547,13 @@
"propertyToCheckFor": "spaceSettings",
"label": "Add Space Settings",
"relatedUiObject": "Space Settings",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Dashboard",
"relatedUiObject": "Dashboard",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Dashboards",
@@ -12574,7 +14562,16 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Dashboard",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "actionFunction": "payload.executeAction",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete"
}
],
"isHierarchyHead": true,
@@ -12613,7 +14610,7 @@
"action": "Add UI Object",
"label": "Add Time Machine",
"relatedUiObject": "Time Machine",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Time Machines",
@@ -12622,7 +14619,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Time Machine",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -12631,7 +14628,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -12668,7 +14665,7 @@
"propertyToCheckFor": "timeScale",
"label": "Add Time Scale",
"relatedUiObject": "Time Scale",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -12676,7 +14673,7 @@
"propertyToCheckFor": "rateScale",
"label": "Add Rate Scale",
"relatedUiObject": "Rate Scale",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -12684,13 +14681,13 @@
"propertyToCheckFor": "timeFrameScale",
"label": "Add Time Frame Scale",
"relatedUiObject": "Time Frame Scale",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Timeline Chart",
"relatedUiObject": "Timeline Chart",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -12699,7 +14696,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -12788,7 +14785,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -12822,7 +14819,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -12856,7 +14853,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -12881,7 +14878,7 @@
"propertyToCheckFor": "rateScale",
"label": "Add Rate Scale",
"relatedUiObject": "Rate Scale",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -12889,7 +14886,7 @@
"propertyToCheckFor": "timeFrameScale",
"label": "Add Time Frame Scale",
"relatedUiObject": "Time Frame Scale",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -12897,7 +14894,7 @@
"propertyToCheckFor": "layerManager",
"label": "Add Layer Manager",
"relatedUiObject": "Layer Manager",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -12906,7 +14903,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -12953,13 +14950,13 @@
"action": "Add UI Object",
"label": "Add Layer",
"relatedUiObject": "Layer",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Bot Layers",
"relatedUiObject": "Bot Layers",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add All Mine Layers",
@@ -12968,7 +14965,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Data Mine Products",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -12977,7 +14974,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -12995,7 +14992,7 @@
"compatibleTypes": "->Timeline Chart->"
},
"referenceAttachesTo": {
- "compatibleTypes": "->Data Mine Products->Trading Mine Products->"
+ "compatibleTypes": "->Data Mine Products->Trading Mine Products->Learning Mine Products->"
},
"propertyNameAtParent": "layerManager",
"properties": [
@@ -13025,12 +15022,10 @@
"actionFunction": "uiObject.configEditor.activate"
},
{
- "action": "Add UI Object",
- "disableIfPropertyIsDefined": true,
- "propertyToCheckFor": "timeFrameScale",
- "label": "Add Time Frame Scale",
- "relatedUiObject": "Time Frame Scale",
- "actionFunction": "payload.onMenuItemClick"
+ "action": "Add Missing Children",
+ "label": "Add Missing Children",
+ "relatedUiObject": "Layer",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13039,7 +15034,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -13063,26 +15058,31 @@
"propertyNameAtParent": "layers",
"properties": [
{
- "name": "timeFrameScale",
+ "name": "layerPanels",
"type": "node",
- "childType": "Time Frame Scale"
+ "childType": "Layer Panels"
+ },
+ {
+ "name": "layerPolygons",
+ "type": "node",
+ "childType": "Layer Polygons"
}
]
},
{
- "type": "Bot Layers",
+ "type": "Layer Panels",
"menuItems": [
{
"action": "Add UI Object",
- "label": "Add Layer",
- "relatedUiObject": "Layer",
- "actionFunction": "payload.onMenuItemClick"
+ "label": "Add Layer Panel",
+ "relatedUiObject": "Layer Panel",
+ "actionFunction": "payload.executeAction"
},
{
- "action": "Add UI Object",
- "label": "Add Layer Folder",
- "relatedUiObject": "Layer Folder",
- "actionFunction": "payload.onMenuItemClick"
+ "action": "Add All Layer Panels",
+ "label": "Add All Layer Panels",
+ "relatedUiObject": "Layer Panel",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13091,7 +15091,171 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "addLeftIcons": true,
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Layer->"
+ },
+ "propertyNameAtParent": "layerPanels",
+ "properties": [
+ {
+ "name": "layerPanels",
+ "type": "array",
+ "childType": "Layer Panel"
+ }
+ ],
+ "icon": "under-construction"
+ },
+ {
+ "type": "Layer Panel",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "dontShowAtFullscreen": true,
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "title": [
+ "Use Reference Parent"
+ ],
+ "initialValues": {
+ "config": "{ \n\"status\": \"on\"\n}"
+ },
+ "editors": {
+ "config": true
+ },
+ "addLeftIcons": true,
+ "level": 3,
+ "referenceAttachesTo": {
+ "compatibleTypes": "->Plotter Panel->"
+ },
+ "chainAttachesTo": {
+ "compatibleTypes": "->Layer Panels->"
+ },
+ "propertyNameAtParent": "layerPanels",
+ "properties": [],
+ "icon": "under-construction"
+ },
+ {
+ "type": "Layer Polygons",
+ "menuItems": [
+ {
+ "action": "Add UI Object",
+ "label": "Add Layer Polygon",
+ "relatedUiObject": "Layer Polygon",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add All Layer Polygons",
+ "label": "Add All Layer Polygons",
+ "relatedUiObject": "Layer Polygon",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "addLeftIcons": true,
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Layer->"
+ },
+ "propertyNameAtParent": "layerPolygons",
+ "properties": [
+ {
+ "name": "layerPolygons",
+ "type": "array",
+ "childType": "Layer Polygon"
+ }
+ ],
+ "icon": "under-construction"
+ },
+ {
+ "type": "Layer Polygon",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration",
+ "dontShowAtFullscreen": true,
+ "actionFunction": "uiObject.configEditor.activate"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "title": [
+ "Use Reference Parent"
+ ],
+ "initialValues": {
+ "config": "{ \n\"status\": \"on\"\n}"
+ },
+ "editors": {
+ "config": true
+ },
+ "addLeftIcons": true,
+ "level": 3,
+ "referenceAttachesTo": {
+ "compatibleTypes": "->Polygon->"
+ },
+ "chainAttachesTo": {
+ "compatibleTypes": "->Layer Polygons->"
+ },
+ "propertyNameAtParent": "layerPolygons",
+ "properties": [],
+ "icon": "under-construction"
+ },
+ {
+ "type": "Bot Layers",
+ "menuItems": [
+ {
+ "action": "Add UI Object",
+ "label": "Add Layer",
+ "relatedUiObject": "Layer",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Layer Folder",
+ "relatedUiObject": "Layer Folder",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13122,13 +15286,13 @@
"action": "Add UI Object",
"label": "Add Layer",
"relatedUiObject": "Layer",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Layer Folder",
"relatedUiObject": "Layer Folder",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13137,7 +15301,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13168,9 +15332,9 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "dataMinesData",
- "label": "Add Session Ind Data",
+ "label": "Add Data Mines Data",
"relatedUiObject": "Data Mines Data",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
@@ -13178,7 +15342,15 @@
"propertyToCheckFor": "tradingMinesData",
"label": "Add Trading Mines Data",
"relatedUiObject": "Trading Mines Data",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "disableIfPropertyIsDefined": true,
+ "propertyToCheckFor": "learningMinesData",
+ "label": "Add Learning Mines Data",
+ "relatedUiObject": "Learning Mines Data",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13187,7 +15359,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13208,6 +15380,12 @@
"type": "node",
"childType": "Trading Mines Data",
"autoAdd": true
+ },
+ {
+ "name": "learningMinesData",
+ "type": "node",
+ "childType": "Learning Mines Data",
+ "autoAdd": true
}
]
},
@@ -13222,7 +15400,7 @@
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Stop All Task Managers",
@@ -13232,13 +15410,13 @@
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Task Manager",
"relatedUiObject": "Task Manager",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add All Tasks",
@@ -13247,7 +15425,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Task",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13256,7 +15434,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13280,7 +15458,7 @@
"childType": "Task Manager",
"monitorChildrenRunning": true
}
- ]
+ ]
},
{
"type": "Trading Mine Tasks",
@@ -13293,7 +15471,7 @@
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Stop All Task Managers",
@@ -13303,13 +15481,13 @@
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Task Manager",
"relatedUiObject": "Task Manager",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add All Tasks",
@@ -13318,7 +15496,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Task",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13327,7 +15505,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13351,7 +15529,78 @@
"childType": "Task Manager",
"monitorChildrenRunning": true
}
- ]
+ ]
+ },
+ {
+ "type": "Learning Mine Tasks",
+ "menuItems": [
+ {
+ "action": "Run All Task Managers",
+ "label": "Run All Task Managers",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Run",
+ "workDoneLabel": "Run Request Sent",
+ "iconPathOn": "run",
+ "iconPathOff": "run",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Stop All Task Managers",
+ "label": "Stop All Task Managers",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Stop",
+ "workDoneLabel": "Stop Request Sent",
+ "iconPathOn": "stop",
+ "iconPathOff": "stop",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Task Manager",
+ "relatedUiObject": "Task Manager",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add All Tasks",
+ "label": "Add All Tasks",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Proceed",
+ "workDoneLabel": "Done",
+ "relatedUiObject": "Task",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "addLeftIcons": true,
+ "level": 2,
+ "referenceAttachesTo": {
+ "compatibleTypes": "->Learning Mine->"
+ },
+ "chainAttachesTo": {
+ "compatibleTypes": "->Market Learning Tasks->"
+ },
+ "alternativeIcons": "Use Reference Parent",
+ "title": [
+ "Use Reference Parent"
+ ],
+ "isTitleAllwaysVisible": true,
+ "propertyNameAtParent": "learningMineTasks",
+ "properties": [
+ {
+ "name": "taskManagers",
+ "type": "array",
+ "childType": "Task Manager",
+ "monitorChildrenRunning": true
+ }
+ ]
},
{
"type": "Market Data Tasks",
@@ -13364,7 +15613,7 @@
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Stop All Data Mine Tasks",
@@ -13374,13 +15623,13 @@
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Data Mine Tasks",
"relatedUiObject": "Data Mine Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Data Mine Tasks",
@@ -13389,7 +15638,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Data Mine Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13398,7 +15647,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13423,7 +15672,7 @@
"childType": "Data Mine Tasks",
"monitorChildrenRunning": true
}
- ]
+ ]
},
{
"type": "Market Trading Tasks",
@@ -13436,7 +15685,7 @@
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Stop All Trading Mine Tasks",
@@ -13446,13 +15695,13 @@
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Trading Mine Tasks",
"relatedUiObject": "Trading Mine Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Trading Mine Tasks",
@@ -13461,7 +15710,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Trading Mine Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13470,7 +15719,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13495,7 +15744,79 @@
"childType": "Trading Mine Tasks",
"monitorChildrenRunning": true
}
- ]
+ ]
+ },
+ {
+ "type": "Market Learning Tasks",
+ "menuItems": [
+ {
+ "action": "Run All Learning Mine Tasks",
+ "label": "Run All Learning Mine Tasks",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Run",
+ "workDoneLabel": "Run Request Sent",
+ "iconPathOn": "run",
+ "iconPathOff": "run",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Stop All Learning Mine Tasks",
+ "label": "Stop All Learning Mine Tasks",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Stop",
+ "workDoneLabel": "Stop Request Sent",
+ "iconPathOn": "stop",
+ "iconPathOff": "stop",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Learning Mine Tasks",
+ "relatedUiObject": "Learning Mine Tasks",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add Missing Learning Mine Tasks",
+ "label": "Add Missing Learning Mine Tasks",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Proceed",
+ "workDoneLabel": "Done",
+ "relatedUiObject": "Learning Mine Tasks",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "addLeftIcons": true,
+ "level": 2,
+ "referenceAttachesTo": {
+ "compatibleTypes": "->Market->"
+ },
+ "chainAttachesTo": {
+ "compatibleTypes": "->Exchange Learning Tasks->"
+ },
+ "alternativeIcons": "Use Reference Parent",
+ "title": [
+ "Use Reference Parent Parent Parent",
+ "Use Reference Parent"
+ ],
+ "isTitleAllwaysVisible": true,
+ "propertyNameAtParent": "marketLearningTasks",
+ "properties": [
+ {
+ "name": "learningMineTasks",
+ "type": "array",
+ "childType": "Learning Mine Tasks",
+ "monitorChildrenRunning": true
+ }
+ ]
},
{
"type": "Exchange Data Tasks",
@@ -13508,7 +15829,7 @@
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Stop All Market Data Tasks",
@@ -13518,13 +15839,13 @@
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Market Data Tasks",
"relatedUiObject": "Market Data Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Market Data Tasks",
@@ -13533,7 +15854,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Market Data Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13542,7 +15863,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13566,7 +15887,7 @@
"childType": "Market Data Tasks",
"monitorChildrenRunning": true
}
- ]
+ ]
},
{
"type": "Exchange Trading Tasks",
@@ -13579,7 +15900,7 @@
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Stop All Market Trading Tasks",
@@ -13589,13 +15910,13 @@
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Market Trading Tasks",
"relatedUiObject": "Market Trading Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Market Trading Tasks",
@@ -13604,7 +15925,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Market Trading Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13613,7 +15934,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13637,7 +15958,78 @@
"childType": "Market Trading Tasks",
"monitorChildrenRunning": true
}
- ]
+ ]
+ },
+ {
+ "type": "Exchange Learning Tasks",
+ "menuItems": [
+ {
+ "action": "Run All Market Learning Tasks",
+ "label": "Run All Market Learning Tasks",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Run",
+ "workDoneLabel": "Run Request Sent",
+ "iconPathOn": "run",
+ "iconPathOff": "run",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Stop All Market Learning Tasks",
+ "label": "Stop All Market Learning Tasks",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Stop",
+ "workDoneLabel": "Stop Request Sent",
+ "iconPathOn": "stop",
+ "iconPathOff": "stop",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Market Learning Tasks",
+ "relatedUiObject": "Market Learning Tasks",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add Missing Market Learning Tasks",
+ "label": "Add Missing Markets",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Proceed",
+ "workDoneLabel": "Done",
+ "relatedUiObject": "Market Learning Tasks",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "addLeftIcons": true,
+ "level": 2,
+ "referenceAttachesTo": {
+ "compatibleTypes": "->Crypto Exchange->"
+ },
+ "chainAttachesTo": {
+ "compatibleTypes": "->Learning Mining->"
+ },
+ "alternativeIcons": "Use Reference Parent",
+ "title": [
+ "Use Reference Parent"
+ ],
+ "isTitleAllwaysVisible": true,
+ "propertyNameAtParent": "exchangeLearningTasks",
+ "properties": [
+ {
+ "name": "marketLearningTasks",
+ "type": "array",
+ "childType": "Market Learning Tasks",
+ "monitorChildrenRunning": true
+ }
+ ]
},
{
"type": "Data Mining",
@@ -13650,7 +16042,7 @@
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Stop All Exchange Data Tasks",
@@ -13660,13 +16052,13 @@
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Exchange Data Tasks",
"relatedUiObject": "Exchange Data Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Exchange Data Tasks",
@@ -13675,7 +16067,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Exchange Data Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13684,7 +16076,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13702,6 +16094,69 @@
}
]
},
+ {
+ "type": "Learning Mining",
+ "menuItems": [
+ {
+ "action": "Run All Exchange Learning Tasks",
+ "label": "Run All Exchange Learning Tasks",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Run",
+ "workDoneLabel": "Run Request Sent",
+ "iconPathOn": "run",
+ "iconPathOff": "run",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Stop All Exchange Learning Tasks",
+ "label": "Stop All Exchange Learning Tasks",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Stop",
+ "workDoneLabel": "Stop Request Sent",
+ "iconPathOn": "stop",
+ "iconPathOff": "stop",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Exchange Learning Tasks",
+ "relatedUiObject": "Exchange Learning Tasks",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add Missing Exchange Learning Tasks",
+ "label": "Add Missing Exchanges",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Proceed",
+ "workDoneLabel": "Done",
+ "relatedUiObject": "Exchange Learning Tasks",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "addLeftIcons": true,
+ "level": 2,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Network Node->"
+ },
+ "propertyNameAtParent": "learningMining",
+ "properties": [
+ {
+ "name": "exchangeLearningTasks",
+ "type": "array",
+ "childType": "Exchange Learning Tasks",
+ "monitorChildrenRunning": true
+ }
+ ]
+ },
{
"type": "Testing Environment",
"menuItems": [
@@ -13713,7 +16168,7 @@
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Stop All Exchange Trading Tasks",
@@ -13723,13 +16178,13 @@
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Exchange Trading Tasks",
"relatedUiObject": "Exchange Trading Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Exchange Trading Tasks",
@@ -13738,7 +16193,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Exchange Trading Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13747,7 +16202,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13776,7 +16231,7 @@
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Stop All Exchange Trading Tasks",
@@ -13786,13 +16241,13 @@
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Exchange Trading Tasks",
"relatedUiObject": "Exchange Trading Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Exchange Trading Tasks",
@@ -13801,7 +16256,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Exchange Trading Tasks",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13810,7 +16265,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13835,7 +16290,7 @@
"action": "Add UI Object",
"label": "Add Market Data Products",
"relatedUiObject": "Market Data Products",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Market Data Products",
@@ -13844,7 +16299,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Market Data Products",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13853,7 +16308,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"alternativeIcons": "Use Reference Parent",
@@ -13885,7 +16340,7 @@
"action": "Add UI Object",
"label": "Add Exchange Data Products",
"relatedUiObject": "Exchange Data Products",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Exchange Data Products",
@@ -13894,7 +16349,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Exchange Data Products",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13903,7 +16358,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -13926,10 +16381,8 @@
{
"action": "Add UI Object",
"label": "Add Market Trading Products",
- "disableIfPropertyIsDefined": true,
- "propertyToCheckFor": "marketTradingProducts",
"relatedUiObject": "Market Trading Products",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add Missing Market Trading Products",
@@ -13938,7 +16391,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Market Trading Products",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13947,7 +16400,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"alternativeIcons": "Use Reference Parent",
@@ -13974,22 +16427,22 @@
]
},
{
- "type": "Trading Mines Data",
+ "type": "Exchange Learning Products",
"menuItems": [
{
"action": "Add UI Object",
- "label": "Add Exchange Trading Products",
- "relatedUiObject": "Exchange Trading Products",
- "actionFunction": "payload.onMenuItemClick"
+ "label": "Add Market Learning Products",
+ "relatedUiObject": "Market Learning Products",
+ "actionFunction": "payload.executeAction"
},
{
- "action": "Add Missing Exchange Trading Products",
- "label": "Add Missing Exchanges",
+ "action": "Add Missing Market Learning Products",
+ "label": "Add Missing Markets",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
- "relatedUiObject": "Exchange Trading Products",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Market Learning Products",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -13998,7 +16451,58 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "alternativeIcons": "Use Reference Parent",
+ "title": [
+ "Use Reference Parent"
+ ],
+ "isTitleAllwaysVisible": true,
+ "addLeftIcons": true,
+ "level": 3,
+ "referenceAttachesTo": {
+ "compatibleTypes": "->Crypto Exchange->"
+ },
+ "chainAttachesTo": {
+ "compatibleTypes": "->Learning Mines Data->"
+ },
+ "propertyNameAtParent": "exchangeLearningProducts",
+ "properties": [
+ {
+ "name": "marketLearningProducts",
+ "type": "array",
+ "childType": "Market Learning Products",
+ "autoAdd": false
+ }
+ ]
+ },
+ {
+ "type": "Trading Mines Data",
+ "menuItems": [
+ {
+ "action": "Add UI Object",
+ "label": "Add Exchange Trading Products",
+ "relatedUiObject": "Exchange Trading Products",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add Missing Exchange Trading Products",
+ "label": "Add Missing Exchanges",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Proceed",
+ "workDoneLabel": "Done",
+ "relatedUiObject": "Exchange Trading Products",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -14016,28 +16520,22 @@
]
},
{
- "type": "Session Reference",
+ "type": "Learning Mines Data",
"menuItems": [
{
"action": "Add UI Object",
- "label": "Add Data Product",
- "relatedUiObject": "Data Product",
- "actionFunction": "payload.onMenuItemClick"
+ "label": "Add Exchange Learning Products",
+ "relatedUiObject": "Exchange Learning Products",
+ "actionFunction": "payload.executeAction"
},
{
- "action": "Add UI Object",
- "label": "Add Trading Mine Products",
- "relatedUiObject": "Trading Mine Products",
- "actionFunction": "payload.onMenuItemClick"
- },
- {
- "action": "Add All Trading Mine Products",
- "label": "Add All Trading Mine Products",
+ "action": "Add Missing Exchange Learning Products",
+ "label": "Add Missing Exchanges",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
- "relatedUiObject": "Trading Mine Products",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Exchange Learning Products",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14046,7 +16544,55 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "addLeftIcons": true,
+ "level": 3,
+ "chainAttachesTo": {
+ "compatibleTypes": "->Data Storage->"
+ },
+ "propertyNameAtParent": "learningMinesData",
+ "properties": [
+ {
+ "name": "exchangeLearningProducts",
+ "type": "array",
+ "childType": "Exchange Learning Products"
+ }
+ ]
+ },
+ {
+ "type": "Trading Session Reference",
+ "menuItems": [
+ {
+ "action": "Add UI Object",
+ "label": "Add Data Product",
+ "relatedUiObject": "Data Product",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Trading Mine Products",
+ "relatedUiObject": "Trading Mine Products",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add All Trading Mine Products",
+ "label": "Add All Trading Mine Products",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Proceed",
+ "workDoneLabel": "Done",
+ "relatedUiObject": "Trading Mine Products",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -14064,7 +16610,7 @@
"chainAttachesTo": {
"compatibleTypes": "->Market Trading Products->"
},
- "propertyNameAtParent": "sessionReferences",
+ "propertyNameAtParent": "tradingSessionReferences",
"properties": [
{
"name": "dataProducts",
@@ -14081,28 +16627,28 @@
]
},
{
- "type": "Market Data Products",
+ "type": "Learning Session Reference",
"menuItems": [
- {
- "action": "Add UI Object",
- "label": "Add Data Mine Products",
- "relatedUiObject": "Data Mine Products",
- "actionFunction": "payload.onMenuItemClick"
- },
- {
- "action": "Add All Data Mine Products",
- "label": "Add All Data Mine Products",
- "askConfirmation": true,
- "confirmationLabel": "Confirm to Proceed",
- "workDoneLabel": "Done",
- "relatedUiObject": "Data Mine Products",
- "actionFunction": "payload.onMenuItemClick"
- },
{
"action": "Add UI Object",
"label": "Add Data Product",
"relatedUiObject": "Data Product",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Learning Mine Products",
+ "relatedUiObject": "Learning Mine Products",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add All Learning Mine Products",
+ "label": "Add All Learning Mine Products",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Proceed",
+ "workDoneLabel": "Done",
+ "relatedUiObject": "Learning Mine Products",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14111,7 +16657,72 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "isTitleAllwaysVisible": true,
+ "title": [
+ "Use Reference Parent",
+ "Use Reference Parent Type",
+ "Use Child @marketDataProducts"
+ ],
+ "addLeftIcons": true,
+ "level": 3,
+ "alternativeIcons": "Use Reference Parent",
+ "referenceAttachesTo": {
+ "compatibleTypes": "->Learning Session->"
+ },
+ "chainAttachesTo": {
+ "compatibleTypes": "->Market Learning Products->"
+ },
+ "propertyNameAtParent": "learningSessionReferences",
+ "properties": [
+ {
+ "name": "dataProducts",
+ "type": "array",
+ "childType": "Data Product",
+ "autoAdd": false
+ },
+ {
+ "name": "learningMineProducts",
+ "type": "array",
+ "childType": "Learning Mine Products",
+ "autoAdd": false
+ }
+ ]
+ },
+ {
+ "type": "Market Data Products",
+ "menuItems": [
+ {
+ "action": "Add UI Object",
+ "label": "Add Data Mine Products",
+ "relatedUiObject": "Data Mine Products",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add All Data Mine Products",
+ "label": "Add All Data Mine Products",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Proceed",
+ "workDoneLabel": "Done",
+ "relatedUiObject": "Data Mine Products",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Data Product",
+ "relatedUiObject": "Data Product",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -14148,18 +16759,18 @@
"menuItems": [
{
"action": "Add UI Object",
- "label": "Add Session Reference",
- "relatedUiObject": "Session Reference",
- "actionFunction": "payload.onMenuItemClick"
+ "label": "Add Trading Session Reference",
+ "relatedUiObject": "Trading Session Reference",
+ "actionFunction": "payload.executeAction"
},
{
- "action": "Add Missing Session References",
+ "action": "Add Missing Trading Session References",
"label": "Add Missing Sessions",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
- "relatedUiObject": "Session Reference",
- "actionFunction": "payload.onMenuItemClick"
+ "relatedUiObject": "Trading Session Reference",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14168,7 +16779,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -14187,11 +16798,61 @@
"propertyNameAtParent": "marketTradingProducts",
"properties": [
{
- "name": "sessionReferences",
+ "name": "tradingSessionReferences",
"type": "array",
- "childType": "Session Reference"
+ "childType": "Trading Session Reference"
}
- ]
+ ]
+ },
+ {
+ "type": "Market Learning Products",
+ "menuItems": [
+ {
+ "action": "Add UI Object",
+ "label": "Add Learning Session Reference",
+ "relatedUiObject": "Learning Session Reference",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add Missing Learning Session References",
+ "label": "Add Missing Sessions",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Proceed",
+ "workDoneLabel": "Done",
+ "relatedUiObject": "Learning Session Reference",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "addLeftIcons": true,
+ "level": 3,
+ "isTitleAllwaysVisible": true,
+ "title": [
+ "Use Reference Parent Parent Parent",
+ "Use Reference Parent"
+ ],
+ "referenceAttachesTo": {
+ "compatibleTypes": "->Market->"
+ },
+ "chainAttachesTo": {
+ "compatibleTypes": "->Exchange Learning Products->"
+ },
+ "propertyNameAtParent": "marketLearningProducts",
+ "properties": [
+ {
+ "name": "learningSessionReferences",
+ "type": "array",
+ "childType": "Learning Session Reference"
+ }
+ ]
},
{
"type": "Data Product",
@@ -14203,7 +16864,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -14216,7 +16877,7 @@
"compatibleTypes": "->Product Definition->"
},
"chainAttachesTo": {
- "compatibleTypes": "->Market Data Products->Data Product Folder->Bot Products->Session Reference->"
+ "compatibleTypes": "->Market Data Products->Data Product Folder->Bot Products->Trading Session Reference->"
},
"propertyNameAtParent": "dataProducts",
"properties": []
@@ -14228,7 +16889,7 @@
"action": "Add UI Object",
"label": "Add Bot Products",
"relatedUiObject": "Bot Products",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add All Data Products",
@@ -14237,7 +16898,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Data Product",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14246,7 +16907,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -14278,7 +16939,7 @@
"action": "Add UI Object",
"label": "Add Bot Products",
"relatedUiObject": "Bot Products",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add All Data Products",
@@ -14287,7 +16948,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Data Product",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14296,7 +16957,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -14309,7 +16970,7 @@
"compatibleTypes": "->Trading Mine->"
},
"chainAttachesTo": {
- "compatibleTypes": "->Session Reference->"
+ "compatibleTypes": "->Trading Session Reference->"
},
"propertyNameAtParent": "tradingMineProducts",
"properties": [
@@ -14319,22 +16980,25 @@
"childType": "Bot Products",
"autoAdd": false
}
- ]
+ ]
},
{
- "type": "Bot Products",
+ "type": "Learning Mine Products",
"menuItems": [
{
"action": "Add UI Object",
- "label": "Add Data Product",
- "relatedUiObject": "Data Product",
- "actionFunction": "payload.onMenuItemClick"
+ "label": "Add Bot Products",
+ "relatedUiObject": "Bot Products",
+ "actionFunction": "payload.executeAction"
},
{
- "action": "Add UI Object",
- "label": "Add Data Product Folder",
- "relatedUiObject": "Data Product Folder",
- "actionFunction": "payload.onMenuItemClick"
+ "action": "Add All Data Products",
+ "label": "Add All Data Products",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Proceed",
+ "workDoneLabel": "Done",
+ "relatedUiObject": "Data Product",
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14343,13 +17007,60 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "addLeftIcons": true,
+ "level": 3,
+ "isTitleAllwaysVisible": true,
+ "title": [
+ "Use Reference Parent"
+ ],
+ "referenceAttachesTo": {
+ "compatibleTypes": "->Learning Mine->"
+ },
+ "chainAttachesTo": {
+ "compatibleTypes": "->Learning Session Reference->"
+ },
+ "propertyNameAtParent": "learningMineProducts",
+ "properties": [
+ {
+ "name": "botProducts",
+ "type": "array",
+ "childType": "Bot Products",
+ "autoAdd": false
+ }
+ ]
+ },
+ {
+ "type": "Bot Products",
+ "menuItems": [
+ {
+ "action": "Add UI Object",
+ "label": "Add Data Product",
+ "relatedUiObject": "Data Product",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Add UI Object",
+ "label": "Add Data Product Folder",
+ "relatedUiObject": "Data Product Folder",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 3,
"chainAttachesTo": {
- "compatibleTypes": "->Data Mine Products->Trading Mine Products->"
+ "compatibleTypes": "->Data Mine Products->Trading Mine Products->Learning Mine Products->"
},
"propertyNameAtParent": "botProducts",
"properties": [
@@ -14374,13 +17085,13 @@
"action": "Add UI Object",
"label": "Add Data Product",
"relatedUiObject": "Data Product",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Data Product Folder",
"relatedUiObject": "Data Product Folder",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14389,7 +17100,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -14417,16 +17128,66 @@
"type": "Plugins",
"menuItems": [
{
- "action": "Add Missing Children",
- "label": "Add Missing Children",
- "relatedUiObject": "Plugins",
- "actionFunction": "payload.onMenuItemClick"
+ "action": "Add Missing Plugin Projects",
+ "label": "Add Missing Projects",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Proceed",
+ "workDoneLabel": "Done",
+ "relatedUiObject": "Plugin Project",
+ "actionFunction": "payload.executeAction"
}
],
"isHierarchyHead": true,
"addLeftIcons": true,
"level": 0,
"propertyNameAtParent": "plugins",
+ "properties": [
+ {
+ "name": "pluginProjects",
+ "type": "array",
+ "childType": "Plugin Project",
+ "autoAdd": false
+ }
+ ]
+ },
+ {
+ "type": "Plugin Project",
+ "menuItems": [
+ {
+ "action": "Configure",
+ "actionFunction": "uiObject.configEditor.activate",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration"
+ },
+ {
+ "action": "Add Missing Children",
+ "label": "Add Missing Children",
+ "relatedUiObject": "Plugins",
+ "actionFunction": "payload.executeAction"
+ },
+ {
+ "action": "Delete UI Object",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete",
+ "iconPathOff": "delete",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "initialValues": {
+ "config": "{ \n \"codeName\": \"\"\n}"
+ },
+ "editors": {
+ "config": true
+ },
+ "addLeftIcons": true,
+ "level": 1,
+ "propertyNameAtParent": "pluginProjects",
+ "chainAttachesTo": {
+ "compatibleTypes": "->Plugins->"
+ },
"properties": [
{
"name": "pluginDataMines",
@@ -14464,19 +17225,29 @@
"childType": "Plugin Tutorials",
"autoAdd": false
}
+ ],
+ "alternativeIcons": [
+ {
+ "codeName": "Superalgos",
+ "iconName": "superalgos"
+ },
+ {
+ "codeName": "Ethereum",
+ "iconName": "ethereum"
+ }
]
},
{
"type": "Plugin Data Mines",
"menuItems": [
{
- "action": "Add Missing Data Mines",
+ "action": "Add Missing Plugin Data Mines",
"label": "Add Missing Data Mines",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Data Mine",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14485,12 +17256,15 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 1,
"propertyNameAtParent": "pluginDataMines",
+ "chainAttachesTo": {
+ "compatibleTypes": "->Plugin Project->"
+ },
"properties": [
{
"name": "pluginFiles",
@@ -14504,13 +17278,13 @@
"type": "Plugin Trading Mines",
"menuItems": [
{
- "action": "Add Missing Trading Mines",
+ "action": "Add Missing Plugin Trading Mines",
"label": "Add Missing Trading Mines",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Trading Mine",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14519,12 +17293,15 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 1,
"propertyNameAtParent": "pluginTradingMines",
+ "chainAttachesTo": {
+ "compatibleTypes": "->Plugin Project->"
+ },
"properties": [
{
"name": "pluginFiles",
@@ -14538,13 +17315,13 @@
"type": "Plugin Trading Systems",
"menuItems": [
{
- "action": "Add Missing Trading Systems",
+ "action": "Add Missing Plugin Trading Systems",
"label": "Add Missing Trading Systems",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Trading System",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14553,12 +17330,15 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 1,
"propertyNameAtParent": "pluginTradingSystems",
+ "chainAttachesTo": {
+ "compatibleTypes": "->Plugin Project->"
+ },
"properties": [
{
"name": "pluginFiles",
@@ -14572,13 +17352,13 @@
"type": "Plugin Trading Engines",
"menuItems": [
{
- "action": "Add Missing Trading Engines",
+ "action": "Add Missing Plugin Trading Engines",
"label": "Add Missing Trading Engines",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Trading Engine",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14587,12 +17367,15 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 1,
"propertyNameAtParent": "pluginTradingEngines",
+ "chainAttachesTo": {
+ "compatibleTypes": "->Plugin Project->"
+ },
"properties": [
{
"name": "pluginFiles",
@@ -14606,13 +17389,13 @@
"type": "Plugin Super Scripts",
"menuItems": [
{
- "action": "Add Missing Super Scripts",
+ "action": "Add Missing Plugin Super Scripts",
"label": "Add Missing Super Scripts",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Super Scripts",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14621,12 +17404,15 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 1,
"propertyNameAtParent": "pluginSuperScripts",
+ "chainAttachesTo": {
+ "compatibleTypes": "->Plugin Project->"
+ },
"properties": [
{
"name": "pluginFiles",
@@ -14640,13 +17426,13 @@
"type": "Plugin Tutorials",
"menuItems": [
{
- "action": "Add Missing Tutorials",
+ "action": "Add Missing Plugin Tutorials",
"label": "Add Missing Tutorials",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Tutorial",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14655,12 +17441,15 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 1,
"propertyNameAtParent": "pluginTutorials",
+ "chainAttachesTo": {
+ "compatibleTypes": "->Plugin Project->"
+ },
"properties": [
{
"name": "pluginFiles",
@@ -14677,7 +17466,7 @@
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "pluginFilePosition",
- "actionFunction": "payload.onMenuItemClick",
+ "actionFunction": "payload.executeAction",
"label": "Add Plugin File Position",
"relatedUiObject": "Plugin File Position"
},
@@ -14688,12 +17477,15 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 2,
"propertyNameAtParent": "pluginFiles",
+ "chainAttachesTo": {
+ "compatibleTypes": "->Plugin Tutorials->Plugin Super Scripts->Plugin Trading Engines->Plugin Trading Systems->Plugin Trading Mines->Plugin Data Mines->"
+ },
"properties": [
{
"name": "pluginFilePosition",
@@ -14713,7 +17505,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"title": [
@@ -14722,8 +17514,7 @@
"addLeftIcons": true,
"level": 3,
"propertyNameAtParent": "pluginFilePosition",
- "properties": [
- ]
+ "properties": []
},
{
"type": "Tutorial",
@@ -14733,14 +17524,14 @@
"label": "Play",
"iconPathOn": "play",
"iconPathOff": "play",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Resume Tutorial",
"label": "Resume",
"iconPathOn": "resume",
"iconPathOff": "resume",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Configure",
@@ -14753,13 +17544,13 @@
"action": "Add UI Object",
"label": "Add Tutorial Step",
"relatedUiObject": "Tutorial Step",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Tutorial Topic",
"relatedUiObject": "Tutorial Topic",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Reset Tutorial Progress",
@@ -14768,7 +17559,7 @@
"label": "Reset Tutorial Progress",
"iconPathOn": "reset",
"iconPathOff": "reset",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14777,7 +17568,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -14814,14 +17605,14 @@
"label": "Play",
"iconPathOn": "play",
"iconPathOff": "play",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Resume Tutorial Topic",
"label": "Resume",
"iconPathOn": "resume",
"iconPathOff": "resume",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Configure",
@@ -14834,13 +17625,13 @@
"action": "Add UI Object",
"label": "Add Tutorial Step",
"relatedUiObject": "Tutorial Step",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Tutorial Topic",
"relatedUiObject": "Tutorial Topic",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14849,7 +17640,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -14891,14 +17682,14 @@
"label": "Play",
"iconPathOn": "play",
"iconPathOff": "play",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Resume Tutorial Step",
"label": "Resume",
"iconPathOn": "resume",
"iconPathOff": "resume",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Configure",
@@ -14914,7 +17705,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -14933,8 +17724,7 @@
"addLeftIcons": true,
"level": 2,
"propertyNameAtParent": "tutorialSteps",
- "properties": [
- ]
+ "properties": []
},
{
"type": "Data Mine Data Dependencies",
@@ -14943,7 +17733,7 @@
"action": "Add UI Object",
"label": "Add Bot Data Dependencies",
"relatedUiObject": "Bot Data Dependencies",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add All Data Dependencies",
@@ -14952,7 +17742,7 @@
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Data Dependency",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -14961,7 +17751,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -14993,13 +17783,13 @@
"action": "Add UI Object",
"label": "Add Data Dependency",
"relatedUiObject": "Data Dependency",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Dependency Product Folder",
"relatedUiObject": "Dependency Product Folder",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -15008,7 +17798,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -15039,13 +17829,13 @@
"action": "Add UI Object",
"label": "Add Data Dependency",
"relatedUiObject": "Data Dependency",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Data Dependency Folder",
"relatedUiObject": "Data Dependency Folder",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
@@ -15054,7 +17844,7 @@
"label": "Delete",
"iconPathOn": "delete",
"iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
+ "actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
diff --git a/Projects/Superalgos/Schemas/ConceptSchema.json b/Integrations/Projects/Superalgos/Schemas/ConceptSchema.json
similarity index 100%
rename from Projects/Superalgos/Schemas/ConceptSchema.json
rename to Integrations/Projects/Superalgos/Schemas/ConceptSchema.json
diff --git a/Integrations/Projects/Superalgos/Schemas/DocSchema.json b/Integrations/Projects/Superalgos/Schemas/DocSchema.json
new file mode 100644
index 000000000..6570a0784
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Schemas/DocSchema.json
@@ -0,0 +1 @@
+[{"type":"Plotter Module","definition":"A plotter module is a device within a plotter that contains the definitions to create the visualization for a product definition.","content":["\r","\r","A single plotter may have several modules. Different modules may be used to plot each product of the bot, or as best suits the expected use-pattern.\r","\r","[](https://user-images.githubusercontent.com/13994516/71016077-eab41180-20f4-11ea-87e7-7262ff10a1ab.gif)\r","\r","{% include important.html content=\"For a bot to use a plotter, the corresponding product definition must establish a reference with the plotter module built to interpret the dataset.\" %}\r","\r","[](https://user-images.githubusercontent.com/13994516/71016079-eab41180-20f4-11ea-8afb-96321f9c68d8.gif)\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a plotter module, select *Add Plotter Module* on the plotter node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Plotter Module* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"codeName\": \"Module Name\",\r"," \"isLegacy\": true,\r"," \"icon\": \"histogram\"\r","}\r","```\r","\r","* ```codeName``` is the name used in the code to refer to the module.\r","\r","* ```isLegacy``` is ```true``` for plotters modules developed entirely in JavaScript, and is ```false``` or doesn't show in the configuration for plotters built with the tools featured in the data mine hierarchy.\r","\r","* ```icon``` is the name of the image that illustrates the corresponding layer in the Layers Panel. In case the banner is not specified, the *default banner* is used. Current possible values are:\r","\r","\r","| Value | Image|\r","| :---: | :---: |\r","| ```default``` |  |\r","| ```histogram``` |  |\r","| ```band``` |  |\r","| ```moving-average``` |  |\r","| ```oscillator``` |  |\r","| ```trend``` |  |\r","\r","Custom images may be added too. To do that:\r","\r","1. name the image in the following format: ```image-name.png```;\r","\r","1. place images in the ```WebServer\\Images\\Icons``` folder;\r","\r","1. in the configuration of the module, use the name as is (e.g.: ```\"icon\": \"image-name\"```)\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Nodes Values"},{"type":"Nodes Highlights"},{"type":"Nodes Errors"},{"type":"Nodes Warnings"},{"type":"Nodes Infos"},{"type":"Nodes Status"},{"type":"Nodes Progress"},{"type":"Nodes Running"},{"type":"Nodes Announcements"},{"type":"Record Values"},{"type":"Shapes","definition":"The shapes node contains definitions of polygons and styles to be rendered on a per-period basis over the charts.","content":["\r","\r","A plotter recursively renders graphics for each period or candle. This means that a definition of what shapes need to be drawn for a single period is required. The plotter does the same thing for every period or candle that is visible on the screen at any point in time, for any time frame, as long as the corresponding data is available.\r","\r","[](https://user-images.githubusercontent.com/13994516/71016080-eab41180-20f4-11ea-84c6-a514b87d568f.gif)\r","\r","In general terms, the process of defining what is going to be rendered on the screen consist of the following four steps:\r","\r"," 1. Identifying points defined by ```[x,y]``` coordinates\r"," 2. Defining polygons\r"," 3. Defining default styles\r"," 4. Defining conditional styles\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a shapes node, select *Add Shapes* on the plotter module menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Plotter Panel","definition":"A plotter panel usually shows numerical representations of data over the charts on a small window or panel. The plotter panel node features definitions to make that possible.","content":["\r","\r","Beyond the graphic representation of data over the charts, plotters may also feature a *data panel*, that is, a numerical representation of the data showing the exact figures corresponding to the column or period that is in focus (the point of the charts where the mouse pointer is at any point).\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a plotter panel, select *Add Plotter Panel* on the plotter module node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Panel Data","definition":"A panel data node represents a data field to be plotted on the plotter panel.","content":["\r","\r","The system renders a panel featuring a centered, single-column vertical arrangement of data, with a label and a data field right below it. The label of each data field on the panel is given—by default—by the label set for each panel data node.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a panel data node, select *Add Panel Data* on the plotter panel menu.\r","\r"],"configuring":["\r","\r","Select *Configure Panel Data* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"valueDecimals\": 2\r","}\r","```\r","\r","* ```valueDecimals``` sets the number of decimals to be shown on the corresponding data field.\r","\r","To override the default manner in which the data is assembled on the panel, the following properties may be included and defined:\r","\r","```json\r","{\r"," \"labelText\": \"The Label\",\r"," \"labelPosition\": 15,\r"," \"valuePosition\": 20,\r"," \"valueDecimals\": 2\r","}\r","```\r","\r","* ```labelPosition``` and ```valuePosition``` represent the vertical distance of the corresponding fields to the top margin of the panel.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Formula","definition":"A data formula is a device used to assign a value to the panel data, usually in the form of the name of the corresponding record property.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a data formula, select *Add Data Formula* on the plotter panel menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Javascript Code","definition":"The JavaScript code node may hold any snippet of valid JavaScript.","content":["\r","\r","In the case of the master script, the JavaScript Code node features the code required to run each template script and handle the operations beyond the scope of individual template scripts.\r","\r","In the case of a template script, the JavaScript Code node features the code that deals with the specific scope of the template script only.\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a JavaScript code node, select *Add JavaScript Code* on the master script or the template script node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Chart Points","definition":"A chart points groups definitions of coordinate points used to define polygons.","content":["\r","\r","The definition of a point consists of the name of the point and the corresponding values for the ```x``` and ```y``` coordinates. To create such definitions, point and point formulas are used.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a chart points node, select *Add Chart Points* on the shapes menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Point","definition":"A point is a definition of an [x,y] coordinate. The value [x] usually represents a datetime. The value [y] may refer to a price or some other concept.","content":["\r","\r","These coordinate points are used to define polygons. Values for ```[x,y]```coordinates are entered with a point formula.\r","\r","{% include tip.html content=\"Each point should be given a significant name so that it is easier to identify them at the time of establishing references with polygon vertices.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a point, select *Add Point* on the chart points node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Point Formula","definition":"A point formula is a node used to input the [x,y] coordinates of a point.","content":["\r","\r","To represent some form of variation of the price or a price derivative over time, a typical point formula consists of the following two coordinates: ```x = datetime``` and ```y = rate```.\r","\r","For example:\r","\r","**Point *SMA 20 Begin***\r","```js\r","x = record.begin\r","y = record.previous.sma20\r","```\r","\r","The example above shows the definition of the first of two points necessary to draw the segment of the 20-periods SMA curve for any particular period or candle. In this case, ```x = record.begin``` is the starting datetime of the period and ```y = record.previous.sma20``` is the rate of the 20-periods SMA of the previous period.\r","\r","{% include note.html content=\"The above variables are constructed with information originating at the product definition that references the corresponding plotter module.\" %}\r","\r","To complete the line segment corresponding to a single period, the closing datetime of the period and the closing rate for the 20-periods SMA are required:\r","\r","**Point *SMA 20 End***\r","```js\r","x = record.end\r","y = record.sma20\r","```\r","\r","The above system works very well for plotting all sorts of information over the candles, on the charts.\r","\r","An oscillator like RSI too needs the definition of the starting and ending datetime of the period as the value for the *x-axis*. However, the value for *axis y* fits a different scale.\r","\r","Anyway, the points definition is just as straight forward, for example:\r","\r","**Point *RSI Begin***\r","```js\r","x = record.begin\r","y = record.previous.value\r","```\r","\r","**Point *RSI End***\r","```js\r","x = record.end\r","y = record.value\r","```\r","\r","Points do not necessarily need to refer to values on the dataset produced by the corresponding data product. For example, absolute values for the *y-axis* may be used to describe fixed graphical elements, for instance, a horizontal line, or a box.\r","\r","**Point *Begin 20***\r","```js\r","x = record.begin\r","y = 20\r","```\r","\r","**Point *End 20***\r","```js\r","x = record.end\r","y = 20\r","```\r","\r","**Point *Begin 30***\r","```js\r","x = record.begin\r","y = 30\r","```\r","\r","**Point *End 30***\r","```js\r","x = record.end\r","y = 30\r","```\r","\r","The above four points are used to paint the background of the 20 to 30 value range of the RSI chart. The first two points are also used to draw the dotted line signaling the 20-value mark, and the last two are used for the dotted line indicating the 30-value mark.\r","\r","{% include note.html content=\"The reason from separating the definition of points from the definition of polygons is that any point may be used by one or more polygons.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a point formula, select *Add Point Formula* on the point node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Image","definition":"The image node allows overlaying an image over the charts, controlling its position, size, and when it shall be rendered.","content":["\r","\r","The foremost requirement for images is that they are in the ```png``` format, 24 bits, with transparency, a low case extension, and are square.\r","\r","If you envision contributing your indicator so that the community may use it, then please follow the guidelines in the [contribute icons](contributing-icons.html#technical-requirements) page, in particular, the Technical Requirements.\r","\r","Images must the stored in the following path: ```\\BackendServers\\WebServer\\Images\\Icons\\style-01```\r","\r","{% include note.html content=\"See the configuration for further details.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","{ \r"," \"codeName\": \"imagename\", \r"," \"size\": 15\r","}\r","```\r","\r","* ```codeName``` is the name of the image, without the ```.png``` extension.\r","\r","* ```size``` is the size at which the image shall be rendered, in pixels. \r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Image Condition","definition":"An image condition is a rule that allows establishing when an image shall be rendered and when not.","content":["\r","\r","The node is optional. When the node is not present in the definition of the image or when the condition validates ```true```, the image is rendered on screen. When the condition validates ```false``` the image is not rendered. As such, the node allows dynamically switching the rendering of the corresponding image on and off .\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Image Position","definition":"The image position node is a reference to a point defined in the chart points, and serves to determine the position in which the image shall be placed.","content":["\r","\r","The image position node works similarly to the polygon vertex in the sense that it must establish a reference with a point in the charts point to acquire a defined coordinate that determines where the image shall be placed.\r","\r","{% include note.html content=\"See the configuration for further details.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","{ \r"," \"offsetX\": 0,\r"," \"offsetY\": 10\r","}\r","```\r","\r","* ```offsetX``` is an offset in the X axis, in pixels, applied to displace the image in relation to the coordinate point defined by the reference of the node. Negative values displace the image to the left and positive values to the right.\r","\r","* ```offsetY``` is an offset in the Y axis. Negative values displace the image downwards and positive values displace the image upwards.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Text","definition":"The text node allows overlaying text on the charts, controlling its position, size, appearance, and when it shall be rendered.","content":["\r","\r","The node's offspring control the different aspects of how, where, and when text shall be rendered over the charts.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Text Style","definition":"The text style is a definition of color, opacity, and font size that determines the appearance of the text to be rendered over the charts.","content":["\r","\r","{% include note.html content=\"See the configuration for further details.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"paletteColor\": \"UI_COLOR.GREY\",\r"," \"opacity\": 0.5,\r"," \"fontSize\": 10\r","}\r","```\r","\r","* ```paletteColor``` is one of the predefined colors available, as described in the configuration of the *Style* node.\r","\r","* ```opacity``` is probably self-explanatory, and may range from 0 for a fully transparent object to 1 for a solid object.\r","\r","* ```fontSize``` is self explanatory too; values above zero produce the expected results.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Text Condition","definition":"A text condition is a rule that allows establishing when text shall be rendered and when not.","content":["\r","\r","The node is optional. When the node is not present in the definition of the text node or when the condition validates ```true```, the text is rendered on screen. When the condition validates ```false```, text is not rendered. As such, the node allows dynamically switching the rendering of the corresponding text on and off .\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Text Position","definition":"The text position node is a reference to a point defined in the chart points, and serves to determine the position in which text shall be rendered.","content":["\r","\r","The text position node works similarly to the image position node in the sense that it must establish a reference with a point in the charts point to acquire a defined coordinate that determines where the text shall be placed.\r","\r","{% include note.html content=\"See the configuration for further details.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","{ \r"," \"offsetX\": 0,\r"," \"offsetY\": 10\r","}\r","```\r","\r","* ```offsetX``` is an offset in the X axis, in pixels, applied to displace the text in relation to the coordinate point defined by the reference of the node. Negative values displace the text to the left and positive values to the right.\r","\r","* ```offsetY``` is an offset in the Y axis. Negative values displace the text downwards and positive values displace the image upwards.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Text Formula","definition":"The text formula determines the content that shall be rendered over the charts.","content":["\r","\r","The text formula may use any of the variables available to the plotter, and may produce either a numeric or a text string result.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Polygon","definition":"A polygon features definitions that makeup shapes and their styles.","content":["\r","\r","Polygons are defined by two or more vertices, which map points in a charts point. The graphic representation of polygons originates in styles applied to either or both polygon bodies and polygon borders. \r","\r","{% include note.html content=\"The order in which polygons are ordered around the parent shapes node determines the order in which they are drawn on the screen. In cases on which polygons intersect, those drawn last are drawn on top of those drawn first.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a polygon, select *Add Polygon* on the shapes node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Polygon Condition","definition":"A polygon condition is a rule that allows establishing when a polygon shall be rendered and when not.","content":["\r","\r","The node is optional. When the node is not present in the definition of the polygon or when the condition validates ```true```, the polygon is rendered on screen. When the condition validates ```false``` the polygon is not rendered. As such, the node allows dynamically switching the rendering of the corresponding polygon on and off.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a polygon condition, select *Add Polygon Condition* on a polygon node menu.\r","\r"],"configuring":["\r","\r","Select *Edit Condition* on the menu to access the configuration.\r","\r","Polygon conditions work pretty much like conditions used on trading systems. The main difference is that the variables available are solely those provided by the bot product definition that reference the corresponding plotter module.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Polygon Body","definition":"A polygon body is the fill of a shape made out of at least three vertices.","content":["\r","\r","A polygon body needs at least three vertices to be defined. A body serves to create a *fill* for the outlines of any sort of polygon, either closed or open, by giving it a style.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a polygon body, select *Add Polygon Body* on the polygon node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Polygon Border","definition":"A polygon border is a shape defined by at least two vertices used to draw lines or to apply a style to the stroke of a closed shape.","content":["\r","\r","A polygon border needs at least two vertices to be defined. A border serves to create a *stroke* for the outlines of any sort of polygon, either closed or open, by giving it a style.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a polygon border, select *Add Polygon Border* on the polygon node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Style Condition","definition":"A style condition is a rule that allows applying an alternative style in cases where the rule validates true.","content":["\r","\r","Style conditions offer a way to introduce additional intelligence on the visual representation of data by using styles that respond to certain conditions.\r","\r","For example, the *Percentage Bandwidth* plotter module assigns a different color to the Moving Average line when it's going up or down.\r","\r","To do that, a style condition features it's own style so that, when the condition validates true, the new style is applied.\r","\r","Style conditions me be created in a sequence so that the style may continue changing upon the validation of a series of style conditions. The system evaluates all style conditions in a sequential order determined by their position in the rotational symmetry around the parent node. Each condition that is met may modify or add up to the resulting style that is rendered on screen. That is, the final style is the result of the sequential application of the styles defined for each condition that is met, on top of the default style.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a style condition, select *Add Style Condition* on a polygon border or polygon body node menu.\r","\r"],"configuring":["\r","\r","Select *Edit Condition* on the menu to access the configuration.\r","\r","Style conditions work pretty much like conditions used on trading systems. The main difference is that the variables available are solely those provided by the bot product definition that reference the corresponding plotter module.\r","\r","To continue the example of the Percentage Bandwidth plotter, the following is the condition that determines the newly added styles:\r","\r","```js\r","record.previous.movingAverage > record.movingAverage\r","```\r","\r","As hinted earlier, when the condition is met, the default style is modified by a second style that may be created on the menu of the style condition node.\r","\r","The definition of secondary styles is slightly different from that of the default style, as—in such cases—the ```atMousePosition``` property may no longer be defined:\r","\r","```js\r","{\r"," \"opacity\": 0.55,\r"," \"lineWidth\": 1,\r"," \"lineDash\": [0,0],\r"," \"paletteColor\": \"UI_COLOR.RED\"\r","}\r","```\r","\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Style","definition":"A style is a definition of color and opacity in case of a polygon body, and color, opacity and line thickness in case of polygon borders.","content":["\r","\r","A style applied to a polygon body or a polygon border node acts as the default style. Styles including colors, opacity, line width, and more, are defined in the node's configuration.\r","\r","{% include note.html content=\"See the configuration for further details.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a style, select *Add Style* on a polygon border or polygon body node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Style* on the menu to access the configuration.\r","\r","A typical definition for a polygon *body style* looks like this:\r","\r","```json\r","{\r"," \"default\": {\r"," \"opacity\": 0.2,\r"," \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\r"," },\r"," \"atMousePosition\": {\r"," \"opacity\": 0.3,\r"," \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\r"," }\r","}\r","```\r","\r","A typical definition for a polygon *border style* has a couple more properties:\r","\r","```json\r","{\r"," \"default\": {\r"," \"opacity\": 0.2,\r"," \"lineWidth\": 1,\r"," \"lineDash\": [0,0],\r"," \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\r"," },\r"," \"atMousePosition\": {\r"," \"opacity\": 0.3,\r"," \"lineWidth\": 2,\r"," \"lineDash\": [0,0],\r"," \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\r"," }\r","}\r","```\r","\r","The first section of the definition refers, as explicitly stated, to the default state of the style.\r","\r","The second section refers to the style assigned to the column or period on which the mouse pointer is located. This is very useful for highlighting the specific zone of interest as the user browses the charts.\r","\r","* ```opacity``` is probably self-explanatory: it may range from ```0``` for a fully transparent object to ```1``` for a solid object.\r","\r","* ```paletteColor``` sets the color for the *fill* or *stroke* in cases of polygon bodies and polygon borders respectively. Use the variable ```UI_COLOR``` followed by a ```.``` and any of the properties in the following list for a selection of currently available colors:\r","\r","| Variable Value | RGB Value | Color Sample |\r","| :--- | :---: | :------------------- |\r","| ```DARK``` | 48, 48, 54 | |\r","| ```LIGHT``` | 234, 226, 222 | |\r","| ```GREY``` | 150, 150, 150 | |\r","| ```LIGHT_GREY``` | 247, 247, 247 | |\r","| ```WHITE``` | 255, 255, 255 | |\r","| ```BLACK``` | 0, 0, 0 | |\r","| ```GOLDEN_ORANGE``` | 240, 162, 2 | |\r","| ```RUSTED_RED``` | 204, 88, 53 | |\r","| ```GREEN``` | 188, 214, 67 | |\r","| ```RED``` | 223, 70, 60 | |\r","| ```PATINATED_TURQUOISE``` | 27, 153, 139 | |\r","| ```TITANIUM_YELLOW``` | 244, 228, 9 | |\r","| ```MANGANESE_PURPLE``` | 91,80, 122 | |\r","| ```TURQUOISE``` | 74, 207, 217 | |\r","| ```DARK_TURQUOISE``` | 2, 149, 170 | |\r","\r","* ```lineWidth``` is the width of the border line, which should be greater than 0.\r","\r","* ```lineDash``` is used to turn the border into a dashed-line; the first value corresponds to the length of the dash while the second value defines the length of the space.\r","\r","{% include note.html content=\"When using dashed lines, bear in mind that the drawing from one column or period is independent of the next. Big values for dashes and spaces may not work well for lines that span several columns.\" %}\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Polygon Vertex","definition":"A polygon vertex is a reference to a point defined in the chart points, constituting a specific coordinate to be used as a vertex of a shape.","content":["\r","\r","Vertices are the main element defining polygons. Once created, each vertex must establish a reference to the corresponding point in the charts point.\r","\r","[](https://user-images.githubusercontent.com/13994516/71016081-eb4ca800-20f4-11ea-8fee-4d38ecfb0596.gif)\r","\r","Drawing curves requires two vertices. Painting areas, such as the background of a chart, likely requires four vertices. Note that vertices are not capable of featuring a style. Instead, styles are applied to polygon borders and polygon bodies.\r","\r","{% include important.html content=\"Bear in mind that the order in which vertices in a polygon are arranged around the parent polygon node when their *rotational symmetry* property is selected, is the order in which the plotter computes the points. This means that points need to be in the correct order, for example, when drawing a box. Imagine drawing a box on a piece of paper without lifting the pencil... that is how the plotter does it.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a polygon vertex, select *Add Polygon Vertex* on the polygon node menu.\r","\r","{% include tip.html content=\"Remember that a vertex must establish a reference to a point in the charts point to be properly defined\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Workspace"},{"type":"Situation","definition":"A situation refers to a specific state of the market in which a certain event should take place, as defined by any number of conditions.","content":["\r","\r","In other words, you define situations in which you wish a certain event to happen (*i.e.:* trigger on the strategy, take a position, etc.) and each situation is described as a set of conditions that need to be met for the event to be triggered.\r","\r","A situation gets validated when all conditions under it are true. \r","\r","An event may have more than one situation attached to it. In such a case, when any of the situations gets validated, the event gets triggered. That is, events may be triggered in different circumstances, meaning that you are free to define different situations upon which the same event would be triggered. In such a case, when any of the situations evaluate true, then the event is triggered.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a situation, select *Add Situation* on the corresponding event node menu. A situation is added along with a condition and JavaScript code node.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Condition","definition":"Conditions are rules within a situation. When all conditions under a situation validate true, then the situation gets validated as well, and the associated event is triggered.","content":["\r","\r","Therefore, conditions are used to mathematically describe what needs to happen with the market for a certain action to be taken.\r","\r","**For example:**\r","\r","**Situation 1**\r","\r","* Condition A: ```chart.at01hs.candle.close > chart.at01hs.bollingerBand.MovingAverage``` → This means that the latest candle at the 1 hour chart closed above the Bollinger Bands moving average.\r","\r","* Condition B: ```chart.at01hs.candle.previous.max > chart.at01hs.bollingerBand.previous.MovingAverage``` → This means that the maximum value of the candle before the last one, was higher than the Bollinger Bands moving average.\r"," \r","In the example above, conditions A and B are comparison statements that may evaluate either _true_ or _false_. In the case both would evaluate _true_ then Situation 1 would be true as well.\r","\r","{% include note.html content=\"To learn how to write conditions, start with the Syntax Overview.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a condition, select *Add Condition* on the corresponding situation node menu. A condition with its JavaScript code node is added.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Super Scripts","definition":"The super scripts hierarchy holds definitions of scripts used to automate certain aspects of the administration and maintenance of the workspace, such as installing and deleting markets.","content":["\r","\r","The super scripts hierarchy may be used by developers who wish to create their own scripts for automating the deployment or manitenance of all sorts of structures of nodes across any of the hierarchies in the design space.\r","\r","Regular users will find little to do with this hierarchy, even though they may use it indirectly, for instance, when installing or uninstalling markets.\r","\r","{% include important.html content=\"Changes made to super scripts shipping with the system may not be saved at the workspace level. If you wish to modify those hierarchies and use them in such modified versions, you need to clone them and modify the clone instead. To do this successfully, you need to learn more about [backups](suite-backups.html) and [clones](suite-clones.html).\" %}\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a super scripts hierarchy, select *Add Super Scripts* on the workspace node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Super Scripts* on the menu to access the configuration.\r","\r","```\r","{ \r","\"codeName\": \"Masters\"\r","}\r","```\r","\r","* ```codeName``` is the name of the hierarchy as is used in the system's code.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Scripts Library","definition":"A script library is a collection of related scripts.","content":["\r","\r","The script library node plays an organizational role, grouping masters scripts according to the criteria of the developer.\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a scripts library, select *Add Scripts Library* on the super scripts node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Master Script","definition":"A master script contains the definitions of any number of template scripts along with the master JavaScript code providing the logic to implement them.","content":["\r","\r","In general terms, master scripts serve to atomize the complexity of the task at hand by subdividing the task into any number of specific scopes, handled by individual template scripts. The master script controls the execution of template scripts and solves issues beyond their scope.\r","\r","The current implementation of the Masters super scripts hierarchy features two master scripts you may use as examples. The Setup Market master script deals with all the steps required to install a new market, while the Delete Market Dependencies master script deals with uninstalling markets.\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a master script, select *Add Master Script* on the scripts library node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Template Script","definition":"The template script node holds the definitions concerned with the scope of a particular structure of nodes.","content":["\r","\r","As such, a template script features all the components required to deal with such scope only.\r","\r","In the particular Masters super script implementation, each template script in the Setup Markets master script features a structure of nodes to be created in a specific location, and the associated JavaScript code deals with implementing such structure of nodes and establishing the corresponding references.\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a template script, select *Add Template Script* on the scripts master script node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Template Structure","definition":"The template structure holds the structure of nodes with all its configurations and properties, exactly as it should be implemented.","content":["\r","\r","Properties include the physical arrangement of nodes, references and so on. \r","\r","{% include note.html content=\"The actual structure of nodes contained in the template usually originates as a clone of an existing structure of nodes.\" %}\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a tempalte strucutre, select *Add Teemplate Structure* on the template script node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Template Target","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a template target, select *Add Template Target* on the template script node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Super Action"},{"type":"Network","definition":"The network hierarchy provides the control functions for running data-mining and trading operations. Because operations may be run either on a single machine or distributed over a network of machines, it also contains definitions regarding the physical location in which nodes live or function.","content":["\r","\r","The network hierarchy defines where in the network you run each of the bots you choose to run, and where the data they output is stored. \r","\r","You will use the network hierarchy for the following purposes:\r","\r","* To control your data mining operation—that is, tasks running sensor and indicator bots. Data mining tasks process data that may be consumed by others; for example, so that your trading systems may count with quality information.\r","\r","* To control your testing environment—that is, trading sessions including backtesting and paper trading sessions.\r","\r","* To control your production environment—that is, forward testing, and live trading sessions.\r","\r","* To manage the storage of the data produced by the bots you run as outputs. This includes administering the physical locations on which the data products produced by bots reside.\r","\r","{% include note.html content=\"These processes may run together on a single machine, or may be distributed across a network of machines, or what we call a [trading farm](suite-fundamental-trading-farms-concepts.html). \" %}\r","\r","{% include warning.html content=\"At this stage, the system does not implement any form of security measures, therefore, Superalgos is to be run in the context of a restricted Local Area Network only, unless you implement your own network security.\" %}\r","\r"],"folderName":"network","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Network Node","definition":"A network node represents a machine running Superalgos, on which processes run and data is stored.","content":["\r","\r","By default, processes are set up to run locally in a network node representing your local machine. However, the system is prepared to run distributed on a network of nodes, or what we call a trading farm.\r","\r","You may create unlimited network nodes and map them with different machines on a network. Each machine in the network runs an instance of the Superalgos backend, and you may control the whole network operation from a single machine, or—in general—from any machine in the network running the Superalgos frontend. To learn more about distributed setups, check the [trading farms](suite-fundamental-trading-farms-concepts.html) pages.\r","\r","The easiest and fastest way to set up a network node is using the *Install Market* function available on markets defined in the Crypto Ecosystem hierarchy, under the exchange markets node. This function adds data mining tasks for all sensor and indicator bots shipping with the system, backtesting and live trading tasks for trading systems shipping with the system, including the data storage definitions for both, and also creates the corresponding dashboards and charts in the Charting Space hierarchy. You may learn more about this function in the [how to install a new market](suite-how-to-install-a-new-market.html) page.\r","\r","If you need finer control over the operation you wish to deploy on the network, then you may use the individual functions available under each section of the hierarchy under the network node.\r","\r"],"folderName":"network","adding":["\r","\r","To add a network node, select *Add Network Node* on the *Superalgos Network* node menu. A network node is added along with the basic structure of nodes to set up a node.\r","\r"],"configuring":["\r","\r","Select *Configure Network Node* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"host\": \"0.0.0.0\", \r","\"webPort\": \"34247\", \r","\"webSocketsPort\": \"8080\"\r","}\r","```\r","\r","* ```host``` is the machine or hardware represented by the network node, which must be identified by its IP address.\r","\r","* ```webPort``` is the port used by the Web Server, at this stage ```34247```.\r","\r","* ```webSocketsPort``` is the port used by the system to communicate over the local area network, by default set at ```8080```.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Task Manager","definition":"A task manager is a device used to organize and control any number of tasks, which, in turn, control bot instances. You use a task manager to start or stop several tasks at the same time.","content":["\r","\r","Task managers are used both in the context of data mining and trading operations, to facilitate the organization of tasks. \r","\r","For example, you may set up a task manager to handle tasks related to a particular set of indicators used with a certain strategy. Or, for example, to organize multiple backtesting sessions.\r","\r","{% include tip.html content=\"The key aspect of a task manager is that it allows starting and stopping all tasks at once.\" %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a task manager, select *Add Task Manager* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","Select *Run All Tasks* or *Stop All Tasks* on the menu to start and stop all tasks respectively.\r","\r"]},{"type":"Task","definition":"A task is the device used to control bot instances, that is, to start and stop bots, including sensors, indicators and the trading bot.","content":["\r","\r","Each task controls a single bot. A bot instance running on its own task is independent from other bots at the operating system level, thus, may not be affected by errors ocurring on those other bots.\r","\r"],"folderName":"network","adding":["\r","\r","To add a task, select *Add Task* on the task manager node menu.\r","\r","{% include tip.html content=\"Instead of adding nodes, configuring them, and setting references one by one, you may want to clone an existing, fully functional task with all its offspring.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","Select *Run* on the menu to start a task. When a task is started, the process instance of the bot instance attached to the task is started. Also, a visual indication that both the task and the process instance are running appear surrounding the corresponding nodes, in the form of a progress ring.\r","\r","To stop a task, select *Stop* on the menu.\r","\r"]},{"type":"Trading Bot Instance","definition":"A trading bot instance is a reference to the trading bot as defined in the Masters data mine. The instance of the bot runs the defined processes and generates the defined data products.","content":["\r","\r","{{site.data.concepts.trading_bot}}\r","\r","The trading bot instance holds no definitions as to what the bot does. Instead, its process instance references the process definition in the Masters data mine. That is how the indicator bot instance obtains the information of what it needs to do once it is run.\r","\r"],"folderName":"network","adding":["\r","\r","To add a trading bot instance, select *Add Trading Bot Instance* on the task node menu. When a trading bot instance is added, it is created with one trading process instance, and a market reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","You do not start or stop a trading bot instance directly. Instead, you start or stop the corresponding task.\r","\r"]},{"type":"Sensor Process Instance","definition":"A sensor process instance is a reference to the process definition of a sensor bot, as defined in a data mine.","content":["\r","\r","For example, in the case of an instance of the Masters data mine Exchange Raw Data sensor bot, the bot process instance references the *Historic OHLCVs* process definition. Once the reference is established, the sensor process instance adopts the name of the process definition it references.\r","\r"],"folderName":"network","adding":["\r","\r","To add a sensor process instance, select *Add Sensor Process Instance* on the sensor bot instance node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","You do not start or stop a sensor process instance directly. Instead, you start or stop the corresponding task.\r","\r"]},{"type":"Indicator Process Instance","definition":"An indicator process instance is a reference to the process definition of an indicator bot, as defined in a data mine.","content":["\r","\r","Indicator bot instances usually require two indicator process instances. One of them references the indicator's *multi-period-market* process definition and the second references the *multi-period-daily* process definition.\r","\r","Once the reference is established, the indicator process instance adopts the name of the process definition it references.\r","\r"],"folderName":"network","adding":["\r","\r","To add an indicator process instance, select *Add Indicator Process Instance* on the indicator bot instance node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","You do not start or stop an indicator process instance directly. Instead, you start or stop the corresponding task.\r","\r"]},{"type":"Trading Process Instance","definition":"A trading process instance is a reference to the process definition of the trading bot, as defined in the Masters data mine.","content":["\r","\r","The trading process instance must reference the *Multi-Period* process definition of the Jason trading bot in the Masters data mine.\r","\r"],"folderName":"network","adding":["\r","\r","To add a trading process instance, select *Add Trading Process Instance* on the trading bot instance node menu. When a trading process instance is added, it is created with a market reference.\r","\r","{% include note.html content=\"After adding a trading process instance node, make sure you establish the reference to the *Multi-Period* process definition of the Jason trading bot in the Masters data mine.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","You do not start or stop a trading process instance directly. Instead, you start or stop the corresponding task.\r","\r"]},{"type":"Backtesting Session","definition":"A backtesting session is a trading mode by which the trading bot instance reads historic market data in a user-defined datetime range, applies the rules defined in the associated trading system, and generates a trading simulation.","content":["\r","\r","A backtesting session node must reference a trading system to gain access to the trading logic to be applied during the session. Other considerations framing the session come from the set of parameters attached to it.\r","\r"],"folderName":"network","adding":["\r","\r","To add a backtesting session, select *Add Backtesting Session* on the trading process instance node menu. When a session is added, it is created with the full set of parameters.\r","\r","{% include note.html content=\"After adding a session node, make sure you establish a reference to the trading system you want it to work with.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Session* on the menu to access the configuration.\r","\r","```json\r","{\r","\"folderName\": \"Session-Name\"\r","}\r","```\r","\r","* ```folderName``` allows you to set a significant name to the folder in which the data products—and logs—generated by the session are stored. If left blank, the system names the folders with the session id. This may be handy when you intend to consult the raw data generated by the session, as, otherwise, the folder would be hard to identify.\r","\r"],"starting":["\r","\r","Before you start a backtesting session, the corresponding task needs to be running, as it is the task that puts the trading bot instance to run. Once the trading bot instance is running, select *Run* on the menu to start the session.\r","\r","After a few seconds, a literal indication of the progress of the calculations appears below the session node, displaying the date that is currently being processed. Once the calculation is finished, the session stops and the date below the session node dissapears.\r","\r","To stop a backtesting session, select *Stop* on the menu.\r","\r"]},{"type":"Trading Engine","definition":"The trading engine hierarchy is the data structure used by the trading bot to keep runtime information highly accessible and exposed to others.","content":["\r","\r","You will use this hierarchy for two main purposes:\r","\r","* **To let your trading systems access the information processed by the trading bot.** This allows strategies to keep track of and react to current and past events—including those involving the exchange, such as orders placed or filled—as the bot is running.\r","\r","* **To keep track of the actions of the trading bot via the design space visual environment and panels over the charts.** By analyzing runtime information, you may gain a detailed understanding of what happens, when, and why, throughout a trading session.\r","\r","The hierarchy exposes—literally—all the information processed by the trading bot, providing a comprehensive feedback loop to trading systems and analysis capabilities to users.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","{% include tip.html content=\"There may be more than one trading engine in a workspace. Cloning the default trading engine is the best way to start a new one.\" %}\r","\r","To add the {{ title | downcase }} node from scratch, select *Add Trading Engine* on the workspace node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Dynamic Indicators","definition":"","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Indicator Function","definition":"","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Episode","definition":"Episode is the object that handles the information corresponding to the whole run of the trading bot—beginning to end—between the specified initial datetime and final datetime, in the time range parameter of the trading session.","content":["\r","\r","In other words, episode is the context framed between the datetimes that make up the whole trading session, as per the session's configuration. As such, an episode keeps track of—and accumulates—the results of all positions entered throughout a complete run of a trading session.\r","\r","In this section of the hierarchy, you have access to:\r","\r","* **[running balances and overall performance metrics](suite-trading-engine-accounts-and-metrics.html)** denominated in both the base and quoted assets;\r","\r","* **[counters](suite-trading-engine-counters.html)**, such as the number of positions taken, orders placed, hits, fails, and so on;\r","\r","* **[statistics](suite-trading-engine-statistics.html)**, such as performance metrics consolidating both assets, number of days in the episode, or user-defined statistics;\r","\r","* **[the distance to certain events](suite-trading-engine-distance-to-event.html)**, such as the number of candles to the last take position event, or the last create order event;\r","\r","* **[rates describing each candle](suite-trading-engine-candle.html)** in the episode, such as the open, close, min and max rates;\r","\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Episode Counters","definition":"The episode counters node features counters of instances of objects that come to exist during the duration of the episode.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Position Counters","definition":"The position counters node features counters of instances of objects that come to exist during the duration of the position.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy Counters","definition":"The strategy counters node features counters of instances of objects that come to exist while the strategy is open.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Order Counters","definition":"The order counters node features counters of instances of objects that come to exist while the order is open.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Positions","definition":"Positions counts the number of times positions have been opened, in the context of the parent node.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategies","definition":"Strategies counts the number of times strategies have been triggered-on, in the context of the parent node.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Orders","definition":"Orders counts the number of times orders have been placed, in the context of the parent node.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Fails","definition":"Fails counts the number of positions that closed with a negative profit loss, in the context of the parent node.","content":["\r","\r","{% include note.html content=\"The workings of the fail counts are analogous to the workings of the hits counts, reversing the sign. That is, when profit loss is negative, it is counted as a fail. Please refer to the definition of *hits* for the details.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Hits","definition":"Hits counts the number of positions that closed with a positive profit loss, in the context of the parent node.","content":["\r","\r","In the context of the quoted asset or the base asset, *hits* are calculated relative to the asset in question. That is, if the base asset profit loss is positive, then a hit is counted for the base asset.\r","\r","However, when the context of the asset is not specified—such as under the statistics node—then *hits* are calculated in a consolidated manner, converting the respective balances to perform the calculations. \r","\r","{% include note.html content=\"The consolidated calculations are explained thoroughly in the profit loss node.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Periods","definition":"Periods counts the number of candles that have been evaluated, in the context of the parent node.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"User Defined Counter","definition":"","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Episode Statistics","definition":"Episode statistics keeps track of several metrics in the context of the episode.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Stop Loss","definition":"Stop loss is the current stop loss target, as defined in the manage stage of the corresponding strategy.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Take Profit","definition":"Take profit is the current take profit target, as defined in the manage stage of the corresponding strategy.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Stop Loss Phase","definition":"Stop loss phase is the numeric value of the phase that is currently open, and thus, defining the value of the stop loss.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Take Profit Phase","definition":"Take profit phase is the numeric value of the phase that is currently open, and thus, defining the value of the take profit.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Take Profit Position","definition":"Take profit position indicates if the take profit target is above or below the position rate.","content":["\r","\r","Possible values are ```Above``` and ```Below```.\r","\r","The implications of setting the take profit target above or below the position rate are explained on the trading system section of the documentation, in particular while describing the [initial target rate definition](suite-strategies-open-targets.html#target-rate).\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Stop Loss Position","definition":"Stop Loss position indicates if the stop loss target is above or below the position rate.","content":["\r","\r","Possible values are ```Above``` and ```Below```.\r","\r","The implications of setting the stop loss target above or below the position rate are explained on the trading system section of the documentation, in particular while describing the [initial target rate definition](suite-strategies-open-targets.html#target-rate).\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Position Statistics","definition":"Position statistics keeps track of several metrics in the context of the position.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Stage Base Asset","definition":"The stage base asset node keeps track of the evolution of variables related to the base asset throughout the stage.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Stage Quoted Asset","definition":"The stage quoted asset node keeps track of the evolution of variables related to the quoted asset throughout the stage.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Episode Base Asset","definition":"The episode base asset node keeps track of the evolution of variables and metrics denominated in the base asset, throughout the episode.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Episode Quoted Asset","definition":"The episode quoted asset node keeps track of the evolution of variables and metrics denominated in the quoted asset, throughout the episode.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Position Base Asset","definition":"The position base asset node keeps track of the evolution of variables related to the base asset throughout the position.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Position Quoted Asset","definition":"The position quoted asset node keeps track of the evolution of variables related to the quoted asset throughout the position.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Order Statistics","definition":"Order statistics keeps track of several metrics in the context of the order.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Order Base Asset","definition":"The order base asset node keeps track of the evolution of certain properties of orders, denominated in the base asset.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Order Quoted Asset","definition":"The order quoted asset node keeps track of the evolution of certain properties of orders, denominated in the quoted asset.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"User Defined Statistic","definition":"A user defined statistic allows users to create custom metrics by defining the corresponding calculation in a formula, in the context of the parent node.","content":["\r","\r","The current contexts in which custom statistics may be defined are episodes, positions, and orders.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Profit Loss","definition":"Profit loss is the difference between the balance at the end and the balance at the beginning of a certain period, given by the context.","content":["\r","\r","In the context of the base asset or the quoted asset, the calculation is done by subtracting the balances in the corresponding assets, using the variable appropriate to the larger context (i.e.: episode, position, etc.).\r","\r","*In general terms:*\r","\r","* ```base asset profit loss = base asset end balance - base asset begin balance```\r","\r","* ```quoted asset profit loss = quoted asset end balance - quoted asset begin balance```\r","\r","*In the case of the episode base asset and episode quoted asset:*\r","\r","```\r","tradingEngine.current.episode.episodeBaseAsset.profitLoss.value =\r"," tradingEngine.current.episode.episodeBaseAsset.balance.value -\r"," sessionParameters.sessionBaseAsset.config.initialBalance\r"," \r","tradingEngine.current.episode.episodeQuotedAsset.profitLoss.value =\r"," tradingEngine.current.episode.episodeQuotedAsset.balance.value -\r"," sessionParameters.sessionQuotedAsset.config.initialBalance\r","```\r","\r","*In the case of the position base asset and position quoted asset:*\r","\r","```\r","tradingEngine.current.position.positionBaseAsset.profitLoss.value =\r"," tradingEngine.current.episode.episodeBaseAsset.balance.value -\r"," tradingEngine.current.position.positionBaseAsset.beginBalance\r"," \r","tradingEngine.current.position.positionQuotedAsset.profitLoss.value =\r"," tradingEngine.current.episode.episodeQuotedAsset.balance.value -\r"," tradingEngine.current.position.positionQuotedAsset.beginBalance\r","```\r","\r","In the context of the episode statistics or the position statistics, the calculation is done consolidating the profits of both assets. \r","\r","{% include note.html content=\"When the context does not refer to either of the assets in particular, then both assets are taken into account in the calculation.\" %}\r","\r","*In the context of the episode statistics:*\r","\r","```\r","tradingEngine.current.episode.episodeStatistics.profitLoss.value =\r"," tradingEngine.current.episode.episodeBaseAsset.profitLoss.value * \r"," tradingEngine.current.episode.candle.close.value +\r"," tradingEngine.current.episode.episodeQuotedAsset.profitLoss.value\r","```\r","\r","*In the context of the position statistics:*\r","\r","```\r","tradingEngine.current.position.positionStatistics.profitLoss.value =\r"," tradingEngine.current.episode.episodeBaseAsset.profitLoss.value * \r"," tradingEngine.current.position.endRate.value +\r"," tradingEngine.current.episode.episodeQuotedAsset.profitLoss.value\r","```\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Hit Ratio","definition":"Hit ratio is the percentage of positions that closed with a positive profit loss, in the context of the parent node.","content":["\r","\r","Hit ratio results from multiplying the number of hits by 100 and dividing it by the number of positions: ```hit ratio = hits * 100 / positions```.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Days","definition":"Days counts the number of days through which the trading bot has cycled since the object represented by the parent node was open.","content":["\r","\r","In the context of an episode, it counts the number of days in the episode.\r","\r","In the context of a position, it counts the number of days a position has been open.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Size Filled","definition":"Size filled is the amount of the order that has been filled at the exchange.","content":["\r","\r","In the context of a strategy stage, the size filled refers to the sum of the size filled for all orders placed on the corresponding stage.\r","\r","In the context of an order, it refers to the size filled for the particular order.\r","\r","Upon each execution of the trading bot, the system asks the exchange about the status of the orders placed, and the exchange reports back with the size filled and the actual rate at which orders are filled.\r","\r","In liquid markets, market orders should usually fill immediately. However, limit orders may fill incrementally. Size filled keeps track of how much of the size placed has been filled on every execution.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Percentage Filled","definition":"Percentage filled represents the portion of the order that has been filled, expressed as a percentage.","content":["\r","\r","*The formula:*\r","\r","```percentage filled = size filled * 100 / size```\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Actual Rate","definition":"Actual rate is the number reported by the exchange as the rate at which an order was filled.","content":["\r","\r","When the system consults the status of open orders with the exchange, the exchange responds with the size filled and the actual rate for the particular order. In case an order is filled incrementally, the value is updated accordingly. \r","\r","The system uses the actual rate to update the calculation of balances, which are otherwise calculated with the original rate, by default.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Fees Paid","definition":"Fees paid is the amount paid in fees.","content":["\r","\r","The exchange does not explicitly indicate how much has been paid in fees for a given transaction. Instead, when Superalgos verifies if an order has been filled or not, the exchange reports the size filled and the actual rate only.\r","\r","{% include callout.html type=\"success\" content=\"Exchange fees are *estimated* using the *fee structure* parameter set for the trading session. It is, therefore, important to set the correct values for that parameter.\" %}\r","\r","Exchanges deduct fees from the asset you are receiving. For instance, if you are selling BTC in the BTC-USDT market, then you are receiving USDT, and the exchange will deduct the fees directly from the amount of USDT you are receiving.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"ROI","definition":"ROI is a ratio that compares the profit loss with the cost of the investment, expressed as a percentage."},{"type":"Annualized Rate Of Return","definition":"Annualized rate of return is the equivalent ROI scaled to one year.","content":["\r","\r","In other words, it is the equivalent annual return received over a given period.\r","\r","*The formula:*\r","\r","```annualized rate of return = (((investment + profits) / investments) ^ (365 / days)) - 1```\r","\r","In the context of the episode base asset and episode quoted asset, the calculation is done relative to the corresponding assets, and the overall context.\r","\r","*The formulas:*\r","\r","```\r","tradingEngine.current.episode.episodeBaseAsset.annualizedRateOfReturn.value = \r","((( tradingEngine.current.episode.episodeBaseAsset.beginBalance.value +\r","tradingEngine.current.episode.episodeBaseAsset.profitLoss.value ) / \r","tradingEngine.current.episode.episodeBaseAsset.beginBalance.value) ^\r","(365 / tradingEngine.current.episode.episodeStatistics.days.value)) - 1\r","\r","tradingEngine.current.episode.episodeQuotedAsset.annualizedRateOfReturn.value = \r","((( tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value +\r","tradingEngine.current.episode.episodeQuotedAsset.profitLoss.value ) / \r","tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value) ^\r","(365 / tradingEngine.current.episode.episodeStatistics.days.value)) - 1\r","```\r","\r","*The JavaScript code:*\r","\r","```js\r","tradingEngine.current.episode.episodeBaseAsset.annualizedRateOfReturn.value = \r","Math.pow(\r"," ( tradingEngine.current.episode.episodeBaseAsset.beginBalance.value +\r"," tradingEngine.current.episode.episodeBaseAsset.profitLoss.value ) / \r"," tradingEngine.current.episode.episodeBaseAsset.beginBalance.value\r"," , \r"," (365 / tradingEngine.current.episode.episodeStatistics.days.value)\r"," ) - 1\r","\r","tradingEngine.current.episode.episodeQuotedAsset.annualizedRateOfReturn.value = \r","Math.pow(\r"," ( tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value +\r"," tradingEngine.current.episode.episodeQuotedAsset.profitLoss.value ) / \r"," tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value\r"," , \r"," (365 / tradingEngine.current.episode.episodeStatistics.days.value)\r"," ) - 1\r","```\r","\r","In the context of the episode statistics, the calculation is done using the consolidated balance, as explained in the profit loss definition. \r","\r","{% include note.html content=\"When the context does not refer to either of the assets in particular, then both asset balances are consolidated, and denominated in the quoted asset.\" %}\r","\r","*The JavaScript code:*\r","\r","```js\r","tradingEngine.current.episode.episodeStatistics.annualizedRateOfReturn.value =\r","Math.pow(\r"," (\r"," tradingEngine.current.episode.episodeBaseAsset.beginBalance.value * \r"," tradingEngine.current.episode.beginRate.value +\r"," tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value +\r"," tradingEngine.current.episode.episodeBaseAsset.profitLoss.value +\r"," tradingEngine.current.episode.episodeQuotedAsset.profitLoss.value\r"," ) / \r"," (\r"," tradingEngine.current.episode.episodeBaseAsset.beginBalance.value * \r"," tradingEngine.current.episode.beginRate.value +\r"," tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value \r"," ) \r"," , \r"," (\r"," 365 / tradingEngine.current.episode.episodeStatistics.days.value\r"," ) \r"," ) - 1\r","```\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Hit Fail","definition":"Hit fail states whether a transaction is successful or not, hit meaning it is successful and fail meaning it is not.","content":["\r","\r","Superalgos marks positions and even entire episodes as hits or fails, by evaluating profit loss for the corresponding context. If profit loss is positive, then the position or episode is a hit. If profit loss is negative, it is a fail.\r","\r","{% include note.html content=\"Please refer to the definition of *hits* for the details.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Current","definition":"The current object refers to the context in which instances of several other objects exist—like episode, strategy, position, strategy stages, and so on—in particular, the instances that are open at the time of evaluation, hence the adjective current.","content":["\r","\r","Conceptually, current is used as an adjective applied to different concepts, such as the current episode, the current strategy, the current position, or the current strategy stage, to indicate the instance that is passing at the moment.\r","\r","The generation of offspring nodes under the current section of the hierarchy keeps track of information within the scope of the embodied concept: episode, strategy, position, and so on. \r","\r","In other words, the episode, strategy and position nodes within the current section of the hierarchy feature information relative to the instances of the episode, strategy, and position that are currently passing, at any point in time.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the current node, select *Add Missing Items* on the trading engine node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Balance","definition":"Balance is the running balance, that is, the amount of the asset that exists at any point in time.","content":["\r","\r","The balance of an asset changes every time an order involving the asset is filled. When the trading bot consults the exchange to find out the status of each order placed, the exchange answers with the size filled and actual rate for the order. That is the information used to calculate balances.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Begin Balance","definition":"Begin balance is the balance at the datetime of the begin property of the parent node or concept.","content":["\r","\r","In the context of an episode, it is the balance at the datetime the episode started.\r","\r","In the context of a position, it is the balance at the datetime the position started.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"End Balance","definition":"End balance is the balance at the datetime of the end property of the parent node or concept.","content":["\r","\r","In the context of an episode, it is the balance at the datetime the episode ended.\r","\r","In the context of a position, it is the balance at the datetime the position was closed.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Distance To Event","definition":"Distance to event features counters indicating how many periods (candles) have passed since the last occurrence of certain events, in the context of the episode.","content":["\r","\r","The information may be used from within strategies, for example, to leave a cool-down period in-between positions, to separate orders in specific intervals, or to achieve any particular logic that may require counting how much time has passed since the last time a specific event was triggered.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trigger On","definition":"Counts the periods since the last time a strategy was triggered on.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trigger Off","definition":"Counts the periods since the last time a strategy was triggered off.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Take Position","definition":"Counts the periods since the last time a position was taken.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Close Position","definition":"Counts the periods since the last time a position was closed.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Next Phase","definition":"Counts the periods since the last time a next phase event was triggered.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Move To Phase","definition":"Counts the periods since the last time a move to phase event was triggered.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Create Order","definition":"Counts the periods since the last time an order was created.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Cancel Order","definition":"Counts the periods since the last time an order was canceled.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Close Order","definition":"Counts the periods since the last time an order was closed.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy Trigger Stage","definition":"Strategy trigger stage is the section of the data structure that keeps track of information specific to the scope of the trigger stage during the period the stage is open.","content":["\r","\r","The trigger stage is active from the instant the trigger-on event is triggered until either the trigger-off event or the take position event gets triggered. Therefore, this section of the data structure features information spaning those periods only.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy Manage Stage","definition":"Strategy manage stage is the section of the data structure that keeps track of information specific to the scope of the manage stage during the period the stage is open.","content":["\r","\r","The manage stage is active from the instant the take position event is triggered until the instant either the stop or take profit targets are hit.\r","\r","Therefore, this section of the data structure features information spaning those periods only.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy Open Stage","definition":"Strategy open stage is the section of the data structure that keeps track of information specific to the scope of the open stage during the period the stage is open.","content":["\r","\r","The open stage is open from the instant the take position event gets triggered, and starts closing from the instant one of the following things happen:\r","\r","* the target size is filled, \r","\r","* the close stage event is triggered, \r","\r","* the take profit or stop loss targets are hit. \r","\r","Therefore, this section of the data structure features information spaning those periods only.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy Close Stage","definition":"Strategy close stage is the section of the data structure that keeps track of information specific to the scope of the close stage during the period the stage is open.","content":["\r","\r","The close stage is active from the instant either the stop loss or take profit targets are hit until the instant the target size is filled or the close stage event is triggered.\r","\r","Therefore, this section of the data structure features information spaning those periods only.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy","definition":"The strategy section of the trading engine keeps track of information relating to the trading strategies that are triggered-on, during the time they remain open.","content":["\r","\r","The strategy node is available both in the current context and the last context, that is, you may retrieve information of the strategy that was last triggered or the one currently open.\r","\r","A strategy is open from the instant it is triggered-on until the instant it is triggered-off. Therefore, this section of the data structure features information spaning those periods only.\r","\r","This section provides all the basic details about the strategy, which is particularly useful when the trading system features multiple strategies. It also provides information about the context, that is, what is going on with the market at the time strategies are triggered-on and off.\r","\r","Most interestingly, the strategy section provides information such as which situation was responsible for triggering the strategy. This may be particularly useful in complex strategies in which the trigger on event may be defined by multiple situations.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy Name","definition":"Strategy name features the name of the strategy that is currently open.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Index","definition":"Index is the position of the parent object in the corresponding data collection, as determined by the context.","content":["\r","\r","In the context of a candle, *index* is the position of the current candle in the array of candles within the larger context, for example, an episode.\r","\r","Trading systems may feature more than one strategy. In the context of a strategy, *index* is the position of the strategy within the trading system. \r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Status","definition":"Status refers to the state of the object represented by the parent node at the moment of evaluation.","content":["\r","\r","There are three possible status:\r","\r","* ```Not Open```: the object is not open at the current candle.\r","\r","* ```Open```: the object is open at the current candle.\r","\r","* ```Closed```: the object closes at the current candle.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Situation Name","definition":"Situation name features the name of the situation that triggered a certain event, which is dependent on the context.","content":["\r","\r","In the context of a strategy, it is the name of the situation that triggered-on the strategy.\r","\r","In the context of a position, it's the name of the situation that triggered the take position event.\r","\r","In the context of an order, it's the situation that triggered the create order event.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Algorithm Name","definition":"Algorithm name is the name of the execution algorithm that opened the order, as specified in the trading system.","content":["\r","\r","Assigning names to execution algorithms in the definition of the trading system makes tracking the execution of orders easier.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Order Name","definition":"Order name is the name of the order as specified in the trading system.","content":["\r","\r","Assigning names to orders in the definition of the trading system makes tracking the execution of orders easier.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Serial Number","definition":"Serial number is a sequential number assigned to the object represented by the parent node at the moment it is opened.","content":["\r","\r","Serial numbers start at 1 and increment by 1 with each intance of the object that is opened.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Identifier","definition":"Identifier is a unique alphanumeric string by which the object represented by the parent node may be unequivocally identified.","content":["\r","\r","The property is what would be used to access a specific known record.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Id","definition":"Exchange ID is a unique identifier the exchange assigns to the order, so that it may be unequivocally identified.","content":["\r","\r","By default, it is the rate at the close of the last candle at the moment the order is placed. All market orders have the default rate value.\r","\r","In the case of limit orders, it is the rate as specified by the formula under the order rate node. If no such definition exists, then limit orders use the default value as well.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Lock","definition":"Lock is an internal mechanism that blocks the data structure of the order at the trading engine when the definition of the order at the trading system disallows spawning multiple orders.","content":["\r","\r","Possible values for lock are ```open``` and ```closed```.\r","\r","The moment an order is closed, the system checks the ```spawnMultipleOrders``` parameter at the order's configuration in the trading system. If the value is ```false```, the system sets the lock to ```closed``` so that the data structure may not be used again during the same position.\r","\r","At the moment of opening an order, the system checks the ```spawnMultipleOrders``` parameter at the order's configuration in the trading system. If the value is ```false```, the system checks the value of the lock. If the value is ```open```, then it may create the order; if it is ```closed``` then the order may not be created.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Begin","definition":"Begin is the datetime at the moment the object represented by the parent node began to exist.","content":["\r","\r","In the context of a candle, it is the datetime of the open of the candle as provided by the exchange.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"End","definition":"End is the datetime on which the object represented by the parent node ceased to exist. In case the object has not been closed yet, it is the datetime at the moment of evaluation.","content":["\r","\r","In the context of a candle, it is the datetime of the close of the candle as provided by the exchange.\r","\r","In every other context, the datetime is given by the datetime of the moment of evaluation. When evaluating a point in time in which the object remains open, *end* stores the datetime of that moment, because the object existed until that point in time when the value was last being updated. Once the object is closed, the end value is not modified again.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Open","definition":"Open is the rate at the datetime of the begin property, as provided by the exchange. That is, the rate at the open of the candle.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Close","definition":"Close is the rate at the datetime of the end property, as provided by the exchange. That is, the rate at the close of the candle.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Min","definition":"Min is the minimum rate registered by the exchange during the period between the datetimes of the begin and end properties, as provided by the exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Max","definition":"Max is the maximum rate registered by the exchange during the period between the datetimes of the begin and end properties, as provided by the exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Begin Rate","definition":"Begin rate is the close rate of the candle corresponding to the datetime of the begin property.","content":["\r","\r","In the context of a strategy, it is the close rate of the last closed candle at the moment the strategy was triggered.\r","\r","In the context of a position, it is the close rate of the last closed candle at the moment the take position event was triggered.\r","\r","In the context of an episode, it is the close rate of the last closed candle at the moment the episode starts.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"End Rate","definition":"End rate is the close rate of the candle corresponding to the datetime of the end property.","content":["\r","\r","In the context of a strategy, it is the close rate of the last closed candle at the moment the strategy is triggered-off.\r","\r","In the context of a position, it is the close rate of the last closed candle at the moment the close stage is closed.\r","\r","In the context of an episode, it is the close rate of the last closed candle at the moment the episode ends.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Position","definition":"Position is the section of the data structure that keeps track of information within the scope of each position, and during the time a position is open.","content":["\r","\r","The position node is available both in the current context and the last context, that is, you may retrieve information of the position that was last opened or the one currently open.\r","\r","A position is open from the instant the take position event is triggered until the instant the close stage is closed. Therefore, this section of the data structure features information spaning those periods only.\r","\r","In this section of the hierarchy, you have access to:\r","\r","* **[balances and position performance metrics](suite-trading-engine-accounts-and-metrics.html)** denominated in both the base and quoted assets;\r","\r","* **[counters](suite-trading-engine-counters.html)**, such as the number of periods the position has been open;\r","\r","* **[statistics](suite-trading-engine-statistics.html)**, such as performance metrics consolidating both assets, or user-defined statistics;\r","\r","* **[the distance to certain events](suite-trading-engine-distance-to-event.html)**, such as the number of candles to the last take position event, or the last create order event;\r","\r","* **[rates describing each candle](suite-trading-engine-candle.html)** in the episode, such as the open, close, min and max rates;\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Rate","definition":"Rate is the rate at which the order is placed.","content":["\r","\r","By default, it is the rate at the close of the last candle at the moment the order is placed. All market orders have the default rate value.\r","\r","In the case of limit orders, it is the rate as specified by the formula under the order rate node. If no such definition exists, then limit orders use the default value as well.\r","\r","The rate is used by the system for all internal calculations affecting the accounts kept in both assets.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Entry Target Rate","definition":"Entry target rate is the target rate set on the initial targets definition, in the open stage of the strategy.","content":["\r","\r","Refresh this concepts by reading about the [initial target definitions](suite-strategies-open-targets.html) at the trading system.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exit Target Rate","definition":"Exit target rate is the target rate set on the initial targets definition, in the close stage of the strategy.","content":["\r","\r","Refresh this concepts by reading about the [initial target definitions](suite-strategies-open-targets.html) at the trading system.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Stage Defined In"},{"type":"Size","definition":"Size is the size set for the order through a combination of formulas and configurations defined in the trading system, and is the value passed on to the exchange as the size of the order.","content":["\r","\r","The system provides a flexible and robust infrastructure to control execution. The size of a single order results from the combination of multiple settings.\r","\r","* **The target size in base asset or target size in quoted asset**: The formulas under these nodes define the absolute maximum size allowed for the position. The implications of using one or the other are explained under the initial targets node in the open stage.\r","\r","* **The configuration of the execution algorithm**: The parameter ```percentageOfStageTargetSize``` determines what fraction of the target size the algorithm will attempt to execute.\r","\r","* **The configuration of the order**: The parameter ```percentageOfAlgorithmSize``` determines what fraction of the size handled by the algorithm the order shall be constrained to.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Entry Target Size","definition":"Entry target size is the target size set on the initial targets definition, in the open stage of the strategy.","content":["\r","\r","Refer to the explanations on the entry target size for some relevant context.\r","\r","Refresh this concepts by reading about the [initial target definitions](suite-strategies-open-targets.html) at the trading system.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exit Target Size","definition":"Exit target size is the target size set on the initial targets definition, in the close stage of the strategy.","content":["\r","\r","Both entry and exit target sizes may be defined either denominated in the base asset or the quoted asset. Nevertheless, the sytem keeps track of target sizes in both assets. If the target is defined denominated in the base asset, then the target for the quoted asset is calculated using the current rate, and viceversa.\r","\r","Refresh this concepts by reading about the [initial target definitions](suite-strategies-open-targets.html) at the trading system.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Size Placed","definition":"Size placed is the size of the order placed at the exchange.","content":["\r","\r","In the context of a strategy stage, the size placed refers to the sum of the sizes placed for all orders placed on the corresponding stage.\r","\r","In the context of an order, it refers to the size placed for the particular order.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Target Size","definition":"Target size is the target set on the initial targets definition which, in the context of a strategy stage, acts as a limit.","content":["\r","\r","Both the close and open stages may have multiple execution algorithms, each with multiple orders defined. In this context, the target size acts as a limit, as it is defined by the user as the maximum size allowed for any given position.\r","\r","Before placing an order, the system makes sure that the size limit embodied in the target size would not be breached by opening a new order.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exit Type","definition":"Exit type refers to the reason why the object is closed.","content":["\r","```No Exit``` is the default value until a new value is assigned before the object is closed. Other possible values vary with the context.\r","\r","In the context of the episode object:\r","\r","* ```Last Candle Reached```: the object was closed because the last candle was reached.\r","\r","In the context of the strategy object:\r","\r","* ```Position Closed```: the position was closed.\r","\r","In the context of the position object:\r","\r","* ```Take Profit```: the take profit target was hit.\r","\r","* ```Stop Loss```: the stop loss target was hit.\r","\r","In the context of an order:\r","\r","* ```Closing Stage```: the current stage started closing because the Close Stage is opening.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Process Date"},{"type":"Head Of The Market"},{"type":"Last","definition":"The last object stores instances of position and strategy objects, in particular the instances that were last open at the time of evaluation, hence the adjective last.","content":["\r","\r","Conceptually, last is used as an adjective applied to these concepts, such as the last position or the last strategy, providing the context on which those concepts exist.\r","\r","The *last* context exists so that you may easily access information about the strategy that was last triggered or the position that was last opened. \r","\r","This is valuable information, both for users and trading systems alike.\r","\r","* As a user, you will value being able to visually follow what happened with the last position after it closed, or the last strategy after it triggered off, and at the same time see what is going on with the current position or the current strategy.\r","\r","* From within a trading system, your strategies may make decisions factoring in what happened with the last position or strategy. For example, you may want to affect the size of the next position depending on the result of the last one.\r","\r","If you can code, you may actually access any object that was open in the past at any point in time, and not just the last one.\r","\r","\r","\r","\r","\r","\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Candle","definition":"The candle structure of nodes stores the properties that make up each candle in the episode, including open and close datetime, and the rates for open, min, max, and close.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Cycle","definition":"The trading bot performs its duties in regards to exchange orders and accounts in two consecutive cycles for each candle.","content":["\r","\r","In the first cycle, it checks the status of orders at the exchange, synchronizes the accounts, and verifies if conditions to place new orders are met.\r","\r","In the second cycle, it creates the orders at the exchange, provided conditions where met on the previous cycle.\r","\r","The two possible values for the cycle node are ```First``` and ```Second```.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Orders","definition":"Exchange orders is the section of the data structure that keeps track of orders of all types.","content":["\r","\r","The function of this section of the trading engine is to provide the data structure to hold the information of orders as they are open and closed. \r","\r","Orders are organized by type, such as market orders and limit orders, and also by the type of transaction, such as buy or sell orders.\r","\r","Each section of the hierarchy must have the definition of as many orders of each type as the trading system is capable of placing concurrently. For example, if the execution algorithm may place up to three limit buy orders to open a position, then three limit orders must exist under the limit buy orders section of the hierarchy. Each order defined in the trading system must reference the data structure of a matching type of order in the trading engine.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Buy Orders","definition":"Market buy orders is the section of the data structure that keeps track of this specific type of order.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Order","definition":"Market order is the section of the data structure that keeps track of the properties of a specific market order, as defined in the trading system.","content":["\r","\r","Each market order defined in the trading system must reference the data structure of a market order in the trading engine.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Sell Orders","definition":"Market sell orders is the section of the data structure that keeps track of this specific type of order.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Limit Buy Orders","definition":"Limit buy orders is the section of the data structure that keeps track of this specific type of order.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Limit Sell Orders","definition":"Limit sell orders is the section of the data structure that keeps track of this specific type of order.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Limit Order","definition":"Limit order is the section of the data structure that keeps track of the properties of a specific limit order, as defined in the trading system.","content":["\r","\r","Each limit order defined in the trading system must reference the data structure of a limit order in the trading engine.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Parameters","definition":"Parameters are properties of trading sessions, defined by users, to determine their behavior and improve the quality of simulations.","content":["\r","\r","The behavior of parameters may vary depending on the type of session.\r","\r","Each testing session has its own set of parameters. This allows you to configure different trading sessions with different parameters, and go back and forth between them as required. For instance, you may have different backtesting sessions with different date ranges, different exchange fees or different slippage settings to account for different possible scenarios.\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a parameters node, select *Add Parameters* on the session or the trading system menu, depending on the context. When a parameters node is added, the full set of parameters are created with it.\r","\r","If you already have a parameters node but are missing some of the parameters, then select *Add Missing Params* on the menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading System Reference","definition":"A trading engine reference determines which trading system shall be evaluated by the trading bot to run the trading session.","content":["\r","\r","In other words, the trading system reference lets the process instance know which trading rules to process for the given session.\r","\r"],"folderName":"network","adding":["\r","\r","To add a trading ensystemgine reference, select *Add Missing Children* on the trading session node menu.\r","\r","{% include note.html content=\"After adding a trading system reference node, make sure you establish the reference to the corresponding trading system hierarchy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Engine Reference","definition":"A trading engine reference determines which trading engine the trading bot shall use to structure the data it processes while running the trading session.","content":["\r","\r","In other words, the trading engine reference lets the process instance know which data structure to use to store information related to the trading session. This means that a workspace may have more than one trading engine.\r","\r"],"folderName":"network","adding":["\r","\r","To add a trading engine reference, select *Add Missing Children* on the trading session node menu.\r","\r","{% include note.html content=\"After adding a trading engine reference node, make sure you establish the reference to the corresponding trading engine hierarchy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Session Base Asset","definition":"The base asset is the asset whose price is determined by the market. It is usually the first asset in the pair, as listed by the exchange.","adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r","{% include note.html content=\"After adding a base asset node, make sure you establish a reference to the asset in a specific market of a specific exchange in the Crypto Ecosystem hierarchy.\" %}\r","\r"],"folderName":"network","configuring":["\r","\r","Select *Configure Base Asset* on the menu to access the configuration.\r","\r","```json\r","{\r","\"initialBalance\": 0.001,\r","\"minimumBalance\": 0.0001,\r","\"maximumBalance\": 0.1\r","}\r","```\r","\r","* ```initialBalance``` is the amount of capital you wish to allocate to the trading system.\r","\r","* ```minimumBalance``` is the threshold of accummulated losses that switches off the session; when your overall balance (balanceAssetA + balanceAssetB) drops to this value, all trading stops; think of the ```minimumBalance``` as a general safety switch.\r","\r","* ```maximumBalance``` is a similar concept as with the ```minimumBalance``` but on the high side of the ```initialBalance```.\r","\r","\r"]},{"type":"Session Quoted Asset","definition":"The quoted asset is the asset on which the price of the base asset is denominated in the market. It is usually the second asset in the pair, as listed by the exchange.","content":["\r","\r","The parameter allows defining an initial balance of the corresponding asset, which may be used for trading with the corresponding trading system and trading session. Please see the configuration.\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r","{% include note.html content=\"After adding a quoted asset node, make sure you establish a reference to the second asset in the same market of the same exchange as the reference established with the base asset.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Base Asset","definition":"The market base asset is the asset in the pair used to provide a quote—a price—for the quoted asset, as listed at the exchange.","content":["\r","\r","A market base asset must reference an asset defined under the exchange assets node.\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add a market base asset, select *Add Market Base Asset* on the market node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with an asset defined under the exchange assets node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Quoted Asset","definition":"The market quoted asset is the asset in the pair for which a quote is given, denominated in the base asset, as listed at the exchange.","content":["\r","\r","A market quoted asset must reference an asset defined under the exchange assets node.\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add a market quoted asset, select *Add Market Quoted Asset* on the market node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with an asset defined under the exchange assets node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Time Range","definition":"The time range parameter determines the period of time on which the trading session is run.","content":["\r","\r","The parameter offers precise control over the duration, starting and ending points of the session. Several options are available, and there are differences in how backtesting and the rest of the types of trading sessions function in this regard. \r","\r","Check the configuration to learn more.\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Time Range* on the menu to access the configuration. The configuration varies slightly depending on the type of session you are running.\r","\r","{{include.configuring}}# On Backtesting Sessions\r","\r","```json\r","{\r","\"initialDatetime\": \"2019-09-01T00:00:00.000Z\",\r","\"finalDatetime\": \"2019-09-25T00:00:00.000Z\"\r","}\r","```\r","\r","* ```initialDatetime``` is the datetime the session starts at.\r","\r","* ```finalDatetime``` is the datetime the session finishes at. If you don't set a *finalDatetime*, the session runs until the date data is available.\r","\r","{{include.configuring}}# On Paper Trading, Forward Testing and Live Trading Sessions\r","\r","```json\r","{\r","\"initialDatetime\": \"2019-09-01T00:00:00.000Z\",\r","\"finalDatetime\": \"2019-09-25T00:00:00.000Z\",\r","\"allowStartingFromThePast\": false\r","}\r","```\r","\r","* ```finalDatetime``` is the datetime the session finishes at. If you don't set a *finalDatetime* at the level of the testing session or the trading system, then the session runs for one year.\r","\r","By default, paper trading, forward testing and live trading sessions start at the datetime the session is run, that is, the present time. Such a behavior is in accordance with the most common use case, by which a user starting a new live trading session usually wishes the session to start at that moment.\r","\r","However, users have requested to be allowed to start live sessions in the past. Such a feature may be useful, for example, to take an opportunity that was just missed for whatever reason, including technical ones.\r","\r","* ```initialDatetime```, in combination with the ```allowStartingFromThePast``` parameter, is a hack to allow a live session to start from a date in the past. If there is a valid ```initialDatetime``` and ```allowStartingFromThePast``` is ```true```, then the live session effectively starts from the specified date in the past. If ```allowStartingFromThePast``` is ```false``` the ```initialDatetime``` is ignored and the session starts from the present time.\r","\r","* ```allowStartingFromThePast``` may be ```true``` or ```false```.\r","\r","{% include warning.html content=\"In the case of forward testing and live trading sessions, starting from the past may involve placing orders at the exchange while evaluating past events. That is, if conditions to take a position and place orders validate true for candles in the past, the position is taken and orders are placed.\" %}\r","\r"]},{"type":"Time Frame","definition":"The time frame determines the collection of candles to be analyzed during a backtesting session, and the frequency with which the trading bot runs on paper trading, forward testing, and live trading sessions.","content":["\r","\r","In the context of backtesting sessions, what time frame you decide to run the session depends on the trading system being tested. If the trading system makes decisions based on the 1-hour candle and above, then ```01-hs``` may be the best choice. However, if decisions are influenced by sub-hour candles then you should match the time frame accordingly.\r","\r","In other words, in backtesting sessions, you should match the time frame to the smallest period on which the trading system makes decisions.\r","\r","In the context of live sessions, that is, paper trading, forward testing, and live trading, you should run the session on the ```01-min``` time frame so that the trading bot reacts fast when the price tags the take profit or stop loss targets. Remember that stop and take profit orders are not placed at the exchange after the take position event, that is, once you enter the position. Instead, the trading bot checks the current price upon each execution cycle and determines whether targets have been hit or not. If targets are hit, only then orders are placed. That is why running live trading sessions at the ```01-min``` time frame is recommended. Learn more about the [management](suite-strategies-manage.html) of take profit and stop loss targets.\r","\r","If for whatever reason you don't need to minimize the potential for slippage when hitting stop or take profit targets, you may choose whatever time frame you like, taking into account the explanations below.\r","\r","{{include.heading}}## Why the Time Frame Matters\r","\r","{% include callout.html type=\"success\" content=\"Running trading sessions of any given trading system on different time frames may produce different results. This is because the behavior of a trading session may vary depending on how well the time frame on which the session is run matches the logic of the strategy.\" %}\r","\r","This is why:\r","\r","The trading bot evaluates closed candles only. At any given point in time, the current candle in each time frame is the candle that closed last.\r","\r","*For example:*\r","\r","Let's say it's ```2020-06-11T11:39:30:00.000Z```, that is, 11 hours, 39 minutes and 30 seconds of June 11th, 2020.\r","\r","* The current 1-minute candle is the one which closed at 11:38:59.999.\r","* The current 5-minute candle is the one which closed at 11:34:59.999.\r","* The current 30-minute candle is the one which closed at 11:29:59.999.\r","* The current 1-hour candle is the one which closed at 10:59:59.999.\r","* The current 2-hour candle is the one which closed at 09:59:59.999.\r","* The current 6-hour candle is the one which closed at 05:59:59.999.\r","* The current 24-hour candle is the one which closed at 23:59:59.999 of June 10th!\r","\r","... and so on.\r","\r","Let's say the trading system implements conditions that evaluate 30-minute and 1-hour candles.\r","\r","If a session is run at the 30-minutes time frame, all 30-minutes candles are evaluated. Also, all 1-hour candles are evaluated twice.\r","\r","However, if the session is run at the 1-hour time frame, only one out of two 30-minute candles are evaluated.\r","\r","And if the session is run at the 2-hour time frame, only one out of four 30-minute candles and one out of two 1-hour candles are evaluated.\r","\r","This means that running the session (for this particular trading system) at the 30-minute time frame has higher probabilities of conditions evaluating 30-minute candles to be ```true``` during the session.\r","\r","{% include callout.html type=\"success\" content=\"In other words, when running the session on time frames higher than the time frame on which decisions are made, chances are the bot will eventually skip candles on which conditions would have evaluated true, potentially skipping trading opportunities.\" %}\r","\r","The above is true for all types of trading sessions.\r","\r","{{include.heading}}## Backtesting Vs. Live Sessions\r","\r","In a backtesting session, the collection of candles evaluated is determined by the time frame selected to better simulate what would happen if the live trading session was run in the same time frame.\r","\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Time Frame* on the menu to access the configuration.\r","\r","```js\r","{\r","\"value\": \"01-min\"\r","}\r","```\r","\r","* ```value``` is the setting for the time frame. You may use any of the values below.\r","\r","Available options at the sub-hour level are:\r","\r","```json\r","01-min\r","02-min\r","03-min\r","04-min\r","05-min\r","10-min\r","15-min\r","20-min\r","30-min\r","45-min\r","```\r","\r","Available options at larger time frames are:\r","\r","```json\r","01-hs\r","02-hs\r","03-hs\r","04-hs\r","06-hs\r","08-hs\r","12-hs\r","24-hs\r","```\r","\r"]},{"type":"Slippage","definition":"The slippage is an assumption on the difference between the simulated rate and the actual fill rate of an order, most relevant in the context of backtesting and paper-trading sessions. The parameter is a tool to make simulations more realistic.","content":["\r","\r","In the context of forward testing and live trading sessions, slippage does not affect the actual transactions. However, the parameter is taken into account when creating simulation layers, which are also available during forward testing and live trading.\r","\r","Slippage is factored both in the session reports and in the graphic representation of each trade provided by the simulation trades product of the trading bot.\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Slippage* on the menu to access the configuration.\r","\r","```json\r","{\r","\"marketOrderRate\": 0.1,\r","\"stopLoss\": 0.2,\r","\"takeProfit\": 0.3\r","}\r","```\r","\r","* ```marketOrderRate``` is the slippage value to be applied to the rate of the take position order, expressed as a percentage (*i.e.:* 0.1 means 0.1%).\r","\r","* ```stopLoss``` is the slippage value to be applied to the rate of the stop order, expressed as a percentage (*i.e.:* 0.2 means 0.2%).\r","\r","* ```takeProfit``` is the slippage value to be applied to the rate of the take profit order, expressed as a percentage (*i.e.:* 0.3 means 0.3%).\r","\r","The number you enter is applied as a percentage of the price of the order and added or subtracted from the price depending on the circumstances, always working against you. For instance, ```\"marketOrderRate\": 0.1``` means the position will be set at a price 0.1% higher or lower depending on which of the assets in the pair is your base asset. \r","\r","{% include note.html content=\"If the slippage parameter is left empty or detached both from your session and your trading system, slippage is not computed during simulations.\"%}\r","\r"]},{"type":"Fee Structure","definition":"The fee structure is a parameter fundamental to the calculation of fees, both in testing and live trading sessions.","content":["\r","\r","Exchange fees are a crucial part of trading. A strategy may work like a charm when you leave fees out of the equation but would lead you to bankruptcy in a live trading situation.\r","\r","Exchanges don't usually report the amount charged in fees on each transaction, thus, the system calculates fees and subtract them from balances. Learn more about the handling of [fees](suite-trading-engine-order-specific.html#fees-paid).\r","\r","{% include important.html content=\"The accuracy of the internal account-keeping depends on this parameter. Make sure you obtain the correct fee structure from the exchange corresponding to the tier of your account.\" %}\r","\r","To illustrate how fees affect your bottom line, take a look at the image below.\r","\r","[](https://user-images.githubusercontent.com/13994516/63636432-8d8cdf80-c66f-11e9-86a3-480d157d8126.gif)\r","\r","The trade hits the take profit target above the Position Rate level, however, due to fees, the trade has a negative 0.32% ROI.\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Fee Structure* on the menu to access the configuration.\r","\r","```json\r","{\r","\"maker\": 0.15,\r","\"taker\": 0.25\r","}\r","```\r","\r","* ```maker``` is the setting for the fee the exchange charges when an order adds liquidity to the market, such as with limit orders.\r","\r","* ```taker``` is the setting for the fee the exchange charges when an order takes liquidity from the market, such as with market or instant orders.\r","\r","{% include note.html content=\"Check the fees structure in your exchange, carefully looking into the tier you fall in to feed accurate assumptions to your backtesting and paper trading sessions.\" %}\r","\r","{% include note.html content=\"If the fee structure parameter is left empty or detached both from your session and your trading system, fees are not computed during simulations.\" %}\r","\r","{% include important.html content=\"Remember that, for the time being, and until the new execution engine is released, all orders placed by the trading bot are *market orders*, thus, the *taker* fee applies in all cases.\" %}\r","\r"]},{"type":"Snapshots","definition":"Snapshots are CSV files output by the trading bot listing every trade in a backtesting session. The snapshots parameter determines whether snapshots shall be produced, and how.","content":["\r","\r","Learn more about [snapshots](suite-snapshots.html) and check the configuration file to control if and how snapshots are produced.\r","\r"],"folderName":"network","adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Slippage* on the menu to access the configuration.\r","\r","```json\r","{ \r"," \"strategy\": true,\r"," \"position\": true\r","}\r","```\r","\r","* ```strategy``` determines whether to take a snapshot at the trigger on event or not; possible values are ```true``` or ```false```.\r","\r","* ```position``` determines whether to take a snapshot at the take position event or not; possible values are ```true``` or ```false```.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Heartbeats","definition":"During a trading session, the backend communicates with the front end via heartbeats to inform the frontend about the status of the session. The parameter controls what information is made available to the user through the frontend.","content":["\r","\r","This parameter affects how you see the progress of the trading session below the trading bot instance node on the design space.\r","\r"],"folderName":"network","adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Slippage* on the menu to access the configuration.\r","\r","```json\r","{ \r"," \"date\": true,\r"," \"candleIndex\": false\r","}\r","```\r","\r","* ```date``` determines whether the date is shown in the progress notice below the trading process instance node; possible values are ```true``` or ```false```.\r","\r","* ```candleIndex``` determines whether the index of the candle is shown in the progress notice below the trading process instance node; possible values are ```true``` or ```false```.\r","\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"User Defined Parameters","definition":"Users may define parameters to be used within the trading system during the trading session.","content":["\r","\r","Parameters defined in the configuration file of these node become available to trading systems using the following path: ```sessionParameters.userDefinedParameters.config.parameterName```.\r","\r","These parameters may be useful, for example, when you wish to use a *constant* multiple times across several nodes in the definition of a strategy. Instead of feeding a constant value to all formulas involved, you may feed the parameter instead. This gives you the added benefit of being able to change the value of such a constant in a single point.\r","\r"],"folderName":"network","adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Slippage* on the menu to access the configuration.\r","\r","```json\r","{ \r"," \"param1Name\": \"A text string value example\",\r"," \"param2Name\": 0\r","}\r","```\r","\r","* ```param1Name``` is an example of a name. You may change the names of the parameters as required. Values including text strings go between quotation marks, while numeric values, without. You may define as many parameters as you wish; simply separate them with a comma to keep a valid JSON format for the configuration file.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Time Frames Filter","definition":"The time frame filters node allows control over which time frames are to be calculated by each indicator bot instance running on the data mining operation.","content":["\r","\r","Limiting the number of time frames calculated by any given indicator to the few that may be required by a particular trading system has a significant positive impact on performance: it reduces the load on the CPU, the memory requirements, and the requirements of storage space, in proportion with the time frames you remove.\r","\r","When a time frames filter is set up, a ```Time.Frames.json``` file is created by the indicator process in the corresponding output folder. This file is read by others—such as the charting system—to get the information regarding which time frames are available and which are not, to avoid reporting errors.\r","\r","{% include important.html content=\"Before applying a time frames filter or changing the configuration, that is, changing which time frames are produced and which are not, it is highly recommended to delete the data corresponding to the affected indicator, to avoid inconsistencies in the data that may later cause confusion.\" %}\r","\r","{% include note.html content=\"When no time frames filter is defined, the bot processes all time frames by default.\" %}\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"dailyTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\r","\"marketTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\"]\r","}\r","```\r","\r","* ```dailyTimeFrames``` features the time frames corresponding to the *daily files* type of data structure; in practical terms, the time frames below one hour.\r","\r","* ```marketTimeFrames``` features the time frames corresponding to the *market files* type of data structure; in practical terms, the time frames of one hour and above.\r","\r","{% include tip.html content=\"Remove the time frames you are not interested in, making sure the JSON file is still valid.\" %}\r","\r"]},{"type":"Paper Trading Session","definition":"A paper trading session is a trading mode by which the trading bot instance reads a live market data feed, applies the rules defined in the associated trading system, and generates a trading simulation.","content":["\r","\r","A paper trading session node must reference a trading system to gain access to the trading logic to be applied during the session. Other considerations framing the session come from the set of parameters attached to it.\r","\r"],"folderName":"network","adding":["\r","\r","To add a paper trading session, select *Add Paper Trading Session* on the trading process instance node menu. When a session is added, it is created with the full set of parameters.\r","\r","{% include note.html content=\"After adding a session node, make sure you establish a reference to the trading system you want it to work with.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Session* on the menu to access the configuration.\r","\r","```json\r","{\r","\"folderName\": \"Session-Name\"\r","}\r","```\r","\r","* ```folderName``` allows you to set a significant name to the folder in which the data products—and logs—generated by the session are stored. If left blank, the system names the folders with the session id. This may be handy when you intend to consult the raw data generated by the session, as, otherwise, the folder would be hard to identify.\r","\r"],"starting":["\r","\r","Before you start a paper trading session, the corresponding task needs to be running, as it is the task that puts the trading bot instance to run. Once the trading bot instance is running, select *Run* on the menu to start the session.\r","\r","To stop a backtesting session, select *Stop* on the menu.\r","\r"]},{"type":"Forward Testing Session","definition":"A forward testing session is a trading mode by which the trading bot instance performs live trading with a user-defined fraction of the available capital.","content":["\r","\r","A forward testing session node must reference a trading system to gain access to the trading logic to be applied during the session. Other considerations framing the session come from the set of parameters attached to it.\r","\r","{% include important.html content=\"Running a live session requires the setup of a key reference at the market reference. It also requires a live data feed, meaning that the corresponding sensor bot, along with all indicators used by the referenced trading system, must be up and running. Finally, a live session also requires at least 48 hours of historic market data. Bear in mind that the trading system may require even more historic market data to properly analyze the market.\" %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a forward testing session, select *Add Forward Testing Session* on the trading process instance node menu. When a session is added, it is created with the full set of parameters.\r","\r","{% include note.html content=\"After adding a session node, make sure you establish a reference to the trading system you want it to work with.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Session* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"folderName\": \"Session-Name\",\r","\"balancePercentage\": 1\r","}\r","```\r","\r","* ```folderName``` allows you to set a significant name to the folder in which the data products—and logs—generated by the session are stored. If left blank, the system names the folders with the session id. This may be handy when you intend to consult the raw data generated by the session, as, otherwise, the folder would be hard to identify.\r","\r","* ```balancePercentage``` is a number defining the percentage of the initialBalance specified in the base aset configuration that will be used for trading. For instance, ```\"balancePercentage\": 1``` means that 1% of your balance will be made available. Just like the ```initialBalance``` is scaled down, the ```minimumBalance``` and ```maximumBalance``` are also scaled down accordingly (see base asset).\r","\r","Let's draw a quick example:\r","\r","Your base asset is USDT and your initialBalance is USDT 10,000.\r","\r","If you set up your forward-testing session with \"balancePercentage\": \"1\", then USDT 10,000 * 1% = USDT 100. This is the balance that will be available to your forward-testing session.\r","\r","{% include important.html content=\"You need to take this into account at the time of defining your positionSize formula. If the formula is a constant, you may easily run out of balance, as only a fraction of the balance will be available for the strategy to use. It may be a good idea to set up your positionSize as a function of your available balance instead.\" %}\r","\r"],"starting":["\r","\r","Before you start a forward testing session, the corresponding task needs to be running, as it is the task that puts the trading bot instance to run. Once the trading bot instance is running, select *Run* on the menu to start the session.\r","\r","To stop a backtesting session, select *Stop* on the menu.\r","\r"]},{"type":"Key Reference","definition":"The key reference is a reference to an exchange account key as defined in a specific user account, in a specific exchange, on the Crypto Ecosystem hierarchy.","content":["\r","\r","Usually, exchanges require autentication via your exchange account key for monetary transactions only. However, some exchanges may require autentication in other contexts as well, for instance, to retrieve information above a certain quota, or to retrieve raw trades data instead of OHLCV data.\r","\r","For those reasons, exchange key references are available both in the context of data mining and trading operations, and are always attached to the corresponding task.\r","\r","Forward testing and live trading sessions always require setting up key references, as that is the kind of scenario in which the user must validate with the exchange.\r","\r","In all cases, the key reference node must reference a valid exchange account key from an account with the exchange, as defined in the Crypto Ecosystem hierarchy.\r","\r","{% include important.html content=\"Most exchanges do not allow the same exchange account key to be used with multiple processes querying the exchange API. This means that if you are trading with multiple trading systems or multiple sessions on the same exchange, each session requires different exchange account keys.\" %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a key reference, select *Add Key Reference* on the task node menu.\r","\r","{% include note.html content=\"Remember to establish a reference with a valid exchange account key after creating the key reference.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Live Trading Session","definition":"A live trading session is a trading mode by which the trading bot instance reads a live market data feed, applies the rules as defined in the associated trading system, places the corresponding orders at the associated exchange, and stores the defined data products.","content":["\r","\r","A live trading session node must reference a trading system to gain access to the trading logic to be applied during the session. Other considerations framing the session come from the set of parameters attached to it.\r","\r","{% include important.html content=\"Running a live session requires the setup of a key reference at the market reference. It also requires a live data feed, meaning that the corresponding sensor bot, along with all indicators used by the referenced trading system, must be up and running. Finally, a live session also requires at least 48 hours of historic market data. Bear in mind that the trading system may require even more historic market data to properly analyze the market.\" %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a live trading session, select *Add Live Trading Session* on the trading process instance node menu. When a session is added, it is created with the full set of parameters.\r","\r","{% include note.html content=\"After adding a session node, make sure you establish a reference to the trading system you want it to work with.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Session* on the menu to access the configuration.\r","\r","```json\r","{\r","\"folderName\": \"Session-Name\"\r","}\r","```\r","\r","* ```folderName``` allows you to set a significant name to the folder in which the data products—and logs—generated by the session are stored. If left blank, the system names the folders with the session id. This may be handy when you intend to consult the raw data generated by the session, as, otherwise, the folder would be hard to identify.\r","\r"],"starting":["\r","\r","Before you start a live trading session, the corresponding task needs to be running, as it is the task that puts the trading bot instance to run. Once the trading bot instance is running, select *Run* on the menu to start the session.\r","\r","To stop a backtesting session, select *Stop* on the menu.\r","\r"]},{"type":"Sensor Bot Instance","definition":"A sensor bot instance is a reference to a sensor bot as defined in a data mine. The instance of the bot runs the defined processes and generates the defined data products.","content":["\r","\r","{{site.data.concepts.sensor_bot}}\r","\r","The sensor bot instance holds no definitions as to what the bot does. Instead, its process instance references a process definition in the corresponding data mine. That is how the sensor bot instance obtains the information regarding what it needs to do once it is run.\r","\r"],"folderName":"network","adding":["\r","\r","To add a sensor bot instance, select *Add Sensor Bot Instance* on the task node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Sensor Bot Instance* on the menu to access the configuration.\r","\r","```json\r"," {\r"," \"startDate\": \"2020-01-01\"\r"," }\r","```\r","\r","* ```startDate``` is the *desired starting date* of the data product the sensor bot instance builds, in the ```YYYY-MM-DD``` format. The sensor bot instance queries its data source for data starting on the configured ```startDate```.\r","\r"," * The actual date in which the dataset starts depends on external factors: A. The market may start at a later date. B. The exchange may limit how far in the past data may be retrieved. In both cases, the sensor bot automatically discovers the date closest to the *desired starting date* that is possible to start with, and proceeds accordingly.\r","\r"," * In the case the ```startDate``` is changed after the sensor bot has started building a data product, either for an earlier or later date, the sensor re-evaluates the feasibility of starting at the new date. The actual date may or may not change; regardless, the sensor bot discards the existing data product and starts over from the newly discovered date. In other words, if the ```startDate``` is changed, the sensor bot starts over.\r"," \r"," * Notice that the above starts a chain reaction among all indicator bots that have a data dependency with the sensor bot's output dataset. Also, if the actual date ends up changing, all indicators that determine the starting date of the market by looking at the date discovered by the sensor bot have to discard their existing data products and start over from the new date.\r","\r","\r"],"starting":["\r","\r","You do not start or stop a sensor bot instance directly. Instead, you start or stop the corresponding task.\r","\r"]},{"type":"Indicator Bot Instance","definition":"An indicator bot instance is a reference to an indicator bot as defined in a data mine. The instance of the bot runs the defined processes and generates the defined data products.","content":["\r","\r","{{site.data.concepts.indicator_bot}}\r","\r","The indicator bot instance holds no definitions as to what the bot does. Instead, its processes instances reference the process definitions in the corresponding data mine. That is how the indicator bot instance obtains the information of what it needs to do once it is run.\r","\r"],"folderName":"network","adding":["\r","\r","To add an indicator bot instance, select *Add Indicator Bot Instance* on the task node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","You do not start or stop an indicator bot instance directly. Instead, you start or stop the corresponding task.\r","\r"]},{"type":"Data Mine","definition":"A data mine is a hierarchy that contains definitions of bots, including the trading bot, sensors, indicators, and even plotters. These definitions make up the actual programs of such bots—the source code.","content":["\r","\r","In a way, data mines are catalogs of bots that anyone may create. This hierarchy provides all the tools required to create sensors, indicators, and plotters, with minimal coding required.\r","\r","Because the hierarchy provides definitions, it does not intervene in the execution of bots. Instead, the definitions in data mines are instantiated from the network hierarchy by bot instances. Bot instances and process instances are the ones running the code according to the definitions in the corresponding data mine.\r","\r","{% include important.html content=\"Changes made to data mines shipping with the system may not be saved at the workspace level. If you wish to modify those hierarchies and use them in such modified versions, you need to clone them and modify the clone instead. To do this successfully, you need to learn more about [backups](suite-backups.html) and [clones](suite-clones.html).\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a data mine, select *Add Data Mine* on the workspace node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Data Mine* on the menu to access the configuration.\r","\r","```json\r","{\r","\"codeName\": \"Supermine\"\r","}\r","```\r","\r","* ```codeName``` is the name of the data mine as used within the code of the system.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Mine"},{"type":"Sensor Bot","definition":"A sensor bot is an algorithm that extracts raw data from external sources (i.e.: exchanges, Twitter, etc.) and stores it in a dataset that other bots may consume.","content":["\r","\r","The sensor bot node holds all definitions required for a sensor bot to function. Definitions are split between the definition of processes and products. A sensor's processes is an algorithm that obtains data from a third pary and produces an output for other bots to consume. Part of that output is the data products the bot creates.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a sensor bot, select *Add Sensor Bot* on the data mine node menu. A sensor bot is created along with the basic structure of nodes required to define it.\r","\r"],"configuring":["\r","\r","Select *Configure Bot* on the menu to access the configuration.\r","\r","```json\r","{\r","\"codeName\": \"Super\",\r","\"repo\": \"Super-Sensor-Bot\"\r","}\r","```\r","\r","* ```codeName``` is the name of the bot as used within the code of the system.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Process Definition","definition":"The process definition node groups all definitions required for a process to function. The Multi-Period-Market Process deals with time frames of one hour and above. The Multi-Period-Daily Process deals with time frames of 45 minutes and below.","content":["\r","\r","As hinted above, most bots—in particular indicators—have two different processes. The reason is that different data structures need to be handled in different manners. The Multi-Period-Daily process handles *daily files*, while the Multi-Period-Market process handles *market files*.\r","\r","The Multi-Period-Market process deals with time frames of one hour and above. Because these time frames produce relatively small numbers of records, the process builds one single file per time frame spanning the whole market history—hence the name Multi-Period-*Market*.\r","\r","On the other hand, the Multi-Period-Daily process deals with time frames below one hour. These time frames produce huge numbers of records, therefore, the corresponding data must be fragmented in multiple files. The Multi-Period-Daily process builds one file per day for each time frame—hence the name Multi-Period-*Daily*.\r","\r","{% include note.html content=\"The way in which datasets are structured by each of the processes is determined by the corresponding dataset definitions.\" %}\r","\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a process definition, select *Add Process Definition* on the bot's menu. A process definition node is created along with the basic structure of nodes comprising the definition.\r","\r"],"configuring":["\r","\r","Select *Configure Process* on the menu to access the configuration.\r","\r","**Multi-Period-Market:**\r","\r","```json\r"," {\r"," \"codeName\": \"Multi-Period-Market\",\r"," \"normalWaitTime\": 0,\r"," \"retryWaitTime\": 10000,\r"," \"framework\": {\r"," \"name\": \"Multi-Period-Market\"\r"," }\r"," }\r","```\r","\r","**Multi-Period-Daily:**\r","\r","```json\r"," {\r"," \"codeName\": \"Multi-Period-Daily\",\r"," \"normalWaitTime\": 0,\r"," \"retryWaitTime\": 10000,\r"," \"framework\": {\r"," \"name\": \"Multi-Period-Daily\"\r"," }\r"," }\r","```\r","\r","* ```codeName``` is the name of the process as used within the code of the system.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Process Output","definition":"The process output groups the definitions of which datasets are impacted by the process, that is, which datasets the process builds or takes a part in building.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a process output node, select *Add Missing Items* on the process definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Process Dependencies","definition":"Process dependencies are references to various data structures on which the process depends to function.","content":["\r","\r","While processes run autonomously, most processes participate in a value-adding chain by which a process produces a data product that other processes may consume as an input to be processed further. This means that bots—while autonomous in their particular jobs—do depend both on other bots and on the data other bots produce.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a process dependencies node, select *Add Missing Items* on the process definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Status Dependency","definition":"Status dependencies are references to a status report that define which process the process establishing the reference depends on.","content":["\r","\r","The reference is established to acquire the information relative to what the target process is doing. For example, by reading a status report a process may learn when was the last time the referenced process ran, and what was the last file processed.\r","\r","The status report referenced may belong to the same process— which is called a self-reference. In such a case, the process is learning what it did the last time it ran. Also, the status report referenced may belong to another process—another bot. In that case, the dependency may be of the Market Starting Point or Market Ending Point types.\r","\r","* **Self Reference** is mandatory, as a process needs to read its own status report every time it wakes up.\r","\r","* **Market Starting Point** is a status dependency existing on Multi-Period-Daily processes so that the process establishing the reference learns the datetime of the start of the market. Usually, the reference is established with the sensor's Historic-OHLCVs process status report. Multi-Period-Market processes do not have this type of status dependency as the date of the start of the market is implied in their dataset (a single file with all market data).\r","\r","* **Market Ending Point** is a status dependency existing both in Multi-Period-Market and Multi-Period-Daily processes so that the process establishing the reference knows the datetime of the end of the market.\r","\r","[](https://user-images.githubusercontent.com/13994516/68991956-dfa36280-0864-11ea-87ec-f0e4e3b7bf0f.gif)\r","\r","The image above shows a case of a self-reference status dependency as well as a market ending point status dependency.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a status dependency, select *Add Status Dependency* on the process dependencies node menu.\r","\r","{% include tip.html content=\"Remember that a status dependency must be configured, and must establish a reference to the appropriate status report.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Status Dependency* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"mainUtility\": \"Self Reference|Market Starting Point|Market Ending Point\"\r","}\r","```\r","\r","* ```mainUtility``` determines the type of status dependency, with possible values being ```Self Reference```, ```Market Starting Point```, or ```Market Ending Point```.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Status Report","definition":"Status reports serve as temporal annotations that bots read every time they run to know what was done in the previous cycle and what the state of affairs is at present. Status reports are dynamic, and they change constantly, with updates after every cycle of the associated process.","content":["\r","\r","Bots do not run continuously. Instead, they run in cycles. A cycle usually lasts until there is no more data to process, and once they finish, they shut down until the next cycle is due. A status report is a file every bot writes at the end of each cycle with information about the last run, including the datetime of the run and the last record processed.\r","\r","A status report may be consumed by the same bot producing it, or by other bots.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a status report, select *Add Missing Items* on the process definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Execution Started Event","definition":"The execution started event is the event that triggers the execution of a process. It usually references the execution finished event of another process on which the process depends on.","content":["\r","\r","These references determine when a process is due for another run. By listening to the execution finished event of the process it depends on, it may wake up just in time to process the new batch of data the dependency has just delivered.\r","\r","Bots form a sort of multi-branched execution sequence with an indeterminate number of dependencies. Every time the bot further down the tree of dependencies finishes a cycle, it triggers the execution of multiple bots listening to its execution finished event.\r","\r","In the context of a trading process instance running a trading session on the network hierarchy, the execution started event may be used to force the trading process to run only after the last indicator bot dependency finishes its job. This guarantees that all dependencies are up to date and that the trading bot will evaluate the information corresponding to the same candles for all indicators used by the trading system.\r","\r","Not setting up this event on a trading session may result in eventual data inconsistencies, as—in theory—the trading bot may run with some indicators up to date and some slightly delayed.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add an execution started event, select *Add Missing Items* on the process definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r","{% include tip.html content=\"Remember that an execution started event must establish a reference to the appropriate execution finished event.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Execution Finished Event","definition":"The execution finished event is the event that processes trigger once they have finished an execution cycle. The event is broadcasted to whoever wants to listen, so that other bots may know when the process has finished its execution cycle.","content":["\r","\r","The execution finished event is responsible for triggering the execution of every process that depends on the data a bot produces. If bot Alice depends on bot Bob, Alice listens to the execution finished event of Bob so that it may start a new execution cycle as soon as Bob finishes its cycle. Alice listens to Bob's execution finished event by establishing a reference from its execution started event.\r","\r","[](https://user-images.githubusercontent.com/13994516/68993254-39605880-0876-11ea-9ee7-9f49976bd2dc.gif)\r","\r","The image above shows a reference established from the execution started event of a process to the execution finished event of another process.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add an execution finished event, select *Add Missing Items* on the process definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Output Dataset Folder","definition":"An output dataset folder is an organizational device used to create arrangements of output datasets, particularly useful when the bot has many products.","content":["\r","\r","In cases in which a single bot has many different products, output dataset folders may help organize the outputs referencing each product, making their management easier. Folders may be nested like folders in the file system.\r","\r","The use of output dataset folders is optional, as product definitions may also exist outside of folders.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Product Definition Folder","definition":"A product definition folder is an organizational device used to create arrangements of product definitions, particularly useful when the bot has many products.","content":["\r","\r","In cases in which a single bot has many different products, product definitions folders may help organize those products, making their management easier. Folders may be nested like folders in the file system.\r","\r","The use of product definition folders is optional, as product definitions may also exist outside of folders.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Product Definition","definition":"The product definition node holds all definitions that make up a product, including how the product is calculated and the datasets the product is comprised of.","content":["\r","\r","A bot may feature multiple products, thus, there may be multiple product definitions. Three main aspects need to be defined in terms of products: the characteristics of the dataset, the composition of each record, and the way records are calculated.\r","\r","{% include note.html content=\"A product definition usually references a plotter module, which provides a graphic representation of the underlying dataset\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a product definition, select *Add Product Definition* on the bot's node menu. A product definition is created along with the basic structure of nodes required to make up a product.\r","\r"],"configuring":["\r","\r","Select *Configure Product* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"codeName\": \"Product-Name\",\r"," \"singularVariableName\": \"productName\",\r"," \"pluralVariableName\": \"productNames\"\r","}\r","```\r","\r","* ```codeName``` is the name of the product as it is used within the bot's code.\r","\r","* ```singularVariableName``` is the singular form of the name of the variable representing the product, as is used on strategies (*i.e.:* ```bollingerChannel.direction```, where *bollingerChannel* is the name of the product as defined in its configuration and *direction* is the name of the property.\r","\r","* ```pluralVariableName``` is the plural form of the variable.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Dataset Definition","definition":"A dataset definition contains a configuration file that defines many aspects of the dataset. There are two types of dataset definitions: Multi-Period-Market and Multi-Period-Daily.","content":["\r","\r","A good part of what makes datasets easy to consume by other bots is the fact that they are standardized in terms of their structure. It is that structure that is specified in the dataset definitions.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a dataset definition, select *Add Dataset Definition* on the bot's node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Definition* on the menu to access the configuration.\r","\r","**Multi-Period-Market:**\r","\r","```json\r","{\r"," \"codeName\": \"Multi-Period-Market\",\r"," \"type\": \"Market Files\",\r"," \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\r"," \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\r"," \"fileName\": \"Data.json\",\r"," \"timeFrames\": {\r"," \"filePath\": \"\",\r"," \"fileName\": \"\"\r"," }\r","}\r","```\r","\r","**Multi-Period-Daily:**\r","\r","```json\r","{\r"," \"codeName\": \"Multi-Period-Daily\",\r"," \"type\": \"Daily Files\",\r"," \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\r"," \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\r"," \"fileName\": \"Data.json\",\r"," \"dataRange\": {\r"," \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\r"," \"fileName\": \"Data.Range.json\"\r"," },\r"," \"timeFrames\": {\r"," \"filePath\": \"\",\r"," \"fileName\": \"\"\r"," }\r","}\r","```\r","\r","\r","* ```codeName``` is the name of the dataset as used within the code.\r","\r","* ```type``` refers to the type of dataset; possible values are ```Market Files``` and ```Daily Files```.\r","\r","* ```validTimeFrames``` refers to the time frames handled by the dataset.\r","\r","* ```filePath``` sets the path on which files are stored; the proper name of the data mine, the bot and the product need to be entered.\r","\r","* ```fileName``` sets the name of the files that constitute the dataset.\r","\r","* ```timeFrames``` sets the name and path of the file indicating which time frames shall be filtered when the users sets a time frames filter.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Indicator Bot","definition":"An indicator bot is an algorithm that processes information that other bots have generated, and produces elaborate datasets for others to consume.","content":["\r","\r","The indicator bot node holds all definitions required for an indicator bot to function. Definitions are split between the definition of processes and products. Processes are algorithms that go through an input dataset, perform certain calculations, and produce an output. Products are the outcome of the work produced by these algorithms, in the form of ellaborate data sets.\r","\r","Most of the behavior expected from an indicator bot is defined by the structure of nodes in the hierarchy and the references among the nodes within these definitions. As such, you do not need to code any of the functions that make up the infrastructure functionality. Dependencies, outputs, data structures, execution sequences, and several other problems are handled by the definitions embodied in the structure of nodes that make up an indicator, and are configured in the visual environment of the design space. Coding is limited to the actual calculation and data building procedures.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add an indicator bot, select *Add Indicator Bot* on the data mine node menu. An indicator bot is created along with the basic structure of nodes required to define it.\r","\r"],"configuring":["\r","\r","Select *Configure Bot* on the menu to access the configuration.\r","\r","```json\r","{\r","\"codeName\": \"Superbot\"\r","}\r","```\r","\r","* ```codeName``` is the name of the bot as used within the code of the system.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Output Dataset","definition":"The output dataset is a reference to a dataset definition. By establishing such reference, the process acquires the definitions as of how the dataset is to be constructed.","content":["\r","\r","There are other effects of establishing a reference from the output dataset to a product dataset definition. Upon execution, every time a process finishes a processing cycle, it triggers an event that may be consumed by other entities. This event indicates that the datasets impacted by the process have been updated.\r","\r","An example of other entities that may be listening to such events is that of plotters. Plotters read datasets and create graphical representations of this data over the charts. Charts are constantly updating the information in the form of candles and indicators in realtime, synchronized with the data being extracted from the exchange by the sensor bot. That kind of automatism is possible thanks to the events that processes trigger every time an execution cycle is finished, signaling to everyone listening that new data is available on each of the impacted datasets.\r","\r","[](https://user-images.githubusercontent.com/13994516/68976798-f01cf400-07f6-11ea-9ffb-198b5853a220.gif)\r","\r","The image above shows the typical references from output datasets to datasets definitions.\r","\r","{% include note.html content=\"An output dataset must reference a dataset definition.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","Output datasets may be added in bulk, for all defined products, or one by one.\r","\r","To add a single {{ title | downcase }} node, select *Add {{ title }}* on the process output menu. \r","\r","{% include tip.html content=\"Remember that an output dataset must reference a valid dataset definition. Make sure you establish the reference after creating the output dataset.\" %}\r","\r","If you have defined multiple products, each with their dataset definitions, and wish to create all corresponding output datasets in bulk, select *Add All Output Datasets\" on the process output menu. The system maps the product definition folder structure with output dataset folders, creates all required output datasets, and establishes the references with the corresponding dataset definitions, with a single click of the button.\r","\r","{% include note.html content=\"Make sure each product has properly defined dataset definitions before creating output datasets in bulk. You may always delete the output datasets and re-create them at will.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Dependency","definition":"Data dependencies are references established with dataset definitions of other bots, determining which datasets the process establishing the reference uses as input.","content":["\r","\r","Most bots consume data other bots have produced. Because bots need the data as input for their calculations, processes establish a data dependency with the dataset definitions of other bots. The reference provides the process with all the information needed to decode the dataset, enabling it to perform the required calculations.\r","\r","[](https://user-images.githubusercontent.com/13994516/68993034-7840df00-0873-11ea-804d-d24e88ce25f7.gif)\r","\r","The image above shows data dependencies in one bot referencing dataset definitions of another bot.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a single data dependency, select *Add Data Dependency* on the process dependencies, bot data dependencies, or data dependency folder node menus.\r","\r","{% include tip.html content=\"Remember that a data dependency must establish a reference to the appropriate dataset definition. When adding data dependencies manually, you also need to manually establish the reference.\" %}\r","\r","In cases in which multiple data dependencies must be established, you may use the option to create data dependencies in bulk:\r","\r","* The *Add All Data Dependencies* option on the data mine data dependencies node menu adds a bot data dependency for each bot in the data mine, and a data dependency for each dataset definition or each product of each bot. You may use this option after manually adding a data mine data dependencies node and manually establishing the reference with the desired data mine, or after adding all data mine data dependencies, by which the references with data mines are established automatically.\r","\r","It is unlikely that a bot requires numerous data dependencies, thus, the most common scenario is setting up individual data dependencies and establishing references manually. However, if your bot requires multiple data dependencies, the bulk features may be quite useful, as you may create all data dependencies for any given data mine, and simply delete those that are not required.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Record Definition","definition":"The record definition is where indicators define how many properties, what properties and in which order those properties will be made available in each record.","content":["\r","\r","Bots store data in the form of arrays of records, in a minimized plain text file and the standard JSON format, although not as objects with named properties, but as arrays.\r","\r","{% include image-ext.html file='https://user-images.githubusercontent.com/13994516/68998023-303eae00-08ad-11ea-9baa-ddea801c7d6d.png' url='yes' max-width='100' caption='Typical dataset file showing records as arrays.' %}\r","\r","The choice of plain text for storage of large volumes of information has benefits in terms of not requiring any sophisticated technology to store and serve the data (*i.e.:* no database is required).\r","\r","Best practice indicates that there needs to be a balance between the amount of data that is stored and calculations that may be performed at runtime.\r","\r","Storing objects with named properties in the JSON format would be inappropriate as labels would repeat over and over, creating a ridiculous amount of unnecessary information. However, storing arrays in the JSON standard facilitates the handling of files in the context of JavaScript and Node.JS.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a record definition node, select *Add Record Definition* on the product definition node menu. A record definition node is created along with the first record property.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Record Property","definition":"A record property is a piece of information that may be stored as part of the dataset or made available as a calculated property.","content":["\r","\r","Records may have as many properties as required. \r","\r","{% include important.html content=\"The order in which record properties are defined around the parent record definition node is the order in which they are stored in the actual record.\" %}\r","\r","{% include tip.html content=\"The first two records are usually the *begin* and *end* records, featuring the corresponding datetimes that indicate when the record starts and ends.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a record property, select *Add Record Property* on the bot's node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Property* on the menu to access the configuration.\r","\r","```js\r","{\r"," \"codeName\": \"record-name\",\r"," \"isString\": false,\r"," \"isCalculated\": true\r","}\r","```\r","\r","* ```codeName``` is the name of the record as it is used in the bot's code. \r","\r","* ```isString``` determines if the field is a text string or if, in turn, is a numeric field. Dates are stored in the *epoch* format, which is numeric. The reason why this configuration is important is that fields that are strings need to be stored between \"double quotes\".\r","\r","* ```isCalculated``` determines if the field is stored in the dataset or if, instead, is calculated at a later stage. A value *true* means that the record is not stored. In the case ```isCaculated``` is not defined in the configuration, it is assumed to be false.\r","\r","[](https://user-images.githubusercontent.com/13994516/69139160-3ce72000-0ac0-11ea-9566-a259c9ea6194.gif)\r","\r","The image above shows a record definition with four record properties.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Formula","definition":"A formula is a mathematical expression intended to determine a numerical value to be applied dynamically to a certain property.","content":["\r","\r","In the context of the trading engine, formulas are used to create user defined statistics.\r","\r","Formulas may use indicators and object properties made available by the trading engine. They must evaluate to a number.\r","\r","{% include note.html content=\"To learn how to write formulas, see [syntax overview](suite-syntax-overview.html).\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Announcement Formula"},{"type":"Calculations Procedure","definition":"The calculations procedure processes information to be fed to calculated properties. Calculated properties are not stored in the data set; instead, they are calculated in real-time as the data is consumed by others.","content":["\r","\r","Bots store data in the minimized array format as a strategy to build the lightest possible datasets. For the same reason, a bot may choose not to store easily calculable information.\r","\r","For example, imagine an indicator that stores buy and sell volumes... does it *need* to store the total volume? Given that it is so easy to calculate, the answer is *probably* not. It is up to the developer to decide, but it is certainly not required.\r","\r","{% include note.html content=\"The calculations procedure is used to calculate properties that the developer chooses not to store in the dataset.\" %}\r","\r","{% include note.html content=\"To fully understand the role of the calculations procedure, please refer to the [data mining workflow](suite-data-mining-workflow.html) page.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a calculations procedure, select *Add Missing Items* on the product definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Procedure Initialization","definition":"The procedure initialization is used to initialize variables used by the procedure loop.","content":["\r","\r","This is an example of a procedure loop code snippet, in particular, the code that initializes the array used in the calculation of the Popular SMAs product of the Simple Moving Average (SMA) indicator.\r","\r","```js\r","/* Initialization Code. */\r","variable.last200 = []\r","```\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a procedure initialization, select *Add Procedure Initialization* on the corresponding procedure node menu. A procedure initialization node is created along with the corresponding JavaScript node.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Procedure Loop","definition":"The procedure loop holds the JavaScript code that reads an input, processes the information, and generates an output recursively.","content":["\r","\r","{% include note.html content=\"Please refer to the [coding references](suite-coding-the-indicator-logic.html) page to learn how to code the indicator's logic.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a procedure loop, select *Add Procedure loop* on the corresponding procedure node menu. A procedure loop node is created along with the corresponding JavaScript node.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Building Procedure","definition":"The data building procedure processes information to be fed to properties that are stored in the output dataset.","content":["\r","\r","This procedure holds the core logic of the bot, as it features the code that performs the calculations required to produce the new data set. The code is split between a procedure initialization and a procedure loop.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a data buildings procedure, select *Add Missing Items* on the product definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Bot","definition":"Based on datasets exposed as products by other bots (counting sensors, indicators and even other trading bots), a trading bot applies the trading logic defined on a trading system to, on one side, generate a complete trading simulation (outputting datasets that include trades, the action of strategies, validation of conditions, etc.), and on the other side, manage the execution of orders when on a forward testing or live trading session.","content":["\r","\r","Trading bots are complex pieces of software. The system does not yet encourage the creation of further trading bots, as it is not currently possible to create them with minimal coding. However, developers are free to clone the existing trading bot and improve it as they see fit.\r","\r"],"folderName":"data_mine","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Plotter","definition":"A plotter is a device used to produce a graphic representation of datasets generated by bots.","content":["\r","\r","Plotters usually have a one-to-one relationship with bots, as they are often created as a customized solution. However, in practice, there is no constraint to creating any number of plotters for a single bot or a single plotter for multiple bots.\r","\r","The overall workflow of a plotter, while reading a dataset, consists in:\r","\r","* Applying a set of rules to identify certain data points;\r","\r","* Use those points to form lines and polygons;\r","\r","* Apply graphical styles to those lines and polygons.\r","\r","Those actions are performed recursively for each record, and the graphics are plotted on the charts in real-time as data is processed.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a plotter, select *Add Plotter* on the data mine node menu. An indicator bot is created along with the basic structure of nodes required to define it.\r","\r"],"configuring":["\r","\r","Select *Configure Plotter* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"codeName\": \"Plotter-Name\"\r","}\r","```\r","\r","* ```codeName``` is the name of the plotter as it is used within the bot's code.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading System","definition":"A trading system is a framework handling the low-level logic that serves to structure the processes and methods used to implement and deploy trading strategies.","content":["\r","\r","In practical terms, a trading system is a hierarchical arrangement organizing the actionable aspects of your investment plan. The hierarchy contains definitions regarding any number of trading strategies, all operating on the same market and sharing the same initial capital allocation.\r","\r","You use a trading system to define strategies following the Superalgos Protocol, splitting strategies into four stages: trigger, open, manage, and close.\r","\r","The concept of describing strategies in stages is fundamental to the methodical aspect of the trading system, as it provides a framework to run every strategy with the same framework, which contributes to developing scalable trading systems that may grow to any number of strategies.\r","\r","When a trading system features more than one strategy, the first strategy has precedence over the second, the second over the third, and so on. This means that strategies are evaluated in a sequence. When a given strategy is triggered-on, the remaining strategies in the queue are no longer evaluated until the strategy triggers off. In other words, when multiple strategies are deployed within a single trading system, only one strategy may trade at any given moment, and precedence is given by the order around the trading system node.\r","\r","As a corollary to the above, if you wish strategies to operate in different markets, or you wish strategies to be able to take positions simultaneously, then you must set up those strategies in different trading systems.\r","\r","{% include important.html content=\"Changes made to trading systems shipping with Superalgos may not be saved at the workspace level. If you wish to modify those hierarchies and use them in such modified versions, you need to clone them and modify the clone instead.\" %}\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a trading system, select *Add Trading System* on the workspace node menu. \r","\r","{% include tip.html content=\"You may work with as many trading systems as you wish\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Strategy","definition":"A trading strategy is a set of actions occurring in stages, designed to achieve a specific goal within a broader plan, via taking and managing positions.","content":["\r","\r","The definition of a strategy may be analyzed in three sections:\r","\r","{% include callout.html type=\"success\" content=\"A strategy is a set of actions occurring in stages\" %}\r","\r","Strategies are defined in the following stages:\r","\r","* Trigger Stage\r","* Open Stage\r","* Manage Stage\r","* Close Stage\r","\r","These stages are played in a sequence: once a strategy is *triggered* it looks to *open* a position; once a position is open, it is time to *manage* it as the trade develops; and once a stop or take profit target is hit, it is time to *close* the position.\r","\r","While stages are played in a sequence, upon execution there are overlaps. That is, a stage doesn't need to be closed for the next stage to be opened. The framework sets a clear separation of the concepts embodied in each stage to facilitate the process of defining and developing a trading system. But the truth is that, both at the conceptual level and during execution, the lines between stages are rather blurry.\r","\r","{% include callout.html type=\"success\" content=\"designed to achieve a specific goal within a broader plan\" %}\r","\r","Your investment plan or trading career may have any number of goals *(e.g.: accumulating a certain asset, diversifying on a basket of coins, annual profit targets, etc.)*. If you attempt to achieve more than one goal with a single strategy, you will sooner or later run into problems. It may be doable, but the strategy would certainly be more complex than is necessary or desirable. In any case, the logical thing to do is to analyze each goal separately so that you may design (at least) one clear, straightforward strategy for each goal.\r","\r","One of the edges granted by trading automation is the capacity to develop and deploy an unlimited number of strategies. At the same time, Superalgos allows the administration of complexity by breaking down and structuring concepts in small units: a trading system contains strategies, which contain stages, which contain specific definitions. \r","\r","Understanding that keeping things simple is important will help you develop a robust and extensible arsenal of bots. Simplicity is the key to sustainability.\r","\r","In other words, the infrastructure provided by Superalgos enables the hyperspecialization of strategies. Do not aim to trade in all sorts of market situations with the same strategy. Instead, develop a strategy for each market situation you wish to trade.\r","\r","{% include callout.html type=\"success\" content=\"via taking and managing positions\" %}\r","\r","The definition of strategy points to the concept of a *position*. A position is a process that exchanges the base asset for the quoted asset and that—after some time, as the position develops and targets are hit—exchanges back the quoted asset for the base asset. \r","\r","The framework implemented in the Superalgos Protocol is optimized to work with such a concept.\r","\r","However, Superalgos is flexible enough to allow you to override this hard interpretation of the concept of *a position*. For example, you may design market-making strategies, a strategy to balance portfolios, or develop all sorts of ideas that don't necessarily fit in that part of the definition.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a strategy, select *Add Strategy* on the trading system node menu. The strategy node is created along with the rest of the basic structure of nodes required to define each of the strategy stages and their events.\r","\r","{% include tip.html content=\"You may work with as many strategies as you wish. \" %}\r","\r","{% include important.html content=\"Strategies within the same trading system work in the same market, have the same base asset, and —most importantly—share the same capital. This means that only one strategy in the trading system may be triggered at any one point and that no other strategy in the trading system may be triggered until the first one is triggered off. If you wish to have more than one strategy trading at the same time, then those strategies must be put in separate trading systems. \" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trigger Stage","definition":"The trigger stage deals with monitoring the market in search of trading opportunities with the corresponding strategy.","content":["\r","\r","A trading system may have multiple strategies designed for the same market.\r","\r","An important aspect of trading systems is that they are allocated a certain amount of capital (see the base asset parameter of the trading session). As a consequence, strategies within a trading system share a certain capital allocation. \r","\r","The logic behind the concept of the trigger stage assumes that different strategies within a trading system may be specialized for trading in different market situations. The trigger stage in each strategy is, therefore, the mechanism by which any particular strategy within the trading system may be selected to trade, given any particular market situation.\r","\r","The triggering-on of a strategy effectively blocks the selection of any other strategy in the trading system and reserves the whole capital allocation for the one strategy selected, until the strategy is triggered-off.\r","\r","Therefore, if certain strategies are meant to trade under the same market situations and open trades concurrently, then those strategies should be deployed in separate trading systems.\r","\r","Once a strategy is triggered, the strategy may decide—or not—to take a position. If a position is taken, then the rest of the stages eventually become active.\r","\r","However, the strategy may also be triggered off without taking a position. When a strategy is triggered off, the trading system goes back to monitoring the trigger-on definitions for all strategies, and capital is released to be used by whatever strategy is triggered-on next.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a trigger stage node, select *Add Missing Stages* on the strategy node menu. All stages that may be missing are created along with the rest of the basic structure of nodes required to define each of them and their events.\r","\r","{% include note.html content=\"Only one trigger stage may exist in each strategy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trigger On Event","definition":"The trigger-on event defines the set of rules that need to be met for the corresponding strategy to be triggered on. A strategy that is triggered may use all the capital available to the trading system, and prevents other strategies in the system from triggering.","content":["\r","\r","In conceptual terms, the trigger-on event is the mechanism you use to define the specific situations in which you would consider trading with the corresponding strategy. Think of the trigger-on event as the definition of the scenario in which the trading idea behind the strategy should be carefully considered.\r","\r","Once a strategy is triggered-on, the system starts evaluating the take position event. In conceptual terms, it means that the system has been alerted that the trading idea behind the corresponding trading strategy has produced a signal and that it should carefully monitor the market for the opportunity to take a position.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a trigger-on event node, select *Add Missing Events* on the trigger stage node menu. All events that may be missing are created along with the rest of the basic structure of nodes required to define each of them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trigger Off Event","definition":"The trigger-off event defines the situation in which the corresponding strategy shall be triggered-off. A strategy that is triggered-off releases the capital in reserve and makes it available to other strategies in the trading system.","content":["\r","\r","In conceptual terms, the trigger-off event is the mechanism you use to define the situation in which the corresponding strategy should stop considering the trading opportunity signaled by the trigger-on event. That is, you use the trigger off event to describe the scenario for the invalidation of the trading idea behind the strategy.\r","\r","Once a strategy is triggered-on, only two possible scenarios may follow. Either the take position event is triggered, thus, taking a position, or the trigger-off event is triggered first.\r","\r","In the first scenario, the strategy remains *on* until the position is closed. As the position is closed, the strategy is triggered-off. In the second scenario, the strategy is triggered-off immediately.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a trigger-off event node, select *Add Missing Events* on the trigger stage node menu. All events that may be missing are created along with the rest of the basic structure of nodes required to define each of them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Take Position Event","definition":"The take position event defines the situation that needs to be met to take a position.","content":["\r","\r","The trigger-on event merely selects a strategy to be considered for trading under the current market situation. The actual decision to enter a position may require more specific conditions to be met. For that reason, the take position event is a separate entity from the trigger-on event.\r","\r","Therefore, the take position event is defined with its own set of situations and conditions.\r","\r","Once the take position event is triggered, the decision to take a position has been made and there is nothing else to consider in that regard. Therefore, the runtime evaluation of the trading system shifts from the trigger stage to the open stage. \r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a take position event node, select *Add Missing Events* on the trigger stage node menu. All events that may be missing are created along with the rest of the basic structure of nodes required to define each of them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Open Stage","definition":"The open stage deals with the definitions that make up the logic to enter a position, including the target rate and size, and order execution.","content":["\r","\r","The open stage comes into play once the take position event is triggered. \r","Conceptually, the open stage deals with the details concerning how the position shall be opened once the decision to take a position has been made. That is, the open stage does not participate in the process of deciding whether a position should be open or not.\r","\r","To take a position, several definitions are required. In particular, those concerning targets, such as the rate and size of the position, and the logic of the execution strategy, that is, how many of which orders shall be placed at the exchange—and when—to enter the position.\r","\r","The open stage closes as soon as one of the following events happen:\r","\r","* the target size gets filled,\r","\r","* the close stage event is triggered,\r","\r","* the take profit or stop loss targets are hit.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add an open stage node, select *Add Missing Stages* on the strategy node menu. All stages that may be missing are created along with the rest of the basic structure of nodes required to define each of them and their events.\r","\r","{% include note.html content=\"Only one open stage may exist in each strategy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Close Stage Event","definition":"The close stage event defines the set of rules that need to be met for the corresponding stage to be closed.","content":["\r","\r","Both the open and close stages are closed once the target size is filled. \r","\r","However, Superalgos allows an extra level of control so that the user may choose to close either stage given specific market situations. Such is the intent of the close stage event.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Initial Targets","definition":"The initial targets node holds the most basic definitions about the position to be taken: the target rate and the target size.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Managed Stop Loss","definition":"The managed stop loss node features the definition of the phases that make up the management of the stop loss target as the position develops.","content":["\r","\r","A stop loss target is a crucial element of a trading strategy, as it is the device in charge of preserving capital. Used wisely, the management of the stop loss may also play the role of protecting unrealized profits. \r","\r","The system for managing the stop loss provided by Superalgos is highly flexible. It may start as simple as a constant value at a certain rate, but may switch to a trailing stop as soon as the price moves away from the target rate by a certain percentage, or when a certain market situation arises.\r","\r","In fact, the formula may change as many times as required, as you may set up unlimited phases, and switch back and forth as required using predefined events to make the switch.\r","\r","{% include note.html content=\"The above example of a constant stop loss followed by a trailing stop is merely an example of a typical setup. The formulas you use to determine the rate of the target on each phase may be anything you choose, thus, you may achieve whatever behavior you imagine and can describe mathematically.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a stop node, select *Add Missing Items* on the manage stage node menu. All items that may be missing are created along with the rest of the basic structure of nodes required to define each of them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Phase","definition":"The management of take profit and stop loss targets is done in phases. Phase 1 sets the initial targets, either for the managed stop loss or the managed take profit, and becomes active as soon as the first order is placed. Subsequent phases allows switching to different formulas given certain market situations.","content":["\r","\r","The default management of phases is sequential, meaning that phase 2 comes after phase 1, phase 3 comes after phase 2, and so on. \r","\r","To switch from one phase to the next phase in the sequence, the next phase event is used. When the situation described in the next phase event validates ```true```, the switch occurs and the next phase becomes the active phase.\r","\r","However, management does not need to happen sequentially. By using the move to phase event instead of the next phase event, the system may activate any other phase and not just the one next in the sequence.\r","\r","Both events may be used at the same time, and whichever event is triggered first takes precedence.\r","\r","{% include note.html content=\"Notice that stop loss and take profit phases are independent and defined separately from each other, each below the corresponding managed stop loss and managed take profit nodes.\" %}\r","\r","{% include note.html content=\"The value of the target set for a phase is expressed by a formula. Learn more about [formulas](suite-situations-conditions-formulas.html) and how to write them.\" %}\r","\r","{% include tip.html content=\"This explanation about phase 1 may be extended to any other phase, as they all work similarly, and it applies both for managed stop loss phases and managed take profit phases.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a new phase, select *Add Phase* on the stop or take-profit node menu. A new phase is added along with the basic structure of nodes required to define each of them and their events.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Next Phase Event","definition":"The next phase event determines when there should be a switch of phases to the next phase in a predefined sequence.","content":["\r","\r","The management of a position is —by default—done in sequential phases, each phase with its formula. To move from one phase to the next, a situation you define must be validated. \r","\r","When that happens, the next phase event is triggered, the current phase is abandoned, and the next phase is activated. From that instant on, the system evaluates the formula corresponding to the next phase.\r","\r","The sequence of phases may be as long as the number of phases you choose to add and define. There may be unlimited numbers of phases.\r","\r","{% include note.html content=\"Events are triggered by situations, which are defined by conditions. Both are explained in the situations, conditions, and formulas page.\" %}\r","\r","{% include tip.html content=\"To set up a next phase event, add the node and define the situation that should trigger the event.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a next phase event, select *Add Next Phase Event* on the corresponding phase node menu. The event is added along with the basic structure of nodes to define it.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Move To Phase Event","definition":"The move to phase event determines when there should be a switch of phases from the current phase to an arbitrary phase determined by a reference.","content":["\r","\r","While phases are defined in a sequence and you may choose to manage the position by shifting from one phase to the next in the sequence, the move to phase event offers an alternative.\r","\r","With the move to phase event, you may arbitrarily decide which will be the next phase. To do that, you must establish a reference from the move to phase event, to the phase that should be activated once the event is triggered.\r","\r","Any number of move-to-phase events may be set up for each and every phase, allowing complete flexibility on how the position is managed. This feature allows setting up versatile position-management algorithms that may switch to different formulas back and forth, or in any configuration imaginable.\r","\r","{% include note.html content=\"A move-to-phase event must reference a phase node. When the situation in the move-to-phase event evaluates ```true``` the management shifts to the referenced phase.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a move-to-phase event, select *Add Move to Phase Event* on the corresponding phase node menu. The event is added along with the basic structure of nodes to define it.\r","\r","{% include note.html content=\"Remember to establish a reference with the phase you wish to activate once the situation associated with the event validates true.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Managed Take Profit","definition":"The managed take profit node features the definition of the phases that make up the management of the take profit target as the position develops.","content":["\r","\r","A take profit target bears an important role in your strategy, as it plays a crucial role in determining the risk/reward ratio of the trading opportunity that materialized, and upon which your strategy acted to take a position.\r","\r","The foremost goal of trading is to increase your capital, and how you set your initial take profit target and manage it afterward determines how much you may increase your capital given a favorable price action.\r","\r","{% include note.html content=\"The system provides the same functionality for managing the take profit target as explained for the managed stop loss target, so please make sure you go through that section too. \" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a take profit node, select *Add Missing Items* on the manage stage node menu. All items that may be missing are created along with the rest of the basic structure of nodes required to define each of them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Target Size In Base Asset","definition":"Target size in base asset is used to define the size of the position, denominating it in the base asset.","content":["\r","\r","The system supports defining the size of the position in either asset involved in the market: the base asset, or the quoted asset, as per the exchange listing of the market. \r","\r","The target size may be defined in one of the two assets only, to avoid inconsistencies. \r","\r","The target size is the maximum size the position may achieve. That is, the definition of the target size is used as a cap for the total size of orders that may be placed during the open stage.\r","\r","If you prefer to define the size of the position denominated in the base asset, then use this node and delete the target size in quoted asset node.\r","\r","{% include important.html content=\"Only one target size definition may exist at a time.\" %}\r","\r","Even though the definition of the target size is denominated in one of the two assets in the market, the system keeps track of accounts for both assets. That is, performance metrics such as profit loss, ROI, hit ratio, or the annualized rate of return are calculated both based on the base asset and the quoted asset. In fact, metrics are also calculated in a consolidated manner, taking into account both assets at the same time. \r","\r","All of this information is made available for multiple contexts, for instance, for each position or the whole episode, through the data structure of the trading engine.\r","\r","When tracking the results of your trading operation, make sure you refer to the set of accounts that make sense for your trading system. This will all become clearer once you read about the trading engine and the layer managers available on the charts.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Target Size In Quoted Asset","definition":"Target size in quoted asset is used to define the size of the position, denominating it in the quoted asset.","content":["\r","\r","If you prefer to define the size of the position denominated in the quoted asset, then use this node and delete the target size in base asset node.\r","\r","{% include important.html content=\"Make sure you read the definition of the target size in base asset node to get the proper context for this definition.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Target Rate","definition":"The target rate is a reference rate that, in combination with the placement of managed stop loss and managed take profit targets, is used to determine whether the targets have been hit.","content":["\r","\r","The system needs to determine when the managed stop loss and managed take profit targets have been hit. To do this, the system observes how the user places the targets in relation to the target rate.\r","\r","*For example:*\r","\r","If the phase 1 managed stop loss target is placed below the target rate and the phase 1 managed take profit target above it, the system assumes that:\r","\r","* the stop loss target is hit when the current rate is equal to or smaller than the managed stop loss value;\r","\r","* the stop loss target is hit when the current rate is equal to or greater than the managed take profit value;\r","\r","The reversed example is true, as well.\r","\r","This is how the system uses the target rate internally.\r","\r","Additionally, defining a target rate at the level of the stage may be of use so that you may retrieve the value from formulas while setting the rate of limit orders.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Order Rate","definition":"The order rate node defines the rate of limit orders.","content":["\r","\r","Because the purpose of limit orders is to have control over the rate at which the order is executed, the definition of the order rate is required for all limit orders.\r","\r","{% include note.html content=\"Please, read about [limit orders](suite-strategies-open-execution.html#limit-buy-order) to complement the information in this definition.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Open Execution","definition":"The open execution node groups all execution algorithms involved in the process of opening a position.","content":["\r","\r","One of the crucial elements that make up trading intelligence is the capacity to control every aspect of order execution, as the execution itself entails strategic elements that directly affect performance. \r","\r","Superalgos' trading engine is designed as a generic infrastructure that allows building execution logic from the ground up, with as much simplicity or complexity as may be required.\r","\r","The trading system splits the definitions of the execution logic by trading strategy. That is, each strategy in a trading system may have its execution logic. \r","\r","The next layer of control comes in the form of execution algorithms. Each strategy may have as many algorithms as required, and each algorithm may have as many instructions as required.\r","\r","This model allows the granular control of orders with which you may build algorithms that may interact with other algorithms, and so on.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Execution Algorithm","definition":"An execution algorithm is a set of instructions used to place and manage orders at the exchange.","content":["\r","\r","Any given strategy may have simple or very complex execution requirements. To deal with complexity, Superalgos allows users to set up as many execution algorithms as required.\r","\r","Then, the logic in each algorithm may remain simple, while the combined work of multiple algorithms may deal with the required complexity.\r","\r","Each algorithm may be assigned a fraction of the target size (see the configuration section), thus, the extent of each algorithm's involvement in the execution is defined by this parameter.\r","\r","An execution algorithm is a set of instructions in the sense that the orders defined in each algorithm are themselves the instructions. That is, an execution algorithm is a set of predefined orders which may be created or canceled given specific market situations.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{\r"," \"percentageOfStageTargetSize\": 100 \r","}\r","```\r","\r","* ```percentageOfStageTargetSize``` is the definition of how much of the target size of the whole stage will be handled by the one specific execution algorithm, expressed as a percentage of the total target size. Posible values are real numbers between ```0``` and ```100```, including the extremes. If you set the value to ```0```, the algorithm will not be executed.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Buy Order","definition":"A market buy order is an instruction sent to the exchange to buy the base asset, for immediate execution at current market prices.","content":["\r","\r","Traders usually use market orders when the priority is the certainty of execution over the rate of execution. Depending on the size of the order and the liquidity of the particular market/exchange, market orders may experience more or less slippage.\r","\r","###### Market Orders' Rate\r","\r","Users have no control over the rate at which a market order is filled. The exchange fills the order with available bids/asks at the time of execution.\r","\r","{% include tip.html content=\"The information below this banner is valid for all types of orders.\" %}\r","\r","###### Order Size\r","\r","As explained in the definition of the execution algorithm, each algorithm is allocated a percentage of the target size defined under the initial targets node.\r","\r","*The simplified logic for non-coders:*\r","\r","```algorithmSize = targetSize * percentageOfStageTargetSize / 100```\r","\r","*The actual code:*\r","\r","```js\r","let algorithmSizeInBaseAsset = tradingEngineStage.stageBaseAsset.targetSize.value * executionAlgorithm.config.percentageOfStageTargetSize / 100\r","\r","let algorithmSizeInQuotedAsset = tradingEngineStage.stageQuotedAsset.targetSize.value * executionAlgorithm.config.percentageOfStageTargetSize / 100\r","```\r","\r","Similarly, the size of an order is defined as a percentage of the size that the particular algorithm is allowed to execute *(see the configuration)*. \r","\r","*The simplified logic for non-coders:*\r","\r","```orderSize = algorithmSize * percentageOfAlgorithmSize / 100```\r","\r","*The actual code:*\r","\r","```js\r","tradingEngineOrder.orderBaseAsset.size.value = algorithmSizeInBaseAsset * tradingSystemOrder.config.percentageOfAlgorithmSize / 100\r","```\r","\r","Because each execution algorithm may define multiple orders, the typical scenario is that all orders defined within an algorithm add up to 100% of the size allocated to the algorithm. \r","\r","However, it is up to the user how to manage this setting, as different hacks may be found to achieve different behaviors.\r","\r","{% include callout.html type=\"success\" content=\"If orders defined add up to more than 100% of the size allocated to the algorithm, the trading engine does not enforce a cap.\" %}\r","\r","Pretty much like the user may decide to define the size of orders within an algorithm above or below the 100% mark, the same is true when defining multiple algorithms. In other words, the user may choose to set up algorithms whose combined sizes amount to more or less than 100%.\r","\r","In cases in which the combined sizes amount to less than 100%, the target size would be partially filled at best. On the other hand, in cases in which the combined sizes amount to more than 100%, then the orders and/or algorithms would compete with each other.\r","\r","{% include callout.html type=\"success\" content=\"The one validation the trading engine does is to enforce the target size defined under the initial targets node. The target size is treated as a hard cap, so that no position may ever be sized larger than the target.\" %}\r","\r","If the order size as defined would cause the target size to be breached, then the order size is lowered to match the hard cap.\r","\r","*The simplified logic for non-coders:*\r","\r","```js\r","if ( targetSize + sizePlaced > targetSize )\r"," { orderSize = targetSize - sizePlaced }\r","```\r","\r","*The actual code:*\r","\r","```js\r","if (\r"," tradingEngineOrder.orderBaseAsset.size.value + tradingEngineStage.stageBaseAsset.sizePlaced.value >\r"," tradingEngineStage.stageBaseAsset.targetSize.value\r"," ) {\r"," tradingEngineOrder.orderBaseAsset.size.value = tradingEngineStage.stageBaseAsset.targetSize.value - tradingEngineStage.stageBaseAsset.sizePlaced.value\r"," }\r","```\r","\r","{% include note.html content=\"See the order's configuration to learn how to set up the order size.\" %}\r","\r","###### Placing and Filling of Orders\r","\r","The trading engine keeps track of the amounts placed and the amounts filled based on the feedback obtained from the exchange, and makes the information available in the size placed and size filled nodes. The nodes are present in multiple contexts, such as the particular stage (open and close) or the particular order type, and are denominated both in the base asset and quoted asset. You may learn more about how to track the size placed and size filled on the trading engine pages.\r","\r","###### Closing of Orders\r","\r","Orders may be closed upon the occurrence of the following two events:\r","\r","* The exchange reports the order was filled. In such a case, the trading engine closes the order.\r","\r","* The cancel order event is triggered. This is an event the user may configure with the typical set up of situations and conditions.\r","\r","###### Spawning Multiple Orders\r","\r","All of the available types of orders may be configured so that multiple orders may be spawned, one after the other, through the same order definition.\r","\r","This allows, for example, setting an order for 1% of the size allocated to the algorithm, and have the trading engine spawn one order per execution cycle until the 100% mark is reached. Such a feature may allow many more hacks and is yet another tool that—combined with the rest—enables a great deal of control over orders execution.\r","\r","A new instance of an order may be spawned only under the following context:\r","\r","* The previous instance of the order is closed. That is, two instances of the same order may not exist at the same time.\r","\r","* The size filled at the level of the execution algorithm is within the limit established in the algorithm's configuration.\r","\r","* The size filled at the level of the stage must be within the target size defined under the initial targets node.\r","\r","{% include note.html content=\"See the order's configuration to learn how to configure the parameter affecting this behavior.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{\r"," \"percentageOfAlgorithmSize\": 100, \r"," \"spawnMultipleOrders\": false \r","}\r","```\r","\r","* ```percentageOfAlgorithmSize``` is the definition of how much of the size handled by the algorithm shall be allocated to this particular order. Posible values are real numbers between ```0``` and ```100```, including the extremes. If you set the value to ```0```, the order will not be executed.\r","\r","* ```spawnMultipleOrders``` is the parameter that indicates whether additional spawned orders are allowed (```true```) or not (```false```).\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Sell Order","definition":"A market sell order is an instruction sent to the exchange to sell the base asset, for immediate execution at current market prices.","content":["\r","\r","{% include tip.html content=\"Please read the definition of [market buy order](suite-strategies-open.html#market-buy-order) for relevant information about how orders in general—and market orders in particular—work. \" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{\r"," \"percentageOfAlgorithmSize\": 100, \r"," \"spawnMultipleOrders\": false \r","}\r","```\r","\r","* ```percentageOfAlgorithmSize``` is the definition of how much of the size handled by the algorithm shall be allocated to this particular order. Posible values are real numbers between ```0``` and ```100```, including the extremes. If you set the value to ```0```, the order will not be executed.\r","\r","* ```spawnMultipleOrders``` is the parameter that indicates whether additional spawned orders are allowed (```true```) or not (```false```).\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Limit Buy Order","definition":"A limit buy order is an instruction sent to the exchange to buy the base asset, for execution at a specific rate or better.","content":["\r","\r","Traders usually use limit orders when the priority is the rate of execution over the certainty of execution. Limit orders are much more efficient than market orders in terms of rate, particularly for larger sizes which—when executed as market orders—may suffer considerable slippage filled as fast as possible with the order book of the particular instant.\r","\r","Also, many exchanges regard limit orders as market makers, that is, orders that bring liquidity to the market, and, therefore, may charge relatively better fees.\r","\r","###### Limit Orders' Rate\r","\r","Superalgos users must define the rate at wish they wish the order to be filled. The exchange is responsible for not filling the order unless it can match it with bids/asks at the rate set by the user, or at a better rate.\r","\r","Small discrepancies between the actual rate and the order rate are to be expected, as not all exchanges handle decimals and other conversions involving, for example, fees, in the same manner.\r","\r","{% include note.html content=\"Limit orders must define a rate using the appropriate child node, otherwise, the target rate defined as an initial target is used. If no rate is defined at all, the system stops with an error upon execution. The configuration of the order deals with the size. \" %}\r","\r","{% include tip.html content=\"Please read the definition of [market buy order](suite-strategies-open.html#market-buy-order) for relevant information about how orders in general work, in particular, the section about Order Size, Filling of Orders, Closing of Orders, and Spawning Multiple Orders. \" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{\r"," \"percentageOfAlgorithmSize\": 100, \r"," \"spawnMultipleOrders\": false \r","}\r","```\r","\r","* ```percentageOfAlgorithmSize``` is the definition of how much of the size handled by the algorithm shall be allocated to this particular order. Posible values are real numbers between ```0``` and ```100```, including the extremes. If you set the value to ```0```, the order will not be executed.\r","\r","* ```spawnMultipleOrders``` is the parameter that indicates whether additional spawned orders are allowed (```true```) or not (```false```).\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Limit Sell Order","definition":"A limit sell order is an instruction sent to the exchange to sell the base asset, for execution at a specific rate or better.","content":["\r","\r","{% include tip.html content=\"Please read the definition of [limit buy order](suite-strategies-open.html#limit-buy-order) for relevant information about how limit orders work. Also, please read the definition of [market buy order](suite-strategies-open.html#market-buy-order) for relevant information about how orders in general work, in particular, the section about Order Size, Filling of Orders, Closing of Orders, and Spawning Multiple Orders. \" %}\r","\r","\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{\r"," \"percentageOfAlgorithmSize\": 100, \r"," \"spawnMultipleOrders\": false \r","}\r","```\r","\r","* ```percentageOfAlgorithmSize``` is the definition of how much of the size handled by the algorithm shall be allocated to this particular order. Posible values are real numbers between ```0``` and ```100```, including the extremes. If you set the value to ```0```, the order will not be executed.\r","\r","* ```spawnMultipleOrders``` is the parameter that indicates whether additional spawned orders are allowed (```true```) or not (```false```).\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Create Order Event","definition":"The create order event controls the placement of orders.","content":["\r","\r","Even though the decision to take a position may have been made, the user may still decide to exert additional control over the placement of orders. Such is the intent of the create order event.\r","\r","An order defined in an execution algorithm will be executed only if the event evaluates ```true```.\r","\r","If you wish orders to be placed as defined immediately after the take position event has been triggered, the use the statement ```true``` your only create order event condition.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Cancel Order Event","definition":"The cancel order event makes cancelling limit orders possible.","content":["\r","\r","The cancel order event defines the market situations in which a limit order shall be canceled. When the event is triggered, the order is closed, even when the order may have been partially filled. In such a case, the size filled remains as is, and all accounts are computed accordingly, with the partial fill.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Simulated Exchange Events","definition":"The simulated exchange event node allows to override the parameters set at the level of the trading session on a per order basis to determine how each order shall be simulated.","content":["\r","\r","The offspring nodes under simulated exchange events allow setting order-specific parameters for the size filled, actual rate, and fees paid, so that each order may be simulated in a specific manner.\r","\r","If either of the offspring nodes is not present or is undefined, then the parameters configured at the level of the trading session are factored in by default.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Simulated Partial Fill","definition":"The simulated partial fill parameter allows simulating the partial fill of orders.","content":["\r","\r","Upon each execution, the simulation verifies if the current candle intersects the rate set for the order. If it does, it uses the value in this parameter as a factor to determine and keep track of what percentage of the order is filled.\r","\r","The same process repeats for each subsequent candle, until the order is filled.\r","\r","When the parameter is not present or undefined, the simulation assumes the order is filled as soon as the rate is hit.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{ \r"," \"fillProbability\": 1\r","}\r","```\r","\r","* ```fillProbability``` indicates the probability of an order getting filled upon each tag of the price. Values may range from ```0``` to ```1```. The value ```0``` indicates that there are 0% chances of the order getting filled. With such a setting, the order will never get filled in the simulation. The value ```1``` indicates that there is a 100% probability of the order getting filled. With such a setting, the order is filled upon the first tag of the price. A value of ```0.5``` indicates a 50% probability, thus, it takes two tags of the price for the order to fill completely with such a setting.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Simulated Actual Rate","definition":"The simulated actual rate node allows setting a specific rate value for the simulation of each order, overriding the slippage parameter of the trading session.","content":["\r","\r","The slippage parameter of the trading session allows setting a blanket slippage for all orders in the trading system. The simulated actual rate node allows control on a per-order basis, so each order may be simulated with a specific rate. \r","\r","{% include note.html content=\"If the node is not present or the parameter is undefined, the slippage parameter set up for the trading session is used.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Simulated Fees Paid","definition":"The simulated fees paid node allows setting a specific fee for the simulation of each order, overriding the fee structure parameter of the trading session.","content":["\r","\r","The fee structure parameter of the trading session allows setting a blanket fee structure (maker and taker) for all orders in the trading system. The simulated fees paid node allows control on a per-order basis, so each order may be simulated with a specific fee. \r","\r","{% include note.html content=\"If the node is not present or the parameter is undefined, the fee structure parameter set up for the trading session is used.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{ \r","\"percentage\": 0.1\r","}\r","```\r","\r","* ```percentage``` is the percentage to be applied to calculate the fees for the specific order.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Manage Stage","definition":"The manage stage deals with the setting and management of stop loss and take profit targets, both to protect your capital and to increase the efficiency of your trading system.","content":["\r","\r","The first and foremost rule of trading is to preserve capital and its main goal is to increase it.\r","\r","Conceptually, a position is not an instantaneous event, but an event which has an opening, a period of maturation, and a closing. The management of the position happens throughout the process.\r","\r","The concept of managing the position refers to the fact that the formulas that determine the take profit and stop loss targets may change as the position develops. A typical situation in which you may want to change your original take profit and stop loss formulas is when the position seems to be developing well in your favor.\r","\r","It may be in your best interest to manage the stop loss, moving the target in the direction that would help protect unrealized profits. It may also be in your interest to move the take profit target to extract a larger profit than originally expected. Or you may wish to set up a mechanism that closes the trade as soon as a certain market situation materializes.\r","\r","The management of take profit and stop loss is done independently of each other, in phases. Therefore, each concept has its own set of management phases.\r","\r","Each phase has its formula to describe the corresponding target. Users may define situations in which the current phase shall be abandoned and a different phase—with its formula—shall be implemented. \r","\r","Keep in mind that the position is in constant development, so there may be as many phases as you deem appropriate for your particular strategy.\r","\r","The idea of managing targets in phases derives from the notion that big market moves tend to provide clues as to what may come up next. For instance, rallies may accelerate as more traders join the move. Recognizable patterns may emerge. Signs of exhaustion may be identified.\r","\r","All of these considerations may feed the dynamic analysis performed in each phase as the position develops.\r","\r","Upon execution, the system verifies if the current candle has tagged either of the targets. If—or when—it does, the close stage kicks in and closing execution begins.\r","\r","{% include callout.html type=\"success\" content=\"It is crucial to understand that Superalgos does not place orders to close a position until the stop loss or take profit targets are hit. That is, stop loss and take profit are not orders sitting at the exchange waiting to be filled at a certain rate. Instead, Superalgos keeps track of targets internally, and places the orders at the exchange during the execution cycle in which it detects either of the targets has been hit.\" %}\r","\r","This behavior has advantages and disadvantages, but it was designed as is because the former outweigh the latter.\r","\r","By not placing stop or take profit orders at the exchange, Superalgos keeps your targets—and the underlying strategy—secret. This guarantees that such a crucial piece of information may not be used against you by the exchange itself or any third party that may have access to privileged information.\r","\r","On the other hand, not placing a stop order in advance may occasionally cause relatively more slippage, for instance, in cases of massive flash market moves. \r","\r","That said, the default behavior of the system may be hacked to avoid the eventual risk of excessive slippage: set your stop loss and take profit targets tighter than intended.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a manage stage node, select *Add Missing Stages* on the strategy node menu. All stages that may be missing are created along with the rest of the basic structure of nodes required to define each of them and their events.\r","\r","{% include note.html content=\"Only one manage stage may exist in each strategy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Close Stage","definition":"The close stage deals with the definitions that make up the logic to close a position, including the target rate and size, and order execution.","content":["\r","\r","The close stage is opened when either the stop loss or take profit targets are hit. \r","\r","In a way, the close stage is virtually a mirror of the open stage, as the same definitions are required to close a position. There are a few logical differences, though.\r","\r","For example, in the open stage, you probably defined the target size as a function of the capital allocated to the trading system. In the close stage, you will likely want to define the target size as a function of the size filled, that is, the amount of the orders placed that was filled during the open stage.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a close stage node, select *Add Missing Stages* on the strategy node menu. All stages that may be missing are created along with the rest of the basic structure of nodes required to define each of them and their events.\r","\r","{% include note.html content=\"Only one close stage may exist in each strategy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Close Execution","definition":"The close execution node groups all execution algorithms involved in the process of closing a position.","content":["\r","\r","The close execution section of the close stage works similarly to the open execution in the open stage. Please refer to the explanations of the open stage for the details.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a close execution node, select *Add Close Execution* on the open stage node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Social Bots"},{"type":"Telegram Bot"},{"type":"Announcement"},{"type":"Announcement Condition"},{"type":"Crypto Ecosystem","definition":"The crypto ecosystem is a hierarchy that contains definitions about third-parties, including exchanges and their markets, as well as accounts of users with those third parties.","content":["\r","\r","There is only one crypto ecosystem hierarchy. You will use it to define which exchanges and which markets you wish to work with, as well as the details of your accounts with those exchanges. \r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Super Actions"},{"type":"Signals Providers"},{"type":"Signals Provider"},{"type":"Crypto Exchanges","definition":"The crypto exchanges node groups definitions of the different exchanges the user may interact with.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add a crypto exchanges node, select *Add Crypto Exchanges* on the crypto ecosystem node menu. \r","\r","{% include note.html content=\"Only one crypto exchanges node may exist on the hierarchy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Crypto Exchange","definition":"A crypto exchange node holds the definitions of assets and markets in a specific exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add a crypto exchange, select *Add Crypto Exchange* on the crypto exchanges node menu. The crypto exchange node is created along with the rest of the basic structure of nodes required to define assets, markets and user accounts.\r","\r"],"configuring":["\r","\r","Select *Configure Crypto Exchange* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"codeName\": \"binance\",\r"," \"API\": [\r"," {\r"," \"method\": \"fetchTrades\",\r"," \"fetchType\": \"by Id\",\r"," \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\r"," \"firstId\": \"f\"\r"," }\r"," ]\r","}\r","```\r","\r","* ```codeName``` is the name of the exchange as handled in the code of the system. \r","\r","* ```API``` holds a series of definitions used only in the case in which the sensor bot fetches trades (using the Historic-Trades process) instead of the OHLCV process that fetches one-minute candles and is the current default. In such a case, finding the right set of parameters to work with a specific exchange may be challenging, nd involves understanding how the exchanges API and the CCXT Library API work. In other words, there is no hard rule as of what each of the values should be. Determining each of this values requires exploring the exchange's API documentation, as well as the documentation of the CCXT Library.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Assets","definition":"The exchange assets node groups the definitions of assets.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add an exchange assets node, select *Add Exchange Assets* on the crypto exchanges node menu. The exchange assets node is created along with a first asset.\r","\r","{% include note.html content=\"Only one exchange assets node may exist on each exchange.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Exchange Assets* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"addMissingAssets\": { \"quotedAsset\": \"BTC\"} \r","}\r","```\r","\r","* ```addMissingAssets``` acts as a filter to determine which assets of a (potentially long) list of assets listed at the exchange will be added when the *Add Missing Assets* option in the menu is used. Because many exchanges do not offer a list of assets, the system fetches assets from actual markets (pairs) listed at the exchange. You may add missing assets filtered by the ```quotedAsset``` or by the ```baseAsset```. For example, the above configuration would add all assets listed in markets in which BTC is the quoted asset.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Asset","definition":"An asset node is the definition of an asset listed at the corresponding exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add an asset, select *Add Asset* on the exchange assets node menu. \r","\r","To add assets in bulk, select *Add Missing Assets* on the exchange assets node menu. Beware that the exchange may handle hundreds of assets. Before using this option you may want to implement a filter using the exchange assets configuration.\r","\r","{% include /crypto_ecosystem/exchange-assets.md heading=\"\" icon=\"no\" adding=\"\" configuring=\"#####\" starting=\"\" content=\"no\" definition=\"no\" table=\"\" more=\"yes\"%}\r","\r"],"configuring":["\r","\r","Select *Configure Asset* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"codeName\": \"BTC\"\r","}\r","```\r","\r","* ```codeName``` is the ticker of the asset as listed by the exchange (*i.e.:* BTC, BTH, ETH, LTC, BNB, USDT, USD, etc.)\r","\r","{% include note.html content=\"When a configured asset is within the system's icon catalog, the standard asset icon is replaced with the logotype of the corresponding asset.\" %}\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Markets","definition":"The exchange markets node groups the definitions of markets.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add an exchange markets node, select *Add Exchange Markets* on the crypto exchange node menu. The exchange markets node is created along with the basic structure of nodes to define the first market.\r","\r","{% include note.html content=\"Only one exchange assets node may exist on each exchange.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market","definition":"A market is the definition of a pair of assets (i.e.: BTC-USDT) listed as a market in the corresponding exchange.","content":["\r","\r","{% include important.html content=\"Only markets that are effectively listed on the exchange may be configured and used with the system. Check with the exchange and make sure you understand what tickers they are using, which is the base asset and which the quoted asset on the listed markets.\" %}\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add a market, select *Add Market* on the exchange markets node menu. The market node is created along with the basic structure of nodes used to define the market. This option does not generate the super actions required to install and uninstall markets.\r","\r","To add markets in bulk, select *Add Missing Markets* on the exchange markets node menu. This option adds all markets listed at the exchange that may result from the combination of assets listed under the exchange assets node, along with the required super actions to intall those markets.\r","\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Accounts","definition":"The exchange accounts node groups the different accounts the user may have with the corresponding exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add an exchange accounts node, select *Add Exchange Account* on the crypto exchange node menu. The exchange account node is created along with the basic structure of nodes used to define keys and user assets with the exchange.\r","\r","{% include note.html content=\"Only one exchange accounts node may exist on each exchange.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"User Account","definition":"A user account represents a single account with the corresponding exchange, holding the definitions of user assets, including keys and balances.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add a user account, select *Add User Account* on the exchange accounts node menu. The user account node is created along with the basic structure of nodes used to define keys and user assets with the exchange.\r","\r","{% include tip.html content=\"You may add and administer as many user accounts as you wish.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"User Assets","definition":"The user assets node groups the assets the user has at the exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add user assets node, select *Add User Assets* on the user account node menu. The user assets node is created along with the first exchange account asset.\r","\r","{% include note.html content=\"Only one user assets node may exist under a user account.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"User Keys","definition":"The user keys node groups the various exchange account keys the user may have under the corresponding account with the exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add user keys node, select *Add User Keys* on the user account node menu. The user keys node is created along with the first exchange account key.\r","\r","{% include note.html content=\"Only one user keys node may exist under a user account.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Account Asset","definition":"The exchange account asset represents a single asset the user has at the exchange.","content":["\r","\r","The exchange account asset is a reference to an asset defined under the exchange assets node.\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add an exchange account asset node, select *Add Asset* on the user assets node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with an asset defined under the exchange assets node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Account Key","definition":"The exchange account key holds the definition of the key name and secret provided by the corresponding exchange to access the user account via the exchange API.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add an exchange account key, select *Add Key* on the user keys node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Key* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"codeName\": \"Paste your exchange API name or label here\",\r","\"secret\": \"Paste your exchange API secret key here.\"\r","}\r","```\r","\r","* ```codeName``` is the name or label of your key, as supplied by the exchange.\r","\r","* ```secret``` is the *secret key* as supplied by the exchange.\r","\r","{% include warning.html content=\"To keep your exchange keys safe, never share data structures you may download from the system, as downloads contain all information in the data structure, including personal information such as exchange keys. Use the share option on the menu instead. The share option strips sensitive information and outputs a file that is safe for sharing.\" %}\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Charting Space","definition":"The charting space is the hierarchy that governs the configuration of the charts, and the bidimensional space on which charts are drawn.","content":["\r","\r","Think of the charting space as a huge drawing board. You may have lots of information plotted on different parts of the space and use a viewport to look into that space.\r","\r","There is only one charting space hierarchy, thus all charts are configured here. As is common throughout the system, different concepts and elements of the charts such as scales, data layers and so on, are represented by nodes in the hierarchy. The system allows great flexibility on how to visualize information over the charts by adding, configuring, and arranging these nodes.\r","\r"],"folderName":"charting_space","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"charts":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Dashboard","definition":"A dashboard is a collection of time machines, each containing any number of charts.","content":["\r","\r","The concept of the dashboard allows having multiple charts configured all at once, so that you may consult different exchanges, different markets, different time frames, or different technical studies on demand, simply by moving around and zooming in or out. You may put charts side by side, or even superimpose them to study market flows, search for arbitrage opportunities, or simply keep them in sight when you analyze particular market situations.\r","\r","At the moment, the functionality of a dashboard is trivial: grouping time machines. However, in the future, it will offer various features to enhance the user experience.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a dashboard, select *Add Dashboard* on the Charting Space node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"charts":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Time Machine","definition":"A time machine synchronizes multiple timeline charts over the same timeline. Timeline charts within a time machine may have different rate scales or time frame scales, but their time scale will always match.","content":["\r","\r","Think of a time machine as an aide that helps you keep any number of pieces of information synchronized on the same time scale. Every data structure that you set up within the same time machine, will always be synchronized in time. Put in other words, the open and closing datetime of each dataset will always be aligned on the vertical axis.\r","\r","On the other hand, when you arrange charts on different time machines, they are completely independent of one another.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a time machine, select *Add Time Machine* on the Dashboard node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"charts":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Viewport","definition":"The viewport is a window through which you may look into the charting space.","content":["\r","\r","The viewport offers an opening into the visual environment in which you may see, analyze and go over every piece of data involved in the process of trading cryptocurrencies:\r","\r","* Live and historic market data;\r","* Data crunched in the form of indicators;\r","* The specific effects of the rules you will program into your strategies, and how strategies behave during testing and live trading sessions.\r","\r","At this point, the system supports one viewport only. In the future, different viewports may give you direct access to different parts of the charting space.\r","\r","{% include note.html content=\"The information that is out of focus, that is, out of the viewport, is not read nor rendered graphically, thus, does not consume resources.\" %}\r","\r"],"folderName":"charting_space","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"charts":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Time Scale","definition":"The time scale controls the scale of the horizontal axis, that is, the timeline of the corresponding time machine, and of all of the timeline charts within it.","content":["\r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Scale Minimum and Maximum Values\r","\r","A time scale has a minimum and a maximum value. The minimum value is the value at the left border of the chart. The maximum, is the value at the right border of the chart.\r","\r","In technical terms, the minimum and maximum scale values are constantly changing as, whenever you pan across the charts, you are directly affecting the minimum and maximum scale values. That said, the actual scale doesn't change when panning across a chart.\r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Automatic Scale\r","\r","The system features an automatic adjustment of the scale, which is turned on by default in our shared workspaces. The scale may be automatic in its minimum value, in its maximum value, or both. \r","\r","When the scale is automatic in the minimum value, the scale is adjusted so that the chart shows all data from the beginning of the market. Panning the charts under such setting has the effect of compressing and decompressing the data against the left border of the chart.\r","\r","When the scale is automatic in the maximum value, the scale is adjusted so that the chart shows all data until the end of the market. In such case, panning the charts has the effect of compressing and decompressing the data against the right border of the chart.\r","\r","When the scale is automatic in both the minimum and maximum value, the scale is adjusted so that the chart shows the whole market. In such case, when you click and drag to pan the charts, the settings turns back to manual on both ends of the chart.\r","\r","{% include note.html content=\"Having the time scale set to automatic by default helps finding the data as soon as it starts being processed the first time you run the Masters bot instances.\" %}\r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Manual Scale\r","\r","The scale features a manual mode. When in manual mode the scale does not change, even if the minimum and maximum values change while panning through a chart. This is the natural state of the time scale. \r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a time scale, select *Add Time Scale* on the time machine node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Rate Scale* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"fromDate\": \"2019-05-02T20:07:50.872Z\",\r"," \"toDate\": \"2019-05-22T20:28:21.515Z\",\r"," \"autoMinScale\": false,\r"," \"autoMaxScale\": false\r","}\r","```\r","\r","* ```minValue``` is a date in the Epoch time format that represents the value of the scale at the left border of the chart.\r","\r","* ```maxValue``` is a date in the Epoch time format that represents the value of the scale at the right border of the chart.\r","\r","* ```autoMinScale``` sets the mode of the scale for the minimum value; ```true``` sets the value to automatic, ```false``` sets the value to manual. \r","\r","* ```autoMaxScale``` sets the mode of the scale for the maximum value; ```true``` sets the value to automatic, ```false``` sets the value to manual. \r","\r","{% include note.html content=\"The ```minValue``` and ```maxValue``` may be entered via the design space and the charts. Both input methods are synchronized and the resulting values are stored in the node.\" %}\r","\r"],"charts":["\r","\r","{{include.charts}}# Automatic Scale\r","\r","**1. To change the automatic scale settings**, place the mouse pointer over the corresponding time box, press the Shift key and slowly scroll the wheel of the mouse. The action cycles through different possible scale automation settings. Notice a tiny green triangle to the sides of the time scale icon. \r","\r","* A triangle pointing right means that the maximum value of the scale is automatic. \r","\r","* A triangle pointing left means that the minimum value of the scale is automatic.\r","\r","* Both triangles present at the same time means that both minimum and maximum values are automatic.\r","\r","* No triangle means that both minimum and maximum values are in manual mode.\r","\r","{% include image.html file='interface/time-scale-00.gif' url='yes' max-width='100' caption='Pay attention to the effects of the different setting for the automatic and manual time scales.' %}\r","\r","{{include.charts}}# Manual Scale\r","\r","**2. To adjust the scale**, make sure either or both minimum and maximum values are in manual mode. Place the mouse pointer over the time box and scroll the wheel of the mouse. The scale will increase or decrease accordingly, depending on which values are set to manual.\r","\r","{% include image.html file='interface/time-scale-01.gif' url='yes' max-width='100' caption='When the scale is set to manual, scrolling the mouse wheel on top of the time scale box changes the scale.' %}\r","\r","Notice that, while changing the scale, a number is displayed replacing the actual datetime. This is a reference value of the scale, that may serve for comparison purposes, with scales in other charts.\r","\r","{% include note.html content=\"This action has no effect when both minimum and maximum values are set to automatic mode.\" %}\r","\r"]},{"type":"Rate Scale","definition":"The rate scale controls the scale of the vertical axis, that is, the scale of the quoted asset, either of the time machine or of the timeline chart, depending on where the node is located.","content":["\r","\r","Rate scales may exist both at the level of a time machine and at the level of a timeline chart, each affecting the corresponding concept.\r","\r","When set at the level of the time machine, the scale settings affect all charts within the time machine. When set at the level of the timeline chart, the settings override the rate scale at the time machine level. This allows having multiple charts on the same time machine, each with a different rate scale.\r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Scale Minimum and Maximum Values\r","\r","A rate scale has a minimum and a maximum value. The minimum value is the value at bottom of the chart. The maximum, is the value at the top of the chart.\r","\r","In technical terms, the minimum and maximum scale values are constantly changing as, whenever you pan across the charts, you are directly affecting the minimum and maximum scale values. That said, the actual scale may change dynamically or not, depending on the scale-automation settings.\r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Automatic Scale\r","\r","The system features an automatic adjustment of the scale, which is turned on by default in our shared workspaces. The scale may be automatic in its minimum value, in its maximum value, or both. \r","\r","When the scale is automatic in the minimum value, the scale is adjusted so that no piece of information in the span of the chart ever remains below the bottom of the chart. As a result, the lowest data point aligns with the bottom of the chart.\r","\r","When the scale is automatic in the maximum value, the scale is adjusted so that no piece of information in the span of the chart ever remains above the top of the chart. As a result, the highest data point aligns with the top of the chart.\r","\r","The scale may be automated on either, or both minimum and maximum values at the same time. In the later case, no data point in the span of the chart ever remains out of the visible area of the chart, as the lowest data point aligns with the bottom of the chart and the highest aligns with the top.\r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Manual Scale\r","\r","The system also features a manual mode. When in manual mode the scale does not change, even if the minimum and maximum values change while panning across a chart. This design feature allows comparing different periods using the same scale, which may be valuable in many cases. \r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Scale Offset\r","\r","The offset is a feature of the rate scale by which the scale may be shifted upwards or downwards. As a result, charts aligned on the vertical axis—synchronized in datetime by a shared time machine—may be put one above the other. In technical terms, what happens is that the scale is shifted upwards or downwards.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a rate scale, select *Add Rate Scale* on the time machine or the timeline chart node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Rate Scale* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"minValue\": 388.60416666666424,\r"," \"maxValue\": 9715.104166666664,\r"," \"autoMinScale\": true,\r"," \"autoMaxScale\": true\r","}\r","```\r","\r","* ```minValue``` is a numerical value that represents the value of the scale at the bottom of the chart.\r","\r","* ```maxValue``` is a numerical value that represents the value of the scale at the top of the chart.\r","\r","* ```autoMinScale``` sets the mode of the scale for the minimum value; ```true``` sets the value to automatic, ```false``` sets the value to manual. \r","\r","* ```autoMaxScale``` sets the mode of the scale for the maximum value; ```true``` sets the value to automatic, ```false``` sets the value to manual. \r","\r","{% include note.html content=\"The ```minValue``` and ```maxValue``` may be entered via the design space and the charts. Both input methods are synchronized and the resulting values are stored in the node.\" %}\r","\r"],"charts":["\r","\r","{{include.charts}}# Automatic Scale\r","\r","**1. To change the automatic scale settings**, place the mouse pointer over the corresponding time machine or timeline chart rate box, press the Shift key and slowly scroll the wheel of the mouse. The action cycles through different possible scale automation settings. Notice a tiny green triangle below and/or above the rate scale icon. \r","\r","* A triangle pointing up means that the maximum value of the scale is automatic. \r","\r","* A triangle pointing down means that the minimum value of the scale is automatic.\r","\r","* Both triangles present at the same time means that both minimum and maximum values are automatic.\r","\r","* No triangle means that both minimum and maximum values are in manual mode.\r","\r","{% include image.html file='interface/rate-scale-00.gif' url='yes' max-width='100' caption='Pay attention to the effects of the different setting for the automatic and manual time scales.' %}\r","\r","{{include.charts}}# Manual Scale\r","\r","**2. To adjust the scale**, make sure either or both minimum and maximum values are in manual mode. Place the mouse pointer over the corresponding time machine or timeline chart rate box and scroll the wheel of the mouse. The scale will increase or decrease accordingly, depending on which values are set to manual.\r","\r","{% include image.html file='interface/rate-scale-01.gif' url='yes' max-width='100' caption='When the scale is set to manual, scrolling the mouse wheel on top of the rate scale box changes the scale.' %}\r","\r","Notice that, while changing the scale, a number is displayed replacing the actual rate. This is a reference value of the scale, that may serve for comparison purposes, with scales in other charts.\r","\r","{% include note.html content=\"This action has no effect when both minimum and maximum values are set to automatic mode.\" %}\r","\r","{{include.charts}}# Scale Offset\r","\r","**3. To shift or offset a timeline chart on the vertical axis**, place the mouse pointer on the rate box, left-click and drag upwards or downwards, as desired. The timeline chart will shift in the specified direction while the remaining charts stay in the same position.\r","\r","{% include image.html file='interface/rate-scale-02.gif' url='yes' max-width='100' caption='To control the offset between timeline charts, right-click on the rate box and drag upwards or downwards.' %}\r","\r","{% include note.html content=\"Setting an offset in a timeline chart only makes sense in the context of a time machine with multiple charts. That is, if you are browsing a single chart, an offset behaves the same as moving the single chart up or down.\" %}\r","\r","\r"]},{"type":"Time Frame Scale","definition":"The time frame scale controls the time frame setting, that is, the period represented by each candle, either of the time machine or of the timeline chart, depending on where the node is located.","content":["\r","\r","When the time frame scale is set at the level of the time machine, the scale setting affects all charts within the time machine. When set at the level of the timeline chart, the setting overrides the time frame scale at the time machine level. This allows comparing charts in different time frames, but still synchronized at the datetime level.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a time frame scale, select *Add Time Frame Scale* on the time machine or the timeline chart node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Frame Scale* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"value\":\"06-hs\"\r","}\r","```\r","\r","* ```value``` can be any of the time frames supported by the system:\r","\r"," * ```01-min```, ```02-min```, ```03-min```, ```04-min```, ```05-min```, ```10-min```, ```15-min```, ```20-min```, ```30-min```, ```40-min```, and ```45-min```.\r","\r"," * ```01-hs```, ```02-hs```, ```03-hs```, ```04-hs```, ```06-hs```, ```08-hs```, ```12-hs```, and ```24-hs```.\r","\r"," {% include note.html content=\"The values entered via the design space and the charts are synchronized and stored in the node.\" %}\r","\r"],"charts":["\r","\r","**1. To set a time frame value**, place the mouse pointer over the corresponding time machine or timeline chart time frame box and scroll the mouse wheel.\r","\r","{% include image.html file='interface/time-frame-scale-00.gif' url='yes' max-width='100' caption='To set a time frame, scroll the wheel of the mouse over the time frame scale box.' %}\r","\r"]},{"type":"Timeline Chart","definition":"The timeline chart represents a chart within a time machine, which may have independent rate and time frame scales, as well as particular layers.","content":["\r","\r","In other words, a timeline chart—often referred simply as *chart*—is a set of information to be displayed over a timeline. The information may include candles—the main and foremost resource—as well as any other indicator, study or—in general—data products that may be available.\r","\r","You may add as many charts as you wish. Charts within the same time machine are synchronized in the y-axis, that is, in the datetime dimension. Charts in different time machines are independent of each other concerning the datetime. In either case, you may also add rate scales and time frame scales at the timeline charts level.\r","\r","The information that each timeline chart makes available on the screen is given by the layers set up in the corresponding layer manager.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a timeline chart, select *Add Timeline Chart* on the preferred time machine node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"charts":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Layer Manager","definition":"The layer manager determines which layers will be visible on the corresponding timeline chart.","content":["\r","\r","In other words, you use the layer manager node to configure which data products you wish to be made available for visualization purposes on the charts, in particular, on a specific timeline chart to which the layer manager node is attached to.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a layer manager, select *Add Layer Manager* on the preferred timeline chart node menu.\r","\r"],"configuring":["\r","Select *Configure Layer Manager* in the menu to access the configuration.\r","\r","```json\r","{\r"," \"visibleLayers\": 3,\r"," \"panelLocation\": {\r"," \"upOrDown\": \"up\",\r"," \"leftOrRight\": \"left\"\r"," },\r"," \"label2FontSize\": 12\r","}\r","```\r","\r","* ```visibleLayers``` keeps track of how many layers the managers is rolled to, that is, how many layers it is displaying.\r","\r","* ```panelLocation``` keeps track of the position of the panel relative to the four screen corners.\r","\r","* ```label2FontSize``` allows adjusting the font size of the second-order label of each layer, displaying the name of the exchange and market.\r","\r"],"charts":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Layer","definition":"A layer represents a reference to a data product in the data storage node of the network hierarchy. Conceptually, it means that a certain data product, which exists in a certain location on the network, holds the data to be rendered on the charts.","content":["\r","\r","To set up a layer, you need to establish a reference with the data product of your choice.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a layer, select *Add Layer* on the layer manager node menu. \r","\r","{% include note.html content=\"After adding a layer node, make sure you establish a reference to the corresponding data product in the data storage node of the network hierarchy.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Layer* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"status\":\"on\", \r"," \"showPanels\":true\r","}\r","```\r","\r","* ```status``` may be *on* or *off* and refers to the layer being visible or not on the charts.\r","\r","* ```showPanels``` may be *true* or *false*; *true* shows the plotter panel that may be associated with the data product as per the plotter module definitions; *false* makes panels invisible.\r","\r"],"charts":["\r","\r","To turn layers on and off, simply click on the layer in the corresponding products panel.\r","\r","To turn on and off a layer panel, click the panel button on the bottom-left corner of the layer.\r","\r"]},{"type":"Bot Layers"},{"type":"Layer Folder"},{"type":"Data Storage","definition":"The data storage node holds the definitions as to what data is stored in the corresponding network node.","content":["\r","\r","Bot instances running on the data mining and trading sections of a network node produce data products that need to be stored somewhere, specifically. The data storage node and its chain of offspring determine which data is to be stored where; that is, in what network node.\r","\r","Like with the data mining section and the sections referring to trading operations (testing and production environments), the data storage section is too organized by exchange, market, and data or trading mines. See the [sorting of tasks](suite-sorting-of-tasks.html) page for the details.\r","\r","The storage of data is split between [data mines data](suite-data-mines-data.html) and [trading mines data](suite-trading-mines-data.html). This is to facilitate the management of data storage definitions in [trading farms](suite-fundamental-trading-farms-concepts.html), on which data mining operations may be separate from trading operations.\r","\r","The data stored on each node of the network may be accessed by others, including the charting system, to visualize information via plotters defined in data mines, by trading systems to make trading decisions, and even by third-party systems. The information regarding trading mine data is explained in length in the [trading engine](suite-trading-engine.html) section of the documentation.\r","\r","The setup of data storage definitions is done automatically when the [install market](suite-how-to-install-a-new-market.html) function under the exchange markets node of the Crypto Ecosystem hierarchy is used. However, when data mining or trading tasks are created manually, the data storage definitions must be created manually as well, using the tools available in each of the data structures below this node.\r","\r","{% include node-deletion-warning.html %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a data storage, select *Add Data Storage* on the network node menu. \r","\r","{% include note.html content=\"Only one data storage node may exist on each network node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Mine Tasks","definition":"The data mine tasks node is an organizational device that groups tasks corresponding to the referenced data mine.","content":["\r","\r","The data mine tasks node must reference the definition of a data mine. The node may spawn tasks for each bot in the data mine.\r","\r"],"folderName":"network","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. This action adds the node but does not establish a reference with any data mine.\r","\r","The smarter use of the node involves using the *Add Missing Data Mine Tasks* option on the parent node menu. This action creates a data mine tasks node for each data mine in the workspace, establishing a reference with the corresponding data mines. This is the first step in the direction of quickly setting up tasks for each bot in a given data mine.\r","\r","{% include note.html content=\"See the task node definition and the *Adding a Task Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","Select *Run All Task Managers* or *Stop All Task Managers* on the menu to start and stop all tasks under this node.\r","\r"]},{"type":"Trading Mine Tasks","definition":"The trading mine tasks node is an organizational device that groups tasks corresponding to the referenced trading mine.","content":["\r","\r","The market trading tasks node must reference the definition of a data mine. The node may spawn tasks for each bot in the data mine.\r","\r"],"folderName":"network","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. This action adds the node but does not establish a reference with any data mine.\r","\r","The smarter use of the node involves using the *Add Missing market trading tasks* option on the parent node menu. This action creates a market trading tasks node for each data mine in the workspace, establishing a reference with the corresponding data mines. This is the first step in the direction of quickly setting up tasks for each bot in a given data mine.\r","\r","{% include note.html content=\"See the task node definition and the *Adding a Task Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","Select *Run All Task Managers* or *Stop All Task Managers* on the menu to start and stop all tasks under this node.\r","\r"]},{"type":"Market Data Tasks","definition":"A market data tasks node groups data mining tasks operating in a specific market.","content":["\r","\r","The market data tasks node must reference a market defined in the Crypto Ecosystem hierarchy.\r","\r","This node may spawn individual data products or may deploy data products in bulk organized by data mine and by bots. See the data products node for the details.\r","\r"],"folderName":"network","adding":["\r","\r","To add a market data tasks node, select *Add Market Data* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with a market defined in the Crypto Ecosystem hierarchy after adding the node.\" %}\r","\r","You may also add market data tasks nodes in bulk for all markets that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Markets* on the parent node menu. A market data tasks node is created for each defined market, each with the corresponding reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","Select *Run All Data Mine Tasks* or *Stop All Data Mine Tasks* on the menu to start and stop all tasks under this node.\r","\r"]},{"type":"Market Trading Tasks","definition":"A market trading tasks node groups trading tasks operating in a specific market.","content":["\r","\r","The market trading tasks node must reference a market defined in the Crypto Ecosystem hierarchy.\r","\r","This node may spawn individual data products or may deploy data products in bulk organized by data mine and by bots. See the data products node for the details.\r","\r"],"folderName":"network","adding":["\r","\r","To add a market trading tasks node, select *Add Market Data* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with a market defined in the Crypto Ecosystem hierarchy after adding the node.\" %}\r","\r","You may also add market trading tasks nodes in bulk for all markets that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Markets* on the parent node menu. A market trading tasks node is created for each defined market, each with the corresponding reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","Select *Run All Trading Mine Tasks* or *Stop All Trading Mine Tasks* on the menu to start and stop all tasks under this node.\r","\r"]},{"type":"Exchange Data Tasks","definition":"The exchange data tasks node organizes data mining tasks by exchange. That is, each exchange installed in the system has an exchange data tasks node grouping all market data tasks corresponding to the said exchange.","content":["\r","\r","The exchange data tasks node must reference the exchange of choice. This reference constraints the rest of the definitions to the context of the said exchange.\r","\r","When representing an exchange featured in the system's icons library, the standard exchange data tasks icon is replaced by the exchange's logo.\r","\r"],"folderName":"network","adding":["\r","\r","To add a specific {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference to the desired exchange in the Crypto Ecosystem hierarchy.\" %}\r","\r","You may also add exchange data tasks node in bulk for all exchanges that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Exchanges* on the parent node menu. An exchange data tasks node is created for each defined exchange, each with the corresponding reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","Select *Run All Market Data Tasks* or *Stop All Market Data Tasks* on the menu to start and stop all tasks under this node.\r","\r"]},{"type":"Exchange Trading Tasks","definition":"The exchange trading tasks node organizes trading tasks by exchange. That is, each exchange installed in the system has an exchange trading tasks node grouping all market trading tasks corresponding to the said exchange.","content":["\r","\r","The exchange trading tasks node must reference the exchange of choice. This reference constraints the rest of the definitions to the context of the said exchange.\r","\r","When representing an exchange featured in the system's icons library, the standard exchange trading tasks icon is replaced by the exchange's logo.\r","\r"],"folderName":"network","adding":["\r","\r","To add a specific {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference to the desired exchange in the Crypto Ecosystem hierarchy.\" %}\r","\r","You may also add exchange trading tasks node in bulk for all exchanges that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Exchanges* on the parent node menu. An exchange trading tasks node is created for each defined exchange, each with the corresponding reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","Select *Run All Market Trading Tasks* or *Stop All Market Trading Tasks* on the menu to start and stop all tasks under this node.\r","\r"]},{"type":"Data Mining","definition":"Data mining is the activity of processing data. You need to process data to feed charts, and so that your trading systems may make decisions based on quality information.","content":["\r","\r","Having access to quality information is a crucial element of trading. For that reason, Superalgos strives to give users full control over how, where, and when data is processed. You will use this section of the network hierarchy to exert that control.\r","\r","Data mining is done through tasks running instances of sensor and indicator bots. The data structure under this node allows organizing the data mining operation by exchange, market, and data mine.\r","\r","The setup of the data mining operation may be done using the *Install Market* function of the market you wish to install as defined in the Crypto Ecosystem hierarchy under the exchange markets node. Learn more about this function on the [how to install a new market](suite-how-to-install-a-new-market.html) page.\r","\r","You may also set up data mining tasks by using the different functions in this section of the hierarchy, starting with the options in the menu of this node. This route offers finer control over what tasks you set up, and how. \r","\r","{% include node-deletion-warning.html %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Testing Environment","definition":"The testing environment node organizes trading sessions involving testing of trading systems.","content":["\r","\r","Thorough and comprehensive testing of strategies is at the core of successful trading. Superalgos strives to put you in control of the testing process providing you with flexible tools to fit your criteria.\r","\r","Depending on how you use the system, how many markets and exchanges you work with, the number of trading systems you use, or the way you choose to test your strategies, you may find yourself with a large number of testing sessions. As explained in the [sorting of tasks](suite-sorting-of-tasks.html) page, the testing environment helps you organize large numbers of tasks sorting them by exchange, market, and trading mine.\r","\r","Superalgos handles two types of simulated tests: backtesting and paper trading. Backtesting involves testing over historic data, while paper trading is about testing on a live data stream, but without placing orders at the exchange.\r","\r","Trading sessions are controlled by a number of parameters that determine how the session is run. The built-in parameters provide great control and flexibility as to how to handle data sets and how to produce the resulting simulations.\r","\r","{% include note.html content=\"Please, read on and study the workings of the chain of nodes under the testing environment node. The investment of time is well worth it, as you will learn how to make the most out of the strategy-testing features built-in Superalgos.\" %}\r","\r","{% include node-deletion-warning.html %}\r","\r"],"folderName":"network","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Production Environment","definition":"The production environment node organizes trading sessions involving live trading.","content":["\r","\r","Superalgos aims to provide a flexible and robust trading bots deployment toolbox.\r","\r","With Superalgos, you may deploy as many trading bots as you wish and have them running on a single computer or in as many machines as you wish, in a [trading farm](suite-fundamental-trading-farms-concepts.html) type of setup. To help with the management of large numbers of live trading sessions, the system helps you with [sorting tasks](suite-sorting-of-tasks.html) by exchange, market, and trading mine.\r","\r","The production environment works pretty much in the same way as the testing environment, save for two important differences:\r","\r","* The production environment runs forward testing and live trading sessions, instead of backtesting and paper trading sessions.\r","\r","* These two types of sessions involve monetary transactions at the exchange, thus require the set up of a key reference to authenticate your account with the exchange.\r","\r","{% include note.html content=\"If you are familiar with the testing environment, there isn't much more to learn to understand the production environment. If you are not familiar with either, please refer to the [tesing environment](suite-testing-evironment.html) page for the details.\" %}\r","\r","{% include node-deletion-warning.html %}\r","\r"],"folderName":"network","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Data Products","definition":"The exchange data products node organizes data mines data by exchange. That is, each exchange installed in the system has an exchange data products node grouping all market data products nodes corresponding to the said exchange.","content":["\r","\r","The exchange data products node must reference the exchange of choice. This reference constraints the rest of the definitions to the context of the said exchange.\r","\r","When representing an exchange featured in the system's icons library, the standard exchange data tasks icon is replaced by the exchange's logo.\r","\r"],"folderName":"network","adding":["\r","\r","To add a specific {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference to the desired exchange in the Crypto Ecosystem hierarchy.\" %}\r","\r","You may also add exchange data products nodes in bulk for all exchanges that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Exchanges* on the parent node menu. An exchange data products node is created for each defined exchange, each with the corresponding reference.\r","\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Mines Data","definition":"Session independent data refers to data generated by sensors and indicators, not related to trading sessions.","content":["\r","\r","As explained in the [sorting of tasks](suite-sorting-of-tasks.html) page, data mines data is sorted by exchange, market, and the corresponding data mine, sensor or indicator bot, and bot product. That is, most of the nodes in this section of the hierarchy play an organizational role.\r","\r","Many of them require references to the nodes that delimit the context for which the data is applicable. For example, the market data products node must reference one of the installed markets, in particular, the market on which the data mining operation is run. These references help other entities understand the context to which the data belongs to.\r","\r","Whenever you create data mining tasks manually from within the Network hierarchy (as opposed to using the [install market](suite-how-to-install-a-new-market.html) function under the exchange markets node of the Crypto Ecosystem hierarchy), you need to create the proper definitions for the storage of data mines data.\r","\r"],"folderName":"network","adding":["\r","\r","To add a session-independent data node, select *Add Session-independent Data* on the network node menu. \r","\r","{% include note.html content=\"Only one session-independent data node may exist on each data storage node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Trading Products","definition":"The exchange trading products node organizes trading mines data by exchange. That is, each exchange installed in the system has an exchange trading products node grouping all session references corresponding to the said exchange.","content":["\r","\r","The exchange trading products node must reference the exchange of choice. This reference constraints the rest of the definitions to the context of the said exchange.\r","\r","When representing an exchange featured in the system's icons library, the standard exchange trading products icon is replaced by the exchange's logo.\r","\r"],"folderName":"network","adding":["\r","\r","To add a specific {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference to the desired exchange in the Crypto Ecosystem hierarchy.\" %}\r","\r","You may also add exchange trading products nodes in bulk for all exchanges that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Exchanges* on the trading mines data node menu. An exchange trading products node is created for each defined exchange, each with the corresponding reference.\r","\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Mines Data","definition":"Session-based data refers to data that is generated as a consequence of running a trading session, that is, data the trading bot instance generates while running backtesting, paper trading, forward testing, or live trading sessions.","content":["\r","\r","As explained in the [sorting of tasks](suite-sorting-of-tasks.html) page, trading mines data is sorted by exchange, market, the corresponding trading session, and the corresponding trading mine, trading bot, and bot product. That is, most of the nodes in this section of the hierarchy play an organizational role.\r","\r","Many of them require references to the nodes that delimit the context for which the data is applicable. For example, the exchange trading products node must reference one of the installed exchanges, in particular, the exchange on which the trading operation is run. These references help other entities understand the context to which the data belongs to.\r","\r","Whenever you create trading tasks manually from within the Network hierarchy (as opposed to using the [install market](suite-how-to-install-a-new-market.html) function under the exchange markets node of the Crypto Ecosystem hierarchy), you need to create the proper definitions for the storage of trading mines data.\r","\r"],"folderName":"network","adding":["\r","\r","To add a session-based data node, select *Add Session-based Data* on the network node menu. \r","\r","{% include note.html content=\"Only one session-based data node may exist on each data storage node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Session Reference","definition":"A session reference establishes which session is the one which shall store data in the current location.","content":["\r","\r","A such, the session reference node must establish a reference with a trading session. Also, its offspring nodes determine precisely which data products are stored.\r","\r"],"folderName":"network","adding":["\r","\r","To add a session reference node, select *Add Trading Session Reference* on the network node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with a trading session after adding the node.\" %}\r","\r","You may also add session reference nodes in bulk for all sessions defined in the same network that are not yet defined. To do that, select *Add Missing Sessions* on the exchange trading products node menu. A session reference node is created for each defined trading session in the node, each with the corresponding reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Data Products","definition":"A market data products node represents the group of data products generated in a specific market.","content":["\r","\r","The market data products node must reference a market defined in the Crypto Ecosystem hierarchy.\r","\r","This node may spawn individual data products or may deploy data products in bulk organized by data mine and by bots. See the data products node for the details.\r","\r"],"folderName":"network","adding":["\r","\r","To add a market data products node, select *Add Market Data* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with a market defined in the Crypto Ecosystem hierarchy after adding the node.\" %}\r","\r","You may also add market data products nodes in bulk for all markets that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Markets* on the parent node menu. A market data products node is created for each defined market, each with the corresponding reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Trading Products","definition":"A market trading products node features the group of data products generated by the referenced session in a specific market.","content":["\r","\r","The market trading products node must reference a market defined in the Crypto Ecosystem hierarchy.\r","\r","This node may spawn individual data products or may deploy data products in bulk organized by trading mine and by trading bots. See the data products node for the details.\r","\r"],"folderName":"network","adding":["\r","\r","To add a market trading products node, select *Add Market Trading Data* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with a market defined in the Crypto Ecosystem hierarchy after adding the node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Product","definition":"A data product represents the collection of datasets generated by the instance of a bot as defined in the corresponding data mine or trading mine.","content":["\r","\r","Data products exist in the context of trading mines data and data mines data nodes. In the first case, a data product is the collection of datasets generated by an instance of a trading bot as defined in a trading mine, running a trading session. In the latter case, it is the collection of datasets generated by either a sensor bot or an indicator bot instance, as defined in a data mine, and running a data mining task.\r","\r","A data product node must reference a product definition in the corresponding bot.\r","\r","{% include important.html content=\"Data products may only be stored on the same network node on which the task—data mining or trading—runs.\" %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a single data product, select *Add Data Product* on the market trading products, market data products, bot products, or data products folder node menus. \r","\r","{% include note.html content=\"Remember to establish a reference with a product definition of the corresponding bot in the corresponding data or trading mine.\" %}\r","\r","In cases in which multiple data products must be added, you may use the option to create data products in bulk.\r","\r","Select the *Add All Data Products* option on the data or trading mine products node menu. This adds a bot products node for each bot in the data or trading mine, and a data product for each product definition of each bot. \r","\r","You may use this option after manually adding a data or trading mine products node and manually establishing the reference with the desired data mine, or after adding all data or trading mine data products, by which the references with data or trading mines are established automatically.\r","\r","{% include tip.html content=\"If adding data products in bulk results in adding data products that are not required, you may easily delete those.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Mine Products","definition":"Data mine products are references established with data mines to facilitate establishing data product references with multiple products in the given data mine.","content":["\r","\r","The node may be used as an organizational device, simply to arrange bot products. However, the smart use of the node involves automating the deployment of multiple data products.\r","\r","The use of the {{ title | downcase }} node is optional, as data products may also exist outside of {{ title | downcase }} nodes.\r","\r"],"folderName":"network","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. This action adds the node but does not establish a reference with any data mine. \r","\r","The smarter use of the node involves using the *Add All Data Mine Products* option on the parent node menu. This action creates a data mine products node for each data mine in the workspace, establishing a reference with the corresponding data mines. This is the first step in the direction of quickly setting up multiple data products when needed.\r","\r","{% include note.html content=\"See the data product node definition and the *Adding a Data Product Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Mine Products","definition":"Trading mine products are references established with trading mines to facilitate establishing data product references with multiple products in the given mine.","content":["\r","\r","At this point, Superalgos ships with a single trading mine, featuring a single *low frequency* trading bot. However, developers may create their own trading bots or fork the existing one. \r","\r","The node may be used as an organizational device, simply to arrange bot products. However, the smart use of the node involves automating the deployment of multiple data products.\r","\r","The use of the {{ title | downcase }} node is optional, as data products may also exist outside of {{ title | downcase }} nodes.\r","\r"],"folderName":"network","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. This action adds the node but does not establish a reference with any trading mine. \r","\r","The smarter use of the node involves using the *Add All Trading Mine Products* option on the parent node menu. This action creates a trading mine products node for each trading mine in the workspace, establishing a reference with the corresponding trading mines. This is the first step in the direction of quickly setting up multiple data products when needed.\r","\r","{% include note.html content=\"See the data product node definition and the *Adding a Data Product Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Bot Products","definition":"A bot products node is an organizational device used to arrange data products corresponding to a specific bot.","content":["\r","\r","The device exists as an offspring of a data or trading mine products node, and does not require a reference to a bot in the given data or trading mine. \r","\r","The use of the {{ title | downcase }} node is optional, as data products may also exist outside of {{ title | downcase }}.\r","\r"],"folderName":"network","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu.\r","\r","The bot products node may also be created automatically. When created using the *Add All Data Products* option on the data mine products node, the node inherits the label of the corresponding bot in the corresponding data mine. \r","\r","{% include note.html content=\"See the data product node definition and the *Adding a Data Product Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Product Folder","definition":"A data product folder node is an organizational device used to map the arrangement of product definition folders as may exist in the bot definition of the corresponding data or trading mine.","content":["\r","\r","The use of the {{ title | downcase }} node is optional, as data products may also exist outside of {{ title | downcase }}s.\r","\r"],"folderName":"network","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Tutorial"},{"type":"Tutorial Topic"},{"type":"Tutorial Step"},{"type":"Data Mine Data Dependencies","definition":"Data mine data dependencies are references established with entire data mines to facilitate establishing data dependencies with multiple datasets in the given data mine.","content":["\r","\r","The node may be used as an organizational device, simply to arrange bot data dependencies. However, the smart use of the node involves automating the deployment of multiple data dependencies and their references.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. This action adds the node but does not establish a reference with any data mine. \r","\r","The smarter use of the node involves using the *Add All Data Mine Dependencies* option on the parent node menu. This action creates a data mine data dependencies node for each data mine in the workspace, establishing a reference with the corresponding data mines. This is the first step in the direction of quickly setting up multiple data dependencies when needed.\r","\r","{% include note.html content=\"See the data dependency node definition and the *Adding a Data Dependecy Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Bot Data Dependencies","definition":"A bot data dependencies node is an organizational device used to arrange data dependencies corresponding to a specific bot.","content":["\r","\r","The device exists as an offspring of a data mine data dependencies node, and does not require a reference to a bot in the given data mine. \r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. When adding a bot data dependency in this manner, the node does not inherit any particular label. In fact, it may even host data dependencies pointing to other data mines.\r","\r","The bot data dependencies node may also be created automatically. When created using the *Add All Data Dependencies* option on the data mine data dependencies node, the node inherits the label of the corresponding bot in the corresponding data mine. \r","\r","{% include note.html content=\"See the data dependency node definition and the *Adding a Data Dependecy Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Dependency Folder","definition":"A data dependency folder node is an organizational device used to map the arrangement of product definition folders of a given bot.","content":["\r","\r","The use of product data dependency folders is optional, as data dependencies may also exist outside of folders.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu.\r","\r","The {{ title | downcase }} node may be added automatically when using the *Add All Data Dependencies* option on the data mine data dependencies node menu.\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]}]
\ No newline at end of file
diff --git a/CanvasApp/ChartingSpace/ChartUtilities.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/ChartUtilities.js
similarity index 100%
rename from CanvasApp/ChartingSpace/ChartUtilities.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/ChartUtilities.js
diff --git a/CanvasApp/Spaces/ChartingSpace.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/ChartingSpace.js
similarity index 90%
rename from CanvasApp/Spaces/ChartingSpace.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/ChartingSpace.js
index 68f5d017b..5beccc07d 100644
--- a/CanvasApp/Spaces/ChartingSpace.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/ChartingSpace.js
@@ -6,7 +6,7 @@ changes, then all charts in it are replotted with the corresponging data.
*/
-function newChartingSpace() {
+function newSuperalgosChartingSpace() {
const MODULE_NAME = 'Charting Space'
const ERROR_LOG = true
const logger = newWebDebugLog()
@@ -93,10 +93,10 @@ function newChartingSpace() {
function initialize() {
if (isInitialized === true) { return }
- if (canvas.designSpace === undefined) { return }
- if (canvas.designSpace.workspace === undefined) { return }
+ if (UI.projects.superalgos.spaces.designSpace === undefined) { return }
+ if (UI.projects.superalgos.spaces.designSpace.workspace === undefined) { return }
- let rootNodes = canvas.designSpace.workspace.workspaceNode.rootNodes
+ let rootNodes = UI.projects.superalgos.spaces.designSpace.workspace.workspaceNode.rootNodes
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode !== null) {
@@ -165,11 +165,19 @@ function newChartingSpace() {
}
if (containerFound !== undefined) {
containerFound.space = 'Charting Space'
+ if (purpose === GET_CONTAINER_PURPOSE.MOUSE_WHEEL && containerFound.isWheelable !== true) {
+ UI.projects.superalgos.spaces.chartingSpace.viewport.onMouseWheel(event)
+ return
+ }
return containerFound
}
if (thisObject.container.frame.isThisPointHere(point, true) === true) {
thisObject.container.space = 'Charting Space'
+ if (purpose === GET_CONTAINER_PURPOSE.MOUSE_WHEEL && thisObject.container.isWheelable !== true) {
+ UI.projects.superalgos.spaces.chartingSpace.viewport.onMouseWheel(event)
+ return
+ }
return thisObject.container
} else {
return undefined
@@ -189,7 +197,7 @@ function newChartingSpace() {
y: browserCanvas.height * PERCENTAGE_OF_SCREEN_FOR_DISPLACEMENT / 100
}
- canvas.chartingSpace.viewport.displace(displaceVector)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.displace(displaceVector)
}
function oneScreenDown() {
@@ -199,7 +207,7 @@ function newChartingSpace() {
y: -browserCanvas.height * PERCENTAGE_OF_SCREEN_FOR_DISPLACEMENT / 100
}
- canvas.chartingSpace.viewport.displace(displaceVector)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.displace(displaceVector)
}
function oneScreenLeft() {
@@ -209,7 +217,7 @@ function newChartingSpace() {
y: 0
}
- canvas.chartingSpace.viewport.displace(displaceVector, true)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.displace(displaceVector, true)
}
function oneScreenRight() {
@@ -219,7 +227,7 @@ function newChartingSpace() {
y: 0
}
- canvas.chartingSpace.viewport.displace(displaceVector, true)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.displace(displaceVector, true)
}
function fitFunction(point, fullVisible) {
@@ -360,8 +368,8 @@ function newChartingSpace() {
function onTimeMachineInitialized() {
thisObject.timeMachines.push(timeMachine)
timeMachine.payload.uiObject.setValue('')
- if (canvas.chartingSpace.viewport !== undefined) {
- canvas.chartingSpace.viewport.raiseEvents() // These events will impacts on objects just initialized.
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport !== undefined) {
+ UI.projects.superalgos.spaces.chartingSpace.viewport.raiseEvents() // These events will impacts on objects just initialized.
}
}
}
@@ -382,8 +390,8 @@ function newChartingSpace() {
}
}
- if (canvas.chartingSpace.viewport !== undefined) {
- canvas.chartingSpace.viewport.resize()
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport !== undefined) {
+ UI.projects.superalgos.spaces.chartingSpace.viewport.resize()
}
}
diff --git a/CanvasApp/ChartingSpace/CoordinateSystem.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/CoordinateSystem.js
similarity index 97%
rename from CanvasApp/ChartingSpace/CoordinateSystem.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/CoordinateSystem.js
index 8ad4c25d8..1e5271bd4 100644
--- a/CanvasApp/ChartingSpace/CoordinateSystem.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/CoordinateSystem.js
@@ -261,7 +261,7 @@ function newCoordinateSystem() {
}
function zoomX(factor, mousePosition, container) {
- let mouseAtCointainer = unTransformThisPoint(mousePosition, container)
+ let mouseAtCointainer = UI.projects.superalgos.utilities.coordinateTransformations.unTransformThisPoint(mousePosition, container)
let leftDistance = mouseAtCointainer.x
let rightDistance = container.frame.width - mouseAtCointainer.x
let diff = thisObject.max.x - thisObject.min.x
@@ -285,7 +285,7 @@ function newCoordinateSystem() {
}
function zoomY(factor, mousePosition, container) {
- let mouseAtCointainer = unTransformThisPoint(mousePosition, container)
+ let mouseAtCointainer = UI.projects.superalgos.utilities.coordinateTransformations.unTransformThisPoint(mousePosition, container)
let topDistance = mouseAtCointainer.y
let bottomDistance = container.frame.height - mouseAtCointainer.y
let diff = thisObject.max.y - thisObject.min.y
diff --git a/CanvasApp/ChartingSpace/EdgeEditor.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/EdgeEditor.js
similarity index 85%
rename from CanvasApp/ChartingSpace/EdgeEditor.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/EdgeEditor.js
index 1d85768ac..4324f5933 100644
--- a/CanvasApp/ChartingSpace/EdgeEditor.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/EdgeEditor.js
@@ -118,13 +118,13 @@ function newEdgeEditor() {
function onDoubleClick(event) {
doubleClickCounter = 0
- if (canvas.chartingSpace.viewport.zoomLevel === DOUBLE_CLICK_ZOOM_OUT_LEVEL) {
- canvas.chartingSpace.viewport.displaceToContainer(thisObject.container.parentContainer)
- canvas.chartingSpace.viewport.zoomAtCenter(DOUBLE_CLICK_ZOOM_IN_LEVEL)
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport.zoomLevel === UI.projects.superalgos.globals.zoom.DOUBLE_CLICK_ZOOM_OUT_LEVEL) {
+ UI.projects.superalgos.spaces.chartingSpace.viewport.displaceToContainer(thisObject.container.parentContainer)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.zoomAtCenter(UI.projects.superalgos.globals.zoom.DOUBLE_CLICK_ZOOM_IN_LEVEL)
return
}
- if (canvas.chartingSpace.viewport.zoomLevel === DOUBLE_CLICK_ZOOM_IN_LEVEL) {
- canvas.chartingSpace.viewport.zoomAtCenter(DOUBLE_CLICK_ZOOM_IN_IN_LEVEL)
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport.zoomLevel === UI.projects.superalgos.globals.zoom.DOUBLE_CLICK_ZOOM_IN_LEVEL) {
+ UI.projects.superalgos.spaces.chartingSpace.viewport.zoomAtCenter(UI.projects.superalgos.globals.zoom.DOUBLE_CLICK_ZOOM_IN_IN_LEVEL)
return
}
}
@@ -240,7 +240,7 @@ function newEdgeEditor() {
x: event.x,
y: event.y
}
- point = unTransformThisPoint(point, thisObject.container)
+ point = UI.projects.superalgos.utilities.coordinateTransformations.unTransformThisPoint(point, thisObject.container)
if (point.x <= 0) {
whereIsMouseOver = 'left'
@@ -290,8 +290,8 @@ function newEdgeEditor() {
if (coordinateSystemWhenDragStarted === undefined) { return }
if (thisObject.container.frame.position.x === 0 && thisObject.container.frame.position.y === 0) { return }
- let mouseNoZoom = canvas.chartingSpace.viewport.unTransformThisPoint(mouse.position)
- let mouseWhenDragStartedNoZoom = canvas.chartingSpace.viewport.unTransformThisPoint(mouseWhenDragStarted.position)
+ let mouseNoZoom = UI.projects.superalgos.spaces.chartingSpace.viewport.unTransformThisPoint(mouse.position)
+ let mouseWhenDragStartedNoZoom = UI.projects.superalgos.spaces.chartingSpace.viewport.unTransformThisPoint(mouseWhenDragStarted.position)
let dragVectorWhenDragStarted = {
x: mouseNoZoom.x - mouseWhenDragStartedNoZoom.x,
@@ -326,8 +326,8 @@ function newEdgeEditor() {
y: (-dragVectorWhenDragStarted.y)
}
- let newMinDate = getDateFromPointAtContainer(point, thisObject.container.parentContainer, coordinateSystemWhenDragStarted)
- let newMaxRate = getRateFromPointAtContainer(point, thisObject.container.parentContainer, coordinateSystemWhenDragStarted)
+ let newMinDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtContainer(point, thisObject.container.parentContainer, coordinateSystemWhenDragStarted)
+ let newMaxRate = UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtContainer(point, thisObject.container.parentContainer, coordinateSystemWhenDragStarted)
let xDifferenceMaxMin = coordinateSystemWhenDragStarted.max.x - coordinateSystemWhenDragStarted.min.x
let yDifferenceMaxMin = coordinateSystemWhenDragStarted.max.y - coordinateSystemWhenDragStarted.min.y
@@ -348,7 +348,7 @@ function newEdgeEditor() {
y: 0
}
- let newMinDate = getDateFromPointAtContainer(point, thisObject.container.parentContainer, coordinateSystem)
+ let newMinDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtContainer(point, thisObject.container.parentContainer, coordinateSystem)
let xDifferenceMaxMin = coordinateSystem.max.x - coordinateSystem.min.x
coordinateSystem.min.x = newMinDate.valueOf()
coordinateSystem.max.x = newMinDate.valueOf() + xDifferenceMaxMin
@@ -365,7 +365,7 @@ function newEdgeEditor() {
y: -dragVector.y + thisObject.container.frame.height * coordinateSystem.VERTICAL_MARGIN_INVERSE_FACTOR / 2
}
- let newMaxRate = getRateFromPointAtContainer(point, thisObject.container.parentContainer, coordinateSystem)
+ let newMaxRate = UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtContainer(point, thisObject.container.parentContainer, coordinateSystem)
let yDifferenceMaxMin = coordinateSystem.max.y - coordinateSystem.min.y
coordinateSystem.min.y = newMaxRate - yDifferenceMaxMin
coordinateSystem.max.y = newMaxRate
@@ -397,7 +397,7 @@ function newEdgeEditor() {
y: (thisObject.container.parentContainer.frame.position.y - parentFrameWhenDragStarted.position.y)
}
- /* This is equivalent to getRateFromPointAtContainer, but as we do not have a container anymore because we already change it, we do it like this. */
+ /* This is equivalent to UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtContainer, but as we do not have a container anymore because we already change it, we do it like this. */
point = coordinateSystemWhenDragStarted.unInverseTransform(point, parentFrameWhenDragStarted.height)
let newMaxRate = point.y
@@ -438,7 +438,7 @@ function newEdgeEditor() {
thisObject.container.parentContainer.frame.height = point.y
- /* This is equivalent to getRateFromPointAtContainer, but as we do not have a container anymore because we already change it, we do it like this. */
+ /* This is equivalent to UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtContainer, but as we do not have a container anymore because we already change it, we do it like this. */
point = coordinateSystemWhenDragStarted.unInverseTransform(point, parentFrameWhenDragStarted.height)
let newMinRate = point.y
@@ -479,7 +479,7 @@ function newEdgeEditor() {
y: 0
}
- /* This is equivalent to getDateFromPointAtContainer, but as we do not have a container anymore because we already change it, we do it like this. */
+ /* This is equivalent to UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtContainer, but as we do not have a container anymore because we already change it, we do it like this. */
point = coordinateSystemWhenDragStarted.unInverseTransform(point, parentFrameWhenDragStarted.width)
let newMinDate = point.x
@@ -516,7 +516,7 @@ function newEdgeEditor() {
thisObject.container.parentContainer.frame.width = point.x
- /* This is equivalent to getRateFromPointAtContainer, but as we do not have a container anymore because we already change it, we do it like this. */
+ /* This is equivalent to UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtContainer, but as we do not have a container anymore because we already change it, we do it like this. */
point = coordinateSystemWhenDragStarted.unInverseTransform(point, parentFrameWhenDragStarted.width)
let newMaxDate = point.x
@@ -610,15 +610,15 @@ function newEdgeEditor() {
y: thisObject.container.frame.height
}
- pointA1 = transformThisPoint(pointA1, thisObject.container)
- pointA2 = transformThisPoint(pointA2, thisObject.container)
- pointA3 = transformThisPoint(pointA3, thisObject.container)
- pointA4 = transformThisPoint(pointA4, thisObject.container)
+ pointA1 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pointA1, thisObject.container)
+ pointA2 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pointA2, thisObject.container)
+ pointA3 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pointA3, thisObject.container)
+ pointA4 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pointA4, thisObject.container)
- pointB1 = transformThisPoint(pointB1, thisObject.container)
- pointB2 = transformThisPoint(pointB2, thisObject.container)
- pointB3 = transformThisPoint(pointB3, thisObject.container)
- pointB4 = transformThisPoint(pointB4, thisObject.container)
+ pointB1 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pointB1, thisObject.container)
+ pointB2 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pointB2, thisObject.container)
+ pointB3 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pointB3, thisObject.container)
+ pointB4 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pointB4, thisObject.container)
pointA1 = {
x: pointA1.x - MARGIN,
@@ -660,15 +660,15 @@ function newEdgeEditor() {
y: pointB4.y + edgeSize
}
- pointA1 = canvas.chartingSpace.viewport.fitIntoViewport(pointA1)
- pointA2 = canvas.chartingSpace.viewport.fitIntoViewport(pointA2)
- pointA3 = canvas.chartingSpace.viewport.fitIntoViewport(pointA3)
- pointA4 = canvas.chartingSpace.viewport.fitIntoViewport(pointA4)
+ pointA1 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoViewport(pointA1)
+ pointA2 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoViewport(pointA2)
+ pointA3 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoViewport(pointA3)
+ pointA4 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoViewport(pointA4)
- pointB1 = canvas.chartingSpace.viewport.fitIntoViewport(pointB1)
- pointB2 = canvas.chartingSpace.viewport.fitIntoViewport(pointB2)
- pointB3 = canvas.chartingSpace.viewport.fitIntoViewport(pointB3)
- pointB4 = canvas.chartingSpace.viewport.fitIntoViewport(pointB4)
+ pointB1 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoViewport(pointB1)
+ pointB2 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoViewport(pointB2)
+ pointB3 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoViewport(pointB3)
+ pointB4 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoViewport(pointB4)
browserCanvasContext.setLineDash([0, 0])
diff --git a/CanvasApp/ChartingSpace/PlottersManager.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/PlottersManager.js
similarity index 92%
rename from CanvasApp/ChartingSpace/PlottersManager.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/PlottersManager.js
index e7f894c75..6f86fe4e1 100644
--- a/CanvasApp/ChartingSpace/PlottersManager.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/PlottersManager.js
@@ -15,6 +15,7 @@ function newPlottersManager() {
setDatetime: setDatetime,
setTimeFrame: setTimeFrame,
setCoordinateSystem: setCoordinateSystem,
+ physics: physics,
draw: draw,
getContainer: getContainer,
initialize: initialize,
@@ -44,7 +45,7 @@ function newPlottersManager() {
let connector = thisObject.connectors[i]
/* Then the panels. */
for (let j = 0; j < connector.panels.length; j++) {
- canvas.panelsSpace.destroyPanel(connector.panels[j])
+ UI.projects.superalgos.spaces.panelSpace.destroyPanel(connector.panels[j])
connector.panels[j] = undefined
}
connector.panels = undefined
@@ -133,7 +134,7 @@ function newPlottersManager() {
}
let productDefinition = layer.productDefinition
let bot = layer.bot
- let dataMine = layer.dataMine
+ let mine = layer.mine
let exchange = layer.exchange
let plotterModule = layer.plotterModule
let session
@@ -141,15 +142,18 @@ function newPlottersManager() {
let tradingEngine
/*
- A layer can be referencing a Data Product in two different branches of the Network hiriatchy.
- In one of those braches we can get the Session node, at the other we Cannot.
+ A layer can be referencing a Data Product in 3 different branches of the Network hiriatchy.
+ Two of those branches have sessions.
*/
- let sessionReference = findNodeInNodeMesh(layer.definition, 'Session Reference', undefined, false, true, true, true)
+ let sessionReference = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(layer.definition, 'Trading Session Reference', undefined, false, true, true, true)
+ if (sessionReference === undefined) {
+ sessionReference = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(layer.definition, 'Learning Session Reference', undefined, false, true, true, true)
+ }
if (sessionReference !== undefined) {
session = sessionReference.referenceParent
if (session === undefined) {
- logger.write('[ERROR] initializePlotter -> Sessioin is Undefined at Session Reference -> Plotter will not be loaded. ')
+ logger.write('[ERROR] initializePlotter -> Session Reference without a Reference Parent -> Plotter will not be loaded. ')
return
}
/* From the session we might be able to reach the Trading System or the Trading Engine */
@@ -166,10 +170,10 @@ function newPlottersManager() {
if (host === undefined) { host = window.location.hostname }
if (webPort === undefined) { webPort = window.location.port }
- let eventsServerClient = canvas.designSpace.workspace.eventsServerClients.get(layer.networkNode.id)
+ let eventsServerClient = UI.projects.superalgos.spaces.designSpace.workspace.eventsServerClients.get(layer.networkNode.id)
storage.initialize(
- dataMine,
+ mine,
bot,
session,
productDefinition,
@@ -191,7 +195,7 @@ function newPlottersManager() {
if (plotterModule.config.isLegacy !== true) {
plotter = newPlotter()
} else {
- plotter = getNewPlotter(dataMine.config.codeName, plotterModule.parentNode.config.codeName, plotterModule.config.codeName)
+ plotter = getNewPlotter(mine.config.codeName, plotterModule.parentNode.config.codeName, plotterModule.config.codeName)
}
plotter.container.connectToParent(thisObject.container, true, true, false, true, true, true, false, false, true)
@@ -217,15 +221,15 @@ function newPlottersManager() {
let panel = plotterModule.panels[i]
let parameters = {
- dataMine: dataMine.config.codeName,
+ mine: mine.config.codeName,
plotterCodeName: plotterModule.parentNode.config.codeName,
moduleCodeName: plotterModule.config.codeName,
panelNode: panel
}
let owner = thisObject.payload.node.payload.parentNode.id // Panels are owned by the time machine.
- let plotterPanelHandle = canvas.panelsSpace.createNewPanel('Plotter Panel', parameters, owner, layer.session)
- let plotterPanel = canvas.panelsSpace.getPanel(plotterPanelHandle)
+ let plotterPanelHandle = UI.projects.superalgos.spaces.panelSpace.createNewPanel('Plotter Panel', parameters, owner, layer.session)
+ let plotterPanel = UI.projects.superalgos.spaces.panelSpace.getPanel(plotterPanelHandle)
/* Connect Panel to the Plotter via an Event. */
connector.plotter.onRecordChangeEventsSubscriptionId = connector.plotter.container.eventHandler.listenToEvent('Current Record Changed', plotterPanel.onRecordChange)
@@ -384,7 +388,7 @@ function newPlottersManager() {
if (connector.layer.payload.node.id === layer.payload.node.id) {
/* Then the panels. */
for (let j = 0; j < connector.panels.length; j++) {
- canvas.panelsSpace.destroyPanel(connector.panels[j])
+ UI.projects.superalgos.spaces.panelSpace.destroyPanel(connector.panels[j])
}
/* Finally the Storage Objects */
finalizeNodesPlotting(connector)
@@ -486,4 +490,14 @@ function newPlottersManager() {
}
return maxElementsPlotted
}
+
+ function physics() {
+ if (thisObject.connectors === undefined) { return } // We need to wait
+ for (let i = 0; i < thisObject.connectors.length; i++) {
+ let connector = thisObject.connectors[thisObject.connectors.length - i - 1]
+ if (connector.plotter.physics !== undefined) {
+ connector.plotter.physics()
+ }
+ }
+ }
}
diff --git a/CanvasApp/Plotting/NodesAnnouncements.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesAnnouncements.js
similarity index 81%
rename from CanvasApp/Plotting/NodesAnnouncements.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesAnnouncements.js
index 2eb21d98e..b248a90da 100644
--- a/CanvasApp/Plotting/NodesAnnouncements.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesAnnouncements.js
@@ -17,8 +17,8 @@ function newNodesAnnouncements() {
}
function initialize(pRootNode) {
- let rootNode = canvas.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
- hiriarchyMap = getHiriarchyMap(rootNode)
+ let rootNode = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
+ hiriarchyMap = UI.projects.superalgos.utilities.hierarchy.getHiriarchyMap(rootNode)
}
function onRecordChange(currentRecord) {
@@ -34,7 +34,7 @@ function newNodesAnnouncements() {
}
function applyValue(nodeId, value) {
- if (canvas.chartingSpace.visible !== true) { return }
+ if (UI.projects.superalgos.spaces.chartingSpace.visible !== true) { return }
let node = hiriarchyMap.get(nodeId)
if (node === undefined) { return }
if (node.payload === undefined) { return }
diff --git a/CanvasApp/Plotting/NodesErrors.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesErrors.js
similarity index 72%
rename from CanvasApp/Plotting/NodesErrors.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesErrors.js
index 5d1ce2d1a..098a26d00 100644
--- a/CanvasApp/Plotting/NodesErrors.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesErrors.js
@@ -8,16 +8,15 @@ function newNodesErrors() {
initialize: initialize,
finalize: finalize
}
- let hiriarchyMap
+
return thisObject
function finalize() {
- hiriarchyMap = undefined
+
}
function initialize(pRootNode) {
- let rootNode = canvas.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
- hiriarchyMap = getHiriarchyMap(rootNode)
+
}
function onRecordChange(currentRecord) {
@@ -32,16 +31,16 @@ function newNodesErrors() {
}
}
- function applyValue(nodeId, value) {
- if (canvas.chartingSpace.visible !== true) { return }
- let node = hiriarchyMap.get(nodeId)
+ async function applyValue(nodeId, value) {
+ if (UI.projects.superalgos.spaces.chartingSpace.visible !== true) { return }
+ let node = await UI.projects.superalgos.spaces.designSpace.workspace.getNodeById(nodeId)
if (node === undefined) { return }
if (node.payload === undefined) { return }
if (node.payload.uiObject === undefined) { return }
if (value === '') {
node.payload.uiObject.resetErrorMessage()
} else {
- node.payload.uiObject.setErrorMessage(value)
+ node.payload.uiObject.setErrorMessage(value, 3)
}
}
}
diff --git a/CanvasApp/Plotting/NodesHighlights.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesHighlights.js
similarity index 78%
rename from CanvasApp/Plotting/NodesHighlights.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesHighlights.js
index d843faf63..c0af60ae9 100644
--- a/CanvasApp/Plotting/NodesHighlights.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesHighlights.js
@@ -17,8 +17,8 @@ function newNodesHighlights() {
}
function initialize(pRootNode) {
- let rootNode = canvas.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
- hiriarchyMap = getHiriarchyMap(rootNode)
+ let rootNode = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
+ hiriarchyMap = UI.projects.superalgos.utilities.hierarchy.getHiriarchyMap(rootNode)
}
function onRecordChange(currentRecord) {
@@ -32,7 +32,7 @@ function newNodesHighlights() {
}
function highlight(nodeId) {
- if (canvas.chartingSpace.visible !== true) { return }
+ if (UI.projects.superalgos.spaces.chartingSpace.visible !== true) { return }
let node = hiriarchyMap.get(nodeId)
if (node === undefined) { return }
if (node.payload === undefined) { return }
diff --git a/CanvasApp/Plotting/NodesInfos.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesInfos.js
similarity index 72%
rename from CanvasApp/Plotting/NodesInfos.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesInfos.js
index 2009596aa..10311af4e 100644
--- a/CanvasApp/Plotting/NodesInfos.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesInfos.js
@@ -8,16 +8,15 @@ function newNodesInfos() {
initialize: initialize,
finalize: finalize
}
- let hiriarchyMap
+
return thisObject
function finalize() {
- hiriarchyMap = undefined
+
}
function initialize(pRootNode) {
- let rootNode = canvas.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
- hiriarchyMap = getHiriarchyMap(rootNode)
+
}
function onRecordChange(currentRecord) {
@@ -32,16 +31,16 @@ function newNodesInfos() {
}
}
- function applyValue(nodeId, value) {
- if (canvas.chartingSpace.visible !== true) { return }
- let node = hiriarchyMap.get(nodeId)
+ async function applyValue(nodeId, value) {
+ if (UI.projects.superalgos.spaces.chartingSpace.visible !== true) { return }
+ let node = await UI.projects.superalgos.spaces.designSpace.workspace.getNodeById(nodeId)
if (node === undefined) { return }
if (node.payload === undefined) { return }
if (node.payload.uiObject === undefined) { return }
if (value === '') {
node.payload.uiObject.resetInfoMessage()
} else {
- node.payload.uiObject.setInfoMessage(value)
+ node.payload.uiObject.setInfoMessage(value, 3)
}
}
}
diff --git a/CanvasApp/Plotting/NodesProgress.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesProgress.js
similarity index 80%
rename from CanvasApp/Plotting/NodesProgress.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesProgress.js
index bd31d4802..dc9b28ccd 100644
--- a/CanvasApp/Plotting/NodesProgress.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesProgress.js
@@ -17,8 +17,8 @@ function newNodesProgress() {
}
function initialize(pRootNode) {
- let rootNode = canvas.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
- hiriarchyMap = getHiriarchyMap(rootNode)
+ let rootNode = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
+ hiriarchyMap = UI.projects.superalgos.utilities.hierarchy.getHiriarchyMap(rootNode)
}
function onRecordChange(currentRecord) {
@@ -34,7 +34,7 @@ function newNodesProgress() {
}
function applyValue(nodeId, value) {
- if (canvas.chartingSpace.visible !== true) { return }
+ if (UI.projects.superalgos.spaces.chartingSpace.visible !== true) { return }
let node = hiriarchyMap.get(nodeId)
if (node === undefined) { return }
if (node.payload === undefined) { return }
diff --git a/CanvasApp/Plotting/NodesRunning.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesRunning.js
similarity index 80%
rename from CanvasApp/Plotting/NodesRunning.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesRunning.js
index 2ccaa6eeb..421129566 100644
--- a/CanvasApp/Plotting/NodesRunning.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesRunning.js
@@ -17,8 +17,8 @@ function newNodesRunning() {
}
function initialize(pRootNode) {
- let rootNode = canvas.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
- hiriarchyMap = getHiriarchyMap(rootNode)
+ let rootNode = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
+ hiriarchyMap = UI.projects.superalgos.utilities.hierarchy.getHiriarchyMap(rootNode)
}
function onRecordChange(currentRecord) {
@@ -34,7 +34,7 @@ function newNodesRunning() {
}
function applyValue(nodeId, value) {
- if (canvas.chartingSpace.visible !== true) { return }
+ if (UI.projects.superalgos.spaces.chartingSpace.visible !== true) { return }
let node = hiriarchyMap.get(nodeId)
if (node === undefined) { return }
if (node.payload === undefined) { return }
diff --git a/CanvasApp/Plotting/NodesStatus.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesStatus.js
similarity index 80%
rename from CanvasApp/Plotting/NodesStatus.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesStatus.js
index 36e596f47..8cb51b1b2 100644
--- a/CanvasApp/Plotting/NodesStatus.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesStatus.js
@@ -17,8 +17,8 @@ function newNodesStatus() {
}
function initialize(pRootNode) {
- let rootNode = canvas.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
- hiriarchyMap = getHiriarchyMap(rootNode)
+ let rootNode = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
+ hiriarchyMap = UI.projects.superalgos.utilities.hierarchy.getHiriarchyMap(rootNode)
}
function onRecordChange(currentRecord) {
@@ -34,7 +34,7 @@ function newNodesStatus() {
}
function applyValue(nodeId, value) {
- if (canvas.chartingSpace.visible !== true) { return }
+ if (UI.projects.superalgos.spaces.chartingSpace.visible !== true) { return }
let node = hiriarchyMap.get(nodeId)
if (node === undefined) { return }
if (node.payload === undefined) { return }
diff --git a/CanvasApp/Plotting/NodesValues.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesValues.js
similarity index 78%
rename from CanvasApp/Plotting/NodesValues.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesValues.js
index 2aca41d6c..8ff0910b3 100644
--- a/CanvasApp/Plotting/NodesValues.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesValues.js
@@ -17,8 +17,8 @@ function newNodesValues() {
}
function initialize(pRootNode) {
- let rootNode = canvas.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
- hiriarchyMap = getHiriarchyMap(rootNode)
+ let rootNode = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pRootNode.id)
+ hiriarchyMap = UI.projects.superalgos.utilities.hierarchy.getHiriarchyMap(rootNode)
}
function onRecordChange(currentRecord) {
@@ -34,7 +34,7 @@ function newNodesValues() {
}
function applyValue(nodeId, value) {
- if (canvas.chartingSpace.visible !== true) { return }
+ if (UI.projects.superalgos.spaces.chartingSpace.visible !== true) { return }
let node = hiriarchyMap.get(nodeId)
if (node === undefined) { return }
if (node.payload === undefined) { return }
@@ -42,7 +42,7 @@ function newNodesValues() {
if (value === true) { value = 'true' }
if (value === false) { value = 'false' }
node.payload.uiObject.valueAtAngle = false
- node.payload.uiObject.setValue(value, 1)
+ node.payload.uiObject.setValue(value, 1, 10)
}
}
diff --git a/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesWarnings.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesWarnings.js
new file mode 100644
index 000000000..56d09904f
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/NodesWarnings.js
@@ -0,0 +1,56 @@
+function newNodesWarnings() {
+ const MODULE_NAME = 'Nodes Warnings'
+ const logger = newWebDebugLog()
+ logger.fileName = MODULE_NAME
+
+ let thisObject = {
+ onRecordChange: onRecordChange,
+ initialize: initialize,
+ finalize: finalize
+ }
+
+ return thisObject
+
+ function finalize() {
+
+ }
+
+ function initialize() {
+
+ }
+
+ function onRecordChange(currentRecord) {
+ if (currentRecord === undefined) { return }
+ let array = currentRecord.warnings
+ if (array === undefined) { return }
+ for (let i = 0; i < array.length; i++) {
+ let arrayItem = array[i]
+ let nodeIdArray = arrayItem[0]
+ /* We migth receive here and array of node Ids. If we dont, we receive at least one node id*/
+ if (Array.isArray(nodeIdArray) === true) {
+ for (let j = 0; j < nodeIdArray.length; j++) {
+ let nodeId = nodeIdArray[j]
+ let value = arrayItem[1]
+ applyValue(nodeId, value)
+ }
+ } else {
+ let nodeId = arrayItem[0]
+ let value = arrayItem[1]
+ applyValue(nodeId, value)
+ }
+ }
+ }
+
+ async function applyValue(nodeId, value) {
+ if (UI.projects.superalgos.spaces.chartingSpace.visible !== true) { return }
+ let node = await UI.projects.superalgos.spaces.designSpace.workspace.getNodeById(nodeId)
+ if (node === undefined) { return }
+ if (node.payload === undefined) { return }
+ if (node.payload.uiObject === undefined) { return }
+ if (value === '') {
+ node.payload.uiObject.resetWarningMessage()
+ } else {
+ node.payload.uiObject.setWarningMessage(value, 3)
+ }
+ }
+}
diff --git a/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/Plotter.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/Plotter.js
new file mode 100644
index 000000000..7b2690b6e
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/Plotter.js
@@ -0,0 +1,953 @@
+function newPlotter() {
+ const MODULE_NAME = 'Plotter'
+ const ERROR_LOG = true
+ const logger = newWebDebugLog()
+ logger.fileName = MODULE_NAME
+
+ let thisObject = {
+ currentRecord: undefined,
+ container: undefined,
+ fitFunction: undefined,
+ onDailyFileLoaded: onDailyFileLoaded,
+ initialize: initialize,
+ finalize: finalize,
+ getContainer: getContainer,
+ setTimeFrame: setTimeFrame,
+ setDatetime: setDatetime,
+ setCoordinateSystem: setCoordinateSystem,
+ physics: physics,
+ draw: draw
+ }
+
+ let container = newContainer()
+ container.initialize()
+ thisObject.container = container
+
+ let coordinateSystem
+ let slotHeight = (UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.y) / 10 // This is the amount of slots available
+ let mustRecalculateDataPoints = false
+ let atMousePositionFillStyles = new Map()
+ let atMousePositionStrokeStyles = new Map()
+
+ let timeFrame // This will hold the current Time Frame the user is at.
+ let datetime // This will hold the current Datetime the user is at.
+
+ let marketFile // This is the current Market File being plotted.
+ let fileCursor // This is the current File Cursor being used to retrieve Daily Files.
+
+ let marketFiles // This object will provide the different Market Files at different Time Periods.
+ let dailyFiles // This object will provide the different File Cursors at different Time Periods.
+
+ let productDefinition // Here we store a snapshot of the product definition which references this plotter.
+
+ let records = [] // We will have the information to be plotted here.
+ let userPositionDate
+ let minUserPositionRate
+ let maxUserPositionRate
+
+ let onMouseOverEventSuscriptionId
+ let zoomChangedEventSubscriptionId
+ let offsetChangedEventSubscriptionId
+ let dragFinishedEventSubscriptionId
+ let dimmensionsChangedEventSubscriptionId
+ let marketFilesUpdatedEventSubscriptionId
+ let dailyFilesUpdatedEventSubscriptionId
+ let onDisplaceEventSubscriptionId
+ let scaleChangedEventSubscriptionId
+
+ let logged = false
+ return thisObject
+
+ function finalize() {
+ try {
+ /* Stop listening to the necesary events. */
+ thisObject.container.eventHandler.stopListening(onMouseOverEventSuscriptionId)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId)
+ canvas.eventHandler.stopListening(dragFinishedEventSubscriptionId)
+ thisObject.container.eventHandler.stopListening(dimmensionsChangedEventSubscriptionId)
+ marketFiles.eventHandler.stopListening(marketFilesUpdatedEventSubscriptionId)
+ dailyFiles.eventHandler.stopListening(dailyFilesUpdatedEventSubscriptionId)
+ thisObject.container.eventHandler.stopListening(onDisplaceEventSubscriptionId)
+ thisObject.fitFunction = undefined
+
+ /* Clear References */
+ marketFiles = undefined
+ dailyFiles = undefined
+
+ datetime = undefined
+ timeFrame = undefined
+
+ marketFile = undefined
+ fileCursor = undefined
+
+ finalizeCoordinateSystem()
+ coordinateSystem = undefined
+ slotHeight = undefined
+ mustRecalculateDataPoints = undefined
+ atMousePositionFillStyles = undefined
+ atMousePositionStrokeStyles = undefined
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] finalize -> err = ' + err.stack.stack) }
+ }
+ }
+
+ function initialize(pStorage, pDatetime, pTimeFrame, pCoordinateSystem, callBackFunction, pProductDefinition) {
+ try {
+
+ /* Store the information received. */
+ marketFiles = pStorage.marketFiles[0]
+ dailyFiles = pStorage.dailyFiles[0]
+
+ datetime = pDatetime
+ timeFrame = pTimeFrame
+ coordinateSystem = pCoordinateSystem
+ initializeCoordinateSystem()
+
+ productDefinition = pProductDefinition
+
+ /* We need a Market File in order to calculate the Y scale, since this scale depends on actual data. */
+ marketFile = marketFiles.getFile(ONE_DAY_IN_MILISECONDS) // This file is the one processed faster.
+
+ /* Now we set the right files according to current Period. */
+ marketFile = marketFiles.getFile(pTimeFrame)
+ fileCursor = dailyFiles.getFileCursor(pTimeFrame)
+
+ /* Listen to the necesary events. */
+ zoomChangedEventSubscriptionId = UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.listenToEvent('Zoom Changed', onViewportZoomChanged)
+ offsetChangedEventSubscriptionId = UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.listenToEvent('Position Changed', onViewportPositionChanged)
+ dragFinishedEventSubscriptionId = canvas.eventHandler.listenToEvent('Drag Finished', onDragFinished)
+ marketFilesUpdatedEventSubscriptionId = marketFiles.eventHandler.listenToEvent('Files Updated', onMarketFilesUpdated)
+ dailyFilesUpdatedEventSubscriptionId = dailyFiles.eventHandler.listenToEvent('Files Updated', onDailyFilesUpdated)
+ onDisplaceEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onDisplace', onDisplace)
+ onMouseOverEventSuscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseOver', onMouseOver)
+
+ /* Get ready for plotting. */
+ recalculate()
+ dimmensionsChangedEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('Dimmensions Changed', function () {
+ recalculate()
+ })
+
+ callBackFunction()
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] initialize -> err = ' + err.stack) }
+ callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
+ }
+ }
+
+ function initializeCoordinateSystem() {
+ scaleChangedEventSubscriptionId = coordinateSystem.eventHandler.listenToEvent('Scale Changed', onScaleChanged)
+ }
+
+ function finalizeCoordinateSystem() {
+ coordinateSystem.eventHandler.stopListening(scaleChangedEventSubscriptionId)
+ }
+
+ function onScaleChanged() {
+ mustRecalculateDataPoints = true
+ recalculate()
+ }
+
+ function onMouseOver(event) {
+ let userPosition = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(event, thisObject.container, coordinateSystem)
+ userPositionDate = userPosition.valueOf()
+
+ let minPositionPoint = {
+ x: event.x,
+ y: event.y + 10
+ }
+ minUserPositionRate = UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtBrowserCanvas(minPositionPoint, thisObject.container, coordinateSystem)
+
+ let maxPositionPoint = {
+ x: event.x,
+ y: event.y - 10
+ }
+ maxUserPositionRate = UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtBrowserCanvas(maxPositionPoint, thisObject.container, coordinateSystem)
+ }
+
+ function onMarketFilesUpdated() {
+ try {
+ let newMarketFile = marketFiles.getFile(timeFrame)
+ if (newMarketFile !== undefined) {
+ marketFile = newMarketFile
+ mustRecalculateDataPoints = true
+ recalculate()
+ }
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] onMarketFilesUpdated -> err = ' + err.stack.stack) }
+ }
+ }
+
+ function onDailyFilesUpdated() {
+ try {
+ let newFileCursor = dailyFiles.getFileCursor(timeFrame)
+ if (newFileCursor !== undefined) {
+ fileCursor = newFileCursor
+ mustRecalculateDataPoints = true
+ recalculate()
+ }
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] onDailyFilesUpdated -> err = ' + err.stack.stack) }
+ }
+ }
+
+ function getContainer(point) {
+ try {
+ let container
+ /* First we check if this point is inside this space. */
+ if (thisObject.container.frame.isThisPointHere(point) === true) {
+ return thisObject.container
+ } else {
+ /* This point does not belong to this space. */
+ return undefined
+ }
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] getContainer -> err = ' + err.stack) }
+ }
+ }
+
+ function setTimeFrame(pTimeFrame) {
+ try {
+ if (timeFrame !== pTimeFrame) {
+ timeFrame = pTimeFrame
+ mustRecalculateDataPoints = true
+ if (timeFrame >= _1_HOUR_IN_MILISECONDS) {
+ marketFile = marketFiles.getFile(pTimeFrame)
+ } else {
+ fileCursor = dailyFiles.getFileCursor(pTimeFrame)
+ }
+ recalculate()
+ }
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] setTimeFrame -> err = ' + err.stack) }
+ }
+ }
+
+ function setDatetime(pDatetime) {
+ datetime = pDatetime
+ }
+
+ function setCoordinateSystem(pCoordinateSystem) {
+ finalizeCoordinateSystem()
+ coordinateSystem = pCoordinateSystem
+ initializeCoordinateSystem()
+ }
+
+ function onDailyFileLoaded(event) {
+ try {
+ if (event.currentValue === event.totalValue) {
+ /* This happens only when all of the files in the cursor have been loaded. */
+ recalculate()
+ }
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] onDailyFileLoaded -> err = ' + err.stack) }
+ }
+ }
+
+ function draw() {
+
+ thisObject.container.frame.draw()
+ plot()
+
+ }
+
+ function physics() {
+ for (let i = 0; i < records.length; i++) {
+ let record = records[i]
+
+ if (checkOutOfScreen(i, record) !== true) { continue }
+
+ if (productDefinition.referenceParent.shapes === undefined) { continue }
+ if (productDefinition.referenceParent.shapes.chartPoints === undefined) { continue }
+
+ dataPointsCalculation(record)
+ }
+ }
+
+ function recalculate() {
+ try {
+ if (timeFrame >= _1_HOUR_IN_MILISECONDS) {
+ recalculateUsingMarketFiles()
+ } else {
+ recalculateUsingDailyFiles()
+ }
+ thisObject.container.eventHandler.raiseEvent('CandleStairs Changed', records) // --> Check This
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] recalculate -> err = ' + err.stack) }
+ }
+ }
+
+ function jsonifyDataFile(dataFile, recordDefinition, farLeftDate, farRightDate) {
+ /*
+ This function has as an input the raw data on files and creates with it an array of JSON objects
+ with not calculated properties for later being consumed by Formulas
+ */
+
+ let jsonifiedArray = []
+ let previous
+
+ for (let i = 0; i < dataFile.length; i++) {
+ let record = {}
+ for (let j = 0; j < recordDefinition.properties.length; j++) {
+ let property = recordDefinition.properties[j]
+ if (property.config.isCalculated !== true) {
+ record[property.config.codeName] = dataFile[i][j]
+ }
+ }
+
+ if (productDefinition.config.nodePathType === 'array') {
+ /*
+ When we have an array configuration, we know that the last field of the record
+ contains the array index, which is needed to correctly plot this data. Since
+ this index is not part of the product definition, we will restore its value in
+ this way:
+ */
+ record.index = dataFile[i][recordDefinition.properties.length]
+ }
+
+ if (record.begin === undefined || record.end === undefined) {
+ console.log('Could not find the property begin or end which are needed for the plotter to work. productDefinition.config.codeName = ' + productDefinition.config.codeName)
+ continue
+ }
+
+ if (record.end <= farLeftDate.valueOf()) { continue }
+ if (record.begin >= farRightDate.valueOf()) { continue }
+
+ if (record.end < coordinateSystem.min.x) { continue }
+ if (record.begin > coordinateSystem.max.x) { continue }
+
+ record.previous = previous
+ jsonifiedArray.push(record)
+ previous = record
+ }
+
+ return jsonifiedArray
+ }
+
+ function calculationsProcedure(jsonArray, recordDefinition, calculationsProcedure, timeFrame) {
+ /*
+ This function has as an input an array of JSON objects, and it adds calculated properties to
+ complete the set of properties that will be available.
+ */
+
+ let system = { // These are the available system variables to be used in User Code and Formulas
+ timeFrame: timeFrame,
+ ONE_DAY_IN_MILISECONDS: ONE_DAY_IN_MILISECONDS
+ }
+ let variable = {} // This is the structure where the user will define its own variables that will be shared across different config blocks and formulas.
+ let results = []
+
+ /* This is Initialization Code */
+ if (calculationsProcedure.initialization !== undefined) {
+ if (calculationsProcedure.initialization.javascriptCode !== undefined) {
+ try {
+ eval(calculationsProcedure.initialization.javascriptCode.code)
+ } catch (err) {
+ logger.write('[ERROR] calculationsProcedure -> initialization -> Error executing User Code. Error = ' + err.stack.stack)
+ logger.write('[ERROR] calculationsProcedure -> initialization -> Error executing User Code. Code = ' + calculationsProcedure.initialization.javascriptCode.code)
+ throw ('Error Executing User Code.')
+ }
+ }
+ }
+
+ /* This is Initialization Code */
+ if (calculationsProcedure.loop !== undefined) {
+ if (calculationsProcedure.loop.javascriptCode !== undefined) {
+ for (let index = 0; index < jsonArray.length; index++) {
+ let product = jsonArray[index]
+
+ /* This is Loop Code */
+ try {
+ eval(calculationsProcedure.loop.javascriptCode.code)
+ } catch (err) {
+ logger.write('[ERROR] calculationsProcedure -> loop -> Error executing User Code. Error = ' + err.stack.stack)
+ logger.write('[ERROR] calculationsProcedure -> loop -> Error executing User Code. product = ' + JSON.stringify(product))
+ logger.write('[ERROR] calculationsProcedure -> loop -> Error executing User Code. Code = ' + calculationsProcedure.loop.javascriptCode.code)
+ throw ('Error Executing User Code.')
+ }
+
+ /* For each calculated property we apply its formula */
+ for (let j = 0; j < recordDefinition.properties.length; j++) {
+ let property = recordDefinition.properties[j]
+ if (property.config.isCalculated === true) {
+ if (property.formula !== undefined) {
+ if (property.formula.code !== undefined) {
+ try {
+ let newValue = eval(property.formula.code)
+ let currentRecord = product
+ currentRecord[property.config.codeName] = newValue
+ } catch (err) {
+ logger.write('[ERROR] calculationsProcedure -> loop -> formula -> Error executing User Code. Error = ' + err.stack.stack)
+ logger.write('[ERROR] calculationsProcedure -> loop -> formula -> Error executing User Code. product = ' + JSON.stringify(product))
+ logger.write('[ERROR] calculationsProcedure -> loop -> formula -> Error executing User Code. Code = ' + property.formula.code)
+ throw ('Error Executing User Code.')
+ }
+ }
+ }
+ }
+ }
+
+ /* Adding the new element to the resulting array */
+ results.push(product)
+ }
+ }
+ }
+ return results
+ }
+
+ function recalculateUsingDailyFiles() {
+ try {
+ if (fileCursor === undefined) {
+ records = []
+ return
+ } // We need to wait until there is a fileCursor available or maybe this indicator does not produce data for the current Time Frame
+ if (fileCursor.files.size === 0) { return } // We need to wait until there are files in the cursor
+
+ let daysOnSides = getSideDays(timeFrame)
+
+ let leftDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem)
+ let rightDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem)
+
+ let dateDiff = rightDate.valueOf() - leftDate.valueOf()
+
+ let farLeftDate = new Date(leftDate.valueOf() - dateDiff * 1.5)
+ let farRightDate = new Date(rightDate.valueOf() + dateDiff * 1.5)
+
+ let currentDate = new Date(farLeftDate.valueOf())
+
+ records = []
+
+ while (currentDate.valueOf() <= farRightDate.valueOf() + ONE_DAY_IN_MILISECONDS) {
+ let stringDate = currentDate.getUTCFullYear() + '-' + pad(currentDate.getUTCMonth() + 1, 2) + '-' + pad(currentDate.getUTCDate(), 2)
+
+ let dailyFile = fileCursor.files.get(stringDate)
+
+ if (dailyFile !== undefined) {
+ /* Transform the current file content into an array of JSON objects */
+ let jsonData = jsonifyDataFile(dailyFile, productDefinition.record, farLeftDate, farRightDate)
+
+ /* Add the calculated properties */
+ if (productDefinition.calculations !== undefined) {
+ let calculationsResult = calculationsProcedure(jsonData, productDefinition.record, productDefinition.calculations, timeFrame)
+ records.push(...calculationsResult) // This adds records to the current array.
+ } else {
+ records.push(...jsonData)// This adds records to the current array.
+ }
+ }
+
+ currentDate = new Date(currentDate.valueOf() + ONE_DAY_IN_MILISECONDS)
+ }
+
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] recalculateUsingDailyFiles -> err = ' + err.stack) }
+ }
+ }
+
+ function recalculateUsingMarketFiles() {
+ try {
+ if (marketFile === undefined) {
+ records = []
+ return
+ } // Initialization not complete yet or this indicator does not produce data for the current time frame
+
+ let daysOnSides = getSideDays(timeFrame)
+
+ let leftDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem)
+ let rightDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem)
+
+ let dateDiff = rightDate.valueOf() - leftDate.valueOf()
+
+ leftDate = new Date(leftDate.valueOf() - dateDiff * 1.5)
+ rightDate = new Date(rightDate.valueOf() + dateDiff * 1.5)
+
+ for (let i = 0; i < records.length; i++) {
+ let record = records[i]
+ record.fillStyle = undefined
+ record.strokeStyle = undefined
+ record.dataPoints = undefined
+ record.previous = undefined
+ records[i] = {}
+ }
+ records = []
+
+ /* Transform the current file content into an array of JSON objects */
+ let jsonData = jsonifyDataFile(marketFile, productDefinition.record, leftDate, rightDate)
+
+ /* Add the calculated properties */
+ if (productDefinition.calculations !== undefined) {
+ let calculationsResult = calculationsProcedure(jsonData, productDefinition.record, productDefinition.calculations, timeFrame)
+ records.push(...calculationsResult) // This adds records to the current array.
+ } else {
+ records.push(...jsonData)// This adds records to the current array.
+ }
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] recalculateUsingMarketFiles -> err = ' + err.stack) }
+ }
+ }
+
+ function plot() {
+ try {
+ /* Clean the pannel at places where there is no record. */
+ thisObject.container.eventHandler.raiseEvent('Current Record Changed', undefined)
+
+ for (let i = 0; i < records.length; i++) {
+ let record = records[i]
+
+ if (checkOutOfScreen(i, record) !== true) { continue }
+
+ let atMousePosition = false
+ checkAtMousePosition()
+
+ /* If there is code we execute it now. */
+ if (productDefinition.referenceParent.javascriptCode !== undefined) {
+ eval(productDefinition.referenceParent.javascriptCode.code)
+ }
+
+ if (productDefinition.referenceParent.shapes === undefined) { continue }
+ if (productDefinition.referenceParent.shapes.chartPoints === undefined) { continue }
+
+ plotPolygons()
+ plotImages()
+ plotTexts()
+
+ function checkAtMousePosition() {
+
+ if (userPositionDate >= record.begin && userPositionDate <= record.end) {
+ if (productDefinition.referenceParent.config.useRateAtMousePosition === true) {
+ let ratePropertyName = "rate"
+ if (productDefinition.referenceParent.config.ratePropertyName !== undefined) {
+ ratePropertyName = productDefinition.referenceParent.config.ratePropertyName
+ }
+ if (record[ratePropertyName] === undefined) {
+ currentRecordChanged()
+ } else {
+ /* Current Record depends also on rate */
+ if (record[ratePropertyName] >= minUserPositionRate && record[ratePropertyName] <= maxUserPositionRate) {
+ currentRecordChanged()
+ }
+ }
+ } else {
+ /* Current Record depends only on begin and end. */
+ currentRecordChanged()
+ }
+
+ function currentRecordChanged() {
+ atMousePosition = true
+ thisObject.container.eventHandler.raiseEvent('Current Record Changed', record)
+ }
+ }
+ }
+
+ function plotPolygons() {
+ /* Here we are going to plot all the polygons. */
+ for (let j = 0; j < productDefinition.referenceParent.shapes.polygons.length; j++) {
+ let polygon = productDefinition.referenceParent.shapes.polygons[j]
+ /* We will check if we need to plot this Polygon or not. */
+ if (polygon.polygonCondition !== undefined) {
+ let mustPlot = eval(polygon.polygonCondition.code)
+ if (mustPlot !== true) { continue }
+ }
+
+ let calculatedStyle
+
+ /* Finding out the fill style */
+ let fillStyle = { // default values
+ opacity: 1,
+ paletteColor: UI_COLOR.BLACK
+ }
+ if (polygon.polygonBody !== undefined) {
+ if (record.fillStyle === undefined) {
+ record.fillStyle = new Map()
+ }
+ calculatedStyle = record.fillStyle.get(polygon.id)
+ if (calculatedStyle !== undefined) {
+ /* We use the already calculated style */
+ fillStyle = calculatedStyle
+ } else {
+ /* Get the default style if exists */
+ if (polygon.polygonBody.style !== undefined) {
+ if (polygon.polygonBody.style.config !== undefined) {
+ if (polygon.polygonBody.style.config.default !== undefined) {
+ let bodyStyle = polygon.polygonBody.style.config.default
+ if (bodyStyle.opacity !== undefined) { fillStyle.opacity = bodyStyle.opacity }
+ if (bodyStyle.paletteColor !== undefined) { fillStyle.paletteColor = eval(bodyStyle.paletteColor) }
+ }
+ }
+ }
+ /* Apply conditional styles */
+ if (polygon.polygonBody.styleConditions !== undefined) {
+ for (let k = 0; k < polygon.polygonBody.styleConditions.length; k++) {
+ let condition = polygon.polygonBody.styleConditions[k]
+ let value = eval(condition.code)
+ if (value === true) {
+ if (condition.style !== undefined) {
+ let bodyStyle = condition.style.config
+ if (bodyStyle.opacity !== undefined) { fillStyle.opacity = bodyStyle.opacity }
+ if (bodyStyle.paletteColor !== undefined) { fillStyle.paletteColor = eval(bodyStyle.paletteColor) }
+ }
+ }
+ }
+ }
+ /* Get the atMousePosition style if exists */
+ if (polygon.polygonBody.style !== undefined) {
+ if (polygon.polygonBody.style.config.atMousePosition !== undefined) {
+ let atMousePositionStyleDefinition = polygon.polygonBody.style.config.atMousePosition
+ let atMousePositionStyle = {}
+ if (atMousePositionStyleDefinition.opacity !== undefined) { atMousePositionStyle.opacity = atMousePositionStyleDefinition.opacity }
+ if (atMousePositionStyleDefinition.paletteColor !== undefined) { atMousePositionStyle.paletteColor = eval(atMousePositionStyleDefinition.paletteColor) }
+ atMousePositionFillStyles.set(polygon.id, atMousePositionStyle)
+ }
+ }
+
+ record.fillStyle.set(polygon.id, fillStyle)
+ }
+ }
+
+ /* Finding out the stroke style */
+ let strokeStyle = { // default values
+ opacity: 1,
+ paletteColor: UI_COLOR.BLACK,
+ lineWidth: 1,
+ lineDash: [0, 0]
+ }
+ if (polygon.polygonBorder !== undefined) {
+ if (record.strokeStyle === undefined) {
+ record.strokeStyle = new Map()
+ }
+ calculatedStyle = record.strokeStyle.get(polygon.id)
+ if (calculatedStyle !== undefined) {
+ /* We use the already calculated style */
+ strokeStyle = calculatedStyle
+ } else {
+ /* Get the default style if exists */
+ if (polygon.polygonBorder.style !== undefined) {
+ if (polygon.polygonBorder.style.config !== undefined) {
+ if (polygon.polygonBorder.style.config.default !== undefined) {
+ let borderStyle = polygon.polygonBorder.style.config.default
+ if (borderStyle.opacity !== undefined) { strokeStyle.opacity = borderStyle.opacity }
+ if (borderStyle.paletteColor !== undefined) { strokeStyle.paletteColor = eval(borderStyle.paletteColor) }
+ if (borderStyle.lineWidth !== undefined) { strokeStyle.lineWidth = borderStyle.lineWidth }
+ if (borderStyle.lineDash !== undefined) { strokeStyle.lineDash = borderStyle.lineDash }
+ }
+ }
+ }
+ /* Apply conditional styles */
+ if (polygon.polygonBorder.styleConditions !== undefined) {
+ for (let k = 0; k < polygon.polygonBorder.styleConditions.length; k++) {
+ let condition = polygon.polygonBorder.styleConditions[k]
+ let value = eval(condition.code)
+ if (value === true) {
+ if (condition.style !== undefined) {
+ let borderStyle = condition.style.config
+ if (borderStyle.opacity !== undefined) { strokeStyle.opacity = borderStyle.opacity }
+ if (borderStyle.paletteColor !== undefined) { strokeStyle.paletteColor = eval(borderStyle.paletteColor) }
+ if (borderStyle.lineWidth !== undefined) { strokeStyle.lineWidth = borderStyle.lineWidth }
+ if (borderStyle.lineDash !== undefined) { strokeStyle.lineDash = borderStyle.lineDash }
+ }
+ }
+ }
+ }
+ /* Get the atMousePosition style if exists */
+ if (polygon.polygonBorder.style !== undefined) {
+ if (polygon.polygonBorder.style.config.atMousePosition !== undefined) {
+ let atMousePositionStyleDefinition = polygon.polygonBorder.style.config.atMousePosition
+ let atMousePositionStyle = {}
+ if (atMousePositionStyleDefinition.opacity !== undefined) { atMousePositionStyle.opacity = atMousePositionStyleDefinition.opacity }
+ if (atMousePositionStyleDefinition.paletteColor !== undefined) { atMousePositionStyle.paletteColor = eval(atMousePositionStyleDefinition.paletteColor) }
+ if (atMousePositionStyleDefinition.lineWidth !== undefined) { atMousePositionStyle.lineWidth = atMousePositionStyleDefinition.lineWidth }
+ if (atMousePositionStyleDefinition.lineDash !== undefined) { atMousePositionStyle.lineDash = atMousePositionStyleDefinition.lineDash }
+ atMousePositionStrokeStyles.set(polygon.id, atMousePositionStyle)
+ }
+ }
+
+ record.strokeStyle.set(polygon.id, strokeStyle)
+ }
+ }
+
+ /* Draw the Polygon */
+ browserCanvasContext.beginPath()
+ for (let k = 0; k < polygon.polygonVertexes.length; k++) {
+ let polygonVertex = polygon.polygonVertexes[k]
+ if (polygonVertex.referenceParent !== undefined) {
+ let dataPointObject = record.dataPoints.get(polygonVertex.referenceParent.id)
+ if (dataPointObject === undefined) {
+ polygonVertex.payload.uiObject.setErrorMessage('Vertex not referencing any Point')
+ console.log('[WARN] You have a Polygon Vertex not referencing any Point.')
+ continue
+ }
+
+ let dataPoint = {
+ x: dataPointObject.x,
+ y: dataPointObject.y
+ }
+ /* We make sure the points do not fall outside the viewport visible area. This step allways need to be done. */
+ dataPoint = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(dataPoint)
+ dataPoint = thisObject.fitFunction(dataPoint)
+
+ if (k === 0) {
+ browserCanvasContext.moveTo(dataPoint.x, dataPoint.y)
+ } else {
+ browserCanvasContext.lineTo(dataPoint.x, dataPoint.y)
+ }
+ }
+ }
+ browserCanvasContext.closePath()
+
+ /* Apply the fill style to the canvas object */
+ if (polygon.polygonBody !== undefined) {
+ /* Replace the fill style if we are at mouse position */
+ if (atMousePosition === true) {
+ let atMousePositionFillStyle = atMousePositionFillStyles.get(polygon.id)
+ if (atMousePositionFillStyle !== undefined) {
+ fillStyle = atMousePositionFillStyle
+ }
+ }
+
+ browserCanvasContext.fillStyle = 'rgba(' + fillStyle.paletteColor + ', ' + fillStyle.opacity + ')'
+ browserCanvasContext.fill()
+ }
+
+ /* Apply the stroke style to the canvas object */
+ if (polygon.polygonBorder !== undefined) {
+ /* Replace the stroke style if we are at mouse position */
+ if (atMousePosition === true) {
+ let atMousePositionStrokeStyle = atMousePositionStrokeStyles.get(polygon.id)
+ if (atMousePositionStrokeStyle !== undefined) {
+ strokeStyle = atMousePositionStrokeStyle
+ }
+ }
+
+ browserCanvasContext.lineWidth = strokeStyle.lineWidth
+ browserCanvasContext.setLineDash(strokeStyle.lineDash)
+ browserCanvasContext.strokeStyle = 'rgba(' + strokeStyle.paletteColor + ', ' + strokeStyle.opacity + ')'
+ browserCanvasContext.stroke()
+ }
+ }
+ }
+
+ function plotImages() {
+ /* Here we are going to plot images. */
+ for (let j = 0; j < productDefinition.referenceParent.shapes.images.length; j++) {
+ let image = productDefinition.referenceParent.shapes.images[j]
+ if (image.imagePosition === undefined) { continue }
+ if (image.imagePosition.referenceParent === undefined) { continue }
+ if (image.imageCondition !== undefined) {
+ let mustPlot = eval(image.imageCondition.code)
+ if (mustPlot !== true) { continue }
+ }
+ let imageName = ''
+ let imageSize = 0
+ let offsetX = 0
+ let offsetY = 0
+ let imagePosition = { x: 0, y: 0 }
+ if (image.config.codeName !== undefined) { imageName = image.config.codeName }
+ if (image.config.size !== undefined) { imageSize = image.config.size }
+ if (image.imagePosition.config.offsetX !== undefined) { offsetX = image.imagePosition.config.offsetX }
+ if (image.imagePosition.config.offsetY !== undefined) { offsetY = image.imagePosition.config.offsetY }
+ let dataPointObject = record.dataPoints.get(image.imagePosition.referenceParent.id)
+ if (dataPointObject === undefined) { continue }
+ let dataPoint = {
+ x: dataPointObject.x,
+ y: dataPointObject.y
+ }
+ dataPoint = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(dataPoint)
+ dataPoint = thisObject.fitFunction(dataPoint)
+
+ imagePosition.x = dataPoint.x
+ imagePosition.y = dataPoint.y
+ let imageToDraw = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName('Superalgos', imageName)
+ if (imageToDraw !== undefined) {
+ if (imageToDraw.canDrawIcon === true) {
+ browserCanvasContext.drawImage(imageToDraw, imagePosition.x - imageSize / 2 + offsetX, imagePosition.y - imageSize / 2 - offsetY, imageSize, imageSize)
+ }
+ } else {
+ console.log('Can not plot image named ' + imageName + ' of product ' + productDefinition.name + ' because it does not exist.')
+ }
+ }
+ }
+
+ function plotTexts() {
+ /* Here we are going to plot texts. */
+ for (let j = 0; j < productDefinition.referenceParent.shapes.texts.length; j++) {
+ let text = productDefinition.referenceParent.shapes.texts[j]
+ if (text.textPosition === undefined) { continue }
+ if (text.textPosition.referenceParent === undefined) { continue }
+ if (text.textCondition !== undefined) {
+ let mustPlot = eval(text.textCondition.code)
+ if (mustPlot !== true) { continue }
+ }
+ if (text.textFormula === undefined) { continue }
+ if (text.textStyle === undefined) { continue }
+ let value = eval(text.textFormula.code)
+ let fontSize = 0
+ let opacity = 0
+ let paletteColor = UI_COLOR.GREY
+ let offsetX = 0
+ let offsetY = 0
+ let textPosition = { x: 0, y: 0 }
+ if (text.textStyle.config.fontSize !== undefined) { fontSize = text.textStyle.config.fontSize }
+ if (text.textStyle.config.opacity !== undefined) { opacity = text.textStyle.config.opacity }
+ if (text.textStyle.config.paletteColor !== undefined) { paletteColor = eval(text.textStyle.config.paletteColor) }
+ if (text.textPosition.config.offsetX !== undefined) { offsetX = text.textPosition.config.offsetX }
+ if (text.textPosition.config.offsetY !== undefined) { offsetY = text.textPosition.config.offsetY }
+ let dataPointObject = record.dataPoints.get(text.textPosition.referenceParent.id)
+ if (dataPointObject === undefined) { continue }
+ let dataPoint = {
+ x: dataPointObject.x,
+ y: dataPointObject.y
+ }
+ dataPoint = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(dataPoint)
+ dataPoint = thisObject.fitFunction(dataPoint)
+
+ textPosition.x = dataPoint.x
+ textPosition.y = dataPoint.y
+
+ browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
+ browserCanvasContext.fillStyle = 'rgba(' + paletteColor + ', ' + opacity + ')'
+ browserCanvasContext.fillText(value, textPosition.x + offsetX, textPosition.y - offsetY)
+ }
+ }
+ }
+
+ logged = false
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] plot -> err = ' + err.stack) }
+ }
+ }
+
+ function checkOutOfScreen(i, record) {
+ /*
+ In the formulas to create plotters, we allos users to reference the previous record.
+ To enable that we need to link all records to the previous one in this way.
+ */
+ if (i == 0) {
+ record.previous = {} // this way it wont be undefined
+ } else {
+ record.previous = records[i - 1]
+ }
+
+ let beginPoint = {
+ x: record.begin,
+ y: 0
+ }
+
+ let endPoint = {
+ x: record.end,
+ y: 0
+ }
+
+ beginPoint = coordinateSystem.transformThisPoint(beginPoint)
+ endPoint = coordinateSystem.transformThisPoint(endPoint)
+
+ beginPoint = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(beginPoint, thisObject.container)
+ endPoint = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(endPoint, thisObject.container)
+
+ beginPoint = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(beginPoint)
+ endPoint = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(endPoint)
+
+ beginPoint = thisObject.fitFunction(beginPoint)
+ endPoint = thisObject.fitFunction(endPoint)
+
+ if (endPoint.x < UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.x || beginPoint.x > UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.x) {
+ return false
+ } else {
+ return true
+ }
+ }
+
+ function dataPointsCalculation(record) {
+ if (record.dataPoints !== undefined && mustRecalculateDataPoints === false) {
+ /* We use the datapoints already calculated. */
+ dataPoints = record.dataPoints
+ } else {
+ if (logged === false) {
+ logged = true
+ }
+ let dataPoints = new Map()
+ /* It seems we need to calculate the data points this time. */
+ for (let k = 0; k < productDefinition.referenceParent.shapes.chartPoints.length; k++) {
+ let chartPoints = productDefinition.referenceParent.shapes.chartPoints[k]
+ for (let j = 0; j < chartPoints.points.length; j++) {
+ let point = chartPoints.points[j]
+ if (point.pointFormula !== undefined) {
+ let x = 0
+ let y = 0
+ eval(point.pointFormula.code)
+ let rawPoint = {
+ x: x,
+ y: y
+ }
+
+ /*
+ The information we store in files is independent from the charing system and its coordinate systems.
+ That means that the first thing we allways need to do is to trasform these points to the coordinate system of the timeline.
+ */
+ let dataPoint
+ dataPoint = coordinateSystem.transformThisPoint(rawPoint)
+ dataPoint = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(dataPoint, thisObject.container)
+ let testPoint = {
+ x: dataPoint.x,
+ y: dataPoint.y
+ }
+ dataPoint = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(dataPoint)
+ dataPoint = thisObject.fitFunction(dataPoint)
+
+ if (testPoint.x === dataPoint.x) {
+ /*
+ Contributing to Auto-Scale: A point will contribute to the y coordinate only if the x coordinate is plotted in the screen.
+ It can happen that objects that span through a long period of time could have its begin point inside the visible
+ viewport but not its end point. In those cases, the end point should not be reported.
+ */
+
+ if (rawPoint.y > 0 && rawPoint.y !== undefined && isNaN(rawPoint.y) === false) {
+ coordinateSystem.reportYValue(rawPoint.y)
+ }
+ }
+ /* Store the data point at the local map */
+ dataPoint.rawPoint = rawPoint
+ dataPoints.set(point.id, dataPoint)
+ }
+ }
+ }
+
+ /* Remember this datapoints, so that we do not need to calculate them again. */
+ record.dataPoints = dataPoints
+ }
+ }
+
+ function onViewportZoomChanged(event) {
+ try {
+ mustRecalculateDataPoints = true
+ recalculate()
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] onViewportZoomChanged -> err = ' + err.stack) }
+ }
+ }
+
+ function onDragFinished() {
+ if (UI.projects.superalgos.spaces.chartingSpace.visible === true) {
+ recalculate()
+ }
+ }
+
+ function onDisplace(event) {
+ recalculateAll(event)
+ }
+
+ function onViewportPositionChanged(event) {
+ recalculateAll(event)
+ }
+
+ function recalculateAll(event) {
+ mustRecalculateDataPoints = true
+ if (event !== undefined) {
+ if (event.recalculate === true) {
+ recalculate()
+ return
+ }
+ }
+ if (Math.random() * 100 > 95) {
+ recalculate()
+ }
+ }
+}
diff --git a/CanvasApp/Plotting/RecordValues.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/RecordValues.js
similarity index 94%
rename from CanvasApp/Plotting/RecordValues.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/RecordValues.js
index 707b38e73..7633119b7 100644
--- a/CanvasApp/Plotting/RecordValues.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Plotting/RecordValues.js
@@ -23,8 +23,8 @@ function newRecordValues() {
}
function initialize(pTradingSystem, pTradingEngine, pProductDefinition) {
- tradingSystem = canvas.designSpace.workspace.getHierarchyHeadsById(pTradingSystem.id)
- tradingEngine = canvas.designSpace.workspace.getHierarchyHeadsById(pTradingEngine.id)
+ tradingSystem = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pTradingSystem.id)
+ tradingEngine = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pTradingEngine.id)
productDefinition = pProductDefinition
/*
@@ -113,7 +113,7 @@ function newRecordValues() {
}
function applyValue(node, value, minDecimals) {
- if (canvas.chartingSpace.visible !== true) { return }
+ if (UI.projects.superalgos.spaces.chartingSpace.visible !== true) { return }
if (node === undefined) { return }
if (node.payload === undefined) { return }
if (node.payload.uiObject === undefined) { return }
diff --git a/CanvasApp/Scales/AutoScaleButton.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/AutoScaleButton.js
similarity index 82%
rename from CanvasApp/Scales/AutoScaleButton.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/AutoScaleButton.js
index fe319dfce..9dc11eda2 100644
--- a/CanvasApp/Scales/AutoScaleButton.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/AutoScaleButton.js
@@ -170,34 +170,34 @@ function newAutoScaleButton() {
switch (axis) {
case 'X': {
if (thisObject.autoMinScale === false && thisObject.autoMaxScale === false) {
- icon = canvas.designSpace.iconCollection.get('toggle-auto-time-scale-manual')
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'toggle-auto-time-scale-manual')
}
if (thisObject.autoMinScale === true && thisObject.autoMaxScale === false) {
- icon = canvas.designSpace.iconCollection.get('toggle-auto-time-scale-auto-min')
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'toggle-auto-time-scale-auto-min')
}
if (thisObject.autoMinScale === false && thisObject.autoMaxScale === true) {
- icon = canvas.designSpace.iconCollection.get('toggle-auto-time-scale-auto-max')
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'toggle-auto-time-scale-auto-max')
}
if (thisObject.autoMinScale === true && thisObject.autoMaxScale === true) {
- icon = canvas.designSpace.iconCollection.get('toggle-auto-time-scale-auto-min-max')
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'toggle-auto-time-scale-auto-min-max')
}
- drawIcon(icon, 0, 0, 0, 0, ICON_SIZE, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(icon, 0, 0, 0, 0, ICON_SIZE, thisObject.container)
break
}
case 'Y': {
if (thisObject.autoMinScale === false && thisObject.autoMaxScale === false) {
- icon = canvas.designSpace.iconCollection.get('toggle-auto-scale-manual')
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'toggle-auto-scale-manual')
}
if (thisObject.autoMinScale === true && thisObject.autoMaxScale === false) {
- icon = canvas.designSpace.iconCollection.get('toggle-auto-scale-auto-min')
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'toggle-auto-scale-auto-min')
}
if (thisObject.autoMinScale === false && thisObject.autoMaxScale === true) {
- icon = canvas.designSpace.iconCollection.get('toggle-auto-scale-auto-max')
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'toggle-auto-scale-auto-max')
}
if (thisObject.autoMinScale === true && thisObject.autoMaxScale === true) {
- icon = canvas.designSpace.iconCollection.get('toggle-auto-scale-auto-min-max')
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'toggle-auto-scale-auto-min-max')
}
- drawIcon(icon, 0, 0, 0, 0, ICON_SIZE, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(icon, 0, 0, 0, 0, ICON_SIZE, thisObject.container)
break
}
}
diff --git a/CanvasApp/Scales/Commons.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/Commons.js
similarity index 56%
rename from CanvasApp/Scales/Commons.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/Commons.js
index 13f926ca3..22644f0e3 100644
--- a/CanvasApp/Scales/Commons.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/Commons.js
@@ -13,7 +13,7 @@ function drawScaleDisplay(label1, label2, label3, xExtraOffSet1, xExtraOffSet2,
opacity: OPACITY
}
- roundedCornersBackground(params)
+ UI.projects.superalgos.utilities.drawPrint.roundedCornersBackground(params)
/* Place the Text */
@@ -21,12 +21,12 @@ function drawScaleDisplay(label1, label2, label3, xExtraOffSet1, xExtraOffSet2,
label2 = label2.substring(0, 20)
label3 = label3.substring(0, 20)
- drawLabel(label1, 1 / 2, 92 / 100, 0, 0, 9, container)
- drawLabel(label2, 1 / 2, 42 / 100, 0, 0, 17, container)
- drawLabel(label3, 1 / 2, 67 / 100, 0, 0, 9, container)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(label1, 1 / 2, 92 / 100, 0, 0, 9, container)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(label2, 1 / 2, 42 / 100, 0, 0, 17, container)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(label3, 1 / 2, 67 / 100, 0, 0, 9, container)
- drawIcon(icon1, 1 / 8, 1 / 2, 0, 0, 28, container)
- drawIcon(icon2, 7 / 8, 1 / 2, 0, 0, 28, container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(icon1, 1 / 8, 1 / 2, 0, 0, 28, container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(icon2, 7 / 8, 1 / 2, 0, 0, 28, container)
}
function drawScaleDisplayCover(container) {
@@ -40,6 +40,6 @@ function drawScaleDisplayCover(container) {
opacity: '0.25'
}
- roundedCornersBackground(params)
+ UI.projects.superalgos.utilities.drawPrint.roundedCornersBackground(params)
}
diff --git a/CanvasApp/Scales/RateScale.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/RateScale.js
similarity index 86%
rename from CanvasApp/Scales/RateScale.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/RateScale.js
index 54afd0b99..8daa71e8c 100644
--- a/CanvasApp/Scales/RateScale.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/RateScale.js
@@ -318,8 +318,8 @@ function newRateScale() {
if (coordinateSystemWhenDragStarted === undefined) { return }
if (draggeableContainer.frame.position.y === 0) { return }
- let mouseNoZoom = canvas.chartingSpace.viewport.unTransformThisPoint(canvas.mouse.position)
- let mouseWhenDragStartedNoZoom = canvas.chartingSpace.viewport.unTransformThisPoint(mouseWhenDragStarted.position)
+ let mouseNoZoom = UI.projects.superalgos.spaces.chartingSpace.viewport.unTransformThisPoint(canvas.mouse.position)
+ let mouseWhenDragStartedNoZoom = UI.projects.superalgos.spaces.chartingSpace.viewport.unTransformThisPoint(mouseWhenDragStarted.position)
let dragVectorWhenDragStarted = {
x: 0,
@@ -338,7 +338,7 @@ function newRateScale() {
y: (-dragVectorWhenDragStarted.y)
}
- let newMaxRate = getRateFromPointAtContainer(point, limitingContainer, coordinateSystemWhenDragStarted)
+ let newMaxRate = UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtContainer(point, limitingContainer, coordinateSystemWhenDragStarted)
let yDifferenceMaxMin = coordinateSystemWhenDragStarted.max.y - coordinateSystemWhenDragStarted.min.y
coordinateSystem.min.y = newMaxRate - yDifferenceMaxMin
@@ -358,7 +358,7 @@ function newRateScale() {
x: event.dragVector.x,
y: -event.dragVector.y
}
- let newMaxRate = getRateFromPointAtContainer(point, rateCalculationsContainer, coordinateSystem)
+ let newMaxRate = UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtContainer(point, rateCalculationsContainer, coordinateSystem)
let yDifferenceMaxMin = coordinateSystem.max.y - coordinateSystem.min.y
coordinateSystem.min.y = newMaxRate - yDifferenceMaxMin
coordinateSystem.max.y = newMaxRate
@@ -370,7 +370,7 @@ function newRateScale() {
x: event.dragVector.x,
y: event.dragVector.y
}
- let newMaxRate = getRateFromPointAtContainer(point, rateCalculationsContainer, coordinateSystem)
+ let newMaxRate = UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtContainer(point, rateCalculationsContainer, coordinateSystem)
coordinateSystem.max.y = newMaxRate
coordinateSystem.maxHeight = rateCalculationsContainer.frame.height
@@ -381,7 +381,7 @@ function newRateScale() {
x: event.dragVector.x,
y: event.dragVector.y + rateCalculationsContainer.frame.height
}
- let newMinRate = getRateFromPointAtContainer(point, rateCalculationsContainer, coordinateSystem)
+ let newMinRate = UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtContainer(point, rateCalculationsContainer, coordinateSystem)
coordinateSystem.min.y = newMinRate
coordinateSystem.maxHeight = rateCalculationsContainer.frame.height
@@ -402,8 +402,8 @@ function newRateScale() {
y: limitingContainer.frame.height
}
- upCorner = transformThisPoint(upCorner, limitingContainer)
- bottonCorner = transformThisPoint(bottonCorner, limitingContainer)
+ upCorner = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(upCorner, limitingContainer)
+ bottonCorner = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(bottonCorner, limitingContainer)
upCorner = limitingContainer.fitFunction(upCorner, true)
bottonCorner = limitingContainer.fitFunction(bottonCorner, true)
@@ -440,7 +440,7 @@ function newRateScale() {
y: canvas.mouse.position.y
}
- thisObject.rate = getRateFromPointAtBrowserCanvas(ratePoint, rateCalculationsContainer, coordinateSystem)
+ thisObject.rate = UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtBrowserCanvas(ratePoint, rateCalculationsContainer, coordinateSystem)
/* rateScale Positioning */
ratePoint = {
@@ -448,7 +448,7 @@ function newRateScale() {
y: 0
}
- ratePoint = transformThisPoint(ratePoint, limitingContainer.frame.container)
+ ratePoint = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(ratePoint, limitingContainer.frame.container)
ratePoint.y = canvas.mouse.position.y - thisObject.container.frame.height / 2 + thisObject.container.frame.height
/* Checking against the container limits. */
@@ -474,7 +474,7 @@ function newRateScale() {
thisObject.payload.isVisible = false
}
- if (canvas.chartingSpace.viewport.zoomTargetLevel < ZOOM_OUT_THRESHOLD_FOR_DISPLAYING_SCALES) {
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport.zoomTargetLevel < UI.projects.superalgos.globals.zoom.ZOOM_OUT_THRESHOLD_FOR_DISPLAYING_SCALES) {
thisObject.isVisible = false
}
}
@@ -500,7 +500,7 @@ function newRateScale() {
function drawScale() {
const SEPARATION = 50
- const NUMBER_OF_LABELS = Math.trunc(canvas.chartingSpace.viewport.height / SEPARATION)
+ const NUMBER_OF_LABELS = Math.trunc(UI.projects.superalgos.spaces.chartingSpace.viewport.height / SEPARATION)
const FONT_SIZE = 15
for (let i = 0; i <= NUMBER_OF_LABELS; i++) {
@@ -513,16 +513,16 @@ function newRateScale() {
y: TOP_SPACE_HEIGHT + SEPARATION * (i + 0)
}
- let rate = getRateFromPointAtBrowserCanvas(ratePoint1, rateCalculationsContainer, coordinateSystem)
- let labels = scaleLabels(rate)
+ let rate = UI.projects.superalgos.utilities.dateRateTransformations.getRateFromPointAtBrowserCanvas(ratePoint1, rateCalculationsContainer, coordinateSystem)
+ let labels = scaleLabels(rate, false)
let decimalsDisplace = labels[1].length * FONT_SIZE * FONT_ASPECT_RATIO
let fitPoint1 = thisObject.fitFunction(ratePoint1)
let fitPoint2 = thisObject.fitFunction(ratePoint2)
if (fitPoint1.y === ratePoint1.y && fitPoint2.y === ratePoint2.y) {
- drawLabel(labels[1], 1 / 2, 0, 0, 0, FONT_SIZE, thisObject.container, UI_COLOR.GREY, undefined, ratePoint1.y)
- drawLabel(labels[2], 1 / 2, 0, decimalsDisplace, -5, 9, thisObject.container, UI_COLOR.GREY, undefined, ratePoint1.y)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(labels[1], 1 / 2, 0, 0, 0, FONT_SIZE, thisObject.container, UI_COLOR.GREY, undefined, ratePoint1.y)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(labels[2], 1 / 2, 0, decimalsDisplace, -5, 9, thisObject.container, UI_COLOR.GREY, undefined, ratePoint1.y)
}
}
}
@@ -532,16 +532,16 @@ function newRateScale() {
if (thisObject.payload === undefined) { return }
if (thisObject.payload.node === undefined) { return }
- let icon1 = canvas.designSpace.iconByUiObjectType.get(thisObject.payload.node.payload.parentNode.type)
- let icon2 = canvas.designSpace.iconByUiObjectType.get(thisObject.payload.node.type)
+ let icon1 = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.payload.parentNode.project, thisObject.payload.node.payload.parentNode.type)
+ let icon2 = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.project, thisObject.payload.node.type)
let backgroundColor = UI_COLOR.BLACK
- let labels = scaleLabels(thisObject.rate)
+ let labels = scaleLabels(thisObject.rate, true)
drawScaleDisplay(labels[0], labels[1], labels[2], 0, 0, 0, icon1, icon2, thisObject.container, backgroundColor)
}
- function scaleLabels(rate) {
+ function scaleLabels(rate, fixDecimals) {
if (rate < coordinateSystem.min.y) {
rate = coordinateSystem.min.y
}
@@ -549,7 +549,14 @@ function newRateScale() {
rate = coordinateSystem.max.y
}
- let label = dynamicDecimals(rate)
+ let label
+
+ if (fixDecimals === true) {
+ label = rate.toFixed(10)
+ } else {
+ label = dynamicDecimals(rate)
+ }
+
let labelArray = label.split('.')
let label1 = thisObject.payload.node.payload.parentNode.name
let label2 = (Math.trunc(rate)).toLocaleString()
diff --git a/CanvasApp/Scales/TimeFrameScale.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/TimeFrameScale.js
similarity index 90%
rename from CanvasApp/Scales/TimeFrameScale.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/TimeFrameScale.js
index 26817c25c..9230541c5 100644
--- a/CanvasApp/Scales/TimeFrameScale.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/TimeFrameScale.js
@@ -59,7 +59,7 @@ function newTimeFrameScale() {
function finalize() {
thisObject.container.eventHandler.stopListening(onMouseWheelEventSubscriptionId)
- canvas.chartingSpace.viewport.eventHandler.stopListening(onViewportZoomChangedEventSubscriptionId)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.stopListening(onViewportZoomChangedEventSubscriptionId)
thisObject.container.eventHandler.stopListening(onMouseOverEventSubscriptionId)
thisObject.container.eventHandler.stopListening(onMouseNotOverEventSubscriptionId)
@@ -78,7 +78,7 @@ function newTimeFrameScale() {
newTimeFrame()
onMouseWheelEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseWheel', onMouseWheel)
- onViewportZoomChangedEventSubscriptionId = canvas.chartingSpace.viewport.eventHandler.listenToEvent('Zoom Changed', onViewportZoomChanged)
+ onViewportZoomChangedEventSubscriptionId = UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.listenToEvent('Zoom Changed', onViewportZoomChanged)
onMouseOverEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseOver', onMouseOver)
onMouseNotOverEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseNotOver', onMouseNotOver)
}
@@ -115,7 +115,7 @@ function newTimeFrameScale() {
function adjustTimeFrame(elementsPlotted) {
const ELEMENTS_PLOTTED_THREASHOLD = 500
if (
- canvas.chartingSpace.viewport.zoomTargetLevel >= ZOOM_OUT_THRESHOLD_FOR_CHANGING_TIME_FRAME &&
+ UI.projects.superalgos.spaces.chartingSpace.viewport.zoomTargetLevel >= UI.projects.superalgos.globals.zoom.ZOOM_OUT_THRESHOLD_FOR_CHANGING_TIME_FRAME &&
displayingRealTimeFrame === false
) {
let event = {}
@@ -125,7 +125,7 @@ function newTimeFrameScale() {
}
if (
elementsPlotted > ELEMENTS_PLOTTED_THREASHOLD &&
- canvas.chartingSpace.viewport.zoomTargetLevel < ZOOM_OUT_THRESHOLD_FOR_CHANGING_TIME_FRAME &&
+ UI.projects.superalgos.spaces.chartingSpace.viewport.zoomTargetLevel < UI.projects.superalgos.globals.zoom.ZOOM_OUT_THRESHOLD_FOR_CHANGING_TIME_FRAME &&
displayingRealTimeFrame === true
) {
let event = {}
@@ -148,8 +148,8 @@ function newTimeFrameScale() {
y: limitingContainer.frame.height
}
- upCorner = transformThisPoint(upCorner, limitingContainer)
- bottonCorner = transformThisPoint(bottonCorner, limitingContainer)
+ upCorner = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(upCorner, limitingContainer)
+ bottonCorner = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(bottonCorner, limitingContainer)
upCorner = limitingContainer.fitFunction(upCorner, true)
bottonCorner = limitingContainer.fitFunction(bottonCorner, true)
@@ -186,7 +186,7 @@ function newTimeFrameScale() {
y: limitingContainer.frame.height
}
- timePoint = transformThisPoint(timePoint, limitingContainer.frame.container)
+ timePoint = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(timePoint, limitingContainer.frame.container)
timePoint.x = canvas.mouse.position.x - thisObject.container.frame.width / 2
/* Checking against the container limits. */
@@ -211,7 +211,7 @@ function newTimeFrameScale() {
thisObject.payload.isVisible = false
}
- if (canvas.chartingSpace.viewport.zoomTargetLevel < ZOOM_OUT_THRESHOLD_FOR_DISPLAYING_SCALES) {
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport.zoomTargetLevel < UI.projects.superalgos.globals.zoom.ZOOM_OUT_THRESHOLD_FOR_DISPLAYING_SCALES) {
thisObject.isVisible = false
}
}
@@ -383,8 +383,8 @@ function newTimeFrameScale() {
let label2 = label[0]
let label3 = label[1].toUpperCase()
- let icon1 = canvas.designSpace.iconByUiObjectType.get(thisObject.payload.node.payload.parentNode.type)
- let icon2 = canvas.designSpace.iconByUiObjectType.get(thisObject.payload.node.type)
+ let icon1 = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.payload.parentNode.project, thisObject.payload.node.payload.parentNode.type)
+ let icon2 = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.project, thisObject.payload.node.type)
let backgroundColor = UI_COLOR.BLACK
diff --git a/CanvasApp/Scales/TimeScale.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/TimeScale.js
similarity index 87%
rename from CanvasApp/Scales/TimeScale.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/TimeScale.js
index f2915426c..267470e55 100644
--- a/CanvasApp/Scales/TimeScale.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Scales/TimeScale.js
@@ -236,8 +236,8 @@ function newTimeScale() {
y: limitingContainer.frame.height
}
- upCorner = transformThisPoint(upCorner, limitingContainer)
- bottonCorner = transformThisPoint(bottonCorner, limitingContainer)
+ upCorner = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(upCorner, limitingContainer)
+ bottonCorner = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(bottonCorner, limitingContainer)
upCorner = limitingContainer.fitFunction(upCorner, true)
bottonCorner = limitingContainer.fitFunction(bottonCorner, true)
@@ -248,7 +248,7 @@ function newTimeScale() {
y: 0
}
- let mouseDate = getDateFromPointAtBrowserCanvas(timePoint, limitingContainer, coordinateSystem)
+ let mouseDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(timePoint, limitingContainer, coordinateSystem)
thisObject.date = new Date(mouseDate)
@@ -258,7 +258,7 @@ function newTimeScale() {
y: 0
}
- timePoint = transformThisPoint(timePoint, limitingContainer.frame.container)
+ timePoint = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(timePoint, limitingContainer.frame.container)
timePoint.x = canvas.mouse.position.x - thisObject.container.frame.width / 2
/* Checking against the container limits. */
@@ -277,7 +277,7 @@ function newTimeScale() {
thisObject.isVisible = false
}
- if (canvas.chartingSpace.viewport.zoomTargetLevel < ZOOM_OUT_THRESHOLD_FOR_DISPLAYING_SCALES) {
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport.zoomTargetLevel < UI.projects.superalgos.globals.zoom.ZOOM_OUT_THRESHOLD_FOR_DISPLAYING_SCALES) {
thisObject.isVisible = false
}
}
@@ -288,7 +288,7 @@ function newTimeScale() {
function drawScale() {
const SEPARATION = 150
- const NUMBER_OF_LABELS = Math.trunc(canvas.chartingSpace.viewport.width / SEPARATION)
+ const NUMBER_OF_LABELS = Math.trunc(UI.projects.superalgos.spaces.chartingSpace.viewport.width / SEPARATION)
const FONT_SIZE = 15
for (let i = 0; i <= NUMBER_OF_LABELS; i++) {
@@ -297,7 +297,7 @@ function newTimeScale() {
y: 0
}
- let time = getDateFromPointAtBrowserCanvas(timePoint, limitingContainer, coordinateSystem)
+ let time = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(timePoint, limitingContainer, coordinateSystem)
let labels = scaleLabels(time, true)
let labelDisplace = labels[1].length * FONT_SIZE * FONT_ASPECT_RATIO
@@ -314,8 +314,8 @@ function newTimeScale() {
let fitPoint2 = thisObject.fitFunction(timePoint2)
if (fitPoint1.x === timePoint1.x && fitPoint2.x === timePoint2.x) {
- drawLabel(labels[1], 1 / 2, 0, 18, 17, FONT_SIZE, thisObject.container, UI_COLOR.GREY, timePoint1.x, undefined)
- drawLabel(labels[2], 1 / 2, 0, 18, 30, 12, thisObject.container, UI_COLOR.GREY, timePoint1.x, undefined)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(labels[1], 1 / 2, 0, 18, 17, FONT_SIZE, thisObject.container, UI_COLOR.GREY, timePoint1.x, undefined)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(labels[2], 1 / 2, 0, 18, 30, 12, thisObject.container, UI_COLOR.GREY, timePoint1.x, undefined)
}
}
}
@@ -338,8 +338,8 @@ function newTimeScale() {
function drawScaleBox() {
if (thisObject.date === undefined) { return }
- let icon1 = canvas.designSpace.iconByUiObjectType.get(thisObject.payload.node.payload.parentNode.type)
- let icon2 = canvas.designSpace.iconByUiObjectType.get(thisObject.payload.node.type)
+ let icon1 = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.payload.parentNode.project, thisObject.payload.node.payload.parentNode.type)
+ let icon2 = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.project, thisObject.payload.node.type)
let backgroundColor = UI_COLOR.BLACK
let labels = scaleLabels(thisObject.date)
diff --git a/CanvasApp/ChartingSpace/TimeMachine.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/TimeMachine.js
similarity index 88%
rename from CanvasApp/ChartingSpace/TimeMachine.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/TimeMachine.js
index a047212f4..d3bd505de 100644
--- a/CanvasApp/ChartingSpace/TimeMachine.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/TimeMachine.js
@@ -141,9 +141,9 @@ function newTimeMachine() {
function initialize(callBackFunction) {
timeFrame = INITIAL_TIME_PERIOD
- loadFrame(thisObject.payload, thisObject.container.frame)
+ UI.projects.superalgos.utilities.loadSaveFrame.loadFrame(thisObject.payload, thisObject.container.frame)
setInitialPosition()
- saveFrame(thisObject.payload, thisObject.container.frame)
+ UI.projects.superalgos.utilities.loadSaveFrame.saveFrame(thisObject.payload, thisObject.container.frame)
recalculateCoordinateSystem()
recalculateCurrentDatetime()
@@ -162,8 +162,8 @@ function newTimeMachine() {
function setInitialPosition() {
if (thisObject.container.frame.position.x === 0 && thisObject.container.frame.position.y === 0) {
- let timeMachineIndex = findChildIndexAtParentNode(thisObject.payload.node)
- let dashboardIndex = findChildIndexAtParentNode(thisObject.payload.parentNode)
+ let timeMachineIndex = UI.projects.superalgos.utilities.children.findChildIndexAtParentNode(thisObject.payload.node)
+ let dashboardIndex = UI.projects.superalgos.utilities.children.findChildIndexAtParentNode(thisObject.payload.parentNode)
thisObject.container.frame.position.x = thisObject.container.frame.width * timeMachineIndex * 2
thisObject.container.frame.position.y = thisObject.container.frame.height * dashboardIndex * 2
@@ -335,7 +335,7 @@ function newTimeMachine() {
y: thisObject.container.frame.height / 2
}
- datetime = new Date(getDateFromPointAtContainer(center, thisObject.container, timeMachineCoordinateSystem))
+ datetime = new Date(UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtContainer(center, thisObject.container, timeMachineCoordinateSystem))
for (let i = 0; i < thisObject.timelineCharts.length; i++) {
let timelineChart = thisObject.timelineCharts[i]
@@ -361,8 +361,8 @@ function newTimeMachine() {
y: thisObject.container.frame.height
}
- upCorner = transformThisPoint(upCorner, thisObject.container)
- bottonCorner = transformThisPoint(bottonCorner, thisObject.container)
+ upCorner = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(upCorner, thisObject.container)
+ bottonCorner = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(bottonCorner, thisObject.container)
/* Checking against the container limits. */
if (margin === undefined) { margin = 0 }
@@ -374,7 +374,7 @@ function newTimeMachine() {
if (returnPoint.y - margin - topMargin < upCorner.y) { returnPoint.y = upCorner.y + margin + topMargin }
if (returnPoint.y + margin + bottomMargin > bottonCorner.y) { returnPoint.y = bottonCorner.y - margin - bottomMargin }
- returnPoint = canvas.chartingSpace.fitFunction(returnPoint, fullVisible)
+ returnPoint = UI.projects.superalgos.spaces.chartingSpace.fitFunction(returnPoint, fullVisible)
return returnPoint
}
@@ -383,7 +383,7 @@ function newTimeMachine() {
thisObject.edgeEditor.physics()
timeMachineCoordinateSystem.physics()
- saveFrame(thisObject.payload, thisObject.container.frame)
+ UI.projects.superalgos.utilities.loadSaveFrame.saveFrame(thisObject.payload, thisObject.container.frame)
if (thisObject.container.frame.isInViewPort()) {
childrenPhysics()
syncWithDesigner()
@@ -432,21 +432,21 @@ function newTimeMachine() {
function panelPhysics() {
if (
thisObject.container.frame.isInViewPort() &&
- canvas.chartingSpace.viewport.zoomLevel >= ZOOM_OUT_THRESHOLD_FOR_NOT_HIDDING_PANELS) {
- canvas.panelsSpace.unHide(thisObject.payload.node.id, 'Layers Panel')
- canvas.panelsSpace.unHide(thisObject.payload.node.id, 'Plotter Panel')
+ UI.projects.superalgos.spaces.chartingSpace.viewport.zoomLevel >= UI.projects.superalgos.globals.zoom.ZOOM_OUT_THRESHOLD_FOR_NOT_HIDDING_PANELS) {
+ UI.projects.superalgos.spaces.panelSpace.unHide(thisObject.payload.node.id, 'Layers Panel')
+ UI.projects.superalgos.spaces.panelSpace.unHide(thisObject.payload.node.id, 'Plotter Panel')
return
}
if (
thisObject.container.frame.isCenterInViewPort() &&
- canvas.chartingSpace.viewport.zoomLevel >= ZOOM_OUT_THRESHOLD_FOR_HIDDING_PANELS
+ UI.projects.superalgos.spaces.chartingSpace.viewport.zoomLevel >= UI.projects.superalgos.globals.zoom.ZOOM_OUT_THRESHOLD_FOR_HIDDING_PANELS
) {
- canvas.panelsSpace.unHide(thisObject.payload.node.id, 'Layers Panel')
- canvas.panelsSpace.unHide(thisObject.payload.node.id, 'Plotter Panel')
+ UI.projects.superalgos.spaces.panelSpace.unHide(thisObject.payload.node.id, 'Layers Panel')
+ UI.projects.superalgos.spaces.panelSpace.unHide(thisObject.payload.node.id, 'Plotter Panel')
} else {
- canvas.panelsSpace.hide(thisObject.payload.node.id, 'Layers Panel')
- canvas.panelsSpace.hide(thisObject.payload.node.id, 'Plotter Panel')
+ UI.projects.superalgos.spaces.panelSpace.hide(thisObject.payload.node.id, 'Layers Panel')
+ UI.projects.superalgos.spaces.panelSpace.hide(thisObject.payload.node.id, 'Plotter Panel')
}
}
@@ -583,7 +583,7 @@ function newTimeMachine() {
}
function drawChartsBackground() {
- drawContainerBackground(thisObject.container, UI_COLOR.WHITE, 0.5, thisObject.fitFunction)
+ UI.projects.superalgos.utilities.drawPrint.drawContainerBackground(thisObject.container, UI_COLOR.WHITE, 0.5, thisObject.fitFunction)
}
function draw() {
@@ -601,8 +601,8 @@ function newTimeMachine() {
if (thisObject.rateScale !== undefined && thisObject.rateScale.isVisible === true) { thisObject.rateScale.draw() }
}
} else {
- if (canvas.chartingSpace.viewport.zoomTargetLevel < ZOOM_OUT_THRESHOLD_FOR_DISPLAYING_TIME_MACHINES_ICONIZED) {
- let icon = canvas.designSpace.iconByUiObjectType.get(thisObject.payload.node.type)
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport.zoomTargetLevel < UI.projects.superalgos.globals.zoom.ZOOM_OUT_THRESHOLD_FOR_DISPLAYING_TIME_MACHINES_ICONIZED) {
+ let icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.project, thisObject.payload.node.type)
if (icon !== undefined) {
if (icon.canDrawIcon === true) {
let imageSize = 40
@@ -611,7 +611,7 @@ function newTimeMachine() {
y: thisObject.container.frame.height / 2
}
- imagePosition = transformThisPoint(imagePosition, thisObject.container)
+ imagePosition = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(imagePosition, thisObject.container)
imagePosition = thisObject.fitFunction(imagePosition, true)
browserCanvasContext.drawImage(
@@ -655,17 +655,17 @@ function newTimeMachine() {
let imageSize = 12
let fontSize = 12
let opacity = 1
- let icon = canvas.designSpace.iconByUiObjectType.get(thisObject.payload.node.type)
+ let icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.project, thisObject.payload.node.type)
- position = transformThisPoint(position, thisObject.container)
+ position = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(position, thisObject.container)
let label = thisObject.payload.node.name
- let description = loadPropertyFromNodeConfig(thisObject.payload, 'description')
+ let description = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(thisObject.payload, 'description')
if (description !== undefined) {
label = description
}
- printLabel(label, position.x + 20, position.y - 10, opacity, fontSize)
+ UI.projects.superalgos.utilities.drawPrint.printLabel(label, position.x + 20, undefined, undefined, position.y - 10, opacity, fontSize, undefined, 'Left')
if (icon !== undefined) {
if (icon.canDrawIcon === true) {
@@ -730,7 +730,7 @@ function newTimeMachine() {
}
}
- printLabel(exchangeMarket.exchangeName, -5 + xOffSet, -30, opacity, fontSize, UI_COLOR.GREY)
+ UI.projects.superalgos.utilities.drawPrint.printLabel(exchangeMarket.exchangeName, -5 + xOffSet, undefined, undefined, -30, opacity, fontSize, UI_COLOR.GREY, 'Left')
position.x = position.x + INTER_EXCHANGE_SPACE
@@ -746,7 +746,7 @@ function newTimeMachine() {
}
}
- printLabel(exchangeMarket.marketName, -5 + xOffSet, -10, opacity, fontSize, UI_COLOR.GREY)
+ UI.projects.superalgos.utilities.drawPrint.printLabel(exchangeMarket.marketName, -5 + xOffSet, undefined, undefined, -10, opacity, fontSize, UI_COLOR.GREY, 'Left')
icon = exchangeMarket.quotedAssetIcon
if (icon !== undefined) {
@@ -776,7 +776,7 @@ function newTimeMachine() {
x: x,
y: y
}
- point = transformThisPoint(point, container)
+ point = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(point, container)
let point1 = {
x: point.x + X_OFFSET,
@@ -829,7 +829,7 @@ function newTimeMachine() {
minValue,
maxValue,
thisObject.container.frame.width,
- thisObject.container.frame.height
+ thisObject.container.frame.height
)
}
}
diff --git a/CanvasApp/ChartingSpace/TimelineChart.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/TimelineChart.js
similarity index 96%
rename from CanvasApp/ChartingSpace/TimelineChart.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/TimelineChart.js
index ccc30ce56..6ad4163c0 100644
--- a/CanvasApp/ChartingSpace/TimelineChart.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/TimelineChart.js
@@ -100,7 +100,7 @@ function newTimelineChart() {
thisObject.plotterManager = undefined
thisObject.layerManager = undefined
- canvas.panelsSpace.destroyPanel(layersPanelHandle)
+ UI.projects.superalgos.spaces.panelSpace.destroyPanel(layersPanelHandle)
}
function finalizeTimeFrameScale() {
@@ -167,14 +167,14 @@ function newTimelineChart() {
minValue,
maxValue,
thisObject.container.frame.width,
- thisObject.container.frame.heigh
+ thisObject.container.frame.heigh
)
}
function initializeLayerManager() {
let owner = thisObject.payload.node.payload.parentNode.id // The real owner is the Time Machine
- layersPanelHandle = canvas.panelsSpace.createNewPanel('Layers Panel', undefined, owner)
- thisObject.layerManager = canvas.panelsSpace.getPanel(layersPanelHandle)
+ layersPanelHandle = UI.projects.superalgos.spaces.panelSpace.createNewPanel('Layers Panel', undefined, owner)
+ thisObject.layerManager = UI.projects.superalgos.spaces.panelSpace.getPanel(layersPanelHandle)
thisObject.layerManager.payload = thisObject.payload.node.layerManager.payload
thisObject.layerManager.initialize()
@@ -311,12 +311,19 @@ function newTimelineChart() {
}
function physics() {
+ plotterManagerPhysics()
thisObjectPhysics()
childrenPhysics()
syncWithDesignerScales()
syncWithDesignerLayerManager()
}
+ function plotterManagerPhysics() {
+ if (thisObject.plotterManager !== undefined) {
+ thisObject.plotterManager.physics()
+ }
+ }
+
function thisObjectPhysics() {
/* Only if the plotter manager has some layer turned on, we will pass the min and max upstream. */
if (thisObject.plotterManager !== undefined && thisObject.plotterManager.connectors.length > 0) {
@@ -417,6 +424,6 @@ function newTimelineChart() {
}
function drawChartsBackground() {
- drawContainerBackground(thisObject.container, UI_COLOR.WHITE, 0, thisObject.fitFunction)
+ UI.projects.superalgos.utilities.drawPrint.drawContainerBackground(thisObject.container, UI_COLOR.WHITE, 0, thisObject.fitFunction)
}
}
diff --git a/CanvasApp/ChartingSpace/Viewport.js b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Viewport.js
similarity index 98%
rename from CanvasApp/ChartingSpace/Viewport.js
rename to Integrations/Projects/Superalgos/Spaces/Charting-Space/Viewport.js
index 75f814f37..9aaff8ef6 100644
--- a/CanvasApp/ChartingSpace/Viewport.js
+++ b/Integrations/Projects/Superalgos/Spaces/Charting-Space/Viewport.js
@@ -86,7 +86,7 @@ function newViewport() {
y: 0
}
}
- loadFrame(thisObject.payload, frame)
+ UI.projects.superalgos.utilities.loadSaveFrame.loadFrame(thisObject.payload, frame)
if (!isNaN(frame.position.x)) {
position.x = frame.position.x
}
@@ -177,7 +177,7 @@ function newViewport() {
/* Save the position at the frame lavel */
let frame = {}
frame.position = position
- saveFrame(thisObject.payload, frame)
+ UI.projects.superalgos.utilities.loadSaveFrame.saveFrame(thisObject.payload, frame)
}
function animationPhysics() {
diff --git a/CanvasApp/Spaces/ChatSpace.js b/Integrations/Projects/Superalgos/Spaces/Chat-Space/ChatSpace.js
similarity index 95%
rename from CanvasApp/Spaces/ChatSpace.js
rename to Integrations/Projects/Superalgos/Spaces/Chat-Space/ChatSpace.js
index e6f0d271d..972578094 100644
--- a/CanvasApp/Spaces/ChatSpace.js
+++ b/Integrations/Projects/Superalgos/Spaces/Chat-Space/ChatSpace.js
@@ -1,4 +1,4 @@
-function newChatSpace() {
+function newSuperalgosChatSpace() {
const MODULE_NAME = 'Chat Space'
let thisObject = {
sidePanelTab: undefined,
@@ -84,9 +84,14 @@ function newChatSpace() {
if (container !== undefined) { return container }
if (thisObject.container.frame.isThisPointHere(point, true) === true) {
- return thisObject.container
+ if (container.isWheelable === true) {
+ return thisObject.container
+ } else {
+ UI.projects.superalgos.spaces.chartingSpace.viewport.onMouseWheel(event)
+ return
+ }
} else {
- return undefined
+ return
}
}
diff --git a/CanvasApp/CockpitSpace/AssetBalances.js b/Integrations/Projects/Superalgos/Spaces/Cockpit-Space/AssetBalances.js
similarity index 100%
rename from CanvasApp/CockpitSpace/AssetBalances.js
rename to Integrations/Projects/Superalgos/Spaces/Cockpit-Space/AssetBalances.js
diff --git a/CanvasApp/Spaces/CockpitSpace.js b/Integrations/Projects/Superalgos/Spaces/Cockpit-Space/CockpitSpace.js
similarity index 90%
rename from CanvasApp/Spaces/CockpitSpace.js
rename to Integrations/Projects/Superalgos/Spaces/Cockpit-Space/CockpitSpace.js
index fe16fc4b9..293ebc942 100644
--- a/CanvasApp/Spaces/CockpitSpace.js
+++ b/Integrations/Projects/Superalgos/Spaces/Cockpit-Space/CockpitSpace.js
@@ -1,5 +1,5 @@
-function newCockpitSpace() {
+function newSuperalgosCockpitSpace() {
const MODULE_NAME = 'CockpitSpace'
const STATUS_TYPES = {
ALL_GOOD: 1,
@@ -66,7 +66,7 @@ function newCockpitSpace() {
thisObject.container.frame.position.x = 0
let INITIAL_POSITION
- if (canvas.designSpace.workspace.enabled === true) {
+ if (UI.projects.superalgos.spaces.designSpace.workspace.enabled === true) {
let localStorage = window.localStorage.getItem(MODULE_NAME)
if (localStorage !== null) {
storage = JSON.parse(localStorage)
@@ -158,7 +158,7 @@ function newCockpitSpace() {
thisObject.status = 'MIDDLE'
- if (canvas.designSpace.workspace.enabled === true) {
+ if (UI.projects.superalgos.spaces.designSpace.workspace.enabled === true) {
thisObject.container.isDraggeable = true
} else {
thisObject.container.isDraggeable = false
@@ -167,19 +167,19 @@ function newCockpitSpace() {
if (thisObject.container.frame.position.y > browserCanvas.height * 99.5 / 100 - COCKPIT_SPACE_HEIGHT) {
thisObject.container.frame.position.y = browserCanvas.height - COCKPIT_SPACE_HEIGHT
thisObject.status = 'BOTTOM'
- canvas.designSpace.makeInvisible()
- canvas.floatingSpace.makeInvisible()
+ UI.projects.superalgos.spaces.designSpace.makeInvisible()
+ UI.projects.superalgos.spaces.floatingSpace.makeInvisible()
} else {
- canvas.designSpace.makeVisible()
- canvas.floatingSpace.makeVisible()
+ UI.projects.superalgos.spaces.designSpace.makeVisible()
+ UI.projects.superalgos.spaces.floatingSpace.makeVisible()
}
if (thisObject.container.frame.position.y < browserCanvas.height * 0.5 / 100 + TOP_SPACE_HEIGHT) {
thisObject.container.frame.position.y = TOP_SPACE_HEIGHT
thisObject.status = 'TOP'
- canvas.panelsSpace.visible = false
+ UI.projects.superalgos.spaces.panelSpace.visible = false
} else {
- canvas.panelsSpace.visible = true
+ UI.projects.superalgos.spaces.panelSpace.visible = true
}
COCKPIT_SPACE_POSITION = thisObject.container.frame.position.y
@@ -187,8 +187,8 @@ function newCockpitSpace() {
spacePosition: COCKPIT_SPACE_POSITION
}
window.localStorage.setItem(MODULE_NAME, JSON.stringify(storage))
- if (canvas.chartingSpace.viewport !== undefined) {
- canvas.chartingSpace.viewport.resize()
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport !== undefined) {
+ UI.projects.superalgos.spaces.chartingSpace.viewport.resize()
}
}
@@ -266,11 +266,11 @@ function newCockpitSpace() {
x: thisObject.container.frame.width / 2,
y: thisObject.container.frame.height / 2 + 5
}
- printLabel(statusText, position.x, position.y, 1, 15, textColor, true, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.printLabel(statusText, undefined, position.x, undefined, position.y, 1, 15, textColor, 'Center', thisObject.container)
}
- if (canvas.designSpace !== undefined) {
- if (canvas.designSpace.workspace.enabled === true && statusText === undefined) {
+ if (UI.projects.superalgos.spaces.designSpace !== undefined) {
+ if (UI.projects.superalgos.spaces.designSpace.workspace.enabled === true && statusText === undefined) {
arrow()
}
}
diff --git a/CanvasApp/CockpitSpace/FullScreen.js b/Integrations/Projects/Superalgos/Spaces/Cockpit-Space/FullScreen.js
similarity index 98%
rename from CanvasApp/CockpitSpace/FullScreen.js
rename to Integrations/Projects/Superalgos/Spaces/Cockpit-Space/FullScreen.js
index 4f0c8e5c8..a5b2c759b 100644
--- a/CanvasApp/CockpitSpace/FullScreen.js
+++ b/Integrations/Projects/Superalgos/Spaces/Cockpit-Space/FullScreen.js
@@ -138,7 +138,7 @@ function newFullScreen() {
params.backgroundColor = UI_COLOR.DARK_TURQUOISE
}
- roundedCornersBackground(params)
+ UI.projects.superalgos.utilities.drawPrint.roundedCornersBackground(params)
}
function drawText() {
diff --git a/CanvasApp/CockpitSpace/Speedometer.js b/Integrations/Projects/Superalgos/Spaces/Cockpit-Space/Speedometer.js
similarity index 100%
rename from CanvasApp/CockpitSpace/Speedometer.js
rename to Integrations/Projects/Superalgos/Spaces/Cockpit-Space/Speedometer.js
diff --git a/Integrations/Projects/Superalgos/Spaces/Design-Space/DesignSpace.js b/Integrations/Projects/Superalgos/Spaces/Design-Space/DesignSpace.js
new file mode 100644
index 000000000..51267a439
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Spaces/Design-Space/DesignSpace.js
@@ -0,0 +1,131 @@
+
+function newSuperalgosDesignSpace() {
+ const MODULE_NAME = 'Designe Space'
+ let thisObject = {
+ container: undefined,
+ iconsByProjectAndName: undefined,
+ iconsByProjectAndType: undefined,
+ workspace: undefined,
+ getIconByProjectAndName: getIconByProjectAndName,
+ getIconByProjectAndType: getIconByProjectAndType,
+ physics: physics,
+ draw: draw,
+ getContainer: getContainer,
+ makeVisible: makeVisible,
+ makeInvisible: makeInvisible,
+ initialize: initialize
+ }
+
+ let container = newContainer()
+ container.initialize()
+ thisObject.container = container
+
+ container.isDraggeable = false
+
+ thisObject.iconsByProjectAndName = new Map()
+ thisObject.iconsByProjectAndType = new Map()
+
+ return thisObject
+
+ function initialize() {
+ loadIconCollection(onIconsReady)
+
+ function onIconsReady() {
+ buildIconByProjectAndTypeMap()
+ thisObject.workspace = newWorkspace()
+ thisObject.workspace.initialize()
+ }
+
+ function buildIconByProjectAndTypeMap() {
+ /* Take types-icons relationships defined at the schema */
+ for (let i = 0; i < PROJECTS_ARRAY.length; i++) {
+ let project = PROJECTS_ARRAY[i]
+ let appSchema = SCHEMAS_BY_PROJECT.get(project).array.appSchema
+ for (let j = 0; j < appSchema.length; j++) {
+ let nodeDefinition = appSchema[j]
+ let iconName = nodeDefinition.icon
+ if (iconName === undefined) {
+ iconName = nodeDefinition.type.toLowerCase()
+ iconName = iconName.split(" ").join("-")
+ }
+ let icon = thisObject.getIconByProjectAndName(project, iconName)
+ if (icon !== undefined) {
+ let key = project + '-' + nodeDefinition.type
+ thisObject.iconsByProjectAndType.set(key, icon)
+ }
+ }
+ }
+ }
+ }
+
+ function loadIconCollection(callBack) {
+
+ callWebServer(undefined, 'IconNames', onResponse)
+
+ function onResponse(err, data) {
+ if (err.result !== GLOBAL.DEFAULT_OK_RESPONSE.result) {
+ console.log('Failed to Fetch Image Names from the Backend')
+ return
+ }
+
+ let iconsArray = JSON.parse(data)
+ let imageLoadedCounter = 0
+
+ for (let i = 0; i < iconsArray.length; i++) {
+ let project = iconsArray[i][0]
+ let name = iconsArray[i][1]
+ loadImage(project, name)
+ }
+
+ function loadImage(project, name) {
+ imageLoadedCounter++
+ const PATH = 'Icons/' + project + '/'
+ let image = new Image()
+ image.onload = onImageLoad
+ image.fileName = name
+
+ function onImageLoad() {
+ image.canDrawIcon = true
+ }
+ image.src = PATH + name
+ let key = project + '-' + name.substring(0, name.length - 4)
+ thisObject.iconsByProjectAndName.set(key, image)
+
+ if (imageLoadedCounter === iconsArray.length) {
+ callBack()
+ }
+ }
+ }
+ }
+
+ function getIconByProjectAndName(project, name) {
+ return thisObject.iconsByProjectAndName.get(project + '-' + name)
+ }
+
+ function getIconByProjectAndType(project, type) {
+ return thisObject.iconsByProjectAndType.get(project + '-' + type)
+ }
+
+ function physics() {
+ if (thisObject.workspace === undefined) { return }
+ thisObject.workspace.physics()
+ }
+
+ function makeVisible() {
+ visible = true
+ }
+
+ function makeInvisible() {
+ visible = false
+ }
+
+ function getContainer(point) {
+
+ }
+
+ function draw() {
+ if (thisObject.workspace === undefined) { return }
+ if (CAN_SPACES_DRAW === false) { return }
+ thisObject.workspace.draw()
+ }
+}
diff --git a/Integrations/Projects/Superalgos/Spaces/Design-Space/Workspace.js b/Integrations/Projects/Superalgos/Spaces/Design-Space/Workspace.js
new file mode 100644
index 000000000..e064db9eb
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Spaces/Design-Space/Workspace.js
@@ -0,0 +1,519 @@
+
+function newWorkspace() {
+ const MODULE_NAME = 'Workspace'
+ const ERROR_LOG = true
+ const logger = newWebDebugLog()
+ logger.fileName = MODULE_NAME
+
+ let thisObject = {
+ workspaceNode: undefined,
+ container: undefined,
+ enabled: false,
+ nodeChildren: undefined,
+ eventsServerClients: new Map(),
+ replaceWorkspaceByLoadingOne: replaceWorkspaceByLoadingOne,
+ save: saveWorkspace,
+ backup: backupWorkspace,
+ share: shareWorkspace,
+ getProjectsHeads: getProjectsHeads,
+ getHierarchyHeads: getHierarchyHeads,
+ getHierarchyHeadsById: getHierarchyHeadsById,
+ getHierarchyHeadsByType: getHierarchyHeadsByType,
+ getNodeThatIsOnFocus: getNodeThatIsOnFocus,
+ getNodeByShortcutKey: getNodeByShortcutKey,
+ getNodeById: getNodeById,
+ stopAllRunningTasks: stopAllRunningTasks,
+ executeAction: executeAction,
+ physics: physics,
+ draw: draw,
+ spawn: spawn,
+ initialize: initialize,
+ finalize: finalize
+ }
+
+ spawnPosition = {
+ x: UI.projects.superalgos.spaces.floatingSpace.container.frame.width / 2,
+ y: UI.projects.superalgos.spaces.floatingSpace.container.frame.height / 2
+ }
+
+ thisObject.workspaceNode = {}
+ thisObject.workspaceNode.rootNodes = []
+
+ thisObject.nodeChildren = newNodeChildren()
+
+ let savingWorkspaceIntervalId
+ let isInitialized = false
+ let workingAtTask = 0
+ let circularProgressBar = newBusyProgressBar()
+ circularProgressBar.fitFunction = UI.projects.superalgos.spaces.floatingSpace.fitIntoVisibleArea
+ let loadedWorkspaceNode
+ let sessionTimestamp = (new Date()).valueOf()
+ window.localStorage.setItem('Session Timestamp', sessionTimestamp)
+
+ let actionSwitchesByProject = new Map()
+
+ return thisObject
+
+ function finalize() {
+ thisObject.definition = undefined
+ thisObject.workspaceNode = undefined
+ circularProgressBar.finalize()
+ circularProgressBar = undefined
+ actionSwitchesByProject = undefined
+ }
+
+ function initialize() {
+ try {
+ /* Set up the action switches map */
+ for (let i = 0; i < PROJECTS_ARRAY.length; i++) {
+ let project = PROJECTS_ARRAY[i]
+ let actionSwitch = eval('new' + project + 'ActionSwitch()')
+ actionSwitchesByProject.set(project, actionSwitch)
+ }
+
+ /* Check which was the last workspace. */
+ let lastUsedWorkspace = window.localStorage.getItem('Last Used Workspace')
+
+ if (lastUsedWorkspace !== 'undefined' && lastUsedWorkspace !== null && lastUsedWorkspace !== undefined) {
+ callWebServer(undefined, 'LoadMyWorkspace' + '/' + lastUsedWorkspace, onFileReceived)
+ function onFileReceived(err, text, response) {
+ if (err && err.result !== GLOBAL.DEFAULT_OK_RESPONSE.result) {
+ UI.projects.superalgos.spaces.cockpitSpace.setStatus('Could not load the last Workspace used, called "' + lastUsedWorkspace + '". Will switch to the default Workspace instead.', 500, UI.projects.superalgos.spaces.cockpitSpace.statusTypes.WARNING)
+ thisObject.workspaceNode = getWorkspace() // This is the default workspace that comes with the system.
+ thisObject.workspaceNode.project = 'Superalgos'
+ recreateWorkspace()
+ return
+ }
+ thisObject.workspaceNode = JSON.parse(text)
+ thisObject.workspaceNode.project = 'Superalgos'
+ recreateWorkspace()
+ }
+ } else {
+ thisObject.workspaceNode = getWorkspace() // This is the default workspace that comes with the system.
+ thisObject.workspaceNode.project = 'Superalgos'
+ recreateWorkspace()
+ }
+
+ function recreateWorkspace() {
+ executeAction({ node: thisObject.workspaceNode, name: 'Recreate Workspace', project: 'Superalgos', callBackFunction: finishInitialization })
+ }
+
+ function finishInitialization() {
+ setupEventsServerClients()
+ runTasksAndSessions()
+ thisObject.enabled = true
+ UI.projects.superalgos.spaces.cockpitSpace.initializePosition()
+ CAN_SPACES_DRAW = true
+ savingWorkspaceIntervalId = setInterval(saveWorkspace, 60000)
+ isInitialized = true
+ }
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] initialize -> err = ' + err.stack) }
+ }
+ }
+
+ function runTasksAndSessions() {
+ executeAction({ name: 'Syncronize Tasks', project: 'Superalgos' })
+ executeAction({ name: 'Syncronize Trading Sessions', project: 'Superalgos' })
+ executeAction({ name: 'Syncronize Learning Sessions', project: 'Superalgos' })
+ executeAction({ name: 'Play Tutorials', project: 'Superalgos' })
+ }
+
+ function setupEventsServerClients() {
+ for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) {
+ let rootNode = thisObject.workspaceNode.rootNodes[i]
+
+ if (rootNode.type === 'Network') {
+ if (rootNode.networkNodes === undefined) { continue }
+ for (let j = 0; j < rootNode.networkNodes.length; j++) {
+ let networkNode = rootNode.networkNodes[j]
+
+ let eventsServerClient = newEventsServerClient(networkNode)
+ eventsServerClient.initialize()
+
+ thisObject.eventsServerClients.set(networkNode.id, eventsServerClient)
+ }
+ }
+ }
+ }
+
+ async function saveWorkspace() {
+ let workspace = UI.projects.superalgos.spaces.designSpace.workspace.workspaceNode
+
+ /* Validation if it is too early to save. */
+ if (isInitialized === false) { return }
+
+ /* Validation of 2 sessions opened at the same time. */
+ let savedSessionTimestamp = window.localStorage.getItem('Session Timestamp')
+ if (Number(savedSessionTimestamp) !== sessionTimestamp) {
+ UI.projects.superalgos.spaces.cockpitSpace.setStatus(
+ 'Could not save the Workspace. You have more that one instance of the Superlagos User Interface open at the same time. Plese close this instance as it is older than the others.'
+ , 150, UI.projects.superalgos.spaces.cockpitSpace.statusTypes.WARNING)
+ return
+ }
+
+ /* Validation that there is something to save */
+ let textToSave = await stringifyWorkspace()
+ if (textToSave === undefined) {
+ UI.projects.superalgos.spaces.cockpitSpace.setStatus(
+ 'Could not save the Workspace. Something is preventing the System to do it at this time.'
+ , 150, UI.projects.superalgos.spaces.cockpitSpace.statusTypes.WARNING)
+ return
+ }
+
+ window.localStorage.setItem('Session Timestamp', sessionTimestamp)
+
+ /* Validation Workspace has a name */
+ if (workspace.name === undefined) {
+ UI.projects.superalgos.spaces.cockpitSpace.setStatus(
+ 'Could not save the Workspace. You need to specify a name for it.'
+ , 150, UI.projects.superalgos.spaces.cockpitSpace.statusTypes.WARNING)
+ return
+ }
+
+ let url = 'SaveWorkspace/' + workspace.name
+ callWebServer(textToSave, url, onResponse)
+ return true
+
+ function onResponse(err) {
+ if (err.result === GLOBAL.DEFAULT_OK_RESPONSE.result) {
+ window.localStorage.setItem('Last Used Workspace', workspace.name)
+ window.localStorage.setItem('Session Timestamp', sessionTimestamp)
+ if (ARE_WE_RECORDING_A_MARKET_PANORAMA === false) {
+ UI.projects.superalgos.spaces.cockpitSpace.setStatus(workspace.name + ' Saved.', 50, UI.projects.superalgos.spaces.cockpitSpace.statusTypes.ALL_GOOD)
+ }
+ } else {
+ UI.projects.superalgos.spaces.cockpitSpace.setStatus('Could not save the Workspace at the Backend. Please check the Backend Console for more information.', 150, UI.projects.superalgos.spaces.cockpitSpace.statusTypes.WARNING)
+ }
+ }
+ }
+
+ async function backupWorkspace(action) {
+ let text = await stringifyWorkspace(false)
+ let fileName = 'Backup - ' + action.node.type + ' - ' + action.node.name + '.json'
+ if (text !== undefined) {
+ UI.projects.superalgos.utilities.download.downloadText(fileName, text)
+ }
+ }
+
+ async function shareWorkspace(action) {
+ let text = await stringifyWorkspace(true)
+ let fileName = 'Share - ' + action.node.type + ' - ' + action.node.name + '.json'
+ if (text !== undefined) {
+ UI.projects.superalgos.utilities.download.downloadText(fileName, text)
+ }
+ }
+
+ async function getNodeById(nodeId) {
+ return await executeAction({ name: 'Get Node By Id', project: 'Superalgos', relatedNodeId: nodeId })
+ }
+
+ function physics() {
+ eventsServerClientsPhysics()
+ replacingWorkspacePhysics()
+ }
+
+ function eventsServerClientsPhysics() {
+ thisObject.eventsServerClients.forEach(applyPhysics)
+
+ function applyPhysics(eventServerClient) {
+ eventServerClient.physics()
+ }
+ }
+
+ function finalizeEventsServerClients() {
+ thisObject.eventsServerClients.forEach(finalize)
+
+ function finalize(eventServerClient) {
+ eventServerClient.finalize()
+ }
+ }
+
+ async function replacingWorkspacePhysics() {
+ if (thisObject.enabled !== true) { return }
+
+ if (workingAtTask > 0) {
+ circularProgressBar.physics()
+
+ switch (workingAtTask) {
+ case 1:
+ isInitialized = false
+ console.log('[INFO] Replacing Workspace Procedure Started')
+ console.log('[INFO] Deleting Workspace ' + thisObject.workspaceNode.name + '. This might take a few minutes depending on the size of the workspace.')
+ UI.projects.superalgos.spaces.tutorialSpace.stop()
+ let result = await executeAction({ node: thisObject.workspaceNode, name: 'Delete Workspace', project: 'Superalgos' })
+ if (result === false) {
+ console.log('[ERROR] Could not replace the current workspace because there was a problem removing one node from memory.')
+ console.log('[ERROR] The system is at an inconsistent state and your workspace is partially deleted. Saving has been disabled to prevent data loss.')
+ console.log('[ERROR] The only thing you can do now is to fix the APP SCHEMA and refresh the page to reaload the previously saved workspace again.')
+ circularProgressBar.visible = false
+ workingAtTask = 0
+ return
+ }
+ workingAtTask++
+ break
+ case 2:
+ console.log('[INFO] Closing Events Server')
+ finalizeEventsServerClients()
+ thisObject.eventsServerClients = new Map()
+ workingAtTask++
+ break
+ case 3:
+ console.log('[INFO] Stopping Automatic Saving')
+ clearInterval(savingWorkspaceIntervalId)
+ workingAtTask++
+ break
+ case 4:
+ console.log('[INFO] Loading new Workspace ' + loadedWorkspaceNode.name + '.')
+ thisObject.workspaceNode = loadedWorkspaceNode
+ thisObject.workspaceNode.project = 'Superalgos'
+ loadedWorkspaceNode = undefined
+ workingAtTask++
+ break
+ case 5:
+ console.log('[INFO] Setting up Workspace')
+ executeAction({ node: thisObject.workspaceNode, name: 'Recreate Workspace', project: 'Superalgos', callBackFunction: finishInitialization })
+ function finishInitialization() {
+ setupEventsServerClients()
+ runTasksAndSessions()
+ }
+ workingAtTask++
+ break
+ case 6:
+ console.log('[INFO] Resetting Spaces')
+ UI.projects.superalgos.spaces.chartingSpace.reset()
+ workingAtTask++
+ break
+ case 7:
+ console.log('[INFO] Replacing Workspace Procedure Finished')
+ workingAtTask = 0
+ circularProgressBar.visible = false
+ isInitialized = true
+ break
+ }
+ }
+ }
+
+ function draw() {
+ if (circularProgressBar !== undefined) {
+ circularProgressBar.draw()
+ }
+ }
+
+ async function stringifyWorkspace(removePersonalData) {
+ let stringifyReadyNodes = []
+ for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) {
+ let rootNode = thisObject.workspaceNode.rootNodes[i]
+
+ if (rootNode.isPlugin !== true) {
+ let node = await executeAction({ node: rootNode, name: 'Get Node Data Structure', project: 'Superalgos', extraParameter: removePersonalData })
+ stringifyReadyNodes.push(node)
+ }
+ }
+ let workspace = {
+ type: 'Workspace',
+ name: thisObject.workspaceNode.name,
+ rootNodes: stringifyReadyNodes
+ }
+
+ /*
+ Sometimes it happens that there are no rootNodes.
+ In those situations the workspace can not be stringified,
+ to prevent later saving it corrupting the original file.
+ */
+ if (stringifyReadyNodes.length > 0) {
+ return JSON.stringify(workspace)
+ } else {
+ return
+ }
+ }
+
+ function stopAllRunningTasks() {
+ for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) {
+ let rootNode = thisObject.workspaceNode.rootNodes[i]
+ if (rootNode.type === 'Network') {
+ if (rootNode.networkNodes !== undefined) {
+ for (let j = 0; j < rootNode.networkNodes.length; j++) {
+ let networkNode = rootNode.networkNodes[j]
+ if (networkNode.dataMining !== undefined && networkNode.dataMining.payload !== undefined) {
+ networkNode.dataMining.payload.uiObject.menu.internalClick('Stop All Exchange Data Tasks')
+ networkNode.dataMining.payload.uiObject.menu.internalClick('Stop All Exchange Data Tasks')
+ }
+ if (networkNode.learningMining !== undefined && networkNode.learningMining.payload !== undefined) {
+ networkNode.learningMining.payload.uiObject.menu.internalClick('Stop All Exchange Learning Tasks')
+ networkNode.learningMining.payload.uiObject.menu.internalClick('Stop All Exchange Learning Tasks')
+ }
+ if (networkNode.testingEnvironment !== undefined && networkNode.testingEnvironment.payload !== undefined) {
+ networkNode.testingEnvironment.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
+ networkNode.testingEnvironment.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
+ }
+ if (networkNode.productionEnvironment !== undefined && networkNode.productionEnvironment.payload !== undefined) {
+ networkNode.productionEnvironment.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
+ networkNode.productionEnvironment.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
+ }
+ }
+ }
+ }
+ }
+ }
+
+ async function getNodeByShortcutKey(searchingKey) {
+ for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) {
+ let rootNode = thisObject.workspaceNode.rootNodes[i]
+ let node = await executeAction({ node: rootNode, name: 'Get Node By Shortcut Key', project: 'Superalgos', extraParameter: searchingKey })
+ if (node !== undefined) { return node }
+ }
+ }
+
+ async function getNodeThatIsOnFocus() {
+ for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) {
+ let rootNode = thisObject.workspaceNode.rootNodes[i]
+ let node = await executeAction({ node: rootNode, name: 'Get Node On Focus', project: 'Superalgos' })
+ if (node !== undefined) { return node }
+ }
+ }
+
+ function getHierarchyHeads() {
+ let nodes = []
+ for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) {
+ let rootNode = thisObject.workspaceNode.rootNodes[i]
+ let nodeDefinition = getNodeDefinition(rootNode)
+ if (nodeDefinition !== undefined) {
+ if (nodeDefinition.isHierarchyHead === true) {
+ nodes.push(rootNode)
+ }
+ }
+ }
+ return nodes
+ }
+
+ function getProjectsHeads() {
+ let nodes = []
+ for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) {
+ let rootNode = thisObject.workspaceNode.rootNodes[i]
+ let nodeDefinition = getNodeDefinition(rootNode)
+ if (nodeDefinition !== undefined) {
+ if (nodeDefinition.isProjectHead === true) {
+ nodes.push(rootNode)
+ }
+ }
+ }
+ return nodes
+ }
+
+ function getHierarchyHeadsById(nodeId) {
+ let hiriatchyHeads = getHierarchyHeads()
+ for (let i = 0; i < hiriatchyHeads.length; i++) {
+ let hiriatchyHead = hiriatchyHeads[i]
+ if (hiriatchyHead.id === nodeId) {
+ return hiriatchyHead
+ }
+ }
+ }
+
+ function getHierarchyHeadsByType(nodeType) {
+ let hiriatchyHeads = getHierarchyHeads()
+ for (let i = 0; i < hiriatchyHeads.length; i++) {
+ let hiriatchyHead = hiriatchyHeads[i]
+ if (hiriatchyHead.type === nodeType) {
+ return hiriatchyHead
+ }
+ }
+ }
+
+ function replaceWorkspaceByLoadingOne(project, name) {
+
+ let webCommand
+ if (project !== "") {
+ name = name.replace('Plugin \u2192 ', '')
+ webCommand = 'LoadPlugin' + '/' + project + '/' + 'Workspaces' + '/' + name + '.json'
+ } else {
+ webCommand = 'LoadMyWorkspace' + '/' + name
+ }
+
+ callWebServer(undefined, webCommand, onFileReceived)
+ function onFileReceived(err, text, response) {
+ if (err && err.result !== GLOBAL.DEFAULT_OK_RESPONSE.result) {
+ UI.projects.superalgos.spaces.cockpitSpace.setStatus('Could not load the Workspace called "' + name + '". ', 500, UI.projects.superalgos.spaces.cockpitSpace.statusTypes.WARNING)
+ return
+ }
+
+ loadedWorkspaceNode = JSON.parse(text)
+ saveWorkspace()
+ UI.projects.superalgos.spaces.cockpitSpace.toTop()
+
+ let position = {
+ x: browserCanvas.width / 2,
+ y: browserCanvas.height / 2
+ }
+
+ UI.projects.superalgos.spaces.floatingSpace.container.frame.position.x = browserCanvas.width / 2 - UI.projects.superalgos.spaces.floatingSpace.container.frame.width / 2
+ UI.projects.superalgos.spaces.floatingSpace.container.frame.position.y = browserCanvas.height / 2 - UI.projects.superalgos.spaces.floatingSpace.container.frame.height / 2
+
+ circularProgressBar.initialize(position)
+ circularProgressBar.visible = true
+ workingAtTask = 1
+ }
+ }
+
+ function spawn(nodeText, mousePointer) {
+ try {
+ let point = {
+ x: mousePointer.x,
+ y: mousePointer.y
+ }
+ point = UI.projects.superalgos.spaces.floatingSpace.container.frame.unframeThisPoint(point)
+ spawnPosition.x = point.x
+ spawnPosition.y = point.y
+
+ let droppedNode = JSON.parse(nodeText)
+
+ if (droppedNode.type === 'Workspace') {
+ loadedWorkspaceNode = droppedNode
+ circularProgressBar.initialize(mousePointer)
+ circularProgressBar.visible = true
+ workingAtTask = 1
+ return
+ }
+
+ /* It does not exist, so we recreeate it respecting the inner state of each object. */
+ let positionOffset = {
+ x: spawnPosition.x,
+ y: spawnPosition.y
+ }
+
+ if (droppedNode.savedPayload !== undefined) {
+ positionOffset.x = positionOffset.x - droppedNode.savedPayload.position.x
+ positionOffset.y = positionOffset.y - droppedNode.savedPayload.position.y
+ }
+
+ thisObject.workspaceNode.rootNodes.push(droppedNode)
+ executeAction({ node: droppedNode, name: 'Create UI Object', project: 'Superalgos', extraParameter: positionOffset })
+ executeAction({ name: 'Connect Children to Reference Parents', project: 'Superalgos' })
+
+ droppedNode = undefined
+ } catch (err) {
+ if (ERROR_LOG === true) { logger.write('[ERROR] spawn -> err = ' + err.stack) }
+ }
+ }
+
+ async function executeAction(action) {
+ /*
+ Supported parameters as part of the action object:
+
+ action.node : It is the node at which the action was taken. If not specific node is involved then it should be the workspace node.
+ action.relatedNode : It is a secondary node involved with the action. For example the node to which the main node is being attached to.
+ action.relatedNodeId : It is the id of a node related to the action.
+ action.relatedNodeType : It is the type of the node related to the action.
+ action.callBackFunction : A callback function to call when the action is complete.
+ action.extraParameter : A parameter to send unusual info to the fnction processing the action.
+
+ We add rootNodes property here.
+ */
+ action.rootNodes = thisObject.workspaceNode.rootNodes
+
+ let actionSwitch = actionSwitchesByProject.get(action.project)
+ return actionSwitch.executeAction(action)
+
+ }
+}
diff --git a/CanvasApp/Spaces/DocSpace.js b/Integrations/Projects/Superalgos/Spaces/Doc-Space/DocSpace.js
similarity index 98%
rename from CanvasApp/Spaces/DocSpace.js
rename to Integrations/Projects/Superalgos/Spaces/Doc-Space/DocSpace.js
index 06a77c401..2ac097b16 100644
--- a/CanvasApp/Spaces/DocSpace.js
+++ b/Integrations/Projects/Superalgos/Spaces/Doc-Space/DocSpace.js
@@ -1,4 +1,4 @@
-function newDocSpace() {
+function newSuperalgosDocSpace() {
const MODULE_NAME = 'Doc Space'
let thisObject = {
sidePanelTab: undefined,
@@ -50,7 +50,7 @@ function newDocSpace() {
function onOpening() {
let docIFrame = document.getElementById('docIFrame')
if (docIFrame.src === "") {
- docIFrame.src = DOCUMENTATION_URL_DEFAULT
+ docIFrame.src = UI.projects.superalgos.globals.docs.DOCUMENTATION_URL_DEFAULT
}
}
diff --git a/CanvasApp/FloatingSpace/BusyProgressBar.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/BusyProgressBar.js
similarity index 100%
rename from CanvasApp/FloatingSpace/BusyProgressBar.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/BusyProgressBar.js
diff --git a/CanvasApp/FloatingSpace/CircularMenu.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/CircularMenu.js
similarity index 99%
rename from CanvasApp/FloatingSpace/CircularMenu.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/CircularMenu.js
index 2299dd0da..c099d9690 100644
--- a/CanvasApp/FloatingSpace/CircularMenu.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/CircularMenu.js
@@ -57,6 +57,7 @@ function newCircularMenu() {
let menuItemInitialValue = menuItemsInitialValues[i]
menuItem.action = menuItemInitialValue.action
+ menuItem.actionProject = menuItemInitialValue.actionProject
menuItem.actionFunction = menuItemInitialValue.actionFunction
menuItem.actionStatus = menuItemInitialValue.actionStatus
menuItem.label = menuItemInitialValue.label
diff --git a/CanvasApp/FloatingSpace/CircularMenuItem.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/CircularMenuItem.js
similarity index 84%
rename from CanvasApp/FloatingSpace/CircularMenuItem.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/CircularMenuItem.js
index 478691c5a..4c87f78e6 100644
--- a/CanvasApp/FloatingSpace/CircularMenuItem.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/CircularMenuItem.js
@@ -14,6 +14,7 @@ function newCircularMenuItem() {
disableIfPropertyIsDefined: undefined,
propertyToCheckFor: undefined,
action: undefined,
+ actionProject: undefined,
actionFunction: undefined,
actionStatus: undefined,
label: undefined,
@@ -191,7 +192,7 @@ function newCircularMenuItem() {
} else {
radiusGrowthFactor = 3.2
}
- radiusGrowthFactor = radiusGrowthFactor * canvas.floatingSpace.settings.node.menuItem.radiusPercentage / 100
+ radiusGrowthFactor = radiusGrowthFactor * UI.projects.superalgos.spaces.floatingSpace.settings.node.menuItem.radiusPercentage / 100
thisObject.container.frame.position.x =
thisObject.payload.floatingObject.targetRadius *
@@ -221,16 +222,16 @@ function newCircularMenuItem() {
function containerPhysics() {
if (thisObject.type === 'Icon & Text') {
- thisObject.container.frame.width = 220 * canvas.floatingSpace.settings.node.menuItem.widthPercentage / 100
+ thisObject.container.frame.width = 220 * UI.projects.superalgos.spaces.floatingSpace.settings.node.menuItem.widthPercentage / 100
} else {
- thisObject.container.frame.width = 50 * canvas.floatingSpace.settings.node.menuItem.widthPercentage / 100
+ thisObject.container.frame.width = 50 * UI.projects.superalgos.spaces.floatingSpace.settings.node.menuItem.widthPercentage / 100
}
- thisObject.container.frame.height = 40 * canvas.floatingSpace.settings.node.menuItem.heightPercentage / 100
+ thisObject.container.frame.height = 40 * UI.projects.superalgos.spaces.floatingSpace.settings.node.menuItem.heightPercentage / 100
}
function backgroundColorPhysics() {
- defaultBackgroudColor = canvas.floatingSpace.style.node.menuItem.backgroundColor
+ defaultBackgroudColor = UI.projects.superalgos.spaces.floatingSpace.style.node.menuItem.backgroundColor
}
function iconPhysics() {
@@ -242,19 +243,19 @@ function newCircularMenuItem() {
temporaryStatus === STATUS_SECONDARY_WORK_FAILED
) && thisObject.secondaryAction !== undefined
) {
- thisObject.iconOn = canvas.designSpace.iconCollection.get(thisObject.secondaryIcon)
- thisObject.iconOff = canvas.designSpace.iconCollection.get(thisObject.secondaryIcon)
+ thisObject.iconOn = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName('Superalgos', thisObject.secondaryIcon)
+ thisObject.iconOff = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName('Superalgos', thisObject.secondaryIcon)
} else {
if (thisObject.relatedUiObject !== undefined) {
- thisObject.iconOn = canvas.designSpace.iconByUiObjectType.get(thisObject.relatedUiObject)
- thisObject.iconOff = canvas.designSpace.iconByUiObjectType.get(thisObject.relatedUiObject)
+ thisObject.iconOn = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.project, thisObject.relatedUiObject)
+ thisObject.iconOff = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.project, thisObject.relatedUiObject)
} else {
if (thisObject.iconPathOn !== undefined && thisObject.iconPathOff !== undefined) {
- thisObject.iconOn = canvas.designSpace.iconCollection.get(thisObject.iconPathOn)
- thisObject.iconOff = canvas.designSpace.iconCollection.get(thisObject.iconPathOff)
+ thisObject.iconOn = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName('Superalgos', thisObject.iconPathOn)
+ thisObject.iconOff = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName('Superalgos', thisObject.iconPathOff)
} else {
- thisObject.iconOn = canvas.designSpace.iconCollection.get(thisObject.icons[thisObject.actionStatus()])
- thisObject.iconOff = canvas.designSpace.iconCollection.get(thisObject.icons[thisObject.actionStatus()])
+ thisObject.iconOn = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName('Superalgos', thisObject.icons[thisObject.actionStatus()])
+ thisObject.iconOff = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName('Superalgos', thisObject.icons[thisObject.actionStatus()])
}
}
}
@@ -291,7 +292,7 @@ function newCircularMenuItem() {
function internalClick() {
if (thisObject.shorcutNumber !== undefined) {
let label = thisObject.payload.node.name + ' ' + labelToPrint
- canvas.cockpitSpace.setStatus(label, 4, canvas.cockpitSpace.statusTypes.ALL_GOOD)
+ UI.projects.superalgos.spaces.cockpitSpace.setStatus(label, 4, UI.projects.superalgos.spaces.cockpitSpace.statusTypes.ALL_GOOD)
}
onMouseClick()
@@ -302,7 +303,7 @@ function newCircularMenuItem() {
if (thisObject.label === undefined) {
/* This is what we have in the case of menu items that are only Icons. In this situation there is no complex logic, just execute the specified action. */
- thisObject.actionFunction(thisObject.payload, thisObject.action, thisObject.relatedUiObject)
+ thisObject.actionFunction({ node: thisObject.payload.node, name: thisObject.action, project: thisObject.actionProject, relatedNodeType: thisObject.relatedUiObject })
return
}
@@ -339,7 +340,7 @@ function newCircularMenuItem() {
}
/* Execute the action and wait for callbacks to update our statuus. */
- thisObject.actionFunction(thisObject.payload, thisObject.action, thisObject.relatedUiObject, onPrimaryCallBack)
+ thisObject.actionFunction({ node: thisObject.payload.node, name: thisObject.action, project: thisObject.actionProject, relatedNodeType: thisObject.relatedUiObject, callBackFunction: onPrimaryCallBack })
return
}
if (temporaryStatus === STATUS_PRIMARY_WORK_DONE && thisObject.secondaryAction !== undefined) {
@@ -349,7 +350,7 @@ function newCircularMenuItem() {
}
/* Execute the action and wait for callbacks to update our statuus. */
- thisObject.actionFunction(thisObject.payload, thisObject.secondaryAction, thisObject.relatedUiObject, onSecondaryCallBack)
+ thisObject.actionFunction({ node: thisObject.payload.node, name: thisObject.secondaryAction, project: thisObject.actionProject, relatedNodeType: thisObject.relatedUiObject, callBackFunction: onSecondaryCallBack })
return
}
@@ -436,7 +437,7 @@ function newCircularMenuItem() {
params.opacity = 0.8
}
- roundedCornersBackground(params)
+ UI.projects.superalgos.utilities.drawPrint.roundedCornersBackground(params)
}
}
}
@@ -454,9 +455,9 @@ function newCircularMenuItem() {
/* Menu Item */
let iconSize
if (isMouseOver === true) {
- iconSize = canvas.floatingSpace.style.node.menuItem.imageSize * 150 / 100
+ iconSize = UI.projects.superalgos.spaces.floatingSpace.style.node.menuItem.imageSize * 150 / 100
} else {
- iconSize = canvas.floatingSpace.style.node.menuItem.imageSize
+ iconSize = UI.projects.superalgos.spaces.floatingSpace.style.node.menuItem.imageSize
}
if (thisObject.icon === undefined) { return }
@@ -471,7 +472,7 @@ function newCircularMenuItem() {
}
let labelPoint
- let fontSize = canvas.floatingSpace.style.node.menuItem.fontSize
+ let fontSize = UI.projects.superalgos.spaces.floatingSpace.style.node.menuItem.fontSize
browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
@@ -482,7 +483,7 @@ function newCircularMenuItem() {
}
browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
- browserCanvasContext.fillStyle = 'rgba(' + canvas.floatingSpace.style.node.menuItem.fontColor + ', 1)'
+ browserCanvasContext.fillStyle = 'rgba(' + UI.projects.superalgos.spaces.floatingSpace.style.node.menuItem.fontColor + ', 1)'
browserCanvasContext.fillText(label, labelPoint.x, labelPoint.y)
}
}
diff --git a/CanvasApp/FloatingSpace/CircularProgressBar.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/CircularProgressBar.js
similarity index 96%
rename from CanvasApp/FloatingSpace/CircularProgressBar.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/CircularProgressBar.js
index 4b3d26888..883f72f9d 100644
--- a/CanvasApp/FloatingSpace/CircularProgressBar.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/CircularProgressBar.js
@@ -83,7 +83,7 @@ function newCircularProgressBar() {
}
function getContainer(point) {
- if (canvas.floatingSpace.inMapMode === true) { return }
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) { return }
let container
for (let i = 0; i < menuItems.length; i++) {
@@ -108,7 +108,7 @@ function newCircularProgressBar() {
}
function drawBackground(pFloatingObject) {
- if (canvas.floatingSpace.inMapMode === true) { return }
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) { return }
if (needToDrawRing !== true) { return }
const VISIBLE_RADIUS = thisObject.container.frame.radius
diff --git a/CanvasApp/FloatingSpace/CodeEditor.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/CodeEditor.js
similarity index 98%
rename from CanvasApp/FloatingSpace/CodeEditor.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/CodeEditor.js
index 0c3e21d80..0c21305ea 100644
--- a/CanvasApp/FloatingSpace/CodeEditor.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/CodeEditor.js
@@ -57,16 +57,16 @@ function newCodeEditor() {
EDITOR_ON_FOCUS = false
}
- function activate(payload) {
+ function activate(action) {
thisObject.visible = true
- thisObject.payload = payload
+ thisObject.payload = action.node.payload
thisObject.rawRadius = 8
thisObject.targetRadius = thisObject.container.frame.radius
thisObject.currentRadius = 0
thisObject.payload.uiObject.resetErrorMessage()
let textArea = document.getElementById('textArea')
- textArea.value = payload.node.code
+ textArea.value = thisObject.payload.node.code
textArea.style = 'resize: none;' +
' border: none;' +
' outline: none;' +
diff --git a/CanvasApp/FloatingSpace/ConditionEditor.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/ConditionEditor.js
similarity index 94%
rename from CanvasApp/FloatingSpace/ConditionEditor.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/ConditionEditor.js
index 77ff9abed..1d8446f3e 100644
--- a/CanvasApp/FloatingSpace/ConditionEditor.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/ConditionEditor.js
@@ -67,19 +67,19 @@ function newConditionEditor() {
}
function initialize() {
- timeFrameIcon = canvas.designSpace.iconCollection.get('time-period')
- dataMineIcon = canvas.designSpace.iconCollection.get('data-mine')
- botIcon = canvas.designSpace.iconCollection.get('bot-indicator')
- whenIcon = canvas.designSpace.iconCollection.get('chronometer')
- productIcon = canvas.designSpace.iconCollection.get('product-definition')
- propertyIcon = canvas.designSpace.iconCollection.get('record-property')
- operationIcon = canvas.designSpace.iconCollection.get('headphones')
- valueIcon = canvas.designSpace.iconCollection.get('competition')
+ timeFrameIcon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'time-frame')
+ dataMineIcon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'data-mine')
+ botIcon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'indicator-bot')
+ whenIcon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'trigger-on')
+ productIcon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'product-definition')
+ propertyIcon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'record-property')
+ operationIcon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'space-settings')
+ valueIcon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'trading-strategy')
}
- function activate(payload) {
+ function activate(action) {
thisObject.visible = true
- thisObject.payload = payload
+ thisObject.payload = action.node.payload
thisObject.payload.uiObject.resetErrorMessage()
conditionStructure = {
@@ -536,23 +536,23 @@ function newConditionEditor() {
function scanDataMines() {
let selector = {}
- let workspace = canvas.designSpace.workspace.workspaceNode
+ let workspace = UI.projects.superalgos.spaces.designSpace.workspace.workspaceNode
for (let i = 0; i < workspace.rootNodes.length; i++) {
let rootNode = workspace.rootNodes[i]
if (rootNode.type !== 'Data Mine') { continue }
let dataMine = rootNode
- let dataMineName = loadPropertyFromNodeConfig(dataMine.payload, 'codeName')
+ let dataMineName = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(dataMine.payload, 'codeName')
selector[dataMineName] = {}
let bots = dataMine.sensorBots.concat(dataMine.indicatorBots)
for (let j = 0; j < bots.length; j++) {
let bot = bots[j]
- let botName = loadPropertyFromNodeConfig(bot.payload, 'codeName')
+ let botName = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(bot.payload, 'codeName')
let selectorDataMine = selector[dataMineName]
selectorDataMine[botName] = {}
for (let k = 0; k < bot.products.length; k++) {
let product = bot.products[k]
- let productName = loadPropertyFromNodeConfig(product.payload, 'singularVariableName')
+ let productName = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(product.payload, 'singularVariableName')
if (productName === undefined) { continue }
let selectorProduct = selectorDataMine[botName]
selectorProduct[productName] = {
@@ -561,11 +561,11 @@ function newConditionEditor() {
if (product.record === undefined) { continue }
for (let m = 0; m < product.record.properties.length; m++) {
let property = product.record.properties[m]
- let propertyName = loadPropertyFromNodeConfig(property.payload, 'codeName')
+ let propertyName = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(property.payload, 'codeName')
let selectorProperty = selectorProduct[productName]
selectorProperty = selectorProperty.properties
selectorProperty[propertyName] = {}
- let possibleValues = loadPropertyFromNodeConfig(property.payload, 'possibleValues')
+ let possibleValues = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(property.payload, 'possibleValues')
if (possibleValues === undefined) { possibleValues = [] }
let selectorPossibleValue = selectorProperty[propertyName]
selectorPossibleValue.possibleValues = possibleValues
@@ -573,7 +573,7 @@ function newConditionEditor() {
let allPossibleTimeFrames = []
for (let m = 0; m < product.datasets.length; m++) {
let dataset = product.datasets[m]
- let validTimeFrames = loadPropertyFromNodeConfig(dataset.payload, 'validTimeFrames')
+ let validTimeFrames = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(dataset.payload, 'validTimeFrames')
if (validTimeFrames !== undefined) {
allPossibleTimeFrames = allPossibleTimeFrames.concat(validTimeFrames)
}
@@ -1185,14 +1185,14 @@ function newConditionEditor() {
function thisObjectDrawForeground() {
if (thisObject.visible === true) {
const SIZE = 36
- drawIcon(timeFrameIcon, 0, 0, -PICKER_WIDTH * 3.25, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
- drawIcon(dataMineIcon, 0, 0, -PICKER_WIDTH * 2.5, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
- drawIcon(botIcon, 0, 0, -PICKER_WIDTH * 1.5, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
- drawIcon(whenIcon, 0, 0, -PICKER_WIDTH * 0.5, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
- drawIcon(productIcon, 0, 0, PICKER_WIDTH * 0.5, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
- drawIcon(propertyIcon, 0, 0, PICKER_WIDTH * 1.45, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
- drawIcon(operationIcon, 0, 0, PICKER_WIDTH * 2.45, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
- drawIcon(valueIcon, 0, 0, PICKER_WIDTH * 3.45, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(timeFrameIcon, 0, 0, -PICKER_WIDTH * 3.25, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(dataMineIcon, 0, 0, -PICKER_WIDTH * 2.5, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(botIcon, 0, 0, -PICKER_WIDTH * 1.5, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(whenIcon, 0, 0, -PICKER_WIDTH * 0.5, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(productIcon, 0, 0, PICKER_WIDTH * 0.5, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(propertyIcon, 0, 0, PICKER_WIDTH * 1.45, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(operationIcon, 0, 0, PICKER_WIDTH * 2.45, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(valueIcon, 0, 0, PICKER_WIDTH * 3.45, -PICKER_HEIGHT * 7, SIZE, thisObject.container)
}
}
}
diff --git a/CanvasApp/FloatingSpace/ConfigEditor.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/ConfigEditor.js
similarity index 98%
rename from CanvasApp/FloatingSpace/ConfigEditor.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/ConfigEditor.js
index 8c29a1b51..94eb25c9a 100644
--- a/CanvasApp/FloatingSpace/ConfigEditor.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/ConfigEditor.js
@@ -63,16 +63,16 @@ function newConfigEditor() {
EDITOR_ON_FOCUS = false
}
- function activate(payload) {
+ function activate(action) {
thisObject.visible = true
- thisObject.payload = payload
+ thisObject.payload = action.node.payload
thisObject.rawRadius = 8
thisObject.targetRadius = thisObject.container.frame.radius
thisObject.currentRadius = 0
thisObject.payload.uiObject.resetErrorMessage()
let textArea = document.getElementById('textArea')
- textArea.value = payload.node.config
+ textArea.value = thisObject.payload.node.config
textArea.style = 'resize: none;' +
' border: none;' +
' outline: none;' +
diff --git a/CanvasApp/FloatingSpace/FloatingLayer.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/FloatingLayer.js
similarity index 97%
rename from CanvasApp/FloatingSpace/FloatingLayer.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/FloatingLayer.js
index 6b0c908e2..d35a23697 100644
--- a/CanvasApp/FloatingSpace/FloatingLayer.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/FloatingLayer.js
@@ -297,14 +297,14 @@ function newFloatingLayer() {
DEBUG.variable1 = 'Invisible Floating Objets: ' + invisibleFloatingObjects.length
DEBUG.variable2 = 'Visible Floating Objets: ' + visibleFloatingObjects.length
- if (canvas.floatingSpace.settings.physics !== true) {return}
+ if (UI.projects.superalgos.spaces.floatingSpace.settings.physics !== true) {return}
for (let i = 0; i < visibleFloatingObjects.length; i++) {
let floatingObject = visibleFloatingObjects[i]
if (floatingObject.isFrozen === true) { continue }
/* From here on, only if they are not too far. */
- if (canvas.floatingSpace.isItFar(floatingObject.payload)) { continue }
+ if (UI.projects.superalgos.spaces.floatingSpace.isItFar(floatingObject.payload)) { continue }
if (floatingObject.positionLocked === false) {
floatingObject.container.frame.position.x = floatingObject.container.frame.position.x + floatingObject.currentSpeed.x
@@ -401,8 +401,8 @@ function newFloatingLayer() {
floatingObject.currentSpeed.x = -floatingObject.currentSpeed.x
}
- if (floatingObject.container.frame.position.x + floatingObject.container.frame.radius > canvas.floatingSpace.container.frame.width) {
- floatingObject.container.frame.position.x = canvas.floatingSpace.container.frame.width - floatingObject.container.frame.radius
+ if (floatingObject.container.frame.position.x + floatingObject.container.frame.radius > UI.projects.superalgos.spaces.floatingSpace.container.frame.width) {
+ floatingObject.container.frame.position.x = UI.projects.superalgos.spaces.floatingSpace.container.frame.width - floatingObject.container.frame.radius
floatingObject.currentSpeed.x = -floatingObject.currentSpeed.x
}
@@ -411,8 +411,8 @@ function newFloatingLayer() {
floatingObject.currentSpeed.y = -floatingObject.currentSpeed.y
}
- if (floatingObject.container.frame.position.y + floatingObject.container.frame.radius > canvas.floatingSpace.container.frame.height) {
- floatingObject.container.frame.position.y = canvas.floatingSpace.container.frame.height - floatingObject.container.frame.radius
+ if (floatingObject.container.frame.position.y + floatingObject.container.frame.radius > UI.projects.superalgos.spaces.floatingSpace.container.frame.height) {
+ floatingObject.container.frame.position.y = UI.projects.superalgos.spaces.floatingSpace.container.frame.height - floatingObject.container.frame.radius
floatingObject.currentSpeed.y = -floatingObject.currentSpeed.y
}
}
diff --git a/CanvasApp/FloatingSpace/FloatingObject.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/FloatingObject.js
similarity index 90%
rename from CanvasApp/FloatingSpace/FloatingObject.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/FloatingObject.js
index 2597be986..6ec2ca682 100644
--- a/CanvasApp/FloatingSpace/FloatingObject.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/FloatingObject.js
@@ -94,8 +94,8 @@ function newFloatingObject() {
function finalize() {
thisObject.container.eventHandler.stopListening(selfMouseOverEventSubscriptionId)
thisObject.container.eventHandler.stopListening(selfMouseClickEventSubscriptionId)
- canvas.floatingSpace.container.eventHandler.stopListening(spaceMouseOverEventSubscriptionId)
- canvas.floatingSpace.container.eventHandler.stopListening(spaceFocusAquiredEventSubscriptionId)
+ UI.projects.superalgos.spaces.floatingSpace.container.eventHandler.stopListening(spaceMouseOverEventSubscriptionId)
+ UI.projects.superalgos.spaces.floatingSpace.container.eventHandler.stopListening(spaceFocusAquiredEventSubscriptionId)
thisObject.container.finalize()
thisObject.container = undefined
@@ -112,8 +112,8 @@ function newFloatingObject() {
selfMouseClickEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseClick', onMouseClick)
/* To consider that this object lost the focus, we monitor the space for 2 key events */
- spaceMouseOverEventSubscriptionId = canvas.floatingSpace.container.eventHandler.listenToEvent('onMouseOver', mouseOverFlotingSpace)
- spaceFocusAquiredEventSubscriptionId = canvas.floatingSpace.container.eventHandler.listenToEvent('onFocusAquired', someoneAquiredFocus)
+ spaceMouseOverEventSubscriptionId = UI.projects.superalgos.spaces.floatingSpace.container.eventHandler.listenToEvent('onMouseOver', mouseOverFlotingSpace)
+ spaceFocusAquiredEventSubscriptionId = UI.projects.superalgos.spaces.floatingSpace.container.eventHandler.listenToEvent('onFocusAquired', someoneAquiredFocus)
/* Assign a position and speed */
@@ -126,7 +126,7 @@ function newFloatingObject() {
if (thisObject.payload === undefined) { return }
if ((thisObject.isCollapsed === true && thisObject.collapsedManually === false) || thisObject.isParentCollapsed === true) { return }
- if (canvas.floatingSpace.inMapMode === true) { return }
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) { return }
let container
@@ -296,7 +296,7 @@ function newFloatingObject() {
function physics() {
frozenPhysics()
/* From here on, only if they are not too far. */
- if (canvas.floatingSpace.isItFar(thisObject.payload)) { return }
+ if (UI.projects.superalgos.spaces.floatingSpace.isItFar(thisObject.payload)) { return }
thisObjectPhysics()
if (thisObject.payload.uiObject !== undefined) {
thisObject.payload.uiObject.physics()
@@ -307,16 +307,16 @@ function newFloatingObject() {
}
function syncStylePhysics() {
- if (thisObject.rawFontSize !== canvas.floatingSpace.style.node.fontSize) {
- thisObject.rawFontSize = canvas.floatingSpace.style.node.fontSize
+ if (thisObject.rawFontSize !== UI.projects.superalgos.spaces.floatingSpace.style.node.fontSize) {
+ thisObject.rawFontSize = UI.projects.superalgos.spaces.floatingSpace.style.node.fontSize
thisObject.targetFontSize = thisObject.rawFontSize * 1
}
- if (thisObject.rawImageSize !== canvas.floatingSpace.style.node.imageSize) {
- thisObject.rawImageSize = canvas.floatingSpace.style.node.imageSize
+ if (thisObject.rawImageSize !== UI.projects.superalgos.spaces.floatingSpace.style.node.imageSize) {
+ thisObject.rawImageSize = UI.projects.superalgos.spaces.floatingSpace.style.node.imageSize
thisObject.targetImageSize = thisObject.rawImageSize * 1
}
- thisObject.typeStrokeStyle = 'rgba(' + canvas.floatingSpace.style.node.type.fontColor + ', 1)'
- thisObject.nameStrokeStyle = 'rgba(' + canvas.floatingSpace.style.node.name.fontColor + ', 1)'
+ thisObject.typeStrokeStyle = 'rgba(' + UI.projects.superalgos.spaces.floatingSpace.style.node.type.fontColor + ', 1)'
+ thisObject.nameStrokeStyle = 'rgba(' + UI.projects.superalgos.spaces.floatingSpace.style.node.name.fontColor + ', 1)'
}
function focusPhysics() {
@@ -342,7 +342,7 @@ function newFloatingObject() {
function positionContraintsPhysics() {
const MAX_DISTANCE_TO_PARENT = 5000
const MIN_DISTANCE_TO_PARENT = 100
- const DEFAULT_NODE_TO_NODE_DISTANCE = 500 * canvas.floatingSpace.settings.node.distancePercentage / 100
+ const DEFAULT_NODE_TO_NODE_DISTANCE = 500 * UI.projects.superalgos.spaces.floatingSpace.settings.node.distancePercentage / 100
if (thisObject.angleToParent !== ANGLE_TO_PARENT.NOT_FIXED && thisObject.isOnFocus !== true) {
let parent = thisObject.payload.chainParent
@@ -357,7 +357,7 @@ function newFloatingObject() {
if (parent.payload === undefined) { return }
if (parent.payload.position === undefined) { return }
distanceToParent = Math.sqrt(Math.pow(parent.payload.position.x - thisObject.container.frame.position.x, 2) + Math.pow(parent.payload.position.y - thisObject.container.frame.position.y, 2)) // ... we calculate the distance ...
- parentChildren = canvas.designSpace.workspace.nodeChildren.childrenCount(parent, thisObject.payload.node)
+ parentChildren = UI.projects.superalgos.spaces.designSpace.workspace.nodeChildren.childrenCount(parent, thisObject.payload.node)
parentDistanceToGarndParent = parent.payload.distance
}
@@ -531,7 +531,7 @@ function newFloatingObject() {
function thisObjectPhysics() {
- const ANIMATION_STEPS = canvas.floatingSpace.settings.node.animationSteps
+ const ANIMATION_STEPS = UI.projects.superalgos.spaces.floatingSpace.settings.node.animationSteps
imageSizePhysics()
fontSizePhysics()
@@ -628,16 +628,16 @@ function newFloatingObject() {
}
function targetRadiusWithFocus() {
- return thisObject.rawRadius * ON_FOCUS_RADIUS_FACTOR * canvas.floatingSpace.settings.node.radiusPercentage / 100
+ return thisObject.rawRadius * ON_FOCUS_RADIUS_FACTOR * UI.projects.superalgos.spaces.floatingSpace.settings.node.radiusPercentage / 100
}
function targetRadiusWithoutFocus() {
- return thisObject.rawRadius * 1 * canvas.floatingSpace.settings.node.radiusPercentage / 100
+ return thisObject.rawRadius * 1 * UI.projects.superalgos.spaces.floatingSpace.settings.node.radiusPercentage / 100
}
function setFocus(point) {
thisObject.targetRadius = targetRadiusWithFocus()
- thisObject.currentMass = thisObject.rawMass * canvas.floatingSpace.settings.node.massPercentage / 100
+ thisObject.currentMass = thisObject.rawMass * UI.projects.superalgos.spaces.floatingSpace.settings.node.massPercentage / 100
thisObject.targetImageSize = thisObject.rawImageSize * 2.0
thisObject.targetFontSize = thisObject.rawFontSize * 2.0
@@ -645,7 +645,7 @@ function newFloatingObject() {
thisObject.positionLocked = true
- canvas.floatingSpace.container.eventHandler.raiseEvent('onFocusAquired', thisObject)
+ UI.projects.superalgos.spaces.floatingSpace.container.eventHandler.raiseEvent('onFocusAquired', thisObject)
thisObject.isOnFocus = true
}
@@ -656,7 +656,7 @@ function newFloatingObject() {
if (thisObject.payload === undefined) { return }
if (thisObject.isOnFocus === true) {
thisObject.targetRadius = targetRadiusWithoutFocus()
- thisObject.currentMass = thisObject.rawMass * canvas.floatingSpace.settings.node.massPercentage / 100
+ thisObject.currentMass = thisObject.rawMass * UI.projects.superalgos.spaces.floatingSpace.settings.node.massPercentage / 100
thisObject.targetImageSize = thisObject.rawImageSize * 1
thisObject.targetFontSize = thisObject.rawFontSize * 1
@@ -681,7 +681,7 @@ function newFloatingObject() {
if (thisObject.payload === undefined) { return }
if (thisObject.payload.uiObject === undefined) { return }
- if (canvas.floatingSpace.isItFar(thisObject.payload) && thisObject.payload.uiObject.isShowing === false) { return }
+ if (UI.projects.superalgos.spaces.floatingSpace.isItFar(thisObject.payload) && thisObject.payload.uiObject.isShowing === false) { return }
if ((thisObject.isCollapsed === true && thisObject.collapsedManually === false) || thisObject.isParentCollapsed === true) {
if (thisObject.payload.uiObject.isShowing !== true) {
return
@@ -694,7 +694,7 @@ function newFloatingObject() {
if (thisObject.payload === undefined) { return }
if (thisObject.payload.uiObject === undefined) { return }
- if (canvas.floatingSpace.isItFar(thisObject.payload) && thisObject.payload.uiObject.isShowing === false) { return }
+ if (UI.projects.superalgos.spaces.floatingSpace.isItFar(thisObject.payload) && thisObject.payload.uiObject.isShowing === false) { return }
if ((thisObject.isCollapsed === true && thisObject.collapsedManually === false) || thisObject.isParentCollapsed === true) {
if (thisObject.payload.uiObject.isShowing !== true) {
return
@@ -707,7 +707,7 @@ function newFloatingObject() {
if (thisObject.payload === undefined) { return }
if (thisObject.payload.uiObject === undefined) { return }
- if (canvas.floatingSpace.isItFar(thisObject.payload) && thisObject.payload.uiObject.isShowing === false) { return }
+ if (UI.projects.superalgos.spaces.floatingSpace.isItFar(thisObject.payload) && thisObject.payload.uiObject.isShowing === false) { return }
if ((thisObject.isCollapsed === true && thisObject.collapsedManually === false) || thisObject.isParentCollapsed === true) {
if (thisObject.payload.uiObject.isShowing !== true) {
return
@@ -740,7 +740,7 @@ function newFloatingObject() {
}
thisObject.rawRadius = radius
- thisObject.targetRadius = radius * canvas.floatingSpace.settings.node.radiusPercentage / 100
+ thisObject.targetRadius = radius * UI.projects.superalgos.spaces.floatingSpace.settings.node.radiusPercentage / 100
thisObject.container.frame.radius = radius
thisObject.container.eventHandler.raiseEvent('Dimmensions Changed', event)
diff --git a/CanvasApp/Spaces/FloatingSpace.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/FloatingSpace.js
similarity index 94%
rename from CanvasApp/Spaces/FloatingSpace.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/FloatingSpace.js
index a10c3b510..d6dd7e284 100644
--- a/CanvasApp/Spaces/FloatingSpace.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/FloatingSpace.js
@@ -1,5 +1,5 @@
-function newFloatingSpace() {
+function newSuperalgosFloatingSpace() {
const MODULE_NAME = 'Floating Space'
const ERROR_LOG = true
/*
@@ -106,7 +106,7 @@ function newFloatingSpace() {
function finalize() {
thisObject.container.eventHandler.stopListening(onDragStartedEventSubscriptionId)
- canvas.floatingSpace.container.eventHandler.stopListening(spaceFocusAquiredEventSubscriptionId)
+ UI.projects.superalgos.spaces.floatingSpace.container.eventHandler.stopListening(spaceFocusAquiredEventSubscriptionId)
thisObject.floatingLayer.finalize()
thisObject.uiObjectConstructor.finalize()
@@ -127,7 +127,7 @@ function newFloatingSpace() {
thisObject.uiObjectConstructor.initialize(thisObject.floatingLayer)
onDragStartedEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onDragStarted', onDragStarted)
- spaceFocusAquiredEventSubscriptionId = canvas.floatingSpace.container.eventHandler.listenToEvent('onFocusAquired', someoneAquiredFocus)
+ spaceFocusAquiredEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onFocusAquired', someoneAquiredFocus)
}
function someoneAquiredFocus(floatingObject) {
@@ -209,8 +209,10 @@ function newFloatingSpace() {
x: mousePosition.x / browserCanvas.width * SPACE_SIZE,
y: mousePosition.y / browserCanvas.height * SPACE_SIZE
}
- /* Let's see if we can snap to some of the root nodes that are isHierarchyHead */
- let snapCandidateNodes = canvas.designSpace.workspace.getHierarchyHeads()
+ /* Let's see if we can snap to some of the root nodes that are Hierarchy Head and Project Heads */
+ let snapCandidateNodes = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeads()
+ snapCandidateNodes = snapCandidateNodes.concat(UI.projects.superalgos.spaces.designSpace.workspace.getProjectsHeads())
+
for (let i = 0; i < snapCandidateNodes.length; i++) {
let node = snapCandidateNodes[i]
let nodePosition = {
@@ -432,9 +434,9 @@ function newFloatingSpace() {
}
function syncStylePhysics() {
- if (canvas.designSpace === undefined) { return }
- if (canvas.designSpace.workspace === undefined) { return }
- let designSpaceNode = canvas.designSpace.workspace.getHierarchyHeadsByType('Design Space')
+ if (UI.projects.superalgos.spaces.designSpace === undefined) { return }
+ if (UI.projects.superalgos.spaces.designSpace.workspace === undefined) { return }
+ let designSpaceNode = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsByType('Design Space')
if (designSpaceNode === undefined) { return }
if (designSpaceNode.spaceStyle === undefined) { return }
let configStyle
@@ -484,9 +486,9 @@ function newFloatingSpace() {
}
function syncSettingsPhysics() {
- if (canvas.designSpace === undefined) { return }
- if (canvas.designSpace.workspace === undefined) { return }
- let designSpaceNode = canvas.designSpace.workspace.getHierarchyHeadsByType('Design Space')
+ if (UI.projects.superalgos.spaces.designSpace === undefined) { return }
+ if (UI.projects.superalgos.spaces.designSpace.workspace === undefined) { return }
+ let designSpaceNode = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsByType('Design Space')
if (designSpaceNode === undefined) { return }
if (designSpaceNode.spaceSettings === undefined) { return }
let configSettings
diff --git a/CanvasApp/FloatingSpace/FormulaEditor.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/FormulaEditor.js
similarity index 98%
rename from CanvasApp/FloatingSpace/FormulaEditor.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/FormulaEditor.js
index d663ea1a0..9d8d1c031 100644
--- a/CanvasApp/FloatingSpace/FormulaEditor.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/FormulaEditor.js
@@ -57,16 +57,16 @@ function newFormulaEditor() {
EDITOR_ON_FOCUS = false
}
- function activate(payload) {
+ function activate(action) {
thisObject.visible = true
- thisObject.payload = payload
+ thisObject.payload = action.node.payload
thisObject.rawRadius = 8
thisObject.targetRadius = thisObject.container.frame.radius
thisObject.currentRadius = 0
thisObject.payload.uiObject.resetErrorMessage()
let textArea = document.getElementById('textArea')
- textArea.value = payload.node.code
+ textArea.value = thisObject.payload.node.code
textArea.style = 'resize: none;' +
' border: none;' +
' outline: none;' +
diff --git a/CanvasApp/FloatingSpace/Picker.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/Picker.js
similarity index 97%
rename from CanvasApp/FloatingSpace/Picker.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/Picker.js
index 9bf051871..594696d90 100644
--- a/CanvasApp/FloatingSpace/Picker.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/Picker.js
@@ -209,7 +209,7 @@ function newPicker() {
}
if (i === 2 || isMouseOver === true) {
- drawLabel(label, 1 / 2, i / VISIBLE_LABELS, 0, 0, fontSize, thisObject.container, fontColor, undefined, undefined, opacity)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(label, 1 / 2, i / VISIBLE_LABELS, 0, 0, fontSize, thisObject.container, fontColor, undefined, undefined, opacity)
}
}
}
diff --git a/CanvasApp/FloatingSpace/UiObject.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/UiObject.js
similarity index 72%
rename from CanvasApp/FloatingSpace/UiObject.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/UiObject.js
index bf765a301..b11f6b41c 100644
--- a/CanvasApp/FloatingSpace/UiObject.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/UiObject.js
@@ -37,12 +37,14 @@ function newUiObject() {
showAvailabilityToReferenceAttach: showAvailabilityToReferenceAttach,
highlight: highlight,
runningAtBackend: runningAtBackend,
+ reset: reset,
setErrorMessage: setErrorMessage,
resetErrorMessage: resetErrorMessage,
setWarningMessage: setWarningMessage,
resetWarningMessage: resetWarningMessage,
setInfoMessage: setInfoMessage,
resetInfoMessage: resetInfoMessage,
+ getValue: getValue,
setValue: setValue,
resetValue: resetValue,
setPercentage: setPercentage,
@@ -144,6 +146,13 @@ function newUiObject() {
let eventsServerClient
+ let errorRingAnimation = 0
+ let warningRingAnimation = 0
+ let infoRingAnimation = 0
+ let errorRingDirectionAnimation = 1
+ let warningRingDirectionAnimation = 1
+ let infoRingDirectionAnimation = 1
+
return thisObject
function finalize() {
@@ -364,26 +373,350 @@ function newUiObject() {
newObjectPhysics()
referenceLinePhysics()
chainLinePhysics()
- }
+ ringsAnimationPhysics()
- function referenceLinePhysics() {
- referenceLineCounter = referenceLineCounter + 2
- if (referenceLineCounter > 500) {
- referenceLineCounter = 0
+ function ringsAnimationPhysics() {
+ errorRingAnimation = errorRingAnimation + errorRingDirectionAnimation
+ warningRingAnimation = warningRingAnimation + warningRingDirectionAnimation
+ infoRingAnimation = infoRingAnimation + infoRingDirectionAnimation
+
+ if (errorRingAnimation === 10) { errorRingDirectionAnimation = -1 }
+ if (warningRingAnimation === 10) { warningRingDirectionAnimation = -1 }
+ if (infoRingAnimation === 10) { infoRingDirectionAnimation = -1 }
+
+ if (errorRingAnimation === 0) { errorRingDirectionAnimation = 1 }
+ if (warningRingAnimation === 0) { warningRingDirectionAnimation = 1 }
+ if (infoRingAnimation === 0) { infoRingDirectionAnimation = 1 }
}
- }
- function chainLinePhysics() {
- chainLineCounter = chainLineCounter - 5
- if (chainLineCounter < 0) {
- chainLineCounter = 500
+ function referenceLinePhysics() {
+ referenceLineCounter = referenceLineCounter + 2
+ if (referenceLineCounter > 500) {
+ referenceLineCounter = 0
+ }
}
- }
- function newObjectPhysics() {
- newUiObjectCounter--
- if (newUiObjectCounter < 0) {
- newUiObjectCounter = 0
+ function chainLinePhysics() {
+ chainLineCounter = chainLineCounter - 5
+ if (chainLineCounter < 0) {
+ chainLineCounter = 500
+ }
+ }
+
+ function newObjectPhysics() {
+ newUiObjectCounter--
+ if (newUiObjectCounter < 0) {
+ newUiObjectCounter = 0
+ }
+ }
+
+ function chainAttachingPhysics() {
+ chainAttacchingCounters()
+
+ if (thisObject.isOnFocus !== true) { return }
+ if (isDragging !== true) { return }
+ if (rightDragging !== true) { return }
+ if (thisObject.payload.chainParent !== undefined) { return }
+
+ let nearbyFloatingObjects = thisObject.payload.floatingObject.nearbyFloatingObjects
+ let compatibleTypes
+
+ let nodeDefinition = getNodeDefinition(thisObject.payload.node)
+ if (nodeDefinition !== undefined) {
+ if (nodeDefinition.chainAttachesTo !== undefined) {
+ compatibleTypes = nodeDefinition.chainAttachesTo.compatibleTypes
+ } else {
+ return
+ }
+ } else {
+ return
+ }
+
+ let foundCompatible = false
+ chainAttachToNode = undefined
+ isChainAttaching = false
+
+ for (let i = 0; i < nearbyFloatingObjects.length; i++) {
+ let nearby = nearbyFloatingObjects[i]
+ let distance = nearby[0]
+ let floatingObject = nearby[1]
+ let nearbyNode = floatingObject.payload.node
+ if (compatibleTypes.indexOf('->' + nearbyNode.type + '->') >= 0) {
+ /* Discard App Schema defined objects with busy coonection ports */
+ nodeDefinition = getNodeDefinition(thisObject.payload.node)
+ if (nodeDefinition !== undefined) {
+ let mustContinue = false
+ let parentNodeDefinition = getNodeDefinition(nearbyNode)
+ if (parentNodeDefinition !== undefined) {
+ if (parentNodeDefinition.properties !== undefined) {
+ for (let j = 0; j < parentNodeDefinition.properties.length; j++) {
+ let property = parentNodeDefinition.properties[j]
+ if (nodeDefinition.propertyNameAtParent === property.name) {
+ switch (property.type) {
+ case 'node': {
+ if (nearbyNode[property.name] !== undefined) {
+ mustContinue = true
+ }
+ }
+ break
+ case 'array': {
+ /* Nothing to worry about since an array can take more than one element. */
+ }
+ break
+ }
+ }
+ }
+ }
+ }
+ if (mustContinue === true) { continue }
+ }
+
+ /* Discard Phases without partent */
+ if (thisObject.payload.node.type === 'Phase' && nearbyNode.type === 'Phase' && nearbyNode.payload.parentNode === undefined) { continue }
+ /* Control maxPhases */
+ if (thisObject.payload.node.type === 'Phase') {
+ if (nearbyNode.maxPhases !== undefined) {
+ if (nearbyNode.phases.length >= nearbyNode.maxPhases) {
+ continue
+ }
+ }
+ }
+ if (thisObject.payload.node.type === 'Phase' && nearbyNode.type === 'Phase') {
+ if (nearbyNode.payload.parentNode.maxPhases !== undefined) {
+ if (nearbyNode.payload.parentNode.phases.length >= nearbyNode.payload.parentNode.maxPhases) {
+ continue
+ }
+ }
+ }
+ if (foundCompatible === false) {
+ if (distance < thisObject.payload.floatingObject.container.frame.radius * 1.5 + floatingObject.container.frame.radius * 1.5) {
+ nearbyNode.payload.uiObject.getReadyToChainAttach()
+ isChainAttaching = true
+ chainAttachToNode = nearbyNode
+ foundCompatible = true
+ }
+ }
+ nearbyNode.payload.uiObject.showAvailabilityToChainAttach()
+ }
+ }
+
+ function chainAttacchingCounters() {
+ if (readyToChainAttachDisplayCounter > 15) {
+ readyToChainAttachDisplayIncrement = -0.25
+ }
+
+ if (readyToChainAttachDisplayCounter < 5) {
+ readyToChainAttachDisplayIncrement = 0.25
+ }
+
+ readyToChainAttachDisplayCounter = readyToChainAttachDisplayCounter + readyToChainAttachDisplayIncrement
+
+ readyToChainAttachCounter--
+ if (readyToChainAttachCounter <= 0) {
+ readyToChainAttachCounter = 0
+ isReadyToChainAttach = false
+ } else {
+ isReadyToChainAttach = true
+ }
+
+ availableToChainAttachCounter--
+ if (availableToChainAttachCounter <= 0) {
+ availableToChainAttachCounter = 0
+ isAvailableToChainAttach = false
+ } else {
+ isAvailableToChainAttach = true
+ }
+ }
+ }
+
+ function chainDetachingPhysics() {
+ if (isDragging !== true) { return }
+ if (rightDragging === false) { return }
+
+ let distanceToChainParent = Math.sqrt(Math.pow(thisObject.payload.position.x - thisObject.payload.targetPosition.x, 2) + Math.pow(thisObject.payload.position.y - thisObject.payload.targetPosition.y, 2))
+ let ratio = distanceToChainParent / previousDistanceToChainParent
+ if (previousDistanceToChainParent === 0) {
+ previousDistanceToChainParent = distanceToChainParent
+ return
+ }
+ previousDistanceToChainParent = distanceToChainParent
+
+ if (thisObject.isOnFocus !== true) { return }
+ if (thisObject.payload.chainParent === undefined) { return }
+ if (thisObject.payload.parentNode === undefined) { return }
+
+ let THRESHOLD = 1.15
+
+ if (ratio > THRESHOLD) {
+ UI.projects.superalgos.spaces.designSpace.workspace.executeAction({ node: thisObject.payload.node, name: 'Parent Detach', project: 'Superalgos' })
+ }
+ }
+
+ function referenceAttachingPhysics() {
+ referenceAttacchingCounters()
+
+ if (thisObject.isOnFocus !== true) { return }
+ if (isDragging !== true) { return }
+ if (rightDragging !== true) { return }
+ if (thisObject.payload.referenceParent !== undefined) { return }
+
+ let nearbyFloatingObjects = thisObject.payload.floatingObject.nearbyFloatingObjects
+ let compatibleTypes
+
+ let nodeDefinition = getNodeDefinition(thisObject.payload.node)
+ if (nodeDefinition !== undefined) {
+ if (nodeDefinition.referenceAttachesTo !== undefined) {
+ compatibleTypes = nodeDefinition.referenceAttachesTo.compatibleTypes
+ } else {
+ return
+ }
+ } else {
+ return
+ }
+
+ let foundCompatible = false
+ referenceAttachToNode = undefined
+ isReferenceAttaching = false
+
+ for (let i = 0; i < nearbyFloatingObjects.length; i++) {
+ let nearby = nearbyFloatingObjects[i]
+ let distance = nearby[0]
+ let floatingObject = nearby[1]
+ let nearbyNode = floatingObject.payload.node
+ if (compatibleTypes.indexOf('->' + nearbyNode.type + '->') >= 0 || compatibleTypes === "->*Any Node*->") {
+ if (nodeDefinition.referenceAttachesTo.incompatibleTypes !== undefined) {
+ if (nodeDefinition.referenceAttachesTo.incompatibleTypes.indexOf('->' + nearbyNode.type + '->') >= 0) {
+ continue
+ }
+ }
+ if (foundCompatible === false) {
+ if (distance < thisObject.payload.floatingObject.container.frame.radius * 1.5 + floatingObject.container.frame.radius * 1.5) {
+ nearbyNode.payload.uiObject.getReadyToReferenceAttach()
+ isReferenceAttaching = true
+ referenceAttachToNode = nearbyNode
+ foundCompatible = true
+ }
+ }
+ nearbyNode.payload.uiObject.showAvailabilityToReferenceAttach()
+ }
+ }
+
+ function referenceAttacchingCounters() {
+ if (readyToReferenceAttachDisplayCounter > 15) {
+ readyToReferenceAttachDisplayIncrement = -0.25
+ }
+
+ if (readyToReferenceAttachDisplayCounter < 5) {
+ readyToReferenceAttachDisplayIncrement = 0.25
+ }
+
+ readyToReferenceAttachDisplayCounter = readyToReferenceAttachDisplayCounter + readyToReferenceAttachDisplayIncrement
+
+ readyToReferenceAttachCounter--
+ if (readyToReferenceAttachCounter <= 0) {
+ readyToReferenceAttachCounter = 0
+ isReadyToReferenceAttach = false
+ } else {
+ isReadyToReferenceAttach = true
+ }
+
+ availableToReferenceAttachCounter--
+ if (availableToReferenceAttachCounter <= 0) {
+ availableToReferenceAttachCounter = 0
+ isAvailableToReferenceAttach = false
+ } else {
+ isAvailableToReferenceAttach = true
+ }
+ }
+ }
+
+ function referenceDetachingPhysics() {
+ if (isDragging !== true) { return }
+ if (thisObject.payload === undefined) { return }
+ if (thisObject.payload.floatingObject.isFrozen === true) { return }
+ if (rightDragging === false) { return }
+
+ if (thisObject.payload.referenceParent === undefined) { return }
+
+ let distanceToReferenceParent = Math.sqrt(Math.pow(thisObject.payload.position.x - thisObject.payload.referenceParent.payload.position.x, 2) + Math.pow(thisObject.payload.position.y - thisObject.payload.referenceParent.payload.position.y, 2))
+ let ratio = distanceToReferenceParent / previousDistanceToReferenceParent
+ if (previousDistanceToReferenceParent === 0) {
+ previousDistanceToReferenceParent = distanceToReferenceParent
+ return
+ }
+ previousDistanceToReferenceParent = distanceToReferenceParent
+
+ if (thisObject.isOnFocus !== true) { return }
+
+ let THRESHOLD = 1.15
+
+ if (ratio > THRESHOLD) {
+ UI.projects.superalgos.spaces.designSpace.workspace.executeAction({ node: thisObject.payload.node, name: 'Reference Detach', project: 'Superalgos' })
+ }
+ }
+
+ function highlightPhisycs() {
+ highlightCounter--
+ if (highlightCounter < 0) {
+ highlightCounter = 0
+ isHighlighted = false
+ }
+ }
+
+ function runningAtBackendPhisycs() {
+ runningAtBackendCounter--
+ if (runningAtBackendCounter < 0) {
+ runningAtBackendCounter = 0
+ isRunningAtBackend = false
+ }
+ }
+
+ function errorMessagePhisycs() {
+ errorMessageCounter--
+ if (errorMessageCounter < 0) {
+ errorMessageCounter = 0
+ thisObject.hasError = false
+ }
+ }
+
+ function warningMessagePhisycs() {
+ warningMessageCounter--
+ if (warningMessageCounter < 0) {
+ warningMessageCounter = 0
+ thisObject.hasWarning = false
+ }
+ }
+
+ function infoMessagePhisycs() {
+ infoMessageCounter--
+ if (infoMessageCounter < 0) {
+ infoMessageCounter = 0
+ thisObject.hasInfo = false
+ }
+ }
+
+ function valuePhisycs() {
+ valueCounter--
+ if (valueCounter < 0) {
+ valueCounter = 0
+ hasValue = false
+ }
+ }
+
+ function percentagePhisycs() {
+ percentageCounter--
+ if (percentageCounter < 0) {
+ percentageCounter = 0
+ hasPercentage = false
+ }
+ }
+
+ function statusPhisycs() {
+ statusCounter--
+ if (statusCounter < 0) {
+ statusCounter = 0
+ hasStatus = false
+ }
}
}
@@ -435,125 +768,6 @@ function newUiObject() {
}
}
- function chainAttachingPhysics() {
- chainAttacchingCounters()
-
- if (thisObject.isOnFocus !== true) { return }
- if (isDragging !== true) { return }
- if (rightDragging !== true) { return }
- if (thisObject.payload.chainParent !== undefined) { return }
-
- let nearbyFloatingObjects = thisObject.payload.floatingObject.nearbyFloatingObjects
- let compatibleTypes
-
- let nodeDefinition = getNodeDefinition(thisObject.payload.node)
- if (nodeDefinition !== undefined) {
- if (nodeDefinition.chainAttachesTo !== undefined) {
- compatibleTypes = nodeDefinition.chainAttachesTo.compatibleTypes
- } else {
- return
- }
- } else {
- return
- }
-
- let foundCompatible = false
- chainAttachToNode = undefined
- isChainAttaching = false
-
- for (let i = 0; i < nearbyFloatingObjects.length; i++) {
- let nearby = nearbyFloatingObjects[i]
- let distance = nearby[0]
- let floatingObject = nearby[1]
- let nearbyNode = floatingObject.payload.node
- if (compatibleTypes.indexOf('->' + nearbyNode.type + '->') >= 0) {
- /* Discard App Schema defined objects with busy coonection ports */
- nodeDefinition = getNodeDefinition(thisObject.payload.node)
- if (nodeDefinition !== undefined) {
- let mustContinue = false
- let parentNodeDefinition = getNodeDefinition(nearbyNode)
- if (parentNodeDefinition !== undefined) {
- if (parentNodeDefinition.properties !== undefined) {
- for (let j = 0; j < parentNodeDefinition.properties.length; j++) {
- let property = parentNodeDefinition.properties[j]
- if (nodeDefinition.propertyNameAtParent === property.name) {
- switch (property.type) {
- case 'node': {
- if (nearbyNode[property.name] !== undefined) {
- mustContinue = true
- }
- }
- break
- case 'array': {
- /* Nothing to worry about since an array can take more than one element. */
- }
- break
- }
- }
- }
- }
- }
- if (mustContinue === true) { continue }
- }
-
- /* Discard Phases without partent */
- if (thisObject.payload.node.type === 'Phase' && nearbyNode.type === 'Phase' && nearbyNode.payload.parentNode === undefined) { continue }
- /* Control maxPhases */
- if (thisObject.payload.node.type === 'Phase') {
- if (nearbyNode.maxPhases !== undefined) {
- if (nearbyNode.phases.length >= nearbyNode.maxPhases) {
- continue
- }
- }
- }
- if (thisObject.payload.node.type === 'Phase' && nearbyNode.type === 'Phase') {
- if (nearbyNode.payload.parentNode.maxPhases !== undefined) {
- if (nearbyNode.payload.parentNode.phases.length >= nearbyNode.payload.parentNode.maxPhases) {
- continue
- }
- }
- }
- if (foundCompatible === false) {
- if (distance < thisObject.payload.floatingObject.container.frame.radius * 1.5 + floatingObject.container.frame.radius * 1.5) {
- nearbyNode.payload.uiObject.getReadyToChainAttach()
- isChainAttaching = true
- chainAttachToNode = nearbyNode
- foundCompatible = true
- }
- }
- nearbyNode.payload.uiObject.showAvailabilityToChainAttach()
- }
- }
- }
-
- function chainAttacchingCounters() {
- if (readyToChainAttachDisplayCounter > 15) {
- readyToChainAttachDisplayIncrement = -0.25
- }
-
- if (readyToChainAttachDisplayCounter < 5) {
- readyToChainAttachDisplayIncrement = 0.25
- }
-
- readyToChainAttachDisplayCounter = readyToChainAttachDisplayCounter + readyToChainAttachDisplayIncrement
-
- readyToChainAttachCounter--
- if (readyToChainAttachCounter <= 0) {
- readyToChainAttachCounter = 0
- isReadyToChainAttach = false
- } else {
- isReadyToChainAttach = true
- }
-
- availableToChainAttachCounter--
- if (availableToChainAttachCounter <= 0) {
- availableToChainAttachCounter = 0
- isAvailableToChainAttach = false
- } else {
- isAvailableToChainAttach = true
- }
- }
-
function getReadyToChainAttach() {
readyToChainAttachCounter = 10
}
@@ -562,107 +776,6 @@ function newUiObject() {
availableToChainAttachCounter = 10
}
- function chainDetachingPhysics() {
- if (isDragging !== true) { return }
- if (rightDragging === false) { return }
-
- let distanceToChainParent = Math.sqrt(Math.pow(thisObject.payload.position.x - thisObject.payload.targetPosition.x, 2) + Math.pow(thisObject.payload.position.y - thisObject.payload.targetPosition.y, 2))
- let ratio = distanceToChainParent / previousDistanceToChainParent
- if (previousDistanceToChainParent === 0) {
- previousDistanceToChainParent = distanceToChainParent
- return
- }
- previousDistanceToChainParent = distanceToChainParent
-
- if (thisObject.isOnFocus !== true) { return }
- if (thisObject.payload.chainParent === undefined) { return }
- if (thisObject.payload.parentNode === undefined) { return }
-
- let THRESHOLD = 1.15
-
- if (ratio > THRESHOLD) {
- canvas.designSpace.workspace.chainDetachNode(thisObject.payload.node)
- }
- }
-
- function referenceAttachingPhysics() {
- referenceAttacchingCounters()
-
- if (thisObject.isOnFocus !== true) { return }
- if (isDragging !== true) { return }
- if (rightDragging !== true) { return }
- if (thisObject.payload.referenceParent !== undefined) { return }
-
- let nearbyFloatingObjects = thisObject.payload.floatingObject.nearbyFloatingObjects
- let compatibleTypes
-
- let nodeDefinition = getNodeDefinition(thisObject.payload.node)
- if (nodeDefinition !== undefined) {
- if (nodeDefinition.referenceAttachesTo !== undefined) {
- compatibleTypes = nodeDefinition.referenceAttachesTo.compatibleTypes
- } else {
- return
- }
- } else {
- return
- }
-
- let foundCompatible = false
- referenceAttachToNode = undefined
- isReferenceAttaching = false
-
- for (let i = 0; i < nearbyFloatingObjects.length; i++) {
- let nearby = nearbyFloatingObjects[i]
- let distance = nearby[0]
- let floatingObject = nearby[1]
- let nearbyNode = floatingObject.payload.node
- if (compatibleTypes.indexOf('->' + nearbyNode.type + '->') >= 0 || compatibleTypes === "->*Any Node*->") {
- if (nodeDefinition.referenceAttachesTo.incompatibleTypes !== undefined) {
- if (nodeDefinition.referenceAttachesTo.incompatibleTypes.indexOf('->' + nearbyNode.type + '->') >= 0) {
- continue
- }
- }
- if (foundCompatible === false) {
- if (distance < thisObject.payload.floatingObject.container.frame.radius * 1.5 + floatingObject.container.frame.radius * 1.5) {
- nearbyNode.payload.uiObject.getReadyToReferenceAttach()
- isReferenceAttaching = true
- referenceAttachToNode = nearbyNode
- foundCompatible = true
- }
- }
- nearbyNode.payload.uiObject.showAvailabilityToReferenceAttach()
- }
- }
- }
-
- function referenceAttacchingCounters() {
- if (readyToReferenceAttachDisplayCounter > 15) {
- readyToReferenceAttachDisplayIncrement = -0.25
- }
-
- if (readyToReferenceAttachDisplayCounter < 5) {
- readyToReferenceAttachDisplayIncrement = 0.25
- }
-
- readyToReferenceAttachDisplayCounter = readyToReferenceAttachDisplayCounter + readyToReferenceAttachDisplayIncrement
-
- readyToReferenceAttachCounter--
- if (readyToReferenceAttachCounter <= 0) {
- readyToReferenceAttachCounter = 0
- isReadyToReferenceAttach = false
- } else {
- isReadyToReferenceAttach = true
- }
-
- availableToReferenceAttachCounter--
- if (availableToReferenceAttachCounter <= 0) {
- availableToReferenceAttachCounter = 0
- isAvailableToReferenceAttach = false
- } else {
- isAvailableToReferenceAttach = true
- }
- }
-
function getReadyToReferenceAttach() {
readyToReferenceAttachCounter = 10
}
@@ -671,95 +784,6 @@ function newUiObject() {
availableToReferenceAttachCounter = 10
}
- function referenceDetachingPhysics() {
- if (isDragging !== true) { return }
- if (thisObject.payload === undefined) { return }
- if (thisObject.payload.floatingObject.isFrozen === true) { return }
- if (rightDragging === false) { return }
-
- if (thisObject.payload.referenceParent === undefined) { return }
-
- let distanceToReferenceParent = Math.sqrt(Math.pow(thisObject.payload.position.x - thisObject.payload.referenceParent.payload.position.x, 2) + Math.pow(thisObject.payload.position.y - thisObject.payload.referenceParent.payload.position.y, 2))
- let ratio = distanceToReferenceParent / previousDistanceToReferenceParent
- if (previousDistanceToReferenceParent === 0) {
- previousDistanceToReferenceParent = distanceToReferenceParent
- return
- }
- previousDistanceToReferenceParent = distanceToReferenceParent
-
- if (thisObject.isOnFocus !== true) { return }
-
- let THRESHOLD = 1.15
-
- if (ratio > THRESHOLD) {
- canvas.designSpace.workspace.referenceDetachNode(thisObject.payload.node)
- }
- }
-
- function highlightPhisycs() {
- highlightCounter--
- if (highlightCounter < 0) {
- highlightCounter = 0
- isHighlighted = false
- }
- }
-
- function runningAtBackendPhisycs() {
- runningAtBackendCounter--
- if (runningAtBackendCounter < 0) {
- runningAtBackendCounter = 0
- isRunningAtBackend = false
- }
- }
-
- function errorMessagePhisycs() {
- errorMessageCounter--
- if (errorMessageCounter < 0) {
- errorMessageCounter = 0
- thisObject.hasError = false
- }
- }
-
- function warningMessagePhisycs() {
- warningMessageCounter--
- if (warningMessageCounter < 0) {
- warningMessageCounter = 0
- thisObject.hasWarning = false
- }
- }
-
- function infoMessagePhisycs() {
- infoMessageCounter--
- if (infoMessageCounter < 0) {
- infoMessageCounter = 0
- thisObject.hasInfo = false
- }
- }
-
- function valuePhisycs() {
- valueCounter--
- if (valueCounter < 0) {
- valueCounter = 0
- hasValue = false
- }
- }
-
- function percentagePhisycs() {
- percentageCounter--
- if (percentageCounter < 0) {
- percentageCounter = 0
- hasPercentage = false
- }
- }
-
- function statusPhisycs() {
- statusCounter--
- if (statusCounter < 0) {
- statusCounter = 0
- hasStatus = false
- }
- }
-
function highlight(counter) {
isHighlighted = true
if (counter !== undefined) {
@@ -879,6 +903,10 @@ function newUiObject() {
thisObject.hasInfo = false
}
+ function getValue() {
+ return currentValue
+ }
+
function setValue(value, counter, minDecimals) {
if (value !== undefined) {
currentValue = value
@@ -946,14 +974,18 @@ function newUiObject() {
}
}
- function run(pEventsServerClient, callBackFunction) {
- finalizeEventsServerClient()
+ function reset() {
resetErrorMessage()
resetWarningMessage()
resetInfoMessage()
resetPercentage()
resetValue()
resetStatus()
+ }
+
+ function run(pEventsServerClient, callBackFunction) {
+ finalizeEventsServerClient()
+ reset()
eventsServerClient = pEventsServerClient
/* We setup the circular progress bar. */
@@ -1002,7 +1034,7 @@ function newUiObject() {
In those cases, the stop function would never be called (from the UI). So what we will do is to call it from
here with and event, and passing our own callBackFunction. In case there is an external source stopping this,
this will produce an execution of the callback with our event, which will produce that the menu item is restored
- to its default stage.
+ to its default value.
If on the other side, it is executed from the UI, then we will be processing the Stopped event twice, which in
both cases will reset the menu item to its default state.
@@ -1022,9 +1054,9 @@ function newUiObject() {
eventSubscriptionIdOnError = message.eventSubscriptionId
}
- function onError(message) {
+ async function onError(message) {
- let uiObject = getTargetUiObject(message)
+ let uiObject = await getTargetUiObject(message)
uiObject.setErrorMessage(message.event.errorMessage, 10)
let event = {
@@ -1042,8 +1074,8 @@ function newUiObject() {
eventSubscriptionIdOnWarning = message.eventSubscriptionId
}
- function onWarning(message) {
- let uiObject = getTargetUiObject(message)
+ async function onWarning(message) {
+ let uiObject = await getTargetUiObject(message)
uiObject.setWarningMessage(message.event.warningMessage, 10)
}
}
@@ -1056,17 +1088,17 @@ function newUiObject() {
eventSubscriptionIdOnInfo = message.eventSubscriptionId
}
- function onInfo(message) {
- let uiObject = getTargetUiObject(message)
+ async function onInfo(message) {
+ let uiObject = await getTargetUiObject(message)
uiObject.setInfoMessage(message.event.infoMessage, 10)
}
}
}
- function getTargetUiObject(message) {
+ async function getTargetUiObject(message) {
let uiObject = thisObject
if (message.event.nodeId !== undefined) {
- let targetNode = canvas.designSpace.workspace.getNodeById(message.event.nodeId)
+ let targetNode = await UI.projects.superalgos.spaces.designSpace.workspace.getNodeById(message.event.nodeId)
if (targetNode !== undefined) {
if (targetNode.payload !== undefined) {
if (targetNode.payload.uiObject !== undefined) {
@@ -1078,8 +1110,9 @@ function newUiObject() {
return uiObject
}
- function stop(callBackFunction, event) {
- /* We will wait to the event that the execution was terminated in order to call back the menu item */
+ function stop(callBackFunction, event, requestFromUI) {
+ let wasStopped = false
+ /* We will wait for the event that the execution was terminated in order to call back the menu item */
let key = thisObject.payload.node.name + '-' + thisObject.payload.node.type + '-' + thisObject.payload.node.id
eventsServerClient.listenToEvent(key, 'Stopped', undefined, 'UiObject', onResponse, onStopped)
@@ -1089,6 +1122,25 @@ function newUiObject() {
function onStopped() {
completeStop(callBackFunction, event)
+ wasStopped = true
+ }
+
+ /*
+ When the request comes from the UI, we need to consider the possibility that the backend is down or it
+ was restarted while this node was running.
+ */
+ if (requestFromUI === true) {
+ /*
+ It can happen that the backend is down, the task is down, session is down of for whatever reason there is no
+ answer to the command to stop. In those cases, we will stop execute the onStopped funcion anyways so as to
+ return the UI to its default state.
+ */
+ setTimeout(returnToDefaultState, 90000)
+ function returnToDefaultState() {
+ if (wasStopped === false) {
+ completeStop(callBackFunction, event)
+ }
+ }
}
}
@@ -1112,7 +1164,7 @@ function newUiObject() {
}
function iconPhysics() {
- icon = canvas.designSpace.iconByUiObjectType.get(thisObject.payload.node.type)
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.project, thisObject.payload.node.type)
let nodeDefinition = getNodeDefinition(thisObject.payload.node)
if (nodeDefinition.alternativeIcons !== undefined) {
let nodeToUse = thisObject.payload.node
@@ -1142,7 +1194,7 @@ function newUiObject() {
iconName = alternativeIcon.iconName
}
}
- let newIcon = canvas.designSpace.iconCollection.get(iconName)
+ let newIcon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName('Superalgos', iconName)
if (newIcon !== undefined) {
icon = newIcon
}
@@ -1151,7 +1203,7 @@ function newUiObject() {
}
}
- executingIcon = canvas.designSpace.iconCollection.get('attractive')
+ executingIcon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName('Superalgos', 'bitcoin')
}
function onFocus() {
@@ -1221,12 +1273,12 @@ function newUiObject() {
function onDragFinished(event) {
if (isChainAttaching === true) {
- canvas.designSpace.workspace.chainAttachNode(thisObject.payload.node, chainAttachToNode)
+ UI.projects.superalgos.spaces.designSpace.workspace.executeAction({ node: thisObject.payload.node, name: 'Parent Attach', project: 'Superalgos', relatedNode: chainAttachToNode })
chainAttachToNode = undefined
isChainAttaching = false
}
if (isReferenceAttaching === true) {
- canvas.designSpace.workspace.referenceAttachNode(thisObject.payload.node, referenceAttachToNode)
+ UI.projects.superalgos.spaces.designSpace.workspace.executeAction({ node: thisObject.payload.node, name: 'Reference Attach', project: 'Superalgos', relatedNode: referenceAttachToNode })
referenceAttachToNode = undefined
isReferenceAttaching = false
}
@@ -1257,7 +1309,7 @@ function newUiObject() {
drawPercentage()
drawStatus()
thisObject.uiObjectTitle.draw()
- drawText()
+ drawNodeType()
}
}
@@ -1338,7 +1390,7 @@ function newUiObject() {
drawValue()
drawPercentage()
drawStatus()
- drawText()
+ drawNodeType()
if (drawTitle === true) {
thisObject.uiObjectTitle.draw()
@@ -1347,8 +1399,9 @@ function newUiObject() {
}
function drawChainLine() {
- if (canvas.floatingSpace.drawChainLines === false) { return }
+ if (UI.projects.superalgos.spaces.floatingSpace.drawChainLines === false) { return }
if (thisObject.payload.chainParent === undefined) { return }
+ if (thisObject.payload.chainParent.payload === undefined) { return }
let targetPoint = {
x: thisObject.payload.chainParent.payload.floatingObject.container.frame.position.x,
@@ -1360,12 +1413,12 @@ function newUiObject() {
y: 0
}
- targetPoint = canvas.floatingSpace.container.frame.frameThisPoint(targetPoint)
+ targetPoint = UI.projects.superalgos.spaces.floatingSpace.container.frame.frameThisPoint(targetPoint)
position = thisObject.container.frame.frameThisPoint(position)
- if (canvas.floatingSpace.inMapMode === true) {
- targetPoint = canvas.floatingSpace.transformPointToMap(targetPoint)
- position = canvas.floatingSpace.transformPointToMap(position)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ targetPoint = UI.projects.superalgos.spaces.floatingSpace.transformPointToMap(targetPoint)
+ position = UI.projects.superalgos.spaces.floatingSpace.transformPointToMap(position)
}
if (thisObject.payload.floatingObject.container.frame.radius > 1) {
@@ -1420,7 +1473,7 @@ function newUiObject() {
}
function drawReferenceLine() {
- if (canvas.floatingSpace.drawReferenceLines === false && thisObject.isOnFocus === false) { return }
+ if (UI.projects.superalgos.spaces.floatingSpace.drawReferenceLines === false && thisObject.isOnFocus === false) { return }
if (thisObject.payload.referenceParent === undefined) { return }
if (thisObject.payload.referenceParent.payload === undefined) { return }
if (thisObject.payload.referenceParent.payload.floatingObject === undefined) { return }
@@ -1436,16 +1489,16 @@ function newUiObject() {
y: 0
}
- targetPoint = canvas.floatingSpace.container.frame.frameThisPoint(targetPoint)
+ targetPoint = UI.projects.superalgos.spaces.floatingSpace.container.frame.frameThisPoint(targetPoint)
position = thisObject.container.frame.frameThisPoint(position)
if (thisObject.isOnFocus === true) {
targetPoint = thisObject.fitFunction(targetPoint)
}
- if (canvas.floatingSpace.inMapMode === true) {
- position = canvas.floatingSpace.transformPointToMap(position)
- targetPoint = canvas.floatingSpace.transformPointToMap(targetPoint)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ position = UI.projects.superalgos.spaces.floatingSpace.transformPointToMap(position)
+ targetPoint = UI.projects.superalgos.spaces.floatingSpace.transformPointToMap(targetPoint)
}
let LINE_STYLE = UI_COLOR.GREY
@@ -1499,7 +1552,7 @@ function newUiObject() {
}
}
- function drawText() {
+ function drawNodeType() {
if (isEditorVisible() === true) { return }
/* Text Follows */
let position = {
@@ -1509,8 +1562,8 @@ function newUiObject() {
position = thisObject.container.frame.frameThisPoint(position)
- if (canvas.floatingSpace.inMapMode === true) {
- position = canvas.floatingSpace.transformPointToMap(position)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ position = UI.projects.superalgos.spaces.floatingSpace.transformPointToMap(position)
}
let radius = thisObject.payload.floatingObject.container.frame.radius
@@ -1520,6 +1573,8 @@ function newUiObject() {
let lineSeparator = thisObject.payload.floatingObject.currentFontSize * 1.2
let label
+ browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
+
if (radius > 6) {
const MAX_LABEL_LENGTH = 30
@@ -1527,39 +1582,58 @@ function newUiObject() {
label = addIndexNumber(label)
if (label !== undefined) {
-
- if (canvas.floatingSpace.inMapMode === true) {
+
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
let nodeDefinition = getNodeDefinition(thisObject.payload.node)
if (nodeDefinition !== undefined) {
- if (nodeDefinition.isHierarchyHead !== true) {
+ if (nodeDefinition.isHierarchyHead !== true && nodeDefinition.isProjectHead !== true) {
return
}
}
+ if (label.length > MAX_LABEL_LENGTH) {
+ label = label.substring(0, MAX_LABEL_LENGTH) + '...'
+ }
}
- if (label.length > MAX_LABEL_LENGTH) {
- label = label.substring(0, MAX_LABEL_LENGTH) + '...'
- }
+
if (thisObject.isOnFocus === true) {
+ if (label.length > MAX_LABEL_LENGTH) {
+ label = label.substring(0, MAX_LABEL_LENGTH) + '...'
+ }
labelPoint = {
- x: position.x - label.length / 2 * fontSize * FONT_ASPECT_RATIO - 5,
- y: position.y + radius * 2 / 3 + lineSeparator * 1+ 30
+ x: position.x - getTextWidth(label) / 2,
+ y: position.y + radius * 2 / 3 + lineSeparator * 1 + 30
}
} else {
- labelPoint = {
- x: position.x - label.length / 2 * fontSize * FONT_ASPECT_RATIO - 5,
- y: position.y + thisObject.payload.floatingObject.currentImageSize / 2 + lineSeparator * 1
+ /* Split the line into Phrases */
+ let phrases = splitTextIntoPhrases(label, 2)
+
+ for (let i = 0; i < phrases.length; i++) {
+ let phrase = phrases[i]
+ labelPoint = {
+ x: position.x - getTextWidth(phrase) / 2,
+ y: position.y + thisObject.payload.floatingObject.currentImageSize / 2 + lineSeparator * (1 + i)
+ }
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === false) {
+ printMessage(phrase)
+ }
+ }
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === false) {
+ return
}
}
- if (canvas.floatingSpace.inMapMode === true) {
- labelPoint.y = position.y + 50 / 2 + lineSeparator * 2
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ labelPoint.x = position.x - getTextWidth(label) / 2,
+ labelPoint.y = position.y + 50 / 2 + lineSeparator * 2
}
+ printMessage(label)
- browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
- browserCanvasContext.fillStyle = thisObject.payload.floatingObject.nameStrokeStyle
- browserCanvasContext.fillText(label, labelPoint.x, labelPoint.y)
+ function printMessage(text) {
+ browserCanvasContext.fillStyle = thisObject.payload.floatingObject.nameStrokeStyle
+ browserCanvasContext.fillText(text, labelPoint.x, labelPoint.y)
+ }
}
}
}
@@ -1584,9 +1658,13 @@ function newUiObject() {
function drawMessage(message, textColor) {
- if (canvas.floatingSpace.inMapMode === true) {
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
return
}
+ if (thisObject.codeEditor !== undefined && thisObject.codeEditor.visible === true) { return }
+ if (thisObject.formulaEditor !== undefined && thisObject.formulaEditor.visible === true) { return }
+ if (thisObject.confitionEditor !== undefined && thisObject.confitionEditor.visible === true) { return }
+ if (thisObject.configEditor !== undefined && thisObject.configEditor.visible === true) { return }
/* Text Follows */
let position = {
@@ -1596,8 +1674,8 @@ function newUiObject() {
position = thisObject.container.frame.frameThisPoint(position)
- if (canvas.floatingSpace.inMapMode === true) {
- position = canvas.floatingSpace.transformPointToMap(position)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ position = UI.projects.superalgos.spaces.floatingSpace.transformPointToMap(position)
}
let radius = thisObject.payload.floatingObject.container.frame.radius
@@ -1607,6 +1685,8 @@ function newUiObject() {
let lineSeparator = thisObject.payload.floatingObject.currentFontSize * 1.2
let label
+ browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
+
if (radius > 6) {
const IDEAL_LABEL_LENGTH = 80
@@ -1621,21 +1701,31 @@ function newUiObject() {
}
if (thisObject.isOnFocus === true) {
- labelPoint = {
- x: position.x - label.length / 2 * fontSize * FONT_ASPECT_RATIO - 5,
- y: position.y + radius * 2 / 3 + lineSeparator * 6+ 30
+ /* Split the line into Phrases */
+ let phrases = splitTextIntoPhrases(label, 5)
+
+ for (let i = 0; i < phrases.length; i++) {
+ let phrase = phrases[i]
+ labelPoint = {
+ x: position.x - getTextWidth(phrase) / 2,
+ y: position.y + lineSeparator * (6 - phrases.length + 1 + i) + 30
+ }
+ printMessage(phrase)
}
} else {
- labelPoint = {
- x: position.x - label.length / 2 * fontSize * FONT_ASPECT_RATIO - 5,
- y: position.y + thisObject.payload.floatingObject.currentImageSize / 2 + lineSeparator * 5
+ if (label.length < 50) {
+ labelPoint = {
+ x: position.x - getTextWidth(label) / 2,
+ y: position.y + thisObject.payload.floatingObject.currentImageSize / 2 + lineSeparator * 6
+ }
+ printMessage(label)
}
}
- browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
-
- browserCanvasContext.fillStyle = 'rgba(' + textColor + ', 1)'
- browserCanvasContext.fillText(label, labelPoint.x, labelPoint.y)
+ function printMessage(text) {
+ browserCanvasContext.fillStyle = 'rgba(' + textColor + ', 1)'
+ browserCanvasContext.fillText(text, labelPoint.x, labelPoint.y)
+ }
}
}
}
@@ -1643,7 +1733,7 @@ function newUiObject() {
function drawValue() {
if (currentValue === null) { return }
if (hasValue === false) { return }
- if (canvas.floatingSpace.inMapMode === true) { return }
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) { return }
if (thisObject.payload === undefined) { return }
if ((thisObject.payload.floatingObject.isCollapsed === true && thisObject.payload.floatingObject.collapsedManually === false) || thisObject.payload.floatingObject.isParentCollapsed === true) { return }
@@ -1657,8 +1747,8 @@ function newUiObject() {
position = thisObject.container.frame.frameThisPoint(position)
- if (canvas.floatingSpace.inMapMode === true) {
- position = canvas.floatingSpace.transformPointToMap(position)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ position = UI.projects.superalgos.spaces.floatingSpace.transformPointToMap(position)
}
let radius = thisObject.payload.floatingObject.container.frame.radius
@@ -1668,6 +1758,8 @@ function newUiObject() {
let lineSeparator = thisObject.payload.floatingObject.currentFontSize * 1.2
let label
+ browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
+
if (radius > 6) {
const MAX_LABEL_LENGTH = 65
@@ -1689,7 +1781,7 @@ function newUiObject() {
if (thisObject.valueAtAngle === true && thisObject.payload.angle !== undefined) {
labelPoint = {
- x: position.x - label.length / 2 * fontSize * FONT_ASPECT_RATIO - 10,
+ x: position.x - getTextWidth(label) / 2,
y: position.y
}
labelPoint.x = labelPoint.x + radius * 7 / 3 * Math.cos(toRadians(thisObject.payload.angle))
@@ -1697,18 +1789,17 @@ function newUiObject() {
} else {
if (thisObject.isOnFocus === true) {
labelPoint = {
- x: position.x - label.length / 2 * fontSize * FONT_ASPECT_RATIO - 10,
- y: position.y + radius * 2 / 3 + lineSeparator * 4+ 30
+ x: position.x - getTextWidth(label) / 2,
+ y: position.y + radius * 2 / 3 + lineSeparator * 4 + 30
}
} else {
labelPoint = {
- x: position.x - label.length / 2 * fontSize * FONT_ASPECT_RATIO - 10,
- y: position.y + thisObject.payload.floatingObject.currentImageSize / 2 + lineSeparator * 3
+ x: position.x - getTextWidth(label) / 2,
+ y: position.y + thisObject.payload.floatingObject.currentImageSize / 2 + lineSeparator * 4
}
}
}
- browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.TURQUOISE + ', 1)'
browserCanvasContext.fillText(label, labelPoint.x, labelPoint.y)
}
@@ -1717,7 +1808,7 @@ function newUiObject() {
function drawPercentage() {
if (hasPercentage === false) { return }
- if (canvas.floatingSpace.inMapMode === true) { return }
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) { return }
if (thisObject.payload === undefined) { return }
if ((thisObject.payload.floatingObject.isCollapsed === true && thisObject.payload.floatingObject.collapsedManually === false) || thisObject.payload.floatingObject.isParentCollapsed === true) { return }
@@ -1728,8 +1819,8 @@ function newUiObject() {
position = thisObject.container.frame.frameThisPoint(position)
- if (canvas.floatingSpace.inMapMode === true) {
- position = canvas.floatingSpace.transformPointToMap(position)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ position = UI.projects.superalgos.spaces.floatingSpace.transformPointToMap(position)
}
let radius = thisObject.payload.floatingObject.container.frame.radius
@@ -1739,6 +1830,8 @@ function newUiObject() {
let lineSeparator = thisObject.payload.floatingObject.currentFontSize * 1.2
let label
+ browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
+
if (radius > 6) {
const MAX_LABEL_LENGTH = 65
@@ -1750,17 +1843,16 @@ function newUiObject() {
if (thisObject.isOnFocus === true) {
labelPoint = {
- x: position.x - label.length / 2 * fontSize * FONT_ASPECT_RATIO - 5,
- y: position.y + radius * 2 / 3 + lineSeparator * 5+ 30
+ x: position.x - getTextWidth(label) / 2,
+ y: position.y + radius * 2 / 3 + lineSeparator * 5 + 30
}
} else {
labelPoint = {
- x: position.x - label.length / 2 * fontSize * FONT_ASPECT_RATIO - 10,
- y: position.y + thisObject.payload.floatingObject.currentImageSize / 2 + lineSeparator * 4
+ x: position.x - getTextWidth(label) / 2,
+ y: position.y + thisObject.payload.floatingObject.currentImageSize / 2 + lineSeparator * 5
}
}
- browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.TURQUOISE + ', 1)'
browserCanvasContext.fillText(label, labelPoint.x, labelPoint.y)
@@ -1769,7 +1861,7 @@ function newUiObject() {
function drawStatus() {
if (hasStatus === false) { return }
- if (canvas.floatingSpace.inMapMode === true) { return }
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) { return }
let position = {
x: 0,
@@ -1778,8 +1870,8 @@ function newUiObject() {
position = thisObject.container.frame.frameThisPoint(position)
- if (canvas.floatingSpace.inMapMode === true) {
- position = canvas.floatingSpace.transformPointToMap(position)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ position = UI.projects.superalgos.spaces.floatingSpace.transformPointToMap(position)
}
let radius = thisObject.payload.floatingObject.container.frame.radius
@@ -1789,6 +1881,8 @@ function newUiObject() {
let lineSeparator = thisObject.payload.floatingObject.currentFontSize * 1.2
let label
+ browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
+
if (radius > 6) {
const MAX_LABEL_LENGTH = 100
@@ -1801,17 +1895,16 @@ function newUiObject() {
if (thisObject.isOnFocus === true) {
labelPoint = {
- x: position.x - label.length / 2 * fontSize * FONT_ASPECT_RATIO - 10,
- y: position.y + radius * 2 / 3 + lineSeparator * 3+ 30
+ x: position.x - getTextWidth(label) / 2,
+ y: position.y + radius * 2 / 3 + lineSeparator * 3 + 30
}
} else {
labelPoint = {
- x: position.x - label.length / 2 * fontSize * FONT_ASPECT_RATIO - 10,
- y: position.y + thisObject.payload.floatingObject.currentImageSize / 2 + lineSeparator * 2
+ x: position.x - getTextWidth(label) / 2,
+ y: position.y + thisObject.payload.floatingObject.currentImageSize / 2 + lineSeparator * 3
}
}
- browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', 1)'
browserCanvasContext.fillText(label, labelPoint.x, labelPoint.y)
}
@@ -1892,8 +1985,8 @@ function newUiObject() {
position = thisObject.fitFunction(position)
}
- if (canvas.floatingSpace.inMapMode === true) {
- position = canvas.floatingSpace.transformPointToMap(position)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ position = UI.projects.superalgos.spaces.floatingSpace.transformPointToMap(position)
}
let radius = thisObject.payload.floatingObject.container.frame.radius
@@ -1908,10 +2001,10 @@ function newUiObject() {
visiblePosition = thisObject.container.frame.frameThisPoint(visiblePosition)
- if (canvas.floatingSpace.inMapMode === true) {
- visiblePosition = canvas.floatingSpace.transformPointToMap(visiblePosition)
- radius = canvas.floatingSpace.transformRadiusToMap(radius)
- VISIBLE_RADIUS = canvas.floatingSpace.transformRadiusToMap(VISIBLE_RADIUS)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ visiblePosition = UI.projects.superalgos.spaces.floatingSpace.transformPointToMap(visiblePosition)
+ radius = UI.projects.superalgos.spaces.floatingSpace.transformRadiusToMap(radius)
+ VISIBLE_RADIUS = UI.projects.superalgos.spaces.floatingSpace.transformRadiusToMap(VISIBLE_RADIUS)
} else {
visiblePosition = thisObject.fitFunction(visiblePosition)
}
@@ -1928,7 +2021,7 @@ function newUiObject() {
browserCanvasContext.arc(visiblePosition.x, visiblePosition.y, VISIBLE_RADIUS - 2, 0, Math.PI * 2, true)
browserCanvasContext.closePath()
- browserCanvasContext.fillStyle = 'rgba(' + canvas.floatingSpace.style.backgroundColor + ', 1)'
+ browserCanvasContext.fillStyle = 'rgba(' + UI.projects.superalgos.spaces.floatingSpace.style.backgroundColor + ', 1)'
browserCanvasContext.fill()
@@ -1944,7 +2037,7 @@ function newUiObject() {
browserCanvasContext.beginPath()
browserCanvasContext.arc(visiblePosition.x, visiblePosition.y, VISIBLE_RADIUS, 0, Math.PI * 2, true)
browserCanvasContext.closePath()
- browserCanvasContext.fillStyle = 'rgba(' + canvas.floatingSpace.style.backgroundColor + ', 0.70)'
+ browserCanvasContext.fillStyle = 'rgba(' + UI.projects.superalgos.spaces.floatingSpace.style.backgroundColor + ', 0.70)'
browserCanvasContext.fill()
/* Border when node is in focus */
if (
@@ -1976,8 +2069,8 @@ function newUiObject() {
/* Hierarchy Head Ring */
if (nodeDefinition.isHierarchyHead === true) {
VISIBLE_RADIUS = thisObject.payload.floatingObject.container.frame.radius
- if (canvas.floatingSpace.inMapMode === true) {
- VISIBLE_RADIUS = canvas.floatingSpace.transformRadiusToMap(VISIBLE_RADIUS)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ VISIBLE_RADIUS = UI.projects.superalgos.spaces.floatingSpace.transformRadiusToMap(VISIBLE_RADIUS)
}
let OPACITY = 0.5
@@ -2002,11 +2095,35 @@ function newUiObject() {
browserCanvasContext.stroke()
}
+ /* Project Head Ring */
+ if (nodeDefinition.isProjectHead === true) {
+ VISIBLE_RADIUS = thisObject.payload.floatingObject.container.frame.radius
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ VISIBLE_RADIUS = UI.projects.superalgos.spaces.floatingSpace.transformRadiusToMap(VISIBLE_RADIUS)
+ }
+ let OPACITY = 0.5
+
+ browserCanvasContext.beginPath()
+ browserCanvasContext.arc(visiblePosition.x, visiblePosition.y, VISIBLE_RADIUS, 0, Math.PI * 2, true)
+ browserCanvasContext.closePath()
+ browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.DARK_TURQUOISE + ', ' + OPACITY + ')'
+
+ if (thisObject.payload.floatingObject.isOnFocus === true) {
+ browserCanvasContext.lineWidth = 30
+ browserCanvasContext.setLineDash([0, 0])
+ } else {
+ browserCanvasContext.lineWidth = 30
+ browserCanvasContext.setLineDash([1, 3])
+
+ }
+ browserCanvasContext.stroke()
+ }
+
/* Info Ring */
if (thisObject.hasInfo === true) {
VISIBLE_RADIUS = thisObject.payload.floatingObject.container.frame.radius
- if (canvas.floatingSpace.inMapMode === true) {
- VISIBLE_RADIUS = canvas.floatingSpace.transformRadiusToMap(VISIBLE_RADIUS)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ VISIBLE_RADIUS = UI.projects.superalgos.spaces.floatingSpace.transformRadiusToMap(VISIBLE_RADIUS)
}
let OPACITY = infoMessageCounter / 30
browserCanvasContext.beginPath()
@@ -2014,15 +2131,15 @@ function newUiObject() {
browserCanvasContext.closePath()
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.DARK_TURQUOISE + ', ' + OPACITY + ')'
browserCanvasContext.lineWidth = 5
- browserCanvasContext.setLineDash([5, 10])
+ browserCanvasContext.setLineDash([2 + infoRingAnimation, 14 - infoRingAnimation])
browserCanvasContext.stroke()
}
/* Warning Ring */
if (thisObject.hasWarning === true) {
VISIBLE_RADIUS = thisObject.payload.floatingObject.container.frame.radius
- if (canvas.floatingSpace.inMapMode === true) {
- VISIBLE_RADIUS = canvas.floatingSpace.transformRadiusToMap(VISIBLE_RADIUS)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ VISIBLE_RADIUS = UI.projects.superalgos.spaces.floatingSpace.transformRadiusToMap(VISIBLE_RADIUS)
}
let OPACITY = warningMessageCounter / 30
browserCanvasContext.beginPath()
@@ -2030,15 +2147,15 @@ function newUiObject() {
browserCanvasContext.closePath()
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', ' + OPACITY + ')'
browserCanvasContext.lineWidth = 5
- browserCanvasContext.setLineDash([5, 10])
+ browserCanvasContext.setLineDash([2 + warningRingAnimation, 14 - warningRingAnimation])
browserCanvasContext.stroke()
}
/* Error Ring */
if (thisObject.hasError === true) {
VISIBLE_RADIUS = thisObject.payload.floatingObject.container.frame.radius
- if (canvas.floatingSpace.inMapMode === true) {
- VISIBLE_RADIUS = canvas.floatingSpace.transformRadiusToMap(VISIBLE_RADIUS)
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ VISIBLE_RADIUS = UI.projects.superalgos.spaces.floatingSpace.transformRadiusToMap(VISIBLE_RADIUS)
}
let OPACITY = errorMessageCounter / 30
browserCanvasContext.beginPath()
@@ -2046,7 +2163,7 @@ function newUiObject() {
browserCanvasContext.closePath()
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.RED + ', ' + OPACITY + ')'
browserCanvasContext.lineWidth = 5
- browserCanvasContext.setLineDash([5, 10])
+ browserCanvasContext.setLineDash([2 + errorRingAnimation, 14 - errorRingAnimation])
browserCanvasContext.stroke()
}
@@ -2177,13 +2294,14 @@ function newUiObject() {
let nodeDefinition = getNodeDefinition(thisObject.payload.node)
if (nodeDefinition === undefined) { return }
- if (canvas.floatingSpace.inMapMode === true) {
- if (nodeDefinition.isHierarchyHead === true) {
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ if (nodeDefinition.isHierarchyHead === true || nodeDefinition.isProjectHead === true) {
totalImageSize = 50
} else {
- totalImageSize = canvas.floatingSpace.transformImagesizeToMap(totalImageSize)
+ totalImageSize = 25
+ totalImageSize = UI.projects.superalgos.spaces.floatingSpace.transformImagesizeToMap(totalImageSize)
}
- }
+ }
if (thisObject.isShowing === true) {
totalImageSize = 50
diff --git a/CanvasApp/FloatingSpace/UiObjectConstructor.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/UiObjectConstructor.js
similarity index 90%
rename from CanvasApp/FloatingSpace/UiObjectConstructor.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/UiObjectConstructor.js
index e611c0b3d..914e93cce 100644
--- a/CanvasApp/FloatingSpace/UiObjectConstructor.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/UiObjectConstructor.js
@@ -26,8 +26,8 @@ function newUiObjectConstructor() {
function createUiObject(userAddingNew, payload) {
let floatingObject = newFloatingObject()
- floatingObject.fitFunction = canvas.floatingSpace.fitIntoVisibleArea
- floatingObject.container.connectToParent(canvas.floatingSpace.container, false, false, false, false, false, false, false, false)
+ floatingObject.fitFunction = UI.projects.superalgos.spaces.floatingSpace.fitIntoVisibleArea
+ floatingObject.container.connectToParent(UI.projects.superalgos.spaces.floatingSpace.container, false, false, false, false, false, false, false, false)
floatingObject.initialize('UI Object', payload)
payload.floatingObject = floatingObject
@@ -170,8 +170,8 @@ function newUiObjectConstructor() {
let uiObject = newUiObject()
payload.uiObject = uiObject
- uiObject.fitFunction = canvas.floatingSpace.fitIntoVisibleArea
- uiObject.isVisibleFunction = canvas.floatingSpace.isThisPointVisible
+ uiObject.fitFunction = UI.projects.superalgos.spaces.floatingSpace.fitIntoVisibleArea
+ uiObject.isVisibleFunction = UI.projects.superalgos.spaces.floatingSpace.isThisPointVisible
let menuItemsInitialValues = getMenuItemsInitialValues(uiObject, floatingObject, payload)
let schemaNode = getNodeDefinition(payload.node)
@@ -183,24 +183,13 @@ function newUiObjectConstructor() {
for (let j = 0; j < menuItems.length; j++) {
let item = menuItems[j]
item.angle = undefined
- if (item.action.indexOf('Add Missing Children') >= 0) {
- item.action = 'Add Missing Children'
- }
- if (item.action.indexOf('Delete ') >= 0) {
- // item.action = 'Delete UI Object'
- }
- if (item.action.indexOf('Configure ') >= 0) {
- if (schemaNode.editors.config === true) {
- // item.actionFunction = 'uiObject.configEditor.activate'
- }
- }
- if (item.action.indexOf('Edit ') >= 0) {
- if (schemaNode.editors.code === true) {
- // item.actionFunction = 'uiObject.codeEditor.activate'
+ if (item.action !== undefined) {
+ if (item.action.indexOf('Add Missing Children') >= 0) {
+ item.action = 'Add Missing Children'
}
}
if (item.actionFunction === undefined) {
- // item.actionFunction = 'payload.onMenuItemClick'
+ // item.actionFunction = 'payload.executeAction'
}
}
@@ -317,7 +306,8 @@ function newUiObjectConstructor() {
menuItemsInitialValues.push(
{
action: 'Backup',
- actionFunction: floatingObject.payload.onMenuItemClick,
+ actionFunction: floatingObject.payload.executeAction,
+ actionProject: 'Superalgos',
label: undefined,
visible: true,
iconPathOn: 'backup',
@@ -331,7 +321,8 @@ function newUiObjectConstructor() {
menuItemsInitialValues.push(
{
action: 'Clone',
- actionFunction: floatingObject.payload.onMenuItemClick,
+ actionFunction: floatingObject.payload.executeAction,
+ actionProject: 'Superalgos',
label: undefined,
visible: true,
iconPathOn: 'clone',
@@ -346,7 +337,8 @@ function newUiObjectConstructor() {
menuItemsInitialValues.push(
{
action: 'Share',
- actionFunction: floatingObject.payload.onMenuItemClick,
+ actionFunction: floatingObject.payload.executeAction,
+ actionProject: 'Superalgos',
label: undefined,
visible: true,
iconPathOn: 'share',
@@ -360,8 +352,9 @@ function newUiObjectConstructor() {
}
menuItemsInitialValues.push(
{
- action: 'Remove Parent',
- actionFunction: floatingObject.payload.onMenuItemClick,
+ action: 'Parent Detach',
+ actionFunction: floatingObject.payload.executeAction,
+ actionProject: 'Superalgos',
label: undefined,
visible: true,
iconPathOn: 'detach',
@@ -374,8 +367,9 @@ function newUiObjectConstructor() {
)
menuItemsInitialValues.push(
{
- action: 'Remove Reference',
- actionFunction: floatingObject.payload.onMenuItemClick,
+ action: 'Reference Detach',
+ actionFunction: floatingObject.payload.executeAction,
+ actionProject: 'Superalgos',
label: undefined,
visible: true,
iconPathOn: 'delink',
@@ -390,7 +384,8 @@ function newUiObjectConstructor() {
menuItemsInitialValues.push(
{
action: 'Open Documentation',
- actionFunction: floatingObject.payload.onMenuItemClick,
+ actionFunction: floatingObject.payload.executeAction,
+ actionProject: 'Superalgos',
label: undefined,
visible: true,
iconPathOn: 'help',
@@ -475,6 +470,10 @@ function newUiObjectConstructor() {
newMenuItem.currentRadius = 0
}
+ if (newMenuItem.actionProject === undefined) {
+ newMenuItem.actionProject = 'Superalgos'
+ }
+
menuItemsInitialValues.push(newMenuItem)
}
} else {
@@ -491,43 +490,42 @@ function newUiObjectConstructor() {
const INITIAL_RADIOUS = 70
const INITIAL_IMAGE_SIZE = 80 * 1.2
- switch (payload.node.type) {
- case 'Workspace': {
+ let nodeDefinition = getNodeDefinition(payload.node)
+ if (nodeDefinition === undefined) {
+ console.log('[WARN] Set up of the object ' + payload.node.name + ' of type ' + payload.node.type + ' can not be completed becasue its definition can not be found at the APP SCHEMA.')
+ return
+ }
+
+ if (nodeDefinition.isProjectHead === true) {
+ level_0()
+ floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_360
+ return
+ }
+
+ switch (nodeDefinition.level) {
+ case 0: {
level_0()
- floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_360
break
}
-
- default: {
- let nodeDefinition = getNodeDefinition(payload.node)
- if (nodeDefinition !== undefined) {
- switch (nodeDefinition.level) {
- case 0: {
- level_0()
- break
- }
- case 1: {
- level_1()
- break
- }
- case 2: {
- level_2()
- break
- }
- case 3: {
- level_3()
- break
- }
- case 4: {
- level_4()
- break
- }
- case 5: {
- level_5()
- break
- }
- }
- }
+ case 1: {
+ level_1()
+ break
+ }
+ case 2: {
+ level_2()
+ break
+ }
+ case 3: {
+ level_3()
+ break
+ }
+ case 4: {
+ level_4()
+ break
+ }
+ case 5: {
+ level_5()
+ break
}
}
diff --git a/CanvasApp/FloatingSpace/UiObjectTitle.js b/Integrations/Projects/Superalgos/Spaces/Floating-Space/UiObjectTitle.js
similarity index 86%
rename from CanvasApp/FloatingSpace/UiObjectTitle.js
rename to Integrations/Projects/Superalgos/Spaces/Floating-Space/UiObjectTitle.js
index bb32d7402..31ddad641 100644
--- a/CanvasApp/FloatingSpace/UiObjectTitle.js
+++ b/Integrations/Projects/Superalgos/Spaces/Floating-Space/UiObjectTitle.js
@@ -299,13 +299,13 @@ function newUiObjectTitle() {
cornerRadius: 3,
lineWidth: 0.1,
container: thisObject.container,
- borderColor: canvas.floatingSpace.style.backgroundColor,
- backgroundColor: canvas.floatingSpace.style.backgroundColor,
+ borderColor: UI.projects.superalgos.spaces.floatingSpace.style.backgroundColor,
+ backgroundColor: UI.projects.superalgos.spaces.floatingSpace.style.backgroundColor,
castShadow: false,
opacity: 0.25
}
- roundedCornersBackground(params)
+ UI.projects.superalgos.utilities.drawPrint.roundedCornersBackground(params)
}
}
@@ -316,6 +316,8 @@ function newUiObjectTitle() {
let fontSize = thisObject.payload.floatingObject.currentFontSize
let label
+ browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
+
if (radius > 6 && (thisObject.isOnFocus === true || thisObject.allwaysVisible === true || thisObject.isDefault === false)) {
browserCanvasContext.strokeStyle = thisObject.payload.floatingObject.typeStrokeStyle
@@ -327,28 +329,57 @@ function newUiObjectTitle() {
label = trimTitle(label)
labelPoint = {
- x: 5,
+ x: 0,
y: thisObject.container.frame.height * 0.8
}
labelPoint = thisObject.container.frame.frameThisPoint(labelPoint)
- if (canvas.floatingSpace.inMapMode === true) {
- labelPoint = canvas.floatingSpace.transformPointToMap(labelPoint)
- labelPoint.x = labelPoint.x - label.length / 2 * fontSize * FONT_ASPECT_RATIO
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === true) {
+ labelPoint = UI.projects.superalgos.spaces.floatingSpace.transformPointToMap(labelPoint)
+ labelPoint.x = labelPoint.x - getTextWidth(label) / 2,
labelPoint.y = labelPoint.y - 35
let nodeDefinition = getNodeDefinition(thisObject.payload.node)
if (nodeDefinition !== undefined) {
- if (nodeDefinition.isHierarchyHead !== true) {
+ if (nodeDefinition.isHierarchyHead !== true && nodeDefinition.isProjectHead !== true) {
return
}
}
+
+ printMessage(label, labelPoint)
+ return
}
- browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
- browserCanvasContext.fillStyle = thisObject.payload.floatingObject.typeStrokeStyle
- browserCanvasContext.fillText(label, labelPoint.x, labelPoint.y)
+ if (thisObject.payload.uiObject.isOnFocus === true) {
+ printMessage(label, labelPoint)
+ return
+ }
+
+ /* Split the line into Phrases */
+ const FRAME_WIDTH = (label.length + 2) / 2 * thisObject.payload.floatingObject.currentFontSize * FONT_ASPECT_RATIO * 1.2 * 2
+ label = thisObject.payload.title
+ let phrases = splitTextIntoPhrases(label, 2)
+ let lineSeparator = thisObject.payload.floatingObject.currentFontSize * 1.2
+
+ if (phrases.length > 3) {
+ let a = 1
+ }
+ for (let i = 0; i < phrases.length; i++) {
+ let phrase = phrases[i]
+ let point = {
+ x: labelPoint.x - getTextWidth(phrase) / 2 + FRAME_WIDTH / 2,
+ y: labelPoint.y - lineSeparator * (phrases.length - 1 - i)
+ }
+
+ if (UI.projects.superalgos.spaces.floatingSpace.inMapMode === false) {
+ printMessage(phrase, point)
+ }
+ }
+ function printMessage(text, position) {
+ browserCanvasContext.fillStyle = thisObject.payload.floatingObject.nameStrokeStyle
+ browserCanvasContext.fillText(text, position.x, position.y)
+ }
}
}
}
@@ -356,7 +387,7 @@ function newUiObjectTitle() {
function trimTitle(title) {
if (title === undefined) { return }
- const MAX_LABEL_LENGTH = 50
+ const MAX_LABEL_LENGTH = 35
if (title.length > MAX_LABEL_LENGTH) {
title = title.substring(0, MAX_LABEL_LENGTH) + '...'
}
diff --git a/CanvasApp/Panels/Layer.js b/Integrations/Projects/Superalgos/Spaces/Panel-Space/Layer.js
similarity index 77%
rename from CanvasApp/Panels/Layer.js
rename to Integrations/Projects/Superalgos/Spaces/Panel-Space/Layer.js
index 85fd1a020..594a5f6a9 100644
--- a/CanvasApp/Panels/Layer.js
+++ b/Integrations/Projects/Superalgos/Spaces/Panel-Space/Layer.js
@@ -17,7 +17,7 @@ function newLayer() {
exchange: undefined,
bot: undefined,
productDefinition: undefined,
- dataMine: undefined,
+ mine: undefined,
plotterModule: undefined,
exchangeIcon: undefined,
plotterTypeIcon: undefined,
@@ -135,7 +135,7 @@ function newLayer() {
thisObject.networkNode = undefined
thisObject.bot = undefined
thisObject.productDefinition = undefined
- thisObject.dataMine = undefined
+ thisObject.mine = undefined
}
function initialize(callBackFunction) {
@@ -161,20 +161,23 @@ function newLayer() {
'->Layer->' +
'Data Product->' +
'Data Product Folder->Data Product Folder->Data Product Folder->Data Product Folder->Data Product Folder->' +
- 'Bot Products->Data Mine Products->Trading Mine Products->' +
+ 'Bot Products->Data Mine Products->Trading Mine Products->Learning Mine Products->' +
'Market Data Products->Exchange Data Products->' +
- 'Session Reference->Market Trading Products->Exchange Trading Products->' +
- 'Data Mines Data->Trading Mines Data->Data Storage->Network Node->' +
+ 'Trading Session Reference->Learning Session Reference->' +
+ 'Market Trading Products->Exchange Trading Products->' +
+ 'Market Learning Products->Exchange Learning Products->' +
+ 'Data Mines Data->Trading Mines Data->Learning Mines Data->Data Storage->Network Node->' +
'Data Storage->Network Node->' +
'Backtesting Session->Paper Trading Session->Forward Testing Session->Live Trading Session->' +
+ 'Learning Session->' +
'Trading System Reference->Trading Engine Reference->Trading System->Trading Engine->' +
'Market->Market Base Asset->Asset->' +
'Market Quoted Asset->Asset->' +
'Exchange Markets->Crypto Exchange->' +
'Product Definition->' +
'Product Definition Folder->Product Definition Folder->Product Definition Folder->Product Definition Folder->Product Definition Folder->' +
- 'Sensor Bot->Indicator Bot->Trading Bot->' +
- 'Data Mine->Trading Mine->' +
+ 'Sensor Bot->Indicator Bot->Trading Bot->Learning Bot->' +
+ 'Data Mine->Trading Mine->Learning Mine->' +
'Dataset Definition->' +
'Record Definition->Record Property->Formula->' +
'Data Building Procedure->Procedure Loop->Javascript Code->Procedure Initialization->Javascript Code->' +
@@ -206,49 +209,55 @@ function newLayer() {
}
/* Here we validate that we have all the needed information */
- if (findNodeInNodeMesh(thisObject.definition, 'Data Product', undefined, false, true, true, true) === undefined) {
+ if (UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Data Product', undefined, false, true, true, true) === undefined) {
thisObject.payload.uiObject.setErrorMessage('Data Product not Found')
return
}
- if (findNodeInNodeMesh(thisObject.definition, 'Market', undefined, false, true, true, true) === undefined) {
+ if (UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Market', undefined, false, true, true, true) === undefined) {
thisObject.payload.uiObject.setErrorMessage('Market not Found')
return
}
- thisObject.productDefinition = findNodeInNodeMesh(thisObject.definition, 'Product Definition', undefined, false, true, true, true)
+ thisObject.productDefinition = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Product Definition', undefined, false, true, true, true)
if (thisObject.productDefinition === undefined) {
thisObject.payload.uiObject.setErrorMessage('Product Definition not Found')
return
}
- thisObject.bot = findNodeInNodeMesh(thisObject.definition, 'Sensor Bot', undefined, false, true, true, true)
+ thisObject.bot = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Sensor Bot', undefined, false, true, true, true)
if (thisObject.bot === undefined) {
- thisObject.bot = findNodeInNodeMesh(thisObject.definition, 'Indicator Bot', undefined, false, true, true, true)
+ thisObject.bot = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Indicator Bot', undefined, false, true, true, true)
}
if (thisObject.bot === undefined) {
- thisObject.bot = findNodeInNodeMesh(thisObject.definition, 'Trading Bot', undefined, false, true, true, true)
+ thisObject.bot = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Trading Bot', undefined, false, true, true, true)
+ }
+ if (thisObject.bot === undefined) {
+ thisObject.bot = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Learning Bot', undefined, false, true, true, true)
}
if (thisObject.bot === undefined) {
thisObject.payload.uiObject.setErrorMessage('Bot not Found')
return
}
- thisObject.dataMine = findNodeInNodeMesh(thisObject.definition, 'Data Mine', undefined, false, true, true, true)
- if (thisObject.dataMine === undefined) {
- thisObject.dataMine = findNodeInNodeMesh(thisObject.definition, 'Trading Mine', undefined, false, true, true, true)
- if (thisObject.dataMine === undefined) {
- thisObject.payload.uiObject.setErrorMessage('Data Mine or Trading Mine not Found')
- return
+ thisObject.mine = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Data Mine', undefined, false, true, true, true)
+ if (thisObject.mine === undefined) {
+ thisObject.mine = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Trading Mine', undefined, false, true, true, true)
+ if (thisObject.mine === undefined) {
+ thisObject.mine = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Learning Mine', undefined, false, true, true, true)
+ if (thisObject.mine === undefined) {
+ thisObject.payload.uiObject.setErrorMessage('Data Mine or Trading Mine or Learning Mine not Found')
+ return
+ }
}
}
- thisObject.exchange = findNodeInNodeMesh(thisObject.definition, 'Crypto Exchange', undefined, false, true, true, true)
+ thisObject.exchange = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Crypto Exchange', undefined, false, true, true, true)
if (thisObject.exchange === undefined) {
thisObject.payload.uiObject.setErrorMessage('Crypto Exchange not Found')
return
}
- thisObject.baseAsset = findNodeInNodeMesh(thisObject.definition, 'Market Base Asset', undefined, false, true, true, true)
+ thisObject.baseAsset = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Market Base Asset', undefined, false, true, true, true)
if (thisObject.baseAsset !== undefined) {
thisObject.baseAsset = thisObject.baseAsset.referenceParent
}
@@ -257,7 +266,7 @@ function newLayer() {
return
}
- thisObject.quotedAsset = findNodeInNodeMesh(thisObject.definition, 'Market Quoted Asset', undefined, false, true, true, true)
+ thisObject.quotedAsset = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Market Quoted Asset', undefined, false, true, true, true)
if (thisObject.quotedAsset !== undefined) {
thisObject.quotedAsset = thisObject.quotedAsset.referenceParent
}
@@ -266,13 +275,13 @@ function newLayer() {
return
}
- thisObject.plotterModule = findNodeInNodeMesh(thisObject.definition, 'Plotter Module', undefined, false, false, false, true)
+ thisObject.plotterModule = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Plotter Module', undefined, false, false, false, true)
if (thisObject.plotterModule === undefined) {
thisObject.payload.uiObject.setErrorMessage('Plotter Module not Found')
return
}
- thisObject.networkNode = findNodeInNodeMesh(thisObject.definition, 'Network Node', undefined, false, true, true, true)
+ thisObject.networkNode = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Network Node', undefined, false, true, true, true)
if (thisObject.networkNode === undefined) {
thisObject.payload.uiObject.setErrorMessage('Network Node not Found')
return
@@ -287,7 +296,7 @@ function newLayer() {
thisObject.exchangeIcon = getIcon(thisObject.exchange)
if (thisObject.plotterModule.config.icon !== undefined) {
- thisObject.plotterTypeIcon = canvas.designSpace.iconCollection.get(thisObject.plotterModule.config.icon)
+ thisObject.plotterTypeIcon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName('Superalgos', thisObject.plotterModule.config.icon)
}
thisObject.baseAssetIcon = getIcon(thisObject.baseAsset)
@@ -306,9 +315,9 @@ function newLayer() {
}
}
if (iconName !== undefined) {
- icon = canvas.designSpace.iconCollection.get(iconName)
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName('Superalgos', iconName)
} else {
- icon = canvas.designSpace.iconCollection.get(nodeDefinition.icon)
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName('Superalgos', nodeDefinition.icon)
}
return icon
}
@@ -321,7 +330,7 @@ function newLayer() {
function checkStatusAtShutDown() {
/* Mechanism to recover a layer that was left loading the last time the browser was shut dowm. */
- let storedValue = loadPropertyFromNodeConfig(thisObject.payload, 'status')
+ let storedValue = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(thisObject.payload, 'status')
if (storedValue !== undefined) {
if (storedValue === LAYER_STATUS.LOADING) {
resetProgressBars()
@@ -486,7 +495,7 @@ function newLayer() {
if (thisObject.panels.length > 0) {
panelsVisibleButton = newPanelsVisibleButton()
- let storedValue = loadPropertyFromNodeConfig(thisObject.payload, 'showPanels')
+ let storedValue = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(thisObject.payload, 'showPanels')
if (storedValue !== undefined) {
if (storedValue === true || storedValue === false) {
panelsVisibleButton.showPanels = storedValue
@@ -498,7 +507,7 @@ function newLayer() {
}
}
} else {
- savePropertyAtNodeConfig(thisObject.payload, 'showPanels', panelsVisibleButton.showPanels)
+ UI.projects.superalgos.utilities.nodeConfig.savePropertyAtNodeConfig(thisObject.payload, 'showPanels', panelsVisibleButton.showPanels)
}
}
}
@@ -506,7 +515,7 @@ function newLayer() {
function statusPhysics() {
/* We retrieve the stored status at the config. */
try {
- let storedValue = loadPropertyFromNodeConfig(thisObject.payload, 'status')
+ let storedValue = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(thisObject.payload, 'status')
if (storedValue !== undefined) {
if (storedValue !== thisObject.status) {
@@ -547,7 +556,7 @@ function newLayer() {
}
}
- savePropertyAtNodeConfig(thisObject.payload, 'status', thisObject.status)
+ UI.projects.superalgos.utilities.nodeConfig.savePropertyAtNodeConfig(thisObject.payload, 'status', thisObject.status)
let eventData = thisObject
thisObject.container.eventHandler.raiseEvent('Status Changed', eventData)
}
@@ -623,6 +632,9 @@ function newLayer() {
}
function drawLayerDisplay() {
+ if (thisObject.payload === undefined) { return }
+ if (thisObject.payload.node === undefined) { return }
+
let label1 = thisObject.payload.node.name
let label2 = thisObject.exchange.name.substring(0, 15) + ' - ' + thisObject.market
let label3 = thisObject.status.toUpperCase()
@@ -646,15 +658,15 @@ function newLayer() {
opacity: OPACITY
}
- roundedCornersBackground(params)
+ UI.projects.superalgos.utilities.drawPrint.roundedCornersBackground(params)
- let parentLabel1FontSize = loadPropertyFromNodeConfig(thisObject.payload.parentNode.payload, 'label1FontSize')
- let parentLabel2FontSize = loadPropertyFromNodeConfig(thisObject.payload.parentNode.payload, 'label2FontSize')
- let parentLabel3FontSize = loadPropertyFromNodeConfig(thisObject.payload.parentNode.payload, 'label3FontSize')
+ let parentLabel1FontSize = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(thisObject.payload.parentNode.payload, 'label1FontSize')
+ let parentLabel2FontSize = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(thisObject.payload.parentNode.payload, 'label2FontSize')
+ let parentLabel3FontSize = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(thisObject.payload.parentNode.payload, 'label3FontSize')
- let label1FontSize = loadPropertyFromNodeConfig(thisObject.payload, 'label1FontSize')
- let label2FontSize = loadPropertyFromNodeConfig(thisObject.payload, 'label2FontSize')
- let label3FontSize = loadPropertyFromNodeConfig(thisObject.payload, 'label3FontSize')
+ let label1FontSize = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(thisObject.payload, 'label1FontSize')
+ let label2FontSize = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(thisObject.payload, 'label2FontSize')
+ let label3FontSize = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(thisObject.payload, 'label3FontSize')
if (parentLabel1FontSize !== undefined) {
label1FontSize = parentLabel1FontSize
@@ -682,19 +694,19 @@ function newLayer() {
label3FontSize = 9
}
- drawLabel(label1, 1 / 2, 5.2 / 10, -5, 0, label1FontSize, thisObject.container)
- drawLabel(label2, 1 / 2, 8.2 / 10, -5, 0, label2FontSize, thisObject.container)
- drawLabel(label3, 1 / 2, 9.5 / 10, -5, 0, label3FontSize, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(label1, 1 / 2, 5.2 / 10, -5, 0, label1FontSize, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(label2, 1 / 2, 8.2 / 10, -5, 0, label2FontSize, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(label3, 1 / 2, 9.5 / 10, -5, 0, label3FontSize, thisObject.container)
drawProgressBar(marketFileProgressBar, 2, -45 + 18)
drawProgressBar(dailyFileProgressBar, 2, -46 + 18)
drawProgressBar(singleFileProgressBar, 2, -47 + 18)
drawProgressBar(fileSequenceProgressBar, 2, -48 + 18)
- drawIcon(thisObject.exchangeIcon, 1 / 8, 2 / 10, 0, 0, 14, thisObject.container)
- drawIcon(thisObject.plotterTypeIcon, 7 / 8, 2 / 10, 0, 0, 14, thisObject.container)
- drawIcon(thisObject.baseAssetIcon, 3.4 / 8, 2 / 10, 0, 0, 14, thisObject.container)
- drawIcon(thisObject.quotedAssetIcon, 4.6 / 8, 2 / 10, 0, 0, 14, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(thisObject.exchangeIcon, 1 / 8, 2 / 10, 0, 0, 14, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(thisObject.plotterTypeIcon, 7 / 8, 2 / 10, 0, 0, 14, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(thisObject.baseAssetIcon, 3.4 / 8, 2 / 10, 0, 0, 14, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(thisObject.quotedAssetIcon, 4.6 / 8, 2 / 10, 0, 0, 14, thisObject.container)
}
}
diff --git a/CanvasApp/Panels/LayersPanel.js b/Integrations/Projects/Superalgos/Spaces/Panel-Space/LayersPanel.js
similarity index 89%
rename from CanvasApp/Panels/LayersPanel.js
rename to Integrations/Projects/Superalgos/Spaces/Panel-Space/LayersPanel.js
index 9fff6cf45..050fa9946 100644
--- a/CanvasApp/Panels/LayersPanel.js
+++ b/Integrations/Projects/Superalgos/Spaces/Panel-Space/LayersPanel.js
@@ -73,12 +73,12 @@ function newLayersPanel() {
thisObject.container.frame.height = headerHeight
let position = { // Default position
- x: canvas.chartingSpace.viewport.visibleArea.topLeft.x,
- y: canvas.chartingSpace.viewport.visibleArea.topLeft.y
+ x: UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.x,
+ y: UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.y
}
thisObject.container.frame.position = position
- loadFrame(thisObject.payload, thisObject.container.frame)
+ UI.projects.superalgos.utilities.loadSaveFrame.loadFrame(thisObject.payload, thisObject.container.frame)
thisObject.upDownButton = newUpDownButton()
thisObject.upDownButton.parentContainer = thisObject.container
@@ -110,7 +110,7 @@ function newLayersPanel() {
}
function saveObjectStateVisibleLayers() {
- savePropertyAtNodeConfig(thisObject.payload, 'visibleLayers', desiredVisibleLayers)
+ UI.projects.superalgos.utilities.nodeConfig.savePropertyAtNodeConfig(thisObject.payload, 'visibleLayers', desiredVisibleLayers)
}
function saveObjectStatePanelLocation() {
@@ -118,13 +118,13 @@ function newLayersPanel() {
upOrDown: thisObject.upDownButton.status,
leftOrRight: thisObject.leftRightButton.status
}
- savePropertyAtNodeConfig(thisObject.payload, 'panelLocation', panelLocation)
+ UI.projects.superalgos.utilities.nodeConfig.savePropertyAtNodeConfig(thisObject.payload, 'panelLocation', panelLocation)
}
function readObjectState() {
let storedValue
- storedValue = loadPropertyFromNodeConfig(thisObject.payload, 'visibleLayers')
+ storedValue = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(thisObject.payload, 'visibleLayers')
if (isNaN(storedValue) || storedValue === null || storedValue === undefined) {
// not using this value
@@ -143,7 +143,7 @@ function newLayersPanel() {
}
}
- storedValue = loadPropertyFromNodeConfig(thisObject.payload, 'panelLocation')
+ storedValue = UI.projects.superalgos.utilities.nodeConfig.loadPropertyFromNodeConfig(thisObject.payload, 'panelLocation')
if (storedValue === null || storedValue === undefined) {
// not using this value
@@ -229,7 +229,7 @@ function newLayersPanel() {
function panelSizePhysics() {
if (isInitialized === false || thisObject.isHidden === true) { return }
- let viewPortHeight = canvas.chartingSpace.viewport.visibleArea.bottomLeft.y - canvas.chartingSpace.viewport.visibleArea.topLeft.y
+ let viewPortHeight = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.y
if (viewPortHeight < headerHeight) {
thisObject.visible = false
@@ -346,7 +346,7 @@ function newLayersPanel() {
thisObject.upDownButton.physics()
thisObject.leftRightButton.physics()
- saveFrame(thisObject.payload, thisObject.container.frame)
+ UI.projects.superalgos.utilities.loadSaveFrame.saveFrame(thisObject.payload, thisObject.container.frame)
syncWithConfigPhysics()
/*
@@ -375,7 +375,7 @@ function newLayersPanel() {
function syncWithDesignerLayers() {
if (thisObject.payload.node === undefined) { return }
let layerManager = thisObject.payload.node
- let layers = nodeBranchToArray(layerManager, 'Layer')
+ let layers = UI.projects.superalgos.utilities.branches.nodeBranchToArray(layerManager, 'Layer')
for (let p = 0; p < layers.length; p++) {
let layerNode = layers[p]
@@ -406,8 +406,8 @@ function newLayersPanel() {
function removeFromLocalLayers(id) {
for (let i = 0; i < localLayers.length; i++) {
let layer = localLayers[i]
- if (layer.payload === undefined) {continue}
- if (layer.payload.node === undefined) {continue}
+ if (layer.payload === undefined) { continue }
+ if (layer.payload.node === undefined) { continue }
if (layer.payload.node.id === id) {
thisObject.layers.push(layer)
localLayers.splice(i, 1)
@@ -450,8 +450,8 @@ function newLayersPanel() {
let label2 = thisObject.payload.node.payload.parentNode.name.substring(0, 18)
let label3 = ''
- let icon1 = canvas.designSpace.iconByUiObjectType.get(thisObject.payload.node.payload.parentNode.payload.parentNode.type)
- let icon2 = canvas.designSpace.iconByUiObjectType.get(thisObject.payload.node.payload.parentNode.type)
+ let icon1 = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.payload.parentNode.payload.parentNode.project, thisObject.payload.node.payload.parentNode.payload.parentNode.type)
+ let icon2 = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType(thisObject.payload.node.payload.parentNode.project, thisObject.payload.node.payload.parentNode.type)
let backgroundColor = UI_COLOR.BLACK
@@ -465,13 +465,13 @@ function newLayersPanel() {
opacity: 1
}
- roundedCornersBackground(params)
+ UI.projects.superalgos.utilities.drawPrint.roundedCornersBackground(params)
- drawLabel(label1, 1 / 2, 0, 0, 15, 9, thisObject.container)
- drawLabel(label2, 1 / 2, 0, 0, 30, 9, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(label1, 1 / 2, 0, 0, 15, 9, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(label2, 1 / 2, 0, 0, 30, 9, thisObject.container)
- drawIcon(icon1, 1 / 8, 0, 0, 20, 28, thisObject.container)
- drawIcon(icon2, 7 / 8, 0, 0, 20, 28, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(icon1, 1 / 8, 0, 0, 20, 28, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(icon2, 7 / 8, 0, 0, 20, 28, thisObject.container)
}
function drawScrollBar() {
diff --git a/CanvasApp/Panels/LeftRightButton.js b/Integrations/Projects/Superalgos/Spaces/Panel-Space/LeftRightButton.js
similarity index 96%
rename from CanvasApp/Panels/LeftRightButton.js
rename to Integrations/Projects/Superalgos/Spaces/Panel-Space/LeftRightButton.js
index 30629ad8e..f64b7349e 100644
--- a/CanvasApp/Panels/LeftRightButton.js
+++ b/Integrations/Projects/Superalgos/Spaces/Panel-Space/LeftRightButton.js
@@ -58,7 +58,7 @@ function newLeftRightButton() {
leftPosition.y = thisObject.parentContainer.frame.position.y
rightPosition.x = thisObject.parentContainer.frame.position.x
- rightPosition.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y
+ rightPosition.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y
transitionPosition.x = leftPosition.x
transitionPosition.y = leftPosition.y
@@ -95,10 +95,10 @@ function newLeftRightButton() {
function physics() {
if (isInitialized === false) { return }
- leftPosition.x = canvas.chartingSpace.viewport.visibleArea.topLeft.x
+ leftPosition.x = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.x
leftPosition.y = thisObject.parentContainer.frame.position.y
- rightPosition.x = canvas.chartingSpace.viewport.visibleArea.bottomRight.x
+ rightPosition.x = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.x
rightPosition.y = thisObject.parentContainer.frame.position.y
if (thisObject.status === 'going right') {
diff --git a/CanvasApp/Spaces/PanelsSpace.js b/Integrations/Projects/Superalgos/Spaces/Panel-Space/PanelSpace.js
similarity index 84%
rename from CanvasApp/Spaces/PanelsSpace.js
rename to Integrations/Projects/Superalgos/Spaces/Panel-Space/PanelSpace.js
index be5b6e6ad..c8b2ee86f 100644
--- a/CanvasApp/Spaces/PanelsSpace.js
+++ b/Integrations/Projects/Superalgos/Spaces/Panel-Space/PanelSpace.js
@@ -3,8 +3,7 @@
The Panel Space y the place wehre all panels live, no matter who create them.
*/
-
-function newPanelsSpace() {
+function newSuperalgosPanelSpace() {
let thisObject = {
visible: true,
container: undefined,
@@ -43,8 +42,8 @@ function newPanelsSpace() {
case 'Layers Panel':
{
panel = newLayersPanel()
- panel.fitFunction = canvas.chartingSpace.fitFunction
- panel.container.isVisibleFunction = canvas.chartingSpace.isThisPointVisible
+ panel.fitFunction = UI.projects.superalgos.spaces.chartingSpace.fitFunction
+ panel.container.isVisibleFunction = UI.projects.superalgos.spaces.chartingSpace.isThisPointVisible
panel.type = 'Layers Panel'
break
}
@@ -52,14 +51,14 @@ function newPanelsSpace() {
{
if (pParameters.panelNode.config.isLegacy !== true) {
panel = newPlotterPanel()
- panel.fitFunction = canvas.chartingSpace.fitFunction
- panel.container.isVisibleFunction = canvas.chartingSpace.isThisPointVisible
+ panel.fitFunction = UI.projects.superalgos.spaces.chartingSpace.fitFunction
+ panel.container.isVisibleFunction = UI.projects.superalgos.spaces.chartingSpace.isThisPointVisible
panel.session = pSession
panel.initialize(pParameters.panelNode)
} else {
- panel = getNewPlotterPanel(pParameters.dataMine, pParameters.plotterCodeName, pParameters.moduleCodeName, pParameters.panelNode.config.codeName)
- panel.fitFunction = canvas.chartingSpace.fitFunction
- panel.container.isVisibleFunction = canvas.chartingSpace.isThisPointVisible
+ panel = getNewPlotterPanel(pParameters.mine, pParameters.plotterCodeName, pParameters.moduleCodeName, pParameters.panelNode.config.codeName)
+ panel.fitFunction = UI.projects.superalgos.spaces.chartingSpace.fitFunction
+ panel.container.isVisibleFunction = UI.projects.superalgos.spaces.chartingSpace.isThisPointVisible
panel.session = pSession
panel.initialize()
}
@@ -130,7 +129,7 @@ function newPanelsSpace() {
if (thisObject.panels !== undefined) {
for (let i = 0; i < thisObject.panels.length; i++) {
let panel = thisObject.panels[i]
- let owner = canvas.chartingSpace.inViewport.get(panel.owner)
+ let owner = UI.projects.superalgos.spaces.chartingSpace.inViewport.get(panel.owner)
if (owner !== undefined) {
if (panel.physics !== undefined) {
panel.physics()
@@ -162,8 +161,8 @@ function newPanelsSpace() {
centerPoint.y = centerPoint.y + panel.container.frame.height / 2
/* Lets see which quadrant the panel is at */
- let verticalLine = (canvas.chartingSpace.viewport.visibleArea.topRight.x - canvas.chartingSpace.viewport.visibleArea.topLeft.x) / 2 + canvas.chartingSpace.viewport.visibleArea.topLeft.x
- let horizontalLine = (canvas.chartingSpace.viewport.visibleArea.bottomRight.y - canvas.chartingSpace.viewport.visibleArea.topRight.y) / 2 + canvas.chartingSpace.viewport.visibleArea.topRight.y
+ let verticalLine = (UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight.x - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.x) / 2 + UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.x
+ let horizontalLine = (UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight.y) / 2 + UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight.y
if (panel.upDownButton !== undefined) {
if (panel.upDownButton.status === 'up') {
@@ -228,18 +227,18 @@ function newPanelsSpace() {
panel.container.frame.position.x = browserCanvas.width - panel.container.frame.width
}
}
- if (panel.container.frame.height <= canvas.chartingSpace.viewport.visibleArea.bottomRight.y - canvas.chartingSpace.viewport.visibleArea.topRight.y) {
+ if (panel.container.frame.height <= UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight.y) {
if (panel.gravitatesTowards === 'topLeft' || panel.gravitatesTowards === 'topRight') {
panel.container.frame.position.y = panel.container.frame.position.y - panel.container.speed.y
isOverlapping(i, panel.container)
- if (panel.container.frame.position.y < canvas.chartingSpace.viewport.visibleArea.topLeft.y) {
- panel.container.frame.position.y = canvas.chartingSpace.viewport.visibleArea.topLeft.y
+ if (panel.container.frame.position.y < UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.y) {
+ panel.container.frame.position.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.y
}
} else {
panel.container.frame.position.y = panel.container.frame.position.y + panel.container.speed.y
isOverlapping(i, panel.container)
- if (panel.container.frame.position.y + panel.container.frame.height > canvas.chartingSpace.viewport.visibleArea.bottomRight.y) {
- panel.container.frame.position.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - panel.container.frame.height
+ if (panel.container.frame.position.y + panel.container.frame.height > UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y) {
+ panel.container.frame.position.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - panel.container.frame.height
}
}
}
@@ -343,7 +342,7 @@ function newPanelsSpace() {
for (let i = 0; i < thisObject.panels.length; i++) {
let panel = thisObject.panels[i]
- let owner = canvas.chartingSpace.inViewport.get(panel.owner)
+ let owner = UI.projects.superalgos.spaces.chartingSpace.inViewport.get(panel.owner)
if (owner !== undefined) {
if (panel.isVisible === true && panel.isHidden === false) {
panel.draw()
@@ -354,6 +353,7 @@ function newPanelsSpace() {
function getContainer(point, purpose) {
if (thisObject.visible !== true) { return }
+ if (purpose === GET_CONTAINER_PURPOSE.DRAGGING && point.shiftKey !== false) {return}
let container
/*
@@ -362,7 +362,7 @@ function newPanelsSpace() {
*/
for (let i = thisObject.panels.length - 1; i >= 0; i--) {
let panel = thisObject.panels[i]
- let owner = canvas.chartingSpace.inViewport.get(panel.owner)
+ let owner = UI.projects.superalgos.spaces.chartingSpace.inViewport.get(panel.owner)
if (owner !== undefined) {
if (panel.isVisible === true && panel.isHidden === false) {
container = panel.getContainer(point, purpose)
diff --git a/CanvasApp/Panels/PanelsVisibleButton.js b/Integrations/Projects/Superalgos/Spaces/Panel-Space/PanelsVisibleButton.js
similarity index 84%
rename from CanvasApp/Panels/PanelsVisibleButton.js
rename to Integrations/Projects/Superalgos/Spaces/Panel-Space/PanelsVisibleButton.js
index ddede0157..2b4b093dc 100644
--- a/CanvasApp/Panels/PanelsVisibleButton.js
+++ b/Integrations/Projects/Superalgos/Spaces/Panel-Space/PanelsVisibleButton.js
@@ -60,7 +60,7 @@ function newPanelsVisibleButton() {
function setPanelVisibility() {
for (let i = 0; i < thisObject.panels.length; i++) {
- let panel = canvas.panelsSpace.getPanel(thisObject.panels[i])
+ let panel = UI.projects.superalgos.spaces.panelSpace.getPanel(thisObject.panels[i])
panel.isVisible = thisObject.showPanels
}
}
@@ -74,11 +74,11 @@ function newPanelsVisibleButton() {
function draw() {
let icon
if (thisObject.showPanels === true) {
- icon = canvas.designSpace.iconCollection.get('plotter-panel')
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'plotter-panel')
} else {
- icon = canvas.designSpace.iconCollection.get('toggle-panel-off')
+ icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndName( 'Superalgos', 'toggle-panel-off')
}
- drawIcon(icon, 1 / 2, 1 / 2, 0, 0, 14, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(icon, 1 / 2, 1 / 2, 0, 0, 14, thisObject.container)
}
}
diff --git a/CanvasApp/Panels/PlotterPanel.js b/Integrations/Projects/Superalgos/Spaces/Panel-Space/PlotterPanel.js
similarity index 79%
rename from CanvasApp/Panels/PlotterPanel.js
rename to Integrations/Projects/Superalgos/Spaces/Panel-Space/PlotterPanel.js
index ffdf420b4..5cfe5b9be 100644
--- a/CanvasApp/Panels/PlotterPanel.js
+++ b/Integrations/Projects/Superalgos/Spaces/Panel-Space/PlotterPanel.js
@@ -46,8 +46,8 @@ function newPlotterPanel() {
thisObject.container.frame.width = UI_PANEL.WIDTH.NORMAL
thisObject.container.frame.height = UI_PANEL.HEIGHT.NORMAL
- thisObject.container.frame.position.x = canvas.chartingSpace.viewport.visibleArea.topRight.x - thisObject.container.frame.width - thisObject.container.frame.width * Math.random() * 8
- thisObject.container.frame.position.y = canvas.chartingSpace.viewport.visibleArea.bottomLeft.y - thisObject.container.frame.height - thisObject.container.frame.height * Math.random() * 1.5
+ thisObject.container.frame.position.x = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight.x - thisObject.container.frame.width - thisObject.container.frame.width * Math.random() * 8
+ thisObject.container.frame.position.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.y - thisObject.container.frame.height - thisObject.container.frame.height * Math.random() * 1.5
upDownButton = newUpDownButton()
upDownButton.parentContainer = thisObject.container
@@ -93,7 +93,8 @@ function newPlotterPanel() {
const frameBodyHeight = thisObject.container.frame.getBodyHeight()
const frameTitleHeight = thisObject.container.frame.height - frameBodyHeight
- const X_AXIS = thisObject.container.frame.width / 2
+ const X_AXIS_A = thisObject.container.frame.width * 1 / 8
+ const X_AXIS_B = thisObject.container.frame.width * 7 / 8
const Y_AXIS = frameTitleHeight + frameBodyHeight / 2
const PANEL_HEIGHT = UI_PANEL.HEIGHT.NORMAL
@@ -168,7 +169,7 @@ function newPlotterPanel() {
let opacity = '1.00'
let fontSize = 14
- let paletteColor
+ let paletteColor
if (panelData.textStyle !== undefined) {
if (panelData.textStyle.config.fontSize !== undefined) { fontSize = panelData.textStyle.config.fontSize }
@@ -176,8 +177,37 @@ function newPlotterPanel() {
if (panelData.textStyle.config.paletteColor !== undefined) { paletteColor = eval(panelData.textStyle.config.paletteColor) }
}
- printLabel(labelText, X_AXIS, UI_PANEL.HEIGHT.NORMAL * labelPosition / 100 / heightFactor, '0.60', undefined, undefined, true, thisObject.container, thisObject.fitFunction)
- printLabel(value, X_AXIS, UI_PANEL.HEIGHT.NORMAL * valuePosition / 100 / heightFactor, opacity, fontSize, paletteColor, true, thisObject.container, thisObject.fitFunction, false, true)
+ UI.projects.superalgos.utilities.drawPrint.printLabel(
+ labelText,
+ X_AXIS_A,
+ undefined,
+ undefined,
+ UI_PANEL.HEIGHT.NORMAL * labelPosition / 100 / heightFactor,
+ '0.60',
+ undefined,
+ undefined,
+ 'Left',
+ thisObject.container,
+ thisObject.fitFunction
+ )
+
+ UI.projects.superalgos.utilities.drawPrint.printLabel(
+ value,
+ X_AXIS_A,
+ X_AXIS_B,
+ undefined,
+ UI_PANEL.HEIGHT.NORMAL * valuePosition / 100 / heightFactor,
+ opacity,
+ fontSize,
+ paletteColor,
+ 'Left Numbers at Right',
+ thisObject.container,
+ thisObject.fitFunction,
+ false,
+ true,
+ undefined,
+ true
+ )
}
}
}
diff --git a/CanvasApp/Panels/UpDownButton.js b/Integrations/Projects/Superalgos/Spaces/Panel-Space/UpDownButton.js
similarity index 96%
rename from CanvasApp/Panels/UpDownButton.js
rename to Integrations/Projects/Superalgos/Spaces/Panel-Space/UpDownButton.js
index ffdca4eaa..d4104e3a5 100644
--- a/CanvasApp/Panels/UpDownButton.js
+++ b/Integrations/Projects/Superalgos/Spaces/Panel-Space/UpDownButton.js
@@ -58,7 +58,7 @@ function newUpDownButton() {
upPosition.y = thisObject.parentContainer.frame.position.y
downPosition.x = thisObject.parentContainer.frame.position.x
- downPosition.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y
+ downPosition.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y
transitionPosition.x = upPosition.x
transitionPosition.y = upPosition.y
@@ -96,10 +96,10 @@ function newUpDownButton() {
if (isInitialized === false) { return }
upPosition.x = thisObject.parentContainer.frame.position.x
- upPosition.y = canvas.chartingSpace.viewport.visibleArea.topRight.y
+ upPosition.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight.y
downPosition.x = thisObject.parentContainer.frame.position.x
- downPosition.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y
+ downPosition.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y
if (thisObject.status === 'going down') {
if (transitionPosition.y < downPosition.y) {
diff --git a/CanvasApp/SideSpace/ListItem.js b/Integrations/Projects/Superalgos/Spaces/Side-Space/ListItem.js
similarity index 78%
rename from CanvasApp/SideSpace/ListItem.js
rename to Integrations/Projects/Superalgos/Spaces/Side-Space/ListItem.js
index fdb2f3478..a79306b39 100644
--- a/CanvasApp/SideSpace/ListItem.js
+++ b/Integrations/Projects/Superalgos/Spaces/Side-Space/ListItem.js
@@ -24,6 +24,7 @@ function newListItem() {
thisObject.container.frame.height = SIDE_PANEL_WIDTH * 0.75
let name
+ let project
let type
let onMouseOverEventSubscriptionId
@@ -43,8 +44,9 @@ function newListItem() {
thisObject.fitFunction = undefined
}
- function initialize(pName, pType) {
+ function initialize(pName, pProject, pType) {
name = pName
+ project = pProject
type = pType
onMouseOverEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseOver', onMouseOver)
@@ -67,7 +69,7 @@ function newListItem() {
}
function onMouseClick(event) {
- canvas.designSpace.workspace.replaceWorkspaceByLoadingOne(name)
+ UI.projects.superalgos.spaces.designSpace.workspace.replaceWorkspaceByLoadingOne(project, name)
}
function physics() {
@@ -75,7 +77,7 @@ function newListItem() {
}
function draw() {
- let icon = canvas.designSpace.iconByUiObjectType.get(type)
+ let icon = UI.projects.superalgos.spaces.designSpace.getIconByProjectAndType('Superalgos', type)
let backgroundColor = UI_COLOR.BLACK
let labelColor
@@ -98,10 +100,10 @@ function newListItem() {
labelColor = UI_COLOR.TITANIUM_YELLOW
}
- roundedCornersBackground(params)
+ UI.projects.superalgos.utilities.drawPrint.roundedCornersBackground(params)
- drawLabel(name, 1 / 2, 3.0 / 10, -5, 0, 15, thisObject.container, labelColor)
- drawLabel(type, 1 / 2, 7.2 / 10, -5, 0, 15, thisObject.container, labelColor)
- drawIcon(icon, 1 / 2, 1 / 2, 0, 0, 80, thisObject.container)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(name, 1 / 2, 3.0 / 10, -5, 0, 15, thisObject.container, labelColor)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(type, 1 / 2, 7.2 / 10, -5, 0, 15, thisObject.container, labelColor)
+ UI.projects.superalgos.utilities.drawPrint.drawIcon(icon, 1 / 2, 1 / 2, 0, 0, 80, thisObject.container)
}
}
diff --git a/CanvasApp/SideSpace/ListView.js b/Integrations/Projects/Superalgos/Spaces/Side-Space/ListView.js
similarity index 95%
rename from CanvasApp/SideSpace/ListView.js
rename to Integrations/Projects/Superalgos/Spaces/Side-Space/ListView.js
index c1f49199b..653fe2c2f 100644
--- a/CanvasApp/SideSpace/ListView.js
+++ b/Integrations/Projects/Superalgos/Spaces/Side-Space/ListView.js
@@ -90,7 +90,7 @@ function newListView() {
function turnOn() {
firstVisibleListItem = 1
- callServer(undefined, 'ListWorkspaces', onResponse)
+ callWebServer(undefined, 'ListWorkspaces', onResponse)
function onResponse(err, text) {
if (err && err.result !== GLOBAL.DEFAULT_OK_RESPONSE.result) {
@@ -101,9 +101,10 @@ function newListView() {
let workspacelist = JSON.parse(text)
thisObject.listItems = []
for (let i = 0; i < workspacelist.length; i++) {
- let workspace = workspacelist[i].replace('.json', '')
+ let project = workspacelist[i][0]
+ let workspace = workspacelist[i][1].replace('.json', '')
let listItem = newListItem()
- listItem.initialize(workspace, 'Workspace')
+ listItem.initialize(workspace, project, 'Workspace')
listItem.container.connectToParent(thisObject.container, false, false)
thisObject.listItems.push(listItem)
@@ -216,9 +217,9 @@ function newListView() {
opacity: 1
}
- roundedCornersBackground(params)
+ UI.projects.superalgos.utilities.drawPrint.roundedCornersBackground(params)
- drawLabel(label, 1 / 2, 0, 0, 25, 15, thisObject.container, UI_COLOR.BLACK)
+ UI.projects.superalgos.utilities.drawPrint.drawLabel(label, 1 / 2, 0, 0, 25, 15, thisObject.container, UI_COLOR.BLACK)
}
function drawScrollBar() {
diff --git a/CanvasApp/SideSpace/SidePanelTab.js b/Integrations/Projects/Superalgos/Spaces/Side-Space/SidePanelTab.js
similarity index 97%
rename from CanvasApp/SideSpace/SidePanelTab.js
rename to Integrations/Projects/Superalgos/Spaces/Side-Space/SidePanelTab.js
index f201c27b5..3b86f7c2d 100644
--- a/CanvasApp/SideSpace/SidePanelTab.js
+++ b/Integrations/Projects/Superalgos/Spaces/Side-Space/SidePanelTab.js
@@ -122,8 +122,8 @@ function newSidePanelTab() {
}
function positionPhysics() {
- if (canvas.chartingSpace.viewport !== undefined) {
- thisObject.container.frame.position.y = browserCanvas.height / 2 - TAB_HEIGHT / 2 // TOP_SPACE_HEIGHT + canvas.chartingSpace.viewport.marginAmount + TAB_HEIGHT * thisObject.index
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport !== undefined) {
+ thisObject.container.frame.position.y = browserCanvas.height / 2 - TAB_HEIGHT / 2 // TOP_SPACE_HEIGHT + UI.projects.superalgos.spaces.chartingSpace.viewport.marginAmount + TAB_HEIGHT * thisObject.index
}
}
diff --git a/CanvasApp/Spaces/SideSpace.js b/Integrations/Projects/Superalgos/Spaces/Side-Space/SideSpace.js
similarity index 99%
rename from CanvasApp/Spaces/SideSpace.js
rename to Integrations/Projects/Superalgos/Spaces/Side-Space/SideSpace.js
index b2ebe1f87..deba8d0f4 100644
--- a/CanvasApp/Spaces/SideSpace.js
+++ b/Integrations/Projects/Superalgos/Spaces/Side-Space/SideSpace.js
@@ -1,4 +1,4 @@
-function newSideSpace() {
+function newSuperalgosSideSpace() {
const MODULE_NAME = 'Side Space'
let thisObject = {
sidePanelTab: undefined,
diff --git a/CanvasApp/Spaces/TopSpace.js b/Integrations/Projects/Superalgos/Spaces/Top-Space/TopSpace.js
similarity index 94%
rename from CanvasApp/Spaces/TopSpace.js
rename to Integrations/Projects/Superalgos/Spaces/Top-Space/TopSpace.js
index 339eabdb8..aaa676871 100644
--- a/CanvasApp/Spaces/TopSpace.js
+++ b/Integrations/Projects/Superalgos/Spaces/Top-Space/TopSpace.js
@@ -1,5 +1,5 @@
-function newTopSpace() {
+function newSuperalgosTopSpace() {
let thisObject = {
container: undefined,
draw: draw,
@@ -45,7 +45,7 @@ function newTopSpace() {
thisObject.container.frame.position.x = 0
try {
- thisObject.container.frame.position.y = canvas.chartingSpace.viewport.visibleArea.bottomLeft.y
+ thisObject.container.frame.position.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.y
} catch (e) { }
}
diff --git a/CanvasApp/Spaces/TutorialSpace.js b/Integrations/Projects/Superalgos/Spaces/Tutorial-Space/TutorialSpace.js
similarity index 91%
rename from CanvasApp/Spaces/TutorialSpace.js
rename to Integrations/Projects/Superalgos/Spaces/Tutorial-Space/TutorialSpace.js
index 41402a9f1..0091438f8 100644
--- a/CanvasApp/Spaces/TutorialSpace.js
+++ b/Integrations/Projects/Superalgos/Spaces/Tutorial-Space/TutorialSpace.js
@@ -1,4 +1,4 @@
-function newTutorialSpace() {
+function newSuperalgosTutorialSpace() {
const MODULE_NAME = 'Tutorial Space'
let thisObject = {
stop: stop,
@@ -174,11 +174,11 @@ function newTutorialSpace() {
}
if (totalZoomSteps > 0) {
if (currentZoomStep < totalZoomSteps) {
- canvas.chartingSpace.viewport.onMouseWheel(event)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.onMouseWheel(event)
}
} else {
if (currentZoomStep > totalZoomSteps) {
- canvas.chartingSpace.viewport.onMouseWheel(event)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.onMouseWheel(event)
}
}
}
@@ -188,7 +188,7 @@ function newTutorialSpace() {
if (currentNode === undefined) { return }
let config = JSON.parse(currentNode.config)
if (config.viewportZoomAtCenter !== undefined) {
- canvas.chartingSpace.viewport.zoomAtCenter(config.viewportZoomAtCenter)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.zoomAtCenter(config.viewportZoomAtCenter)
}
}
@@ -241,7 +241,13 @@ function newTutorialSpace() {
if (currentImageName === newImageName) { return }
currentImageName = newImageName
- htmlImage.src = 'Images/Icons/style-01/' + currentImageName + '.png'
+ let webParam
+ if (currentImageName.indexOf('/') >= 0) {
+ webParam = 'Icons/' + currentImageName + '.png'
+ } else {
+ webParam = 'Icons/' + 'Superalgos' + '/' + currentImageName + '.png'
+ }
+ htmlImage.src = webParam
htmlImage.width = "100"
htmlImage.height = "100"
}
@@ -262,14 +268,14 @@ function newTutorialSpace() {
/*
This forces the tutorial to close the documentation panel and to keep it closed.
*/
- canvas.docSpace.sidePanelTab.close()
+ UI.projects.superalgos.spaces.docSpace.sidePanelTab.close()
return
}
- canvas.docSpace.sidePanelTab.open()
+ UI.projects.superalgos.spaces.docSpace.sidePanelTab.open()
if (newDocumentationURL === currentDocumentationURL) { return }
currentDocumentationURL = newDocumentationURL
- canvas.docSpace.navigateTo(currentDocumentationURL)
+ UI.projects.superalgos.spaces.docSpace.navigateTo(currentDocumentationURL)
}
}
@@ -288,7 +294,7 @@ function newTutorialSpace() {
This forces the tutorial to close the workspaces panel and to keep it closed.
*/
if (workspacesCounter === 5) {
- canvas.sideSpace.sidePanelTab.close()
+ UI.projects.superalgos.spaces.sideSpace.sidePanelTab.close()
}
return
}
@@ -297,7 +303,7 @@ function newTutorialSpace() {
This forces the tutorial to open the workspaces panel and to keep it closed.
*/
if (workspacesCounter === 5) {
- canvas.sideSpace.sidePanelTab.open()
+ UI.projects.superalgos.spaces.sideSpace.sidePanelTab.open()
}
return
}
@@ -320,7 +326,7 @@ function newTutorialSpace() {
/*
This forces the tutorial to close the charting space and to keep it closed.
*/
- canvas.cockpitSpace.toTop()
+ UI.projects.superalgos.spaces.cockpitSpace.toTop()
return
}
case "toMiddle": {
@@ -328,14 +334,14 @@ function newTutorialSpace() {
This forces the tutorial to share the screen half with the designer and half
with the charting space and force it in that way.
*/
- canvas.cockpitSpace.toMiddle()
+ UI.projects.superalgos.spaces.cockpitSpace.toMiddle()
return
}
case "toBottom": {
/*
This forces the tutorial to fully open the charting space and to keep it open.
*/
- canvas.cockpitSpace.toBottom()
+ UI.projects.superalgos.spaces.cockpitSpace.toBottom()
return
}
}
@@ -364,7 +370,7 @@ function newTutorialSpace() {
currentNode.payload.referenceParent.payload.floatingObject.unCollapseParent()
}
if (positionAtNodeCounter < 100) {
- canvas.floatingSpace.positionAtNode(currentNode.payload.referenceParent)
+ UI.projects.superalgos.spaces.floatingSpace.positionAtNode(currentNode.payload.referenceParent)
}
}
if (
@@ -516,7 +522,7 @@ function newTutorialSpace() {
config.keyPressedTimeMachineReferenceParent !== undefined
) {
if (currentNode.payload.referenceParent.type === 'Time Machine') {
- let timeMachine = canvas.chartingSpace.findTimeMachine(currentNode.payload.referenceParent)
+ let timeMachine = UI.projects.superalgos.spaces.chartingSpace.findTimeMachine(currentNode.payload.referenceParent)
if (timeMachine !== undefined) {
timeMachineKeyPressedCounter++
if (timeMachineKeyPressedCounter === 10) {
@@ -536,9 +542,9 @@ function newTutorialSpace() {
config.viewportCenterReferenceParent === true
) {
if (currentNode.payload.referenceParent.type === 'Time Machine') {
- let timeMachine = canvas.chartingSpace.findTimeMachine(currentNode.payload.referenceParent)
+ let timeMachine = UI.projects.superalgos.spaces.chartingSpace.findTimeMachine(currentNode.payload.referenceParent)
if (timeMachine !== undefined && viewportCentered === false) {
- canvas.chartingSpace.viewport.displaceToContainer(timeMachine.container)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.displaceToContainer(timeMachine.container)
viewportCentered = true
}
}
@@ -547,7 +553,7 @@ function newTutorialSpace() {
config.repositionAtTimeMachineReferenceParent === true
) {
if (currentNode.payload.referenceParent.type === 'Time Machine') {
- let timeMachine = canvas.chartingSpace.findTimeMachine(currentNode.payload.referenceParent)
+ let timeMachine = UI.projects.superalgos.spaces.chartingSpace.findTimeMachine(currentNode.payload.referenceParent)
if (timeMachine !== undefined) {
repositionAtTimeMachineCounter++
switch (true) {
@@ -555,11 +561,11 @@ function newTutorialSpace() {
let event = {
delta: -1
}
- canvas.chartingSpace.viewport.onMouseWheel(event)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.onMouseWheel(event)
break
}
case (repositionAtTimeMachineCounter === 30): {
- canvas.chartingSpace.viewport.displaceToContainer(timeMachine.container)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.displaceToContainer(timeMachine.container)
break
}
case (repositionAtTimeMachineCounter === 60): {
@@ -574,11 +580,11 @@ function newTutorialSpace() {
break
}
case (repositionAtTimeMachineCounter === 90): {
- canvas.chartingSpace.viewport.displaceToContainer(timeMachine.container)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.displaceToContainer(timeMachine.container)
break
}
case (repositionAtTimeMachineCounter === 120): {
- canvas.chartingSpace.viewport.zoomAtCenter(8)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.zoomAtCenter(8)
break
}
}
@@ -589,7 +595,7 @@ function newTutorialSpace() {
config.repositionAtTimeMachineNoZoomReferenceParent === true
) {
if (currentNode.payload.referenceParent.type === 'Time Machine') {
- let timeMachine = canvas.chartingSpace.findTimeMachine(currentNode.payload.referenceParent)
+ let timeMachine = UI.projects.superalgos.spaces.chartingSpace.findTimeMachine(currentNode.payload.referenceParent)
if (timeMachine !== undefined) {
repositionAtTimeMachineCounter++
switch (true) {
@@ -597,11 +603,11 @@ function newTutorialSpace() {
let event = {
delta: -1
}
- canvas.chartingSpace.viewport.onMouseWheel(event)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.onMouseWheel(event)
break
}
case (repositionAtTimeMachineCounter === 30): {
- canvas.chartingSpace.viewport.displaceToContainer(timeMachine.container)
+ UI.projects.superalgos.spaces.chartingSpace.viewport.displaceToContainer(timeMachine.container)
break
}
}
@@ -717,7 +723,7 @@ function newTutorialSpace() {
let tutorial = {
status: 'Skipped'
}
- saveTutorial(currentNode.payload, tutorial)
+ UI.projects.superalgos.utilities.tutorial.saveTutorial(currentNode.payload, tutorial)
advance(true)
}
@@ -759,7 +765,7 @@ function newTutorialSpace() {
let tutorial = {
status: 'Done'
}
- saveTutorial(currentNode.payload, tutorial)
+ UI.projects.superalgos.utilities.tutorial.saveTutorial(currentNode.payload, tutorial)
advance()
}
@@ -922,7 +928,7 @@ function newTutorialSpace() {
let tutorial = {
status: 'Reset'
}
- saveTutorial(tutorialStep.payload, tutorial)
+ UI.projects.superalgos.utilities.tutorial.saveTutorial(tutorialStep.payload, tutorial)
}
for (let i = 0; i < node.tutorialTopics.length; i++) {
@@ -930,7 +936,7 @@ function newTutorialSpace() {
let tutorial = {
status: 'Reset'
}
- saveTutorial(tutorialTopic.payload, tutorial)
+ UI.projects.superalgos.utilities.tutorial.saveTutorial(tutorialTopic.payload, tutorial)
resetNextNode(tutorialTopic)
}
}
@@ -1001,7 +1007,7 @@ function newTutorialSpace() {
let tutorial = {
status: undefined
}
- loadTutorial(tutorialStep.payload, tutorial)
+ UI.projects.superalgos.utilities.tutorial.loadTutorial(tutorialStep.payload, tutorial)
if (tutorial.status !== 'Done') {
currentNode = tutorialStep
currentStatus = 'Playing Step'
@@ -1037,7 +1043,7 @@ function newTutorialSpace() {
let tutorial = {
status: undefined
}
- loadTutorial(tutorialTopic.payload, tutorial)
+ UI.projects.superalgos.utilities.tutorial.loadTutorial(tutorialTopic.payload, tutorial)
if (tutorial.status !== 'Done') {
currentNode = tutorialTopic
currentStatus = 'Playing Topic'
@@ -1076,7 +1082,7 @@ function newTutorialSpace() {
let tutorial = {
status: undefined
}
- loadTutorial(tutorialTopic.payload, tutorial)
+ UI.projects.superalgos.utilities.tutorial.loadTutorial(tutorialTopic.payload, tutorial)
if (tutorial.status !== 'Done') {
currentNode = tutorialTopic
currentStatus = 'Playing Topic'
@@ -1187,19 +1193,29 @@ function newTutorialSpace() {
if (nodeType === undefined) {
return resultingText + firstPart
}
- let definitionNode = DOC_SCHEMA_MAP.get(nodeType)
+ let splittedNodeType = nodeType.split('/')
+ let project
+ let type
+ if (splittedNodeType.length > 1) {
+ project = splittedNodeType[0]
+ type = splittedNodeType[1]
+ } else {
+ project = 'Superalgos'
+ type = splittedNodeType[0]
+ }
+ let definitionNode = SCHEMAS_BY_PROJECT.get(project).map.docSchema.get(type)
if (definitionNode === undefined) {
- definitionNode = CONCEPT_SCHEMA_MAP.get(nodeType)
+ definitionNode = SCHEMAS_BY_PROJECT.get(project).map.conceptSchema.get(type)
if (definitionNode === undefined) {
- currentNode.payload.uiObject.setErrorMessage(nodeType + ' not found at Doc Schema or Concept Schema.')
+ currentNode.payload.uiObject.setErrorMessage(type + ' not found at Doc Schema or Concept Schema.')
return
}
}
let definition = definitionNode.definition
if (definition === undefined || definition === "") {
- resultingText = resultingText + firstPart + nodeType
+ resultingText = resultingText + firstPart + type
} else {
- let tooltip = TOOL_TIP_HTML.replace('NODE_TYPE', nodeType).replace('NODE_DEFINITION', definition)
+ let tooltip = TOOL_TIP_HTML.replace('NODE_TYPE', type).replace('NODE_DEFINITION', definition)
resultingText = resultingText + firstPart + tooltip
}
}
diff --git a/Integrations/Projects/Superalgos/Utilities/Branches.js b/Integrations/Projects/Superalgos/Utilities/Branches.js
new file mode 100644
index 000000000..1ea5e4251
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/Branches.js
@@ -0,0 +1,66 @@
+function newSuperalgosUtilitiesBranches() {
+ thisObject = {
+ nodeBranchToArray: nodeBranchToArray,
+ findInBranch: findInBranch
+ }
+
+ return thisObject
+
+ function nodeBranchToArray(node, nodeType) {
+ /*
+ This function scans a node branch for a certain node type and
+ return an array of with all the nodes of that type found.
+ */
+ if (node === undefined) { return }
+ if (nodeType === undefined) { return }
+ let resultArray = []
+ scanNodeBranch(node, nodeType)
+ return resultArray
+
+ function scanNodeBranch(startingNode) {
+ if (startingNode === undefined) { return }
+
+ let nodeDefinition = getNodeDefinition(startingNode)
+ if (nodeDefinition === undefined) { return }
+
+ if (startingNode.type === nodeType) {
+ resultArray.push(startingNode)
+ return
+ }
+
+ if (nodeDefinition.properties === undefined) { return }
+ let lastNodePropertyName
+ for (let i = 0; i < nodeDefinition.properties.length; i++) {
+ let property = nodeDefinition.properties[i]
+ if (lastNodePropertyName === property.name) { continue } // Some nodes have a single property por multiple child node types. We need to check repeated properties only once so as no to duplicate results.
+ switch (property.type) {
+ case 'node': {
+ scanNodeBranch(startingNode[property.name])
+ lastNodePropertyName = property.name
+ }
+ break
+ case 'array': {
+ let startingNodePropertyArray = startingNode[property.name]
+ for (let m = 0; m < startingNodePropertyArray.length; m++) {
+ scanNodeBranch(startingNodePropertyArray[m])
+ }
+ break
+ }
+ }
+ }
+ }
+ }
+
+ function findInBranch(startingNode, nodeType, errorNode, connectedViaPayload) {
+ /*
+ This function finds a node in a brach and reports an error if it could not be found.
+ */
+ let nodeFound = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(startingNode, nodeType, undefined, connectedViaPayload, true, false, false)
+ if (nodeFound === undefined) {
+ errorNode.payload.uiObject.setErrorMessage('Could not find ' + nodeType + ' at ' + startingNode.type + ' ' + startingNode.name)
+ return
+ } else {
+ return nodeFound
+ }
+ }
+}
\ No newline at end of file
diff --git a/Integrations/Projects/Superalgos/Utilities/Clipboard.js b/Integrations/Projects/Superalgos/Utilities/Clipboard.js
new file mode 100644
index 000000000..877358cf3
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/Clipboard.js
@@ -0,0 +1,44 @@
+function newSuperalgosUtilitiesClipboard() {
+ thisObject = {
+ fallbackCopyTextToClipboard: fallbackCopyTextToClipboard,
+ copyTextToClipboard: copyTextToClipboard
+ }
+
+ return thisObject
+
+ function fallbackCopyTextToClipboard(text) {
+ var textArea = document.createElement("textarea");
+ textArea.value = text;
+
+ // Avoid scrolling to bottom
+ textArea.style.top = "0";
+ textArea.style.left = "0";
+ textArea.style.position = "fixed";
+
+ document.body.appendChild(textArea);
+ textArea.focus();
+ textArea.select();
+
+ try {
+ var successful = document.execCommand('copy');
+ var msg = successful ? 'successful' : 'unsuccessful';
+ //console.log('Fallback: Copying text command was ' + msg);
+ } catch (err) {
+ console.error('Fallback: Oops, unable to copy', err);
+ }
+
+ document.body.removeChild(textArea);
+ }
+
+ function copyTextToClipboard(text) {
+ if (!navigator.clipboard) {
+ fallbackCopyTextToClipboard(text);
+ return;
+ }
+ navigator.clipboard.writeText(text).then(function () {
+ //console.log('Async: Copying to clipboard was successful!');
+ }, function (err) {
+ console.error('Async: Could not copy text: ', err);
+ });
+ }
+}
\ No newline at end of file
diff --git a/Integrations/Projects/Superalgos/Utilities/CoordinateTransformations.js b/Integrations/Projects/Superalgos/Utilities/CoordinateTransformations.js
new file mode 100644
index 000000000..00922e6fc
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/CoordinateTransformations.js
@@ -0,0 +1,26 @@
+function newSuperalgosUtilitiesCoordinateTransformations() {
+ thisObject = {
+ transformThisPoint: transformThisPoint,
+ unTransformThisPoint: unTransformThisPoint
+ }
+
+ return thisObject
+
+ function transformThisPoint(point, container) {
+ /* We make the point relative to the current frame */
+
+ point = container.frame.frameThisPoint(point)
+
+ /* We pass this point through the UI.projects.superalgos.spaces.chartingSpace.viewport lends, meaning we apply the UI.projects.superalgos.spaces.chartingSpace.viewport zoom and displacement. */
+
+ point = UI.projects.superalgos.spaces.chartingSpace.viewport.transformThisPoint(point)
+ return point
+ }
+
+ function unTransformThisPoint(point, container) {
+ point = UI.projects.superalgos.spaces.chartingSpace.viewport.unTransformThisPoint(point)
+
+ point = container.frame.unframeThisPoint(point)
+ return point
+ }
+}
\ No newline at end of file
diff --git a/Integrations/Projects/Superalgos/Utilities/DateRateTransformations.js b/Integrations/Projects/Superalgos/Utilities/DateRateTransformations.js
new file mode 100644
index 000000000..1f17fef42
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/DateRateTransformations.js
@@ -0,0 +1,66 @@
+function newSuperalgosUtilitiesDateRateTransformations() {
+ thisObject = {
+ getDateFromPointAtBrowserCanvas: getDateFromPointAtBrowserCanvas,
+ getDateFromPointAtChartsSpace: getDateFromPointAtChartsSpace,
+ getDateFromPointAtContainer: getDateFromPointAtContainer,
+ getRateFromPointAtBrowserCanvas: getRateFromPointAtBrowserCanvas,
+ getRateFromPointAtChartingSpace: getRateFromPointAtChartingSpace,
+ getRateFromPointAtContainer: getRateFromPointAtContainer,
+ getMilisecondsFromPoint: getMilisecondsFromPoint
+ }
+
+ return thisObject
+
+ function getDateFromPointAtBrowserCanvas(point, container, coordinateSystem) {
+ point = UI.projects.superalgos.utilities.coordinateTransformations.unTransformThisPoint(point, container)
+ point = coordinateSystem.unInverseTransform(point, container.frame.height)
+
+ let date = new Date(point.x)
+
+ return date
+ }
+
+ function getDateFromPointAtChartsSpace(point, container, coordinateSystem) {
+ point = container.frame.unframeThisPoint(point)
+ point = coordinateSystem.unInverseTransform(point, container.frame.height)
+
+ let date = new Date(point.x)
+
+ return date
+ }
+
+ function getDateFromPointAtContainer(point, container, coordinateSystem) {
+ point = coordinateSystem.unInverseTransform(point, container.frame.height)
+
+ let date = new Date(point.x)
+
+ return date
+ }
+
+ function getRateFromPointAtBrowserCanvas(point, container, coordinateSystem) {
+ point = UI.projects.superalgos.utilities.coordinateTransformations.unTransformThisPoint(point, container)
+ point = coordinateSystem.unInverseTransform(point, container.frame.height)
+
+ return point.y
+ }
+
+ function getRateFromPointAtChartingSpace(point, container, coordinateSystem) {
+ point = container.frame.unframeThisPoint(point)
+ point = coordinateSystem.unInverseTransform(point, container.frame.height)
+
+ return point.y
+ }
+
+ function getRateFromPointAtContainer(point, container, coordinateSystem) {
+ point = coordinateSystem.unInverseTransform(point, container.frame.height)
+
+ return point.y
+ }
+
+ function getMilisecondsFromPoint(point, container, coordinateSystem) {
+ point = UI.projects.superalgos.utilities.coordinateTransformations.unTransformThisPoint(point, container)
+ point = coordinateSystem.unInverseTransform(point, container.frame.height)
+
+ return point.x
+ }
+}
diff --git a/Integrations/Projects/Superalgos/Utilities/Dates.js b/Integrations/Projects/Superalgos/Utilities/Dates.js
new file mode 100644
index 000000000..44dad69c4
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/Dates.js
@@ -0,0 +1,21 @@
+function newSuperalgosUtilitiesDates() {
+ thisObject = {
+ formatDate: formatDate
+ }
+
+ return thisObject
+
+ function formatDate(date) {
+ var d = new Date(date),
+ month = '' + (d.getUTCMonth() + 1),
+ day = '' + d.getUTCDate(),
+ year = d.getUTCFullYear();
+
+ if (month.length < 2)
+ month = '0' + month;
+ if (day.length < 2)
+ day = '0' + day;
+
+ return [year, month, day].join('-');
+ }
+}
\ No newline at end of file
diff --git a/Integrations/Projects/Superalgos/Utilities/Download.js b/Integrations/Projects/Superalgos/Utilities/Download.js
new file mode 100644
index 000000000..85be8aa43
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/Download.js
@@ -0,0 +1,69 @@
+function newSuperalgosUtilitiesDownload() {
+ thisObject = {
+ downloadText: downloadText,
+ downloadCanvas: downloadCanvas,
+ downloadPanorama: downloadPanorama,
+ addToMarketPanorama: addToMarketPanorama
+ }
+
+ return thisObject
+
+ function downloadText(filename, text) {
+ let element = document.createElement('a')
+ element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text))
+ element.setAttribute('download', filename)
+ element.style.display = 'none'
+ document.body.appendChild(element)
+ element.click()
+ document.body.removeChild(element)
+ }
+
+ function downloadCanvas(filename, canvasToUse) {
+ let data = canvasToUse.toDataURL('image/png', 1)
+ /* Change MIME type to trick the browser to downlaod the file instead of displaying it */
+ data = data.replace(/^data:image\/[^;]*/, 'data:application/octet-stream')
+
+ /* In addition to 's "download" attribute, you can define HTTP-style headers */
+ data = data.replace(/^data:application\/octet-stream/, 'data:application/octet-stream;headers=Content-Disposition%3A%20attachment%3B%20filename=' + filename + '.png')
+
+ let element = document.createElement('a')
+ element.setAttribute('href', data)
+ element.setAttribute('download', filename + '.PNG')
+ element.style.display = 'none'
+ document.body.appendChild(element)
+ element.click()
+ document.body.removeChild(element)
+ }
+
+ function downloadPanorama(filename) {
+ let INITIAL_WIDTH = 800
+ let FINAL_WIDTH = browserCanvas.width - INITIAL_WIDTH
+
+ if (ARE_WE_RECORDING_A_MARKET_PANORAMA === false) {
+ /* We start recording the panorame. */
+ ARE_WE_RECORDING_A_MARKET_PANORAMA = true
+ marketPanoramaCanvas = document.createElement('canvas')
+ marketPanoramaCanvas.width = INITIAL_WIDTH * 50
+ marketPanoramaCanvas.height = browserCanvas.height
+ marketPanoramaCanvas.getContext('2d').drawImage(browserCanvas, 0, 0, INITIAL_WIDTH, browserCanvas.height, 0, 0, INITIAL_WIDTH, browserCanvas.height)
+ CURRENT_PANORAMA_POSITION = INITIAL_WIDTH
+ } else {
+ /* We stop recording and download the resulting image. */
+ ARE_WE_RECORDING_A_MARKET_PANORAMA = false
+ marketPanoramaCanvas.getContext('2d').drawImage(browserCanvas, browserCanvas.width - FINAL_WIDTH, 0, FINAL_WIDTH, browserCanvas.height, CURRENT_PANORAMA_POSITION, 0, FINAL_WIDTH, browserCanvas.height)
+ let finalResultCanvas = document.createElement('canvas')
+ finalResultCanvas.width = CURRENT_PANORAMA_POSITION + FINAL_WIDTH
+ finalResultCanvas.height = browserCanvas.height
+ finalResultCanvas.getContext('2d').drawImage(marketPanoramaCanvas, 0, 0, finalResultCanvas.width, browserCanvas.height, 0, 0, finalResultCanvas.width, browserCanvas.height)
+ downloadCanvas(filename, finalResultCanvas)
+ marketPanoramaCanvas = undefined
+ }
+ }
+
+ function addToMarketPanorama() {
+ let SECTION_WIDTH = 80 * 2
+ let INITIAL_POSITION = 800 - SECTION_WIDTH
+ marketPanoramaCanvas.getContext('2d').drawImage(browserCanvas, INITIAL_POSITION, 0, SECTION_WIDTH, browserCanvas.height, CURRENT_PANORAMA_POSITION, 0, SECTION_WIDTH, browserCanvas.height)
+ CURRENT_PANORAMA_POSITION = CURRENT_PANORAMA_POSITION + SECTION_WIDTH
+ }
+}
\ No newline at end of file
diff --git a/Integrations/Projects/Superalgos/Utilities/DrawPrint.js b/Integrations/Projects/Superalgos/Utilities/DrawPrint.js
new file mode 100644
index 000000000..e1e20c1a1
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/DrawPrint.js
@@ -0,0 +1,359 @@
+function newSuperalgosUtilitiesDrawPrint() {
+ thisObject = {
+ roundedCornersBackground: roundedCornersBackground,
+ drawLabel: drawLabel,
+ drawIcon: drawIcon,
+ drawContainerBackground: drawContainerBackground,
+ printLabel: printLabel
+ }
+
+ return thisObject
+
+ function roundedCornersBackground(params) {
+ if (params.xOffset === undefined) { params.xOffset = 0 }
+ borderPoint1 = {
+ x: params.cornerRadius + params.xOffset,
+ y: params.cornerRadius
+ }
+
+ borderPoint2 = {
+ x: params.container.frame.width - params.cornerRadius,
+ y: params.cornerRadius
+ }
+
+ borderPoint3 = {
+ x: params.container.frame.width - params.cornerRadius,
+ y: params.container.frame.height - params.cornerRadius
+ }
+
+ borderPoint4 = {
+ x: params.cornerRadius + params.xOffset,
+ y: params.container.frame.height - params.cornerRadius
+ }
+
+ /* Now the transformations. */
+
+ if (params.coordinateSystem !== undefined) { // For instance Candles would use this
+ borderPoint1 = params.coordinateSystem.transformThisPoint(borderPoint1)
+ borderPoint2 = params.coordinateSystem.transformThisPoint(borderPoint2)
+ borderPoint3 = params.coordinateSystem.transformThisPoint(borderPoint3)
+ borderPoint4 = params.coordinateSystem.transformThisPoint(borderPoint4)
+ } else {
+ if (params.outsideViewPort === true) { // If the element is not affected by zoom
+ borderPoint1 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(borderPoint1, params.container)
+ borderPoint2 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(borderPoint2, params.container)
+ borderPoint3 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(borderPoint3, params.container)
+ borderPoint4 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(borderPoint4, params.container)
+ } else { // For instance Panels use this
+ borderPoint1 = params.container.frame.frameThisPoint(borderPoint1)
+ borderPoint2 = params.container.frame.frameThisPoint(borderPoint2)
+ borderPoint3 = params.container.frame.frameThisPoint(borderPoint3)
+ borderPoint4 = params.container.frame.frameThisPoint(borderPoint4)
+ }
+ }
+
+ if (params.fitFunction !== undefined) {
+ borderPoint1 = params.fitFunction(borderPoint1)
+ borderPoint2 = params.fitFunction(borderPoint2)
+ borderPoint3 = params.fitFunction(borderPoint3)
+ borderPoint4 = params.fitFunction(borderPoint4)
+ }
+
+ browserCanvasContext.setLineDash([0, 0])
+
+ /* Shadow */
+
+ if (params.castShadow === true) {
+ let SHADOW_OFFSET = 2
+
+ browserCanvasContext.beginPath()
+
+ browserCanvasContext.arc(borderPoint1.x + SHADOW_OFFSET, borderPoint1.y + SHADOW_OFFSET, params.cornerRadius, 1.0 * Math.PI, 1.5 * Math.PI)
+ browserCanvasContext.lineTo(borderPoint2.x + SHADOW_OFFSET, borderPoint2.y - params.cornerRadius + SHADOW_OFFSET)
+ browserCanvasContext.arc(borderPoint2.x + SHADOW_OFFSET, borderPoint2.y + SHADOW_OFFSET, params.cornerRadius, 1.5 * Math.PI, 2.0 * Math.PI)
+ browserCanvasContext.lineTo(borderPoint3.x + params.cornerRadius + SHADOW_OFFSET, borderPoint3.y + SHADOW_OFFSET)
+ browserCanvasContext.arc(borderPoint3.x + SHADOW_OFFSET, borderPoint3.y + SHADOW_OFFSET, params.cornerRadius, 0 * Math.PI, 0.5 * Math.PI)
+ browserCanvasContext.lineTo(borderPoint4.x + SHADOW_OFFSET, borderPoint4.y + params.cornerRadius + SHADOW_OFFSET)
+ browserCanvasContext.arc(borderPoint4.x + SHADOW_OFFSET, borderPoint4.y + SHADOW_OFFSET, params.cornerRadius, 0.5 * Math.PI, 1.0 * Math.PI)
+ browserCanvasContext.lineTo(borderPoint1.x - params.cornerRadius + SHADOW_OFFSET, borderPoint1.y + SHADOW_OFFSET)
+
+ browserCanvasContext.closePath()
+
+ browserCanvasContext.lineWidth = 10
+ browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.BLACK + ', ' + 0.01 + ')'
+ browserCanvasContext.stroke()
+
+ browserCanvasContext.lineWidth = 5
+ browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.BLACK + ', ' + 0.01 + ')'
+ browserCanvasContext.stroke()
+
+ browserCanvasContext.lineWidth = 1
+ browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.BLACK + ', ' + 0.15 + ')'
+ browserCanvasContext.stroke()
+ }
+
+ /* Background */
+
+ browserCanvasContext.beginPath()
+
+ browserCanvasContext.arc(borderPoint1.x, borderPoint1.y, params.cornerRadius, 1.0 * Math.PI, 1.5 * Math.PI)
+ browserCanvasContext.lineTo(borderPoint2.x, borderPoint2.y - params.cornerRadius)
+ browserCanvasContext.arc(borderPoint2.x, borderPoint2.y, params.cornerRadius, 1.5 * Math.PI, 2.0 * Math.PI)
+ browserCanvasContext.lineTo(borderPoint3.x + params.cornerRadius, borderPoint3.y)
+ browserCanvasContext.arc(borderPoint3.x, borderPoint3.y, params.cornerRadius, 0 * Math.PI, 0.5 * Math.PI)
+ browserCanvasContext.lineTo(borderPoint4.x, borderPoint4.y + params.cornerRadius)
+ browserCanvasContext.arc(borderPoint4.x, borderPoint4.y, params.cornerRadius, 0.5 * Math.PI, 1.0 * Math.PI)
+ browserCanvasContext.lineTo(borderPoint1.x - params.cornerRadius, borderPoint1.y)
+
+ browserCanvasContext.closePath()
+
+ browserCanvasContext.fillStyle = 'rgba(' + params.backgroundColor + ', ' + params.opacity + ')'
+
+ browserCanvasContext.fill()
+
+ browserCanvasContext.lineWidth = params.lineWidth
+ browserCanvasContext.strokeStyle = 'rgba(' + params.borderColor + ', ' + params.opacity + ')'
+ browserCanvasContext.stroke()
+ }
+
+ function drawLabel(label, xFactor, yFactor, xOffset, yOffset, fontSize, container, fontColor, noFrameX, noFrameY, opacity) {
+ if (label === undefined) { return }
+ if (fontColor === undefined) { fontColor = UI_COLOR.WHITE }
+ let fontOffset = label.length * fontSize * FONT_ASPECT_RATIO + 10
+ if (opacity === undefined) { opacity = 1 }
+
+ let labelPoint = {
+ x: container.frame.width * xFactor + xOffset - fontOffset / 2,
+ y: container.frame.height * yFactor + yOffset
+ }
+
+ labelPoint = container.frame.frameThisPoint(labelPoint)
+
+ if (noFrameX !== undefined) {
+ labelPoint.x = noFrameX + xOffset
+ }
+
+ if (noFrameY !== undefined) {
+ labelPoint.y = noFrameY + yOffset
+ }
+
+ browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
+ browserCanvasContext.fillStyle = 'rgba(' + fontColor + ', ' + opacity + ')'
+
+ browserCanvasContext.fillText(label, labelPoint.x, labelPoint.y)
+ }
+
+ function drawIcon(icon, xFactor, yFactor, xOffset, yOffset, imageSize, container) {
+ if (icon !== undefined) {
+ if (icon.canDrawIcon === true) {
+ let imagePosition = {
+ x: container.frame.width * xFactor + xOffset - imageSize / 2,
+ y: container.frame.height * yFactor + yOffset - imageSize / 2
+ }
+
+ imagePosition = container.frame.frameThisPoint(imagePosition)
+
+ browserCanvasContext.drawImage(
+ icon, imagePosition.x,
+ imagePosition.y,
+ imageSize,
+ imageSize)
+ }
+ }
+ }
+
+ function drawContainerBackground(container, color, opacity, fitFunction) {
+ let fromPoint = {
+ x: 0,
+ y: 0
+ }
+
+ let toPoint = {
+ x: container.frame.width,
+ y: container.frame.height
+ }
+
+ fromPoint = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(fromPoint, container)
+ toPoint = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(toPoint, container)
+
+ fromPoint = fitFunction(fromPoint)
+ toPoint = fitFunction(toPoint)
+
+ browserCanvasContext.beginPath()
+ browserCanvasContext.rect(fromPoint.x, fromPoint.y, toPoint.x - fromPoint.x, toPoint.y - fromPoint.y)
+ browserCanvasContext.fillStyle = 'rgba(' + color + ', ' + opacity + ')'
+ browserCanvasContext.closePath()
+ browserCanvasContext.fill()
+ }
+
+ function printLabel(
+ labelToPrint,
+ xLeft,
+ xRight,
+ xCenter,
+ y,
+ opacity,
+ fontSize,
+ color,
+ align,
+ container,
+ fitFunction,
+ noDecimals,
+ fixedDecimals,
+ minDecimals,
+ simulateMonospace
+ ) {
+
+ let isItANumber
+ let labelPoint
+ let label = labelToPrint
+
+ if (labelToPrint === undefined) { return }
+ if (color === undefined) { color = UI_COLOR.DARK }
+ if (fontSize === undefined) { fontSize = 10 }
+ if (isNaN(label) === false && label !== '') { isItANumber = true }
+
+ if (isItANumber === true && Number(label) > 1000000000000) {
+ label = "Very Large Number"
+ isItANumber = false
+ }
+
+ browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
+
+ if (isItANumber === true) {
+ if (fixedDecimals !== true) {
+ label = dynamicDecimals(labelToPrint, minDecimals)
+ }
+ label = label.toLocaleString()
+ if (noDecimals === true) {
+ label = Math.trunc(label)
+ }
+ }
+
+ switch (align) {
+ case 'Center': {
+ labelPoint = {
+ x: xCenter - getTextWidth(label) / 2,
+ y: y
+ }
+ break
+ }
+ case 'Left': {
+ labelPoint = {
+ x: xLeft,
+ y: y
+ }
+ break
+ }
+ case 'Right': {
+ labelPoint = {
+ x: xRight - getTextWidth(label),
+ y: y
+ }
+ break
+ }
+ case 'Left Numbers at Right': {
+ if (isItANumber === true) {
+ labelPoint = {
+ x: xRight - getTextWidth(label),
+ y: y
+ }
+ } else {
+ labelPoint = {
+ x: xLeft,
+ y: y
+ }
+ }
+ break
+ }
+ default: {
+ labelPoint = {
+ x: xCenter - getTextWidth(label) / 2,
+ y: y
+ }
+ }
+ }
+ if (isItANumber === true && simulateMonospace === true) {
+ labelPoint = {
+ x: xRight,
+ y: y
+ }
+ }
+
+ if (container !== undefined) {
+ labelPoint = container.frame.frameThisPoint(labelPoint)
+ }
+
+ if (fitFunction !== undefined) {
+ labelPoint = fitFunction(labelPoint)
+ }
+
+ if (isItANumber === true && simulateMonospace === true) {
+ let isDecimal = false
+ let hasDecimals
+ let decimalCounter = 0
+ let integerCounter = 0
+ let characterOpacity = opacity
+ let characterFontSize = fontSize
+ let insignificantZeroPossible = true
+ let insignificantPointPossible = false
+
+ if (label.indexOf('.') >= 0) {
+ hasDecimals = true
+ isDecimal = true
+ }
+
+ for (let i = 0; i < label.length; i++) {
+ characterOpacity = opacity
+
+ let character = label[label.length - 1 - i]
+
+ if (hasDecimals === true && character === '.') {
+ isDecimal = false
+ characterFontSize = fontSize * 2
+ } else {
+ characterFontSize = fontSize
+ }
+
+ if (character === '.') {
+ if (insignificantPointPossible === true) {
+ characterOpacity = opacity / 4
+ }
+ }
+
+ if (hasDecimals === true && character === '0' && insignificantZeroPossible === true) {
+ characterOpacity = opacity / 4
+ insignificantPointPossible = true
+ } else {
+ insignificantZeroPossible = false
+ insignificantPointPossible = false
+ }
+
+ labelPoint.x = labelPoint.x - fontSize * FONT_ASPECT_RATIO * 1.5
+
+ browserCanvasContext.font = characterFontSize + 'px ' + UI_FONT.PRIMARY
+ browserCanvasContext.fillStyle = 'rgba(' + color + ', ' + characterOpacity + ')'
+ browserCanvasContext.fillText(character, labelPoint.x, labelPoint.y)
+
+ if (isDecimal === true) {
+ decimalCounter++
+ if (decimalCounter === 5) {
+ labelPoint.x = labelPoint.x - fontSize * FONT_ASPECT_RATIO * 1.5 / 2
+ }
+ }
+
+ if (isDecimal === false && character !== '.') {
+ integerCounter++
+ if (integerCounter === 3) {
+ labelPoint.x = labelPoint.x - fontSize * FONT_ASPECT_RATIO * 1.5 / 2
+ integerCounter = 0
+ }
+ }
+ }
+ }
+ else {
+ browserCanvasContext.fillStyle = 'rgba(' + color + ', ' + opacity + ')'
+ browserCanvasContext.fillText(label, labelPoint.x, labelPoint.y)
+ }
+ }
+}
diff --git a/Integrations/Projects/Superalgos/Utilities/Folders.js b/Integrations/Projects/Superalgos/Utilities/Folders.js
new file mode 100644
index 000000000..4f50fc0ce
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/Folders.js
@@ -0,0 +1,99 @@
+function newSuperalgosUtilitiesFolders() {
+ thisObject = {
+ asymetricalFolderStructureCloning: asymetricalFolderStructureCloning
+ }
+
+ return thisObject
+
+ function asymetricalFolderStructureCloning(
+ originNode,
+ destinationNode,
+ originObjectsArrayPropertyName,
+ originFoldersArrayPropertyName,
+ destinationFoldersArrayPropertyName,
+ clonedObjectType,
+ destinationFolderType,
+ originObjectArrayPropertyName,
+ functionLibraryUiObjectsFromNodes
+ ) {
+ /*
+ This function will scan one branch of the workspace, and recreate
+ a similar structure in some other place, based on the parameters
+ sent to the function is what types of nodes are going to be mapped
+ into which other types.
+ */
+ if (originNode === undefined) { return }
+ if (destinationNode === undefined) { return }
+
+ /* Now we go down through all the children of the origin node, recreating at the destination node the same children structure*/
+ let nodeDefinition = getNodeDefinition(originNode)
+ if (nodeDefinition === undefined) { return }
+
+ if (nodeDefinition.properties !== undefined) {
+ for (let i = 0; i < nodeDefinition.properties.length; i++) {
+ let property = nodeDefinition.properties[i]
+
+ switch (property.name) {
+ case originObjectsArrayPropertyName: {
+ let originNodePropertyArray = originNode[property.name]
+ for (let m = 0; m < originNodePropertyArray.length; m++) {
+ let originObject = originNodePropertyArray[m]
+ if (originObjectArrayPropertyName === undefined) {
+ /*
+ In this first Use Case, we are going to connect each orgin object clone
+ to its origin object counter part.
+ */
+ let clonedObject = functionLibraryUiObjectsFromNodes.addUIObject(destinationNode, clonedObjectType)
+ clonedObject.payload.referenceParent = originObject
+ } else {
+ /*
+ In this second Use Case, we are going to connect an inner object that is
+ inside the origin object at an array. We recognize we have to do this
+ because we did receive this array proeprty name.
+ */
+ let originObjectArray = originObject[originObjectArrayPropertyName]
+ for (let n = 0; n < originObjectArray.length; n++) {
+ let originObjectArrayItem = originObjectArray[n]
+ let clonedObject = functionLibraryUiObjectsFromNodes.addUIObject(destinationNode, clonedObjectType)
+ clonedObject.payload.referenceParent = originObjectArrayItem
+ }
+ }
+ }
+ break
+ }
+ case originFoldersArrayPropertyName: {
+ let originNodePropertyArray = originNode[property.name]
+ let destinationNodePropertyArray = destinationNode[destinationFoldersArrayPropertyName]
+ for (let m = 0; m < originNodePropertyArray.length; m++) {
+ let originFolder = originNodePropertyArray[m]
+ let found = false
+ let destinationFolder
+ for (let n = 0; n < destinationNodePropertyArray.length; n++) {
+ destinationFolder = destinationNodePropertyArray[n]
+ if (originFolder.name === destinationFolder.name) {
+ found = true
+ }
+ }
+ if (found === false) {
+ destinationFolder = functionLibraryUiObjectsFromNodes.addUIObject(destinationNode, destinationFolderType)
+ destinationFolder.name = originFolder.name
+ }
+ asymetricalFolderStructureCloning(
+ originFolder,
+ destinationFolder,
+ originObjectsArrayPropertyName,
+ originFoldersArrayPropertyName,
+ destinationFoldersArrayPropertyName,
+ clonedObjectType,
+ destinationFolderType,
+ originObjectArrayPropertyName,
+ functionLibraryUiObjectsFromNodes
+ )
+ }
+ break
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Integrations/Projects/Superalgos/Utilities/Hierarchy.js b/Integrations/Projects/Superalgos/Utilities/Hierarchy.js
new file mode 100644
index 000000000..d5a2de5a3
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/Hierarchy.js
@@ -0,0 +1,71 @@
+function newSuperalgosUtilitiesHierarchy() {
+ thisObject = {
+ getHiriarchyMap: getHiriarchyMap,
+ getHiriarchyHead: getHiriarchyHead
+ }
+
+ return thisObject
+
+ function getHiriarchyMap(rootNode) {
+ /*
+ This function scans a node hiriatchy recursively and creates a Map by Id of all the nodes of it.
+ */
+ let hiriatchyMap = new Map()
+ evalNode(rootNode)
+ return hiriatchyMap
+
+ function evalNode(node) {
+ if (node === undefined) { return }
+
+ hiriatchyMap.set(node.id, node)
+
+ /* Now we go down through all this node children */
+ let nodeDefinition = getNodeDefinition(node)
+ if (nodeDefinition === undefined) { return }
+
+ if (nodeDefinition.properties !== undefined) {
+ let previousPropertyName // Since there are cases where there are many properties with the same name,because they can hold nodes of different types but only one at the time, we have to avoind counting each property of those as individual children.
+ for (let i = 0; i < nodeDefinition.properties.length; i++) {
+ let property = nodeDefinition.properties[i]
+
+ switch (property.type) {
+ case 'node': {
+ if (property.name !== previousPropertyName) {
+ if (node[property.name] !== undefined) {
+ evalNode(node[property.name])
+ }
+ previousPropertyName = property.name
+ }
+ break
+ }
+ case 'array': {
+ if (node[property.name] !== undefined) {
+ let nodePropertyArray = node[property.name]
+ for (let m = 0; m < nodePropertyArray.length; m++) {
+ evalNode(nodePropertyArray[m])
+ }
+ }
+ break
+ }
+ }
+ }
+ }
+ }
+ }
+
+ function getHiriarchyHead(initialNode) {
+ let headNode
+ stepBackwards(initialNode)
+ return headNode
+
+ function stepBackwards(node) {
+ if (node === undefined) { return }
+ if (node.payload === undefined) { return }
+ if (node.payload.parentNode === undefined) {
+ headNode = node
+ } else {
+ stepBackwards(node.payload.parentNode)
+ }
+ }
+ }
+}
diff --git a/Integrations/Projects/Superalgos/Utilities/LoadSaveFrame.js b/Integrations/Projects/Superalgos/Utilities/LoadSaveFrame.js
new file mode 100644
index 000000000..6ee69da82
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/LoadSaveFrame.js
@@ -0,0 +1,33 @@
+function newSuperalgosUtilitiesLoadSaveFrame() {
+ thisObject = {
+ saveFrame: saveFrame,
+ loadFrame: loadFrame
+ }
+
+ return thisObject
+
+ function saveFrame(payload, frame) {
+ payload.frame = {
+ position: {
+ x: frame.position.x,
+ y: frame.position.y
+ },
+ width: frame.width,
+ height: frame.height,
+ radius: frame.radius
+ }
+ }
+
+ function loadFrame(payload, frame) {
+ if (payload.node.savedPayload !== undefined) {
+ if (payload.node.savedPayload.frame !== undefined) {
+ frame.position.x = payload.node.savedPayload.frame.position.x
+ frame.position.y = payload.node.savedPayload.frame.position.y
+ frame.width = payload.node.savedPayload.frame.width
+ frame.height = payload.node.savedPayload.frame.height
+ frame.radius = payload.node.savedPayload.frame.radius
+ payload.node.savedPayload.frame = undefined
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Integrations/Projects/Superalgos/Utilities/Menu.js b/Integrations/Projects/Superalgos/Utilities/Menu.js
new file mode 100644
index 000000000..74297e468
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/Menu.js
@@ -0,0 +1,23 @@
+function newSuperalgosUtilitiesMenu() {
+ thisObject = {
+ menuClickOfNodeArray: menuClickOfNodeArray,
+ menuClick: menuClick
+ }
+
+ return thisObject
+
+ function menuClickOfNodeArray(nodeArray, action, confirm) {
+ for (let j = 0; j < nodeArray.length; j++) {
+ let node = nodeArray[j]
+ menuClick(node, action, confirm)
+ }
+ }
+
+ function menuClick(node, action, confirm) {
+ let menu = node.payload.uiObject.menu
+ menu.internalClick(action)
+ if (confirm === true) {
+ menu.internalClick(action)
+ }
+ }
+}
\ No newline at end of file
diff --git a/Integrations/Projects/Superalgos/Utilities/Meshes.js b/Integrations/Projects/Superalgos/Utilities/Meshes.js
new file mode 100644
index 000000000..c466e892c
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/Meshes.js
@@ -0,0 +1,96 @@
+function newSuperalgosUtilitiesMeshes() {
+ thisObject = {
+ findNodeInNodeMesh: findNodeInNodeMesh
+ }
+
+ return thisObject
+
+ function findNodeInNodeMesh(node, nodeType, nodeName, connectedViaPayload, findInChildren, findInParents, findInReferenceParents) {
+ /*
+ This function scans a node mesh for a certain node type and
+ returns the first instance found. Please specify either nodeType
+ or nodeName.
+ */
+ const MAX_DEPTH = 100
+ let nodeFound
+ scanNodeMesh(node, 0)
+ return nodeFound
+
+ function scanNodeMesh(startingNode, depth) {
+ if (startingNode === undefined) { return }
+ if (connectedViaPayload === true) {
+ if (startingNode.payload === undefined) { return }
+ }
+ if (nodeFound !== undefined) { return }
+ if (depth >= MAX_DEPTH) { return }
+
+ let nodeDefinition = getNodeDefinition(startingNode)
+ if (nodeDefinition === undefined) { return }
+
+ if (nodeType !== undefined) {
+ if (startingNode.type === nodeType) {
+ nodeFound = startingNode
+ return
+ }
+ }
+
+ if (nodeName !== undefined) {
+ if (startingNode.name === nodeName) {
+ nodeFound = startingNode
+ return
+ }
+ }
+
+ /* We scan through this node children */
+ if (findInChildren === true) {
+ if (nodeDefinition.properties !== undefined) {
+ for (let i = 0; i < nodeDefinition.properties.length; i++) {
+ let property = nodeDefinition.properties[i]
+
+ switch (property.type) {
+ case 'node': {
+ scanNodeMesh(startingNode[property.name], depth + 1)
+ }
+ break
+ case 'array': {
+ let startingNodePropertyArray = startingNode[property.name]
+ if (startingNodePropertyArray !== undefined) {
+ for (let m = 0; m < startingNodePropertyArray.length; m++) {
+ scanNodeMesh(startingNodePropertyArray[m], depth + 1)
+ }
+ }
+ break
+ }
+ }
+ }
+ }
+ }
+
+ /* We scan parents nodes. */
+ if (findInParents === true) {
+ if (connectedViaPayload === true) {
+ if (startingNode.payload.parentNode !== undefined) {
+ scanNodeMesh(startingNode.payload.parentNode, depth + 1)
+ }
+ } else {
+ if (startingNode.parentNode !== undefined) {
+ scanNodeMesh(startingNode.parentNode, depth + 1)
+ }
+ }
+ }
+
+ /* We scan reference parents too. */
+ if (findInReferenceParents === true) {
+ if (connectedViaPayload === true) {
+ if (startingNode.payload.referenceParent !== undefined) {
+ scanNodeMesh(startingNode.payload.referenceParent, depth + 1)
+ }
+ } else {
+ if (startingNode.referenceParent !== undefined) {
+ scanNodeMesh(startingNode.referenceParent, depth + 1)
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Integrations/Projects/Superalgos/Utilities/NodeChildren.js b/Integrations/Projects/Superalgos/Utilities/NodeChildren.js
new file mode 100644
index 000000000..913cdb8de
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/NodeChildren.js
@@ -0,0 +1,243 @@
+function newSuperalgosUtilitiesNodeChildren() {
+ thisObject = {
+ isMissingChildren: isMissingChildren,
+ findChildReferencingThisNode: findChildReferencingThisNode,
+ findOrCreateChildWithReference: findOrCreateChildWithReference,
+ findAndRecreateChildWithReference: findAndRecreateChildWithReference,
+ findChildIndexAtParentNode: findChildIndexAtParentNode,
+ isMissingChildrenByName: isMissingChildrenByName
+ }
+
+ return thisObject
+
+ function isMissingChildren(startingNode, checkNode, checkReferenceParent) {
+ /*
+ This functioin scan all the children of a node and returns true or false
+ depending if the checkNode is a missing children.
+ */
+ if (startingNode === undefined) { return }
+ if (checkNode === undefined) { return }
+
+ let nodeDefinition = getNodeDefinition(startingNode)
+ if (nodeDefinition === undefined) { return }
+
+ /* We scan through this node children */
+ if (nodeDefinition.properties !== undefined) {
+ for (let i = 0; i < nodeDefinition.properties.length; i++) {
+ let property = nodeDefinition.properties[i]
+
+ switch (property.type) {
+ case 'node': {
+ let child = startingNode[property.name]
+ if (child === undefined) { continue }
+ if (checkReferenceParent !== true) {
+ if (child.id === checkNode.id) {
+ return false
+ }
+ } else {
+ if (child.payload !== undefined) {
+ if (child.payload.referenceParent !== undefined) {
+ if (child.payload.referenceParent.id === checkNode.id) {
+ return false
+ }
+ }
+ }
+ }
+ }
+ break
+ case 'array': {
+ let startingNodePropertyArray = startingNode[property.name]
+ if (startingNodePropertyArray !== undefined) {
+ for (let m = 0; m < startingNodePropertyArray.length; m++) {
+ let arrayItem = startingNodePropertyArray[m]
+ if (checkReferenceParent !== true) {
+ if (arrayItem.id === checkNode.id) {
+ return false
+ }
+ } else {
+ if (arrayItem.payload !== undefined) {
+ if (arrayItem.payload.referenceParent !== undefined) {
+ if (arrayItem.payload.referenceParent.id === checkNode.id) {
+ return false
+ }
+ }
+ }
+ }
+ }
+ }
+ break
+ }
+ }
+ }
+ return true
+ }
+ }
+
+ function findChildReferencingThisNode(startingNode, checkNode) {
+ /*
+ This functioin scan all the children of a node and returns the child
+ that is referencing the checkNode.
+ */
+ if (startingNode === undefined) { return }
+ if (checkNode === undefined) { return }
+
+ let nodeDefinition = getNodeDefinition(startingNode)
+ if (nodeDefinition === undefined) { return }
+
+ /* We scan through this node children */
+ if (nodeDefinition.properties !== undefined) {
+ for (let i = 0; i < nodeDefinition.properties.length; i++) {
+ let property = nodeDefinition.properties[i]
+
+ switch (property.type) {
+ case 'node': {
+ let child = startingNode[property.name]
+ if (child === undefined) { continue }
+ if (child.payload !== undefined) {
+ if (child.payload.referenceParent !== undefined) {
+ if (child.payload.referenceParent.id === checkNode.id) {
+ return child
+ }
+ }
+ }
+ }
+ break
+ case 'array': {
+ let startingNodePropertyArray = startingNode[property.name]
+ if (startingNodePropertyArray !== undefined) {
+ for (let m = 0; m < startingNodePropertyArray.length; m++) {
+ let arrayItem = startingNodePropertyArray[m]
+
+ if (arrayItem.payload !== undefined) {
+ if (arrayItem.payload.referenceParent !== undefined) {
+ if (arrayItem.payload.referenceParent.id === checkNode.id) {
+ return arrayItem
+ }
+ }
+ }
+ }
+ }
+ break
+ }
+ }
+ }
+ }
+ }
+
+ function findOrCreateChildWithReference(startingNode, childType, referencedNode, functionLibraryUiObjectsFromNodes) {
+ /*
+ This function find the child node of starting node that references
+ refereced node. If there is none, then it creates a child and stablish
+ the referecen.
+ */
+ let child
+ if (isMissingChildren(startingNode, referencedNode, true) === true) {
+ child = functionLibraryUiObjectsFromNodes.addUIObject(startingNode, childType)
+ child.payload.referenceParent = referencedNode
+ } else {
+ child = findChildReferencingThisNode(startingNode, referencedNode)
+ }
+ return child
+ }
+
+ function findAndRecreateChildWithReference(startingNode, childType, referencedNode, rootNodes, functionLibraryUiObjectsFromNodes, functionLibraryNodeDeleter) {
+ /*
+ This function finds the child of the starting node that references
+ the reference node and if found it deletes it. Existing or not
+ it creates it again with the child type specified.
+ */
+ let child
+ child = findChildReferencingThisNode(startingNode, referencedNode)
+ if (child !== undefined) {
+ functionLibraryNodeDeleter.deleteUIObject(child, rootNodes)
+ }
+ child = functionLibraryUiObjectsFromNodes.addUIObject(startingNode, childType)
+ child.payload.referenceParent = referencedNode
+ return child
+ }
+
+ function findChildIndexAtParentNode(startingNode) {
+ /*
+ This functioin scan all the children of a node's parent and returns the child
+ index at the node property array that contains it.
+ */
+ if (startingNode === undefined) { return }
+ if (startingNode.payload === undefined) { return }
+ if (startingNode.payload.parentNode === undefined) { return }
+
+ let parentNode = startingNode.payload.parentNode
+
+ let nodeDefinition = getNodeDefinition(parentNode)
+ if (nodeDefinition === undefined) { return }
+
+ /* We scan through this parent node children */
+ if (nodeDefinition.properties !== undefined) {
+ for (let i = 0; i < nodeDefinition.properties.length; i++) {
+ let property = nodeDefinition.properties[i]
+
+ switch (property.type) {
+ case 'node': {
+ /* We ignore these types of children. */
+ }
+ break
+ case 'array': {
+ let startingNodePropertyArray = parentNode[property.name]
+ if (startingNodePropertyArray !== undefined) {
+ for (let m = 0; m < startingNodePropertyArray.length; m++) {
+ let arrayItem = startingNodePropertyArray[m]
+
+ if (arrayItem.id === startingNode.id) {
+ return m
+ }
+ }
+ }
+ break
+ }
+ }
+ }
+ }
+ }
+
+ function isMissingChildrenByName(startingNode, nodeName) {
+ /*
+ This functioin scan all the children of a node and returns true or false
+ depending if the node has a children with a certain name.
+ */
+ if (startingNode === undefined) { return }
+
+ let nodeDefinition = getNodeDefinition(startingNode)
+ if (nodeDefinition === undefined) { return }
+
+ /* We scan through this node children */
+ if (nodeDefinition.properties !== undefined) {
+ for (let i = 0; i < nodeDefinition.properties.length; i++) {
+ let property = nodeDefinition.properties[i]
+
+ switch (property.type) {
+ case 'node': {
+ let child = startingNode[property.name]
+ if (child !== undefined) {
+ if (child.name === nodeName) {
+ return false
+ }
+ }
+ }
+ break
+ case 'array': {
+ let startingNodePropertyArray = startingNode[property.name]
+ if (startingNodePropertyArray !== undefined) {
+ for (let m = 0; m < startingNodePropertyArray.length; m++) {
+ let arrayItem = startingNodePropertyArray[m]
+ if (arrayItem.name === nodeName) {
+ return false
+ }
+ }
+ }
+ break
+ }
+ }
+ }
+ return true
+ }
+ }
+}
\ No newline at end of file
diff --git a/Integrations/Projects/Superalgos/Utilities/NodeConfig.js b/Integrations/Projects/Superalgos/Utilities/NodeConfig.js
new file mode 100644
index 000000000..866a99a8e
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/NodeConfig.js
@@ -0,0 +1,27 @@
+function newSuperalgosUtilitiesNodeConfig() {
+ thisObject = {
+ savePropertyAtNodeConfig: savePropertyAtNodeConfig,
+ loadPropertyFromNodeConfig: loadPropertyFromNodeConfig
+ }
+
+ return thisObject
+
+ function savePropertyAtNodeConfig(payload, propertyName, value) {
+ try {
+ let config = JSON.parse(payload.node.config)
+ config[propertyName] = value
+ payload.node.config = JSON.stringify(config, null, 4)
+ } catch (err) {
+ // we ignore errors here since most likely they will be parsing errors.
+ }
+ }
+
+ function loadPropertyFromNodeConfig(payload, propertyName) {
+ try {
+ let config = JSON.parse(payload.node.config)
+ return config[propertyName]
+ } catch (err) {
+ // we ignore errors here since most likely they will be parsing errors.
+ }
+ }
+}
\ No newline at end of file
diff --git a/Integrations/Projects/Superalgos/Utilities/Tutorial.js b/Integrations/Projects/Superalgos/Utilities/Tutorial.js
new file mode 100644
index 000000000..a9571eeb4
--- /dev/null
+++ b/Integrations/Projects/Superalgos/Utilities/Tutorial.js
@@ -0,0 +1,27 @@
+function newSuperalgosUtilitiesTutorial() {
+ thisObject = {
+ saveTutorial: saveTutorial,
+ loadTutorial: loadTutorial
+ }
+
+ return thisObject
+
+ function saveTutorial(payload, tutorial) {
+ payload.tutorial = {
+ status: tutorial.status
+ }
+ }
+
+ function loadTutorial(payload, tutorial) {
+ if (payload.tutorial !== undefined) {
+ tutorial.status = payload.tutorial.status
+ return
+ }
+ if (payload.node.savedPayload !== undefined) {
+ if (payload.node.savedPayload.tutorial !== undefined) {
+ tutorial.status = payload.node.savedPayload.tutorial.status
+ payload.node.savedPayload.tutorial = undefined
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Legacy-Code/Masters/bots/Exchange-Raw-Data-Sensor-Bot/Historic-OHLCVs/User.Bot.js b/Legacy-Code/Masters/bots/Exchange-Raw-Data-Sensor-Bot/Historic-OHLCVs/User.Bot.js
index 75f332fca..28f9d963e 100644
--- a/Legacy-Code/Masters/bots/Exchange-Raw-Data-Sensor-Bot/Historic-OHLCVs/User.Bot.js
+++ b/Legacy-Code/Masters/bots/Exchange-Raw-Data-Sensor-Bot/Historic-OHLCVs/User.Bot.js
@@ -20,8 +20,8 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
const ONE_MIN = 60000
const ONE_DAY = ONE_MIN * 60 * 24
-
- const MAX_OHLCVs_PER_EXECUTION = 10000000
+
+ const MAX_OHLCVs_PER_EXECUTION = 10000000
const symbol = bot.market.baseAsset + '/' + bot.market.quotedAsset
const ccxt = require('ccxt')
@@ -47,6 +47,8 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
return thisObject;
function initialize(pStatusDependencies, callBackFunction) {
+ let exchangeClass
+
try {
logger.fileName = MODULE_NAME;
@@ -54,7 +56,7 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
statusDependencies = pStatusDependencies;
- exchangeId = bot.exchange.toLowerCase()
+ exchangeId = bot.exchange.toLowerCase().replace(' ', '')
/* Applying the parameters defined by the user at the Exchange Node Config */
if (bot.exchangeNode.config.API !== undefined) {
@@ -95,7 +97,7 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
if (secret === "undefined") { secret = undefined }
- const exchangeClass = ccxt[exchangeId]
+ exchangeClass = ccxt[exchangeId]
const exchangeConstructorParams = {
'apiKey': key,
'secret': secret,
@@ -117,6 +119,16 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
} catch (err) {
logger.write(MODULE_NAME, "[ERROR] initialize -> err = " + err.stack);
+
+ /* CCXT Supported Exchanges */
+ console.log('CCXT Library current supported exchanges:')
+ for (const property in ccxt) {
+ console.log(`${property}`);
+ }
+ console.log('For more info please check: https://github.com/ccxt/ccxt/wiki/Manual')
+ console.log('Exchange Class ' + exchangeId)
+ console.log(exchangeClass)
+
callBackFunction(global.DEFAULT_FAIL_RESPONSE);
}
}
@@ -151,7 +163,7 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
try {
let reportKey;
- reportKey = "Masters" + "-" + "Exchange-Raw-Data" + "-" + "Historic-OHLCVs"
+ reportKey = "Masters" + "-" + "Exchange-Raw-Data" + "-" + "Historic-OHLCVs"
if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] start -> getContextVariables -> reportKey = " + reportKey); }
if (statusDependencies.statusReports.get(reportKey).status === "Status Report is corrupt.") {
@@ -317,13 +329,13 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
if (since === previousSince) {
since++ // this prevents requesting in a loop OHLCVs with the same timestamp, that can happen when all the records fetched comes with exactly the same timestamp.
}
-
+
lastId = OHLCVs[OHLCVs.length - 1]['id']
for (let i = 0; i < OHLCVs.length; i++) {
-
- let OHLCV = OHLCVs[i]
+
+ let OHLCV = OHLCVs[i]
let OHLCVKey = OHLCV[0] + '-' + OHLCV[1].toFixed(16) + '-' + OHLCV[2].toFixed(16) + '-' + OHLCV[3].toFixed(16) + '-' + OHLCV[4].toFixed(16) + '-' + OHLCV[5].toFixed(16)
if (OHLCVKey !== lastOHLCVKey) {
@@ -347,10 +359,10 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
if (err.stack.toString().indexOf('ERR_RATE_LIMIT') >= 0) {
logger.write(MODULE_NAME, "[ERROR] start -> getOHLCVs -> Retrying Later -> The Exchange " + bot.exchange + " is saying you are requesting data too often. I will retry the request later, no action is required. To avoid this happening again please increase the rateLimit at the Exchange node config. You might continue seeing this if you are retrieving data from multiple markets at the same time. In this case I tried to get 1 min OHLCVs from " + symbol);
return
- }
+ }
if (err.stack.toString().indexOf('RequestTimeout') >= 0) {
- logger.write(MODULE_NAME, "[ERROR] start -> getOHLCVs -> Retrying Later -> The Exchange " + bot.exchange + " is not responding at the moment. I will save the data already fetched and try to reconnect later to fetch the rest of the missing data." );
+ logger.write(MODULE_NAME, "[ERROR] start -> getOHLCVs -> Retrying Later -> The Exchange " + bot.exchange + " is not responding at the moment. I will save the data already fetched and try to reconnect later to fetch the rest of the missing data.");
return
}
@@ -358,7 +370,7 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
logger.write(MODULE_NAME, "[ERROR] start -> getOHLCVs -> Retrying Later -> The Exchange " + bot.exchange + " is not available at the moment. I will save the data already fetched and try to reconnect later to fetch the rest of the missing data.");
return
}
-
+
logger.write(MODULE_NAME, "[ERROR] start -> getOHLCVs -> Retrying Later -> err = " + err.stack);
callBackFunction(global.DEFAULT_RETRY_RESPONSE);
abort = true
@@ -463,10 +475,10 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
close: record[4],
volume: record[5]
}
- }
+ }
let candleMinute = Math.trunc(candle.begin / ONE_MIN)
- let OHLCVMinute
+ let OHLCVMinute
checkOHLCVMinute()
@@ -500,7 +512,7 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
}
/* Reporting we are doing well */
- heartBeatCounter--
+ heartBeatCounter--
if (heartBeatCounter <= 0) {
heartBeatCounter = 1440
if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] start -> saveOHLCVs -> After Fetch -> Saving OHLCVs @ " + processingDate + " -> i = " + i + " -> total = " + allOHLCVs.length) }
@@ -509,9 +521,9 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
/* End Reporting */
if (candleMinute === OHLCVMinute) {
- candle.open = OHLCV.open
- candle.close = OHLCV.close
- candle.min = OHLCV.low
+ candle.open = OHLCV.open
+ candle.close = OHLCV.close
+ candle.min = OHLCV.low
candle.max = OHLCV.hight
volume.buy = OHLCV.volume / 2
volume.sell = OHLCV.volume / 2
@@ -521,7 +533,7 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
}
lastId = OHLCV.id
-
+
}
lastCandle = candle
@@ -547,7 +559,7 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
if (i > 0) { // Only start saving at the day of the first candle.
saveFile(currentDay)
return
- }
+ }
controlLoop()
@@ -555,8 +567,8 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
candlesFileContent = candlesFileContent + ']'
volumesFileContent = volumesFileContent + ']'
- let fileName = 'Data.json'
-
+ let fileName = 'Data.json'
+
filesToCreate++
fileStorage.createTextFile(getFilePath(day * ONE_DAY, CANDLES_FOLDER_NAME) + '/' + fileName, candlesFileContent + '\n', onFileCreated);
@@ -586,7 +598,7 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
let datetime = new Date(timestamp)
let dateForPath = datetime.getUTCFullYear() + '/' +
utilities.pad(datetime.getUTCMonth() + 1, 2) + '/' +
- utilities.pad(datetime.getUTCDate(), 2)
+ utilities.pad(datetime.getUTCDate(), 2)
let filePath = bot.filePathRoot + "/Output/" + folderName + '/' + dateForPath;
return filePath
}
@@ -618,7 +630,7 @@ exports.newUserBot = function newUserBot(bot, logger, COMMONS, UTILITIES, FILE_S
/* The natural exit is at the end of the market */
- if (headOfTheMarketReached === false ) {
+ if (headOfTheMarketReached === false) {
setImmediate(loop)
} else {
if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] start -> saveOHLCVs -> controlLoop -> Exit because we reached the end of the market. ") }
diff --git a/Legacy-Code/Masters/plotters/Plotters-Bollinger-Bands/BollingerBands.js b/Legacy-Code/Masters/plotters/Plotters-Bollinger-Bands/BollingerBands.js
index cf8e8da67..3a5950ede 100644
--- a/Legacy-Code/Masters/plotters/Plotters-Bollinger-Bands/BollingerBands.js
+++ b/Legacy-Code/Masters/plotters/Plotters-Bollinger-Bands/BollingerBands.js
@@ -67,8 +67,8 @@
/* Stop listening to the necesary events. */
thisObject.container.eventHandler.stopListening(onMouseOverEventSuscriptionId)
- canvas.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId);
- canvas.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId);
+ UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId);
+ UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId);
canvas.eventHandler.stopListening(dragFinishedEventSubscriptionId);
thisObject.container.eventHandler.stopListening(dimmensionsChangedEventSubscriptionId)
marketFiles.eventHandler.stopListening(marketFilesUpdatedEventSubscriptionId);
@@ -121,8 +121,8 @@
/* Listen to the necesary events. */
- zoomChangedEventSubscriptionId = canvas.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged);
- offsetChangedEventSubscriptionId = canvas.chartingSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged);
+ zoomChangedEventSubscriptionId = UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged);
+ offsetChangedEventSubscriptionId = UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged);
dragFinishedEventSubscriptionId = canvas.eventHandler.listenToEvent("Drag Finished", onDragFinished);
marketFilesUpdatedEventSubscriptionId = marketFiles.eventHandler.listenToEvent("Files Updated", onMarketFilesUpdated);
dailyFilesUpdatedEventSubscriptionId = dailyFiles.eventHandler.listenToEvent("Files Updated", onDailyFilesUpdated);
@@ -157,7 +157,7 @@
}
function onMouseOver(event) {
- let userPosition = getDateFromPointAtBrowserCanvas(event, thisObject.container, coordinateSystem)
+ let userPosition = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(event, thisObject.container, coordinateSystem)
userPositionDate = userPosition.valueOf()
}
@@ -320,8 +320,8 @@
let daysOnSides = getSideDays(timeFrame);
- let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem);
- let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem);
+ let leftDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem);
+ let rightDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem);
let dateDiff = rightDate.valueOf() - leftDate.valueOf();
@@ -335,7 +335,7 @@
while (currentDate.valueOf() <= farRightDate.valueOf() + ONE_DAY_IN_MILISECONDS) {
- let stringDate = currentDate.getFullYear() + '-' + pad(currentDate.getMonth() + 1, 2) + '-' + pad(currentDate.getDate(), 2);
+ let stringDate = currentDate.getUTCFullYear() + '-' + pad(currentDate.getUTCMonth() + 1, 2) + '-' + pad(currentDate.getUTCDate(), 2);
let dailyFile = fileCursor.files.get(stringDate);
@@ -413,8 +413,8 @@
let daysOnSides = getSideDays(timeFrame);
- let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem);
- let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem);
+ let leftDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem);
+ let rightDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem);
let dateDiff = rightDate.valueOf() - leftDate.valueOf();
@@ -525,19 +525,19 @@
bandPoint5 = coordinateSystem.transformThisPoint(bandPoint5);
bandPoint6 = coordinateSystem.transformThisPoint(bandPoint6);
- bandPoint1 = transformThisPoint(bandPoint1, thisObject.container);
- bandPoint2 = transformThisPoint(bandPoint2, thisObject.container);
- bandPoint3 = transformThisPoint(bandPoint3, thisObject.container);
- bandPoint4 = transformThisPoint(bandPoint4, thisObject.container);
- bandPoint5 = transformThisPoint(bandPoint5, thisObject.container);
- bandPoint6 = transformThisPoint(bandPoint6, thisObject.container);
+ bandPoint1 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(bandPoint1, thisObject.container);
+ bandPoint2 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(bandPoint2, thisObject.container);
+ bandPoint3 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(bandPoint3, thisObject.container);
+ bandPoint4 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(bandPoint4, thisObject.container);
+ bandPoint5 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(bandPoint5, thisObject.container);
+ bandPoint6 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(bandPoint6, thisObject.container);
- if (bandPoint2.x < canvas.chartingSpace.viewport.visibleArea.bottomLeft.x || bandPoint1.x > canvas.chartingSpace.viewport.visibleArea.bottomRight.x) {
+ if (bandPoint2.x < UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.x || bandPoint1.x > UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.x) {
continue;
}
- if (canvas.chartingSpace.viewport.zoomTargetLevel < ZOOM_OUT_THRESHOLD_FOR_PACKING_OBJECTS_AT_THE_BOTTOM_OR_TOP_OF_VIEWPORT) {
- let diffA = bandPoint1.y - canvas.chartingSpace.viewport.visibleArea.bottomLeft.y
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport.zoomTargetLevel < UI.projects.superalgos.globals.zoom.ZOOM_OUT_THRESHOLD_FOR_PACKING_OBJECTS_AT_THE_BOTTOM_OR_TOP_OF_VIEWPORT) {
+ let diffA = bandPoint1.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.y
if (diffA > 0) {
bandPoint1.y = bandPoint1.y - diffA
bandPoint2.y = bandPoint2.y - diffA
@@ -547,7 +547,7 @@
bandPoint6.y = bandPoint6.y - diffA
}
- let diffB = bandPoint2.y - canvas.chartingSpace.viewport.visibleArea.topLeft.y
+ let diffB = bandPoint2.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.y
if (diffB < 0) {
bandPoint1.y = bandPoint1.y - diffB
bandPoint2.y = bandPoint2.y - diffB
@@ -558,12 +558,12 @@
}
}
- bandPoint1 = canvas.chartingSpace.viewport.fitIntoVisibleArea(bandPoint1);
- bandPoint2 = canvas.chartingSpace.viewport.fitIntoVisibleArea(bandPoint2);
- bandPoint3 = canvas.chartingSpace.viewport.fitIntoVisibleArea(bandPoint3);
- bandPoint4 = canvas.chartingSpace.viewport.fitIntoVisibleArea(bandPoint4);
- bandPoint5 = canvas.chartingSpace.viewport.fitIntoVisibleArea(bandPoint5);
- bandPoint6 = canvas.chartingSpace.viewport.fitIntoVisibleArea(bandPoint6);
+ bandPoint1 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(bandPoint1);
+ bandPoint2 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(bandPoint2);
+ bandPoint3 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(bandPoint3);
+ bandPoint4 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(bandPoint4);
+ bandPoint5 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(bandPoint5);
+ bandPoint6 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(bandPoint6);
bandPoint1 = thisObject.fitFunction(bandPoint1);
bandPoint2 = thisObject.fitFunction(bandPoint2);
@@ -591,9 +591,9 @@
}
if (
- bandPoint1.x < canvas.chartingSpace.viewport.visibleArea.topLeft.x + 150
+ bandPoint1.x < UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.x + 150
||
- bandPoint1.x > canvas.chartingSpace.viewport.visibleArea.bottomRight.x - 150
+ bandPoint1.x > UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.x - 150
) {
// we leave this bands without fill.
} else {
diff --git a/Legacy-Code/Masters/plotters/Plotters-Bollinger-Bands/BollingerBandsPanel.js b/Legacy-Code/Masters/plotters/Plotters-Bollinger-Bands/BollingerBandsPanel.js
index a01b74e1d..0cf50836d 100644
--- a/Legacy-Code/Masters/plotters/Plotters-Bollinger-Bands/BollingerBandsPanel.js
+++ b/Legacy-Code/Masters/plotters/Plotters-Bollinger-Bands/BollingerBandsPanel.js
@@ -1,5 +1,5 @@
-function newMastersPlottersBollingerBandsBollingerBandsBollingerBandsPanel () {
+function newMastersPlottersBollingerBandsBollingerBandsBollingerBandsPanel() {
var thisObject = {
fitFunction: undefined,
@@ -37,8 +37,8 @@ function newMastersPlottersBollingerBandsBollingerBandsBollingerBandsPanel () {
thisObject.container.frame.width = UI_PANEL.WIDTH.NORMAL;
thisObject.container.frame.height = UI_PANEL.HEIGHT.NORMAL;
- thisObject.container.frame.position.x = canvas.chartingSpace.viewport.visibleArea.topRight.x - thisObject.container.frame.width * 3;
- thisObject.container.frame.position.y = canvas.chartingSpace.viewport.visibleArea.bottomLeft.y - thisObject.container.frame.height;
+ thisObject.container.frame.position.x = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight.x - thisObject.container.frame.width * 3;
+ thisObject.container.frame.position.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.y - thisObject.container.frame.height;
upDownButton = newUpDownButton()
upDownButton.parentContainer = thisObject.container
@@ -201,20 +201,19 @@ function newMastersPlottersBollingerBandsBollingerBandsBollingerBandsPanel () {
let y;
-
if (currentBand.innerBand.direction !== undefined) {
- printLabel('Direction', X_AXIS, frameTitleHeight + frameBodyHeight * 0.05, '0.60', undefined, undefined, true, thisObject.container, thisObject.fitFunction);
- printLabel(currentBand.innerBand.direction, X_AXIS, frameTitleHeight + frameBodyHeight * 0.10, '1.00', 15, undefined, true, thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel('Direction', undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.05, '0.60', undefined, undefined, 'Center', thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel(currentBand.innerBand.direction, undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.10, '1.00', 15, undefined, 'Center', thisObject.container, thisObject.fitFunction);
}
- printLabel('Moving Average', X_AXIS, frameTitleHeight + frameBodyHeight * 0.15, '0.60', undefined, undefined, true, thisObject.container, thisObject.fitFunction);
- printLabel(currentBand.innerBand.movingAverage, X_AXIS, frameTitleHeight + frameBodyHeight * 0.20, '1.00', 15, undefined, true, thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel('Moving Average', undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.15, '0.60', undefined, undefined, 'Center', thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel(currentBand.innerBand.movingAverage, undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.20, '1.00', 15, undefined, 'Center', thisObject.container, thisObject.fitFunction, undefined, undefined, 10);
- printLabel('Deviation', X_AXIS, frameTitleHeight + frameBodyHeight * 0.85, '0.60', undefined, undefined, true, thisObject.container, thisObject.fitFunction);
- printLabel(currentBand.innerBand.deviation, X_AXIS, frameTitleHeight + frameBodyHeight * 0.80, '1.00', 15, undefined, true, thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel('Deviation', undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.85, '0.60', undefined, undefined, 'Center', thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel(currentBand.innerBand.deviation, X_AXIS, frameTitleHeight + frameBodyHeight * 0.80, '1.00', 15, undefined, 'Center', thisObject.container, thisObject.fitFunction, undefined, undefined, 10);
- printLabel('Standard Deviation', X_AXIS, frameTitleHeight + frameBodyHeight * 0.95, '0.60', undefined, undefined, true, thisObject.container, thisObject.fitFunction);
- printLabel(currentBand.innerBand.standardDeviation, X_AXIS, frameTitleHeight + frameBodyHeight * 0.90, '1.00', 15, undefined, true, thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel('Standard Deviation', undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.95, '0.60', undefined, undefined, 'Center', thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel(currentBand.innerBand.standardDeviation, undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.90, '1.00', 15, undefined, 'Center', thisObject.container, thisObject.fitFunction, undefined, undefined, 10);
}
}
diff --git a/Legacy-Code/Masters/plotters/Plotters-Bollinger-Bands/PercentageBandwidth.js b/Legacy-Code/Masters/plotters/Plotters-Bollinger-Bands/PercentageBandwidth.js
index 0a0661c91..0f38df5b2 100644
--- a/Legacy-Code/Masters/plotters/Plotters-Bollinger-Bands/PercentageBandwidth.js
+++ b/Legacy-Code/Masters/plotters/Plotters-Bollinger-Bands/PercentageBandwidth.js
@@ -65,8 +65,8 @@
/* Stop listening to the necesary events. */
- canvas.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId);
- canvas.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId);
+ UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId);
+ UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId);
canvas.eventHandler.stopListening(dragFinishedEventSubscriptionId);
thisObject.container.eventHandler.stopListening(dimmensionsChangedEventSubscriptionId)
marketFiles.eventHandler.stopListening(marketFilesUpdatedEventSubscriptionId);
@@ -115,8 +115,8 @@
/* Listen to the necesary events. */
- zoomChangedEventSubscriptionId = canvas.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged);
- offsetChangedEventSubscriptionId = canvas.chartingSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged);
+ zoomChangedEventSubscriptionId = UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged);
+ offsetChangedEventSubscriptionId = UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged);
dragFinishedEventSubscriptionId = canvas.eventHandler.listenToEvent("Drag Finished", onDragFinished);
marketFilesUpdatedEventSubscriptionId = marketFiles.eventHandler.listenToEvent("Files Updated", onMarketFilesUpdated);
dailyFilesUpdatedEventSubscriptionId = dailyFiles.eventHandler.listenToEvent("Files Updated", onDailyFilesUpdated);
@@ -301,8 +301,8 @@
let daysOnSides = getSideDays(timeFrame);
- let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, plotAreaFrame);
- let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topRight, thisObject.container, plotAreaFrame);
+ let leftDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, plotAreaFrame);
+ let rightDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight, thisObject.container, plotAreaFrame);
let dateDiff = rightDate.valueOf() - leftDate.valueOf();
@@ -315,7 +315,7 @@
while (currentDate.valueOf() <= farRightDate.valueOf() + ONE_DAY_IN_MILISECONDS) {
- let stringDate = currentDate.getFullYear() + '-' + pad(currentDate.getMonth() + 1, 2) + '-' + pad(currentDate.getDate(), 2);
+ let stringDate = currentDate.getUTCFullYear() + '-' + pad(currentDate.getUTCMonth() + 1, 2) + '-' + pad(currentDate.getUTCDate(), 2);
let dailyFile = fileCursor.files.get(stringDate);
@@ -386,8 +386,8 @@
let daysOnSides = getSideDays(timeFrame);
- let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, plotAreaFrame);
- let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topRight, thisObject.container, plotAreaFrame);
+ let leftDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, plotAreaFrame);
+ let rightDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight, thisObject.container, plotAreaFrame);
let dateDiff = rightDate.valueOf() - leftDate.valueOf();
@@ -480,7 +480,7 @@
plotAreaViewport.initializeY(
minValue,
maxValue,
- canvas.chartingSpace.viewport.visibleArea.bottomRight.y - canvas.chartingSpace.viewport.visibleArea.topLeft.y
+ UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.y
);
plotAreaFrame.initializeY(
@@ -510,7 +510,7 @@
/* This next section is to get ready in order to be able to plot dinamically constrained to the viewport */
- let visibleHeight = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - canvas.chartingSpace.viewport.visibleArea.topLeft.y;
+ let visibleHeight = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.y;
let frameCorner1 = {
x: 0,
@@ -524,8 +524,8 @@
/* Now the transformations. */
- frameCorner1 = transformThisPoint(frameCorner1, thisObject.container.frame.container);
- frameCorner2 = transformThisPoint(frameCorner2, thisObject.container.frame.container);
+ frameCorner1 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(frameCorner1, thisObject.container.frame.container);
+ frameCorner2 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(frameCorner2, thisObject.container.frame.container);
let frameHeightInViewPort = frameCorner2.y - frameCorner1.y;
let pbChartHeight = 20;
@@ -637,21 +637,21 @@
pbPoint9 = plot.transformThisPoint(pbPoint9);
pbPoint10 = plot.transformThisPoint(pbPoint10);
- pbPoint1 = transformThisPoint(pbPoint1, thisObject.container);
- pbPoint2 = transformThisPoint(pbPoint2, thisObject.container);
+ pbPoint1 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pbPoint1, thisObject.container);
+ pbPoint2 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pbPoint2, thisObject.container);
- pbPoint3 = transformThisPoint(pbPoint3, thisObject.container);
- pbPoint4 = transformThisPoint(pbPoint4, thisObject.container);
- pbPoint5 = transformThisPoint(pbPoint5, thisObject.container);
- pbPoint6 = transformThisPoint(pbPoint6, thisObject.container);
+ pbPoint3 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pbPoint3, thisObject.container);
+ pbPoint4 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pbPoint4, thisObject.container);
+ pbPoint5 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pbPoint5, thisObject.container);
+ pbPoint6 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pbPoint6, thisObject.container);
- pbPoint7 = transformThisPoint(pbPoint7, thisObject.container);
- pbPoint8 = transformThisPoint(pbPoint8, thisObject.container);
+ pbPoint7 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pbPoint7, thisObject.container);
+ pbPoint8 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pbPoint8, thisObject.container);
- pbPoint9 = transformThisPoint(pbPoint9, thisObject.container);
- pbPoint10 = transformThisPoint(pbPoint10, thisObject.container);
+ pbPoint9 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pbPoint9, thisObject.container);
+ pbPoint10 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(pbPoint10, thisObject.container);
- if (pbPoint1.x < canvas.chartingSpace.viewport.visibleArea.bottomLeft.x || pbPoint2.x > canvas.chartingSpace.viewport.visibleArea.bottomRight.x) {
+ if (pbPoint1.x < UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.x || pbPoint2.x > UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.x) {
return false;
}
@@ -669,37 +669,37 @@
/* Now we set the real value of y. */
- pbPoint1.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (previousPercentBandwidth + pbOffset) * plotAreaViewport.scale.y;
- pbPoint2.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (currentPercentBandwidth + pbOffset) * plotAreaViewport.scale.y;
+ pbPoint1.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - (previousPercentBandwidth + pbOffset) * plotAreaViewport.scale.y;
+ pbPoint2.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - (currentPercentBandwidth + pbOffset) * plotAreaViewport.scale.y;
- pbPoint3.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (0 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y;
- pbPoint4.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (30 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y;
- pbPoint5.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (70 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y;
- pbPoint6.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (100 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y;
+ pbPoint3.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - (0 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y;
+ pbPoint4.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - (30 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y;
+ pbPoint5.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - (70 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y;
+ pbPoint6.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - (100 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y;
- pbPoint7.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (previousMovingAverage + pbOffset) * plotAreaViewport.scale.y;
- pbPoint8.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (currentMovingAverage + pbOffset) * plotAreaViewport.scale.y;
+ pbPoint7.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - (previousMovingAverage + pbOffset) * plotAreaViewport.scale.y;
+ pbPoint8.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - (currentMovingAverage + pbOffset) * plotAreaViewport.scale.y;
- pbPoint9.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (previousBandwidth + pbOffset) * plotAreaViewport.scale.y;
- pbPoint10.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (currentBandwidth + pbOffset) * plotAreaViewport.scale.y;
+ pbPoint9.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - (previousBandwidth + pbOffset) * plotAreaViewport.scale.y;
+ pbPoint10.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - (currentBandwidth + pbOffset) * plotAreaViewport.scale.y;
}
/* Everything must fit within the visible area */
- pbPoint1 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint1);
- pbPoint2 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint2);
+ pbPoint1 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(pbPoint1);
+ pbPoint2 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(pbPoint2);
- pbPoint3 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint3);
- pbPoint4 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint4);
- pbPoint5 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint5);
- pbPoint6 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint6);
+ pbPoint3 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(pbPoint3);
+ pbPoint4 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(pbPoint4);
+ pbPoint5 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(pbPoint5);
+ pbPoint6 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(pbPoint6);
- pbPoint7 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint7);
- pbPoint8 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint8);
+ pbPoint7 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(pbPoint7);
+ pbPoint8 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(pbPoint8);
- pbPoint9 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint9);
- pbPoint10 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint10);
+ pbPoint9 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(pbPoint9);
+ pbPoint10 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(pbPoint10);
/* Now the drawing of the lines */
diff --git a/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/CandlePanel.js b/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/CandlePanel.js
index e6c255403..c223aaa74 100644
--- a/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/CandlePanel.js
+++ b/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/CandlePanel.js
@@ -37,8 +37,8 @@ function newMastersPlottersCandlesVolumesCandlesCandlePanel() {
thisObject.container.frame.width = UI_PANEL.WIDTH.NORMAL;
thisObject.container.frame.height = UI_PANEL.HEIGHT.NORMAL;
- thisObject.container.frame.position.x = canvas.chartingSpace.viewport.visibleArea.topRight.x - thisObject.container.frame.width * 2;
- thisObject.container.frame.position.y = canvas.chartingSpace.viewport.visibleArea.bottomLeft.y - thisObject.container.frame.height;
+ thisObject.container.frame.position.x = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight.x - thisObject.container.frame.width * 2;
+ thisObject.container.frame.position.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.y - thisObject.container.frame.height;
upDownButton = newUpDownButton()
upDownButton.parentContainer = thisObject.container
@@ -324,27 +324,27 @@ function newMastersPlottersCandlesVolumesCandlesCandlePanel() {
let y;
- printLabel('Max', X_AXIS, frameTitleHeight + frameBodyHeight * 0.05, '0.60', undefined, undefined, true, thisObject.container, thisObject.fitFunction);
- printLabel(currentCandle.innerCandle.max, X_AXIS, frameTitleHeight + frameBodyHeight * 0.10, '1.00', 15, undefined, true, thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel('Max', undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.05, '0.60', undefined, undefined, 'Center', thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel(currentCandle.innerCandle.max, undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.10, '1.00', 15, undefined, 'Center', thisObject.container, thisObject.fitFunction);
- printLabel('Min', X_AXIS, frameTitleHeight + frameBodyHeight * 0.95, '0.60', undefined, undefined, true, thisObject.container, thisObject.fitFunction);
- printLabel(currentCandle.innerCandle.min, X_AXIS, frameTitleHeight + frameBodyHeight * 0.90, '1.00', 15, undefined, true, thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel('Min', undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.95, '0.60', undefined, undefined, 'Center', thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel(currentCandle.innerCandle.min, undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.90, '1.00', 15, undefined, 'Center', thisObject.container, thisObject.fitFunction);
y = Y_AXIS - currentCandle.bodyHeight / 2;
if (y < frameTitleHeight + frameBodyHeight * 0.15) { y = frameTitleHeight + frameBodyHeight * 0.15; }
if (y > frameTitleHeight + frameBodyHeight * 0.80) { y = frameTitleHeight + frameBodyHeight * 0.80; }
- printLabel('Open', X_AXIS * 2 / 5, y, '0.60', undefined, undefined, true, thisObject.container, thisObject.fitFunction);
- printLabel(currentCandle.innerCandle.open, X_AXIS * 2 / 5, y + frameBodyHeight * 0.05, '1.00', 15, undefined, true, thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel('Open', undefined, undefined, X_AXIS * 2 / 5, y, '0.60', undefined, undefined, 'Center', thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel(currentCandle.innerCandle.open, undefined, undefined, X_AXIS * 2 / 5, y + frameBodyHeight * 0.05, '1.00', 15, undefined, 'Center', thisObject.container, thisObject.fitFunction);
y = Y_AXIS + currentCandle.bodyHeight / 2;
if (y < frameTitleHeight + frameBodyHeight * 0.15) { y = frameTitleHeight + frameBodyHeight * 0.15; }
if (y > frameTitleHeight + frameBodyHeight * 0.80) { y = frameTitleHeight + frameBodyHeight * 0.80; }
- printLabel('Close', X_AXIS * 7 / 5, y, '0.60', undefined, undefined, true, thisObject.container, thisObject.fitFunction);
- printLabel(currentCandle.innerCandle.close, X_AXIS * 7 / 5, y + frameBodyHeight * 0.05, '1.00', 15, undefined, true, thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel('Close', undefined, undefined, X_AXIS * 7 / 5, y, '0.60', undefined, undefined, 'Center', thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel(currentCandle.innerCandle.close, undefined, undefined, X_AXIS * 7 / 5, y + frameBodyHeight * 0.05, '1.00', 15, undefined, 'Center', thisObject.container, thisObject.fitFunction);
}
}
diff --git a/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/Candles.js b/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/Candles.js
index 9fd121278..46aba26b6 100644
--- a/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/Candles.js
+++ b/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/Candles.js
@@ -57,8 +57,8 @@
/* Stop listening to the necesary events. */
thisObject.container.eventHandler.stopListening(onMouseOverEventSuscriptionId)
- canvas.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId);
- canvas.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId);
+ UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId);
+ UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId);
canvas.eventHandler.stopListening(dragFinishedEventSubscriptionId);
thisObject.container.eventHandler.stopListening(dimmensionsChangedEventSubscriptionId)
marketFiles.eventHandler.stopListening(marketFilesUpdatedEventSubscriptionId);
@@ -110,8 +110,8 @@
/* Listen to the necesary events. */
- zoomChangedEventSubscriptionId = canvas.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged);
- offsetChangedEventSubscriptionId = canvas.chartingSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged);
+ zoomChangedEventSubscriptionId = UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged);
+ offsetChangedEventSubscriptionId = UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged);
dragFinishedEventSubscriptionId = canvas.eventHandler.listenToEvent("Drag Finished", onDragFinished);
marketFilesUpdatedEventSubscriptionId = marketFiles.eventHandler.listenToEvent("Files Updated", onMarketFilesUpdated);
dailyFilesUpdatedEventSubscriptionId = dailyFiles.eventHandler.listenToEvent("Files Updated", onDailyFilesUpdated);
@@ -146,7 +146,7 @@
}
function onMouseOver(event) {
- let userPosition = getDateFromPointAtBrowserCanvas(event, thisObject.container, coordinateSystem)
+ let userPosition = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(event, thisObject.container, coordinateSystem)
userPositionDate = userPosition.valueOf()
}
@@ -303,8 +303,8 @@
let daysOnSides = getSideDays(timeFrame);
- let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem);
- let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem);
+ let leftDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem);
+ let rightDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem);
let dateDiff = rightDate.valueOf() - leftDate.valueOf();
@@ -317,7 +317,7 @@
while (currentDate.valueOf() <= farRightDate.valueOf() + ONE_DAY_IN_MILISECONDS) {
- let stringDate = currentDate.getFullYear() + '-' + pad(currentDate.getMonth() + 1, 2) + '-' + pad(currentDate.getDate(), 2);
+ let stringDate = currentDate.getUTCFullYear() + '-' + pad(currentDate.getUTCMonth() + 1, 2) + '-' + pad(currentDate.getUTCDate(), 2);
let dailyFile = fileCursor.files.get(stringDate);
@@ -400,8 +400,8 @@
let daysOnSides = getSideDays(timeFrame);
- let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem);
- let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem);
+ let leftDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem);
+ let rightDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem);
let dateDiff = rightDate.valueOf() - leftDate.valueOf();
@@ -470,7 +470,7 @@
try {
let elementsPlotted = 0
let lowResolution = false
- if (canvas.chartingSpace.viewport.zoomTargetLevel < ZOOM_OUT_THRESHOLD_FOR_PLOTTING_IN_LOW_RESOLUTION) {
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport.zoomTargetLevel < UI.projects.superalgos.globals.zoom.ZOOM_OUT_THRESHOLD_FOR_PLOTTING_IN_LOW_RESOLUTION) {
if (candles.length > 100) {
lowResolution = true
}
@@ -512,15 +512,15 @@
candle.candlePoint3 = coordinateSystem.transformThisPoint(candle.candlePoint3);
candle.candlePoint4 = coordinateSystem.transformThisPoint(candle.candlePoint4);
- candle.candlePoint1 = transformThisPoint(candle.candlePoint1, thisObject.container);
- candle.candlePoint2 = transformThisPoint(candle.candlePoint2, thisObject.container);
- candle.candlePoint3 = transformThisPoint(candle.candlePoint3, thisObject.container);
- candle.candlePoint4 = transformThisPoint(candle.candlePoint4, thisObject.container);
+ candle.candlePoint1 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(candle.candlePoint1, thisObject.container);
+ candle.candlePoint2 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(candle.candlePoint2, thisObject.container);
+ candle.candlePoint3 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(candle.candlePoint3, thisObject.container);
+ candle.candlePoint4 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(candle.candlePoint4, thisObject.container);
/* Skip the first candle with zero at open */
if (candle.open === 0) { continue }
- if (candle.candlePoint2.x < canvas.chartingSpace.viewport.visibleArea.bottomLeft.x || candle.candlePoint1.x > canvas.chartingSpace.viewport.visibleArea.bottomRight.x) {
+ if (candle.candlePoint2.x < UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.x || candle.candlePoint1.x > UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.x) {
continue
}
@@ -551,13 +551,13 @@
candle.stickPoint3 = coordinateSystem.transformThisPoint(candle.stickPoint3);
candle.stickPoint4 = coordinateSystem.transformThisPoint(candle.stickPoint4);
- candle.stickPoint1 = transformThisPoint(candle.stickPoint1, thisObject.container);
- candle.stickPoint2 = transformThisPoint(candle.stickPoint2, thisObject.container);
- candle.stickPoint3 = transformThisPoint(candle.stickPoint3, thisObject.container);
- candle.stickPoint4 = transformThisPoint(candle.stickPoint4, thisObject.container);
+ candle.stickPoint1 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(candle.stickPoint1, thisObject.container);
+ candle.stickPoint2 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(candle.stickPoint2, thisObject.container);
+ candle.stickPoint3 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(candle.stickPoint3, thisObject.container);
+ candle.stickPoint4 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(candle.stickPoint4, thisObject.container);
- if (canvas.chartingSpace.viewport.zoomTargetLevel < ZOOM_OUT_THRESHOLD_FOR_PACKING_OBJECTS_AT_THE_BOTTOM_OR_TOP_OF_VIEWPORT) {
- let diffA = candle.stickPoint3.y - canvas.chartingSpace.viewport.visibleArea.bottomLeft.y
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport.zoomTargetLevel < UI.projects.superalgos.globals.zoom.ZOOM_OUT_THRESHOLD_FOR_PACKING_OBJECTS_AT_THE_BOTTOM_OR_TOP_OF_VIEWPORT) {
+ let diffA = candle.stickPoint3.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.y
if (diffA > 0) {
candle.candlePoint1.y = candle.candlePoint1.y - diffA
candle.candlePoint2.y = candle.candlePoint2.y - diffA
@@ -570,7 +570,7 @@
candle.stickPoint4.y = candle.stickPoint4.y - diffA
}
- let diffB = candle.stickPoint1.y - canvas.chartingSpace.viewport.visibleArea.topLeft.y
+ let diffB = candle.stickPoint1.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.y
if (diffB < 0) {
candle.candlePoint1.y = candle.candlePoint1.y - diffB
candle.candlePoint2.y = candle.candlePoint2.y - diffB
@@ -584,20 +584,20 @@
}
}
- candle.candlePoint1 = canvas.chartingSpace.viewport.fitIntoVisibleArea(candle.candlePoint1);
- candle.candlePoint2 = canvas.chartingSpace.viewport.fitIntoVisibleArea(candle.candlePoint2);
- candle.candlePoint3 = canvas.chartingSpace.viewport.fitIntoVisibleArea(candle.candlePoint3);
- candle.candlePoint4 = canvas.chartingSpace.viewport.fitIntoVisibleArea(candle.candlePoint4);
+ candle.candlePoint1 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(candle.candlePoint1);
+ candle.candlePoint2 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(candle.candlePoint2);
+ candle.candlePoint3 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(candle.candlePoint3);
+ candle.candlePoint4 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(candle.candlePoint4);
candle.candlePoint1 = thisObject.fitFunction(candle.candlePoint1);
candle.candlePoint2 = thisObject.fitFunction(candle.candlePoint2);
candle.candlePoint3 = thisObject.fitFunction(candle.candlePoint3);
candle.candlePoint4 = thisObject.fitFunction(candle.candlePoint4);
- candle.stickPoint1 = canvas.chartingSpace.viewport.fitIntoVisibleArea(candle.stickPoint1);
- candle.stickPoint2 = canvas.chartingSpace.viewport.fitIntoVisibleArea(candle.stickPoint2);
- candle.stickPoint3 = canvas.chartingSpace.viewport.fitIntoVisibleArea(candle.stickPoint3);
- candle.stickPoint4 = canvas.chartingSpace.viewport.fitIntoVisibleArea(candle.stickPoint4);
+ candle.stickPoint1 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(candle.stickPoint1);
+ candle.stickPoint2 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(candle.stickPoint2);
+ candle.stickPoint3 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(candle.stickPoint3);
+ candle.stickPoint4 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(candle.stickPoint4);
candle.stickPoint1 = thisObject.fitFunction(candle.stickPoint1);
candle.stickPoint2 = thisObject.fitFunction(candle.stickPoint2);
diff --git a/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/VolumePanel.js b/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/VolumePanel.js
index ff7672fa3..9a1608a65 100644
--- a/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/VolumePanel.js
+++ b/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/VolumePanel.js
@@ -37,8 +37,8 @@ function newMastersPlottersCandlesVolumesVolumesVolumePanel() {
thisObject.container.frame.width = UI_PANEL.WIDTH.NORMAL;
thisObject.container.frame.height = UI_PANEL.HEIGHT.NORMAL;
- thisObject.container.frame.position.x = canvas.chartingSpace.viewport.visibleArea.topRight.x - thisObject.container.frame.width;
- thisObject.container.frame.position.y = canvas.chartingSpace.viewport.visibleArea.bottomLeft.y - thisObject.container.frame.height;
+ thisObject.container.frame.position.x = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight.x - thisObject.container.frame.width;
+ thisObject.container.frame.position.y = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.y - thisObject.container.frame.height;
upDownButton = newUpDownButton()
upDownButton.parentContainer = thisObject.container
@@ -213,7 +213,7 @@ function newMastersPlottersCandlesVolumesVolumesVolumePanel() {
browserCanvasContext.lineTo(buyVolumePoint3.x, buyVolumePoint3.y);
browserCanvasContext.lineTo(buyVolumePoint4.x, buyVolumePoint4.y);
- browserCanvasContext.closePath();
+ browserCanvasContext.closePath();
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.PATINATED_TURQUOISE + ', ' + OPACITY + ')';
browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.GREEN + ', ' + OPACITY + ')';
@@ -243,11 +243,11 @@ function newMastersPlottersCandlesVolumesVolumesVolumePanel() {
/* put the labels with the volumes values */
- printLabel('Buy Volume', X_AXIS, frameTitleHeight + frameBodyHeight * 0.95, '0.60', undefined, undefined, true, thisObject.container, thisObject.fitFunction);
- printLabel(currentVolume.innerVolumeBar.amountBuy, X_AXIS, frameTitleHeight + frameBodyHeight * 0.90, '1.00', 15, undefined, true, thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel('Buy Volume', undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.95, '0.60', undefined, undefined, 'Center', thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel(currentVolume.innerVolumeBar.amountBuy, undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.90, '1.00', 15, undefined, 'Center', thisObject.container, thisObject.fitFunction);
- printLabel('Sell Volume', X_AXIS, frameTitleHeight + frameBodyHeight * 0.05, '0.60', undefined, undefined, true, thisObject.container, thisObject.fitFunction);
- printLabel(currentVolume.innerVolumeBar.amountSell, X_AXIS, frameTitleHeight + frameBodyHeight * 0.10, '1.00', 15, undefined, true, thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel('Sell Volume', undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.05, '0.60', undefined, undefined, 'Center', thisObject.container, thisObject.fitFunction);
+ UI.projects.superalgos.utilities.drawPrint.printLabel(currentVolume.innerVolumeBar.amountSell, undefined, undefined, X_AXIS, frameTitleHeight + frameBodyHeight * 0.10, '1.00', 15, undefined, 'Center', thisObject.container, thisObject.fitFunction);
}
diff --git a/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/Volumes.js b/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/Volumes.js
index 0c0117ce4..cf5691eee 100644
--- a/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/Volumes.js
+++ b/Legacy-Code/Masters/plotters/Plotters-Candles-Volumes/Volumes.js
@@ -65,8 +65,8 @@
/* Stop listening to the necesary events. */
thisObject.container.eventHandler.stopListening(onMouseOverEventSuscriptionId)
- canvas.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId);
- canvas.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId);
+ UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId);
+ UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId);
canvas.eventHandler.stopListening(dragFinishedEventSubscriptionId);
thisObject.container.eventHandler.stopListening(dimmensionsChangedEventSubscriptionId)
marketFiles.eventHandler.stopListening(marketFilesUpdatedEventSubscriptionId);
@@ -118,8 +118,8 @@
/* Listen to the necesary events. */
- zoomChangedEventSubscriptionId = canvas.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged);
- offsetChangedEventSubscriptionId = canvas.chartingSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged);
+ zoomChangedEventSubscriptionId = UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged);
+ offsetChangedEventSubscriptionId = UI.projects.superalgos.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged);
dragFinishedEventSubscriptionId = canvas.eventHandler.listenToEvent("Drag Finished", onDragFinished);
marketFilesUpdatedEventSubscriptionId = marketFiles.eventHandler.listenToEvent("Files Updated", onMarketFilesUpdated);
dailyFilesUpdatedEventSubscriptionId = dailyFiles.eventHandler.listenToEvent("Files Updated", onDailyFilesUpdated);
@@ -154,7 +154,7 @@
}
function onMouseOver(event) {
- let userPosition = getDateFromPointAtBrowserCanvas(event, thisObject.container, coordinateSystem)
+ let userPosition = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(event, thisObject.container, coordinateSystem)
userPositionDate = userPosition.valueOf()
}
@@ -298,8 +298,8 @@
if (fileCursor.files.size === 0) { return; } // We need to wait until there are files in the cursor
- let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem);
- let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem);
+ let leftDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem);
+ let rightDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem);
let dateDiff = rightDate.valueOf() - leftDate.valueOf();
@@ -312,7 +312,7 @@
while (currentDate.valueOf() <= farRightDate.valueOf() + ONE_DAY_IN_MILISECONDS) {
- let stringDate = currentDate.getFullYear() + '-' + pad(currentDate.getMonth() + 1, 2) + '-' + pad(currentDate.getDate(), 2);
+ let stringDate = currentDate.getUTCFullYear() + '-' + pad(currentDate.getUTCMonth() + 1, 2) + '-' + pad(currentDate.getUTCDate(), 2);
let dailyFile = fileCursor.files.get(stringDate);
@@ -382,8 +382,8 @@
if (marketFile === undefined) { return; } // Initialization not complete yet.
- let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem);
- let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem);
+ let leftDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem);
+ let rightDate = UI.projects.superalgos.utilities.dateRateTransformations.getDateFromPointAtBrowserCanvas(UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem);
let dateDiff = rightDate.valueOf() - leftDate.valueOf();
@@ -435,7 +435,7 @@
try {
let lowResolution = false
- if (canvas.chartingSpace.viewport.zoomTargetLevel < ZOOM_OUT_THRESHOLD_FOR_PLOTTING_IN_LOW_RESOLUTION) {
+ if (UI.projects.superalgos.spaces.chartingSpace.viewport.zoomTargetLevel < UI.projects.superalgos.globals.zoom.ZOOM_OUT_THRESHOLD_FOR_PLOTTING_IN_LOW_RESOLUTION) {
if (volumes.length > 100) {
lowResolution = true
}
@@ -445,7 +445,7 @@
/* Now we calculate and plot the volumes */
- let visibleHeight = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - canvas.chartingSpace.viewport.visibleArea.topLeft.y;
+ let visibleHeight = UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.y;
let frameCorner1 = {
x: 0,
@@ -460,8 +460,8 @@
/* Now the transformations. */
- frameCorner1 = transformThisPoint(frameCorner1, thisObject.container.frame.container);
- frameCorner2 = transformThisPoint(frameCorner2, thisObject.container.frame.container);
+ frameCorner1 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(frameCorner1, thisObject.container.frame.container);
+ frameCorner2 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(frameCorner2, thisObject.container.frame.container);
let frameHeightInViewPort = frameCorner2.y - frameCorner1.y;
@@ -503,17 +503,17 @@
volumePointA3 = plot.transformThisPoint(volumePointA3);
volumePointA4 = plot.transformThisPoint(volumePointA4);
- volumePointA1 = transformThisPoint(volumePointA1, thisObject.container);
- volumePointA2 = transformThisPoint(volumePointA2, thisObject.container);
- volumePointA3 = transformThisPoint(volumePointA3, thisObject.container);
- volumePointA4 = transformThisPoint(volumePointA4, thisObject.container);
+ volumePointA1 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(volumePointA1, thisObject.container);
+ volumePointA2 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(volumePointA2, thisObject.container);
+ volumePointA3 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(volumePointA3, thisObject.container);
+ volumePointA4 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(volumePointA4, thisObject.container);
let baseIncrement = (volumePointA3.x - volumePointA1.x) * WIDHTER_VOLUME_BAR_BASE_FACTOR;
volumePointA1.x = volumePointA1.x - baseIncrement;
volumePointA4.x = volumePointA4.x + baseIncrement;
- if (volumePointA4.x < canvas.chartingSpace.viewport.visibleArea.bottomLeft.x || volumePointA1.x > canvas.chartingSpace.viewport.visibleArea.bottomRight.x) {
+ if (volumePointA4.x < UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.x || volumePointA1.x > UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomRight.x) {
return false;
}
@@ -523,7 +523,7 @@
if (calculateBuys(coordinateSystem, thisObject.container.frame.height) === false) { continue; } // We try to see if it fits in the visible area.
- let diffA = volumePointA1.y - canvas.chartingSpace.viewport.visibleArea.bottomLeft.y
+ let diffA = volumePointA1.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.bottomLeft.y
if (diffA > 0) {
volumePointA1.y = volumePointA1.y - diffA
volumePointA2.y = volumePointA2.y - diffA
@@ -563,15 +563,15 @@
volumePointB3 = plot.transformThisPoint2(volumePointB3);
volumePointB4 = plot.transformThisPoint2(volumePointB4);
- volumePointB1 = transformThisPoint(volumePointB1, thisObject.container);
- volumePointB2 = transformThisPoint(volumePointB2, thisObject.container);
- volumePointB3 = transformThisPoint(volumePointB3, thisObject.container);
- volumePointB4 = transformThisPoint(volumePointB4, thisObject.container);
+ volumePointB1 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(volumePointB1, thisObject.container);
+ volumePointB2 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(volumePointB2, thisObject.container);
+ volumePointB3 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(volumePointB3, thisObject.container);
+ volumePointB4 = UI.projects.superalgos.utilities.coordinateTransformations.transformThisPoint(volumePointB4, thisObject.container);
}
calculateSells(coordinateSystem, thisObject.container.frame.height); // We try to see if it fits in the visible area.
- let diffB = volumePointB1.y - canvas.chartingSpace.viewport.visibleArea.topLeft.y
+ let diffB = volumePointB1.y - UI.projects.superalgos.spaces.chartingSpace.viewport.visibleArea.topLeft.y
if (diffB < 0) {
volumePointB1.y = volumePointB1.y - diffB
volumePointB2.y = volumePointB2.y - diffB
@@ -599,15 +599,15 @@
/* Everything must fit within the visible area */
- volumePointA1 = canvas.chartingSpace.viewport.fitIntoVisibleArea(volumePointA1);
- volumePointA2 = canvas.chartingSpace.viewport.fitIntoVisibleArea(volumePointA2);
- volumePointA3 = canvas.chartingSpace.viewport.fitIntoVisibleArea(volumePointA3);
- volumePointA4 = canvas.chartingSpace.viewport.fitIntoVisibleArea(volumePointA4);
+ volumePointA1 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(volumePointA1);
+ volumePointA2 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(volumePointA2);
+ volumePointA3 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(volumePointA3);
+ volumePointA4 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(volumePointA4);
- volumePointB1 = canvas.chartingSpace.viewport.fitIntoVisibleArea(volumePointB1);
- volumePointB2 = canvas.chartingSpace.viewport.fitIntoVisibleArea(volumePointB2);
- volumePointB3 = canvas.chartingSpace.viewport.fitIntoVisibleArea(volumePointB3);
- volumePointB4 = canvas.chartingSpace.viewport.fitIntoVisibleArea(volumePointB4);
+ volumePointB1 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(volumePointB1);
+ volumePointB2 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(volumePointB2);
+ volumePointB3 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(volumePointB3);
+ volumePointB4 = UI.projects.superalgos.spaces.chartingSpace.viewport.fitIntoVisibleArea(volumePointB4);
volumePointA1 = thisObject.fitFunction(volumePointA1);
volumePointA2 = thisObject.fitFunction(volumePointA2);
diff --git a/Plugins/Data-Mines/Alpha.json b/Plugins/Data-Mines/Alpha.json
deleted file mode 100644
index f8fc502b9..000000000
--- a/Plugins/Data-Mines/Alpha.json
+++ /dev/null
@@ -1 +0,0 @@
-{"type":"Data Mine","name":"Alpha","config":"{ \n\"codeName\": \"Alpha\"\n}","sensorBots":[],"indicatorBots":[{"type":"Indicator Bot","name":"ATR","config":"{\n\"codeName\": \"ATR\",\n\"repo\": \"ATR-Indicator-Bot\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Calculates RSI.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\",\n \"startDate\": {\n },\n \"endDate\": {\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market ATR - SMA","id":"5cdfa018-5ade-469b-90bf-cc523ef0a46e","savedPayload":{"position":{"x":19535.762374007485,"y":11327.820253166241},"targetPosition":{"x":19762.622973748803,"y":11607.811267667386},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2570d2c7-72e3-4131-97dc-a9f97f493e93"}}},{"type":"Output Dataset","name":"Multi-Period-Market ATR - RMA","id":"e7e58e02-fef8-4400-9928-f29805a96f98","savedPayload":{"position":{"x":19706.507683380943,"y":11251.956085818223},"targetPosition":{"x":19762.622973748803,"y":11607.811267667386},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"67695466-be2d-43b4-9824-83baa7a08412"}}}],"outputDatasetFolders":[],"id":"b345304f-fbb3-4889-934a-8f9b4941ed29","savedPayload":{"position":{"x":19738.859765635832,"y":11554.168396191428},"targetPosition":{"x":19894.23788406715,"y":11902.908122552459},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"eb499527-0f18-45f9-99ab-a7bc7fabb3aa","savedPayload":{"position":{"x":19717.131342721197,"y":11320.7267994623},"targetPosition":{"x":19928.160705026097,"y":11581.461456533132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"ATR Multi-Period-Market","config":"{\"mainUtility\": \"Self Reference\"}","id":"025a6f70-c187-4b4d-aa62-6f4ebfc116ba","savedPayload":{"position":{"x":19963.090304275516,"y":11247.851174842832},"targetPosition":{"x":19928.160705026097,"y":11581.461456533132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"8a6c8b1e-950d-4819-88a9-9c45272a0799"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"f25ba171-3c78-4e4f-acb8-66446be1ce0a","savedPayload":{"position":{"x":20191.5270901223,"y":11367.935486457443},"targetPosition":{"x":19928.160705026097,"y":11581.461456533132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"bf337039-bd28-4f50-89d1-5115e631e6cf","savedPayload":{"position":{"x":19935.055434949005,"y":11514.699143420201},"targetPosition":{"x":19894.23788406715,"y":11902.908122552459},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"8a6c8b1e-950d-4819-88a9-9c45272a0799","savedPayload":{"position":{"x":20116.73230690759,"y":11596.604235186449},"targetPosition":{"x":19894.23788406715,"y":11902.908122552459},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"d150911d-47e9-4046-b365-ac817667cf32","savedPayload":{"position":{"x":20239.947834199706,"y":11749.000090247524},"targetPosition":{"x":19894.23788406715,"y":11902.908122552459},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"faac5fcf-e7b2-4883-84bd-427aa74bc3c1","savedPayload":{"position":{"x":20276.94180388497,"y":11942.989838556792},"targetPosition":{"x":19894.23788406715,"y":11902.908122552459},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"83a07439-ad71-463a-9727-5f43ad0b03d2","savedPayload":{"position":{"x":19519.91558354081,"y":12096.810775556498},"targetPosition":{"x":19276.690854807195,"y":12431.337105672637},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Calculates RSI\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\",\n \"startDate\": {\n \"takeItFromStatusDependency\": 0\n },\n \"endDate\": {\n \"takeItFromStatusDependency\": 1\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily ATR - SMA","id":"570c8470-a4ae-40a8-b647-d3859887c148","savedPayload":{"position":{"x":20176.755500431755,"y":11553.657740883536},"targetPosition":{"x":20195.70708599251,"y":11909.908946857666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"93eb665f-d903-4825-9fb1-2783e917ac89"}}},{"type":"Output Dataset","name":"Multi-Period-Daily ATR - RMA","id":"60d2cf94-0cf3-4cdf-a2ec-69c012f74019","savedPayload":{"position":{"x":20357.874073170504,"y":11591.568352872933},"targetPosition":{"x":20195.70708599251,"y":11909.908946857666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"e3d0bccf-5f97-4902-92df-4ac8fe8c41a8"}}}],"outputDatasetFolders":[],"id":"d6545bbe-389f-4dbe-b31e-de9d7ad95e4b","savedPayload":{"position":{"x":20208.273130968897,"y":11852.70329123834},"targetPosition":{"x":20128.954728790166,"y":12225.967585160153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"ATR Multi-Period-Daily","config":"{\"mainUtility\": \"Self Reference\"}","id":"89b9660c-6005-4381-a692-e320b9422268","savedPayload":{"position":{"x":20275.450642619813,"y":11657.52736008485},"targetPosition":{"x":20344.916904284695,"y":11985.709632633238},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"619713bc-8cf4-4152-b36d-d470361f8a3b"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"6aba1eb8-b5b6-4749-a323-16016a453194","savedPayload":{"position":{"x":20481.301553834437,"y":11679.500319271443},"targetPosition":{"x":20344.916904284695,"y":11985.709632633238},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\"mainUtility\": \"Market Starting Point\"}","id":"77cb48bb-f6ca-4eba-ab3d-2b5583f7285a","savedPayload":{"position":{"x":20635.363334119178,"y":11818.073979983463},"targetPosition":{"x":20344.916904284695,"y":11985.709632633238},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"b7383dbe-549f-4ffe-8764-9ea324d5025d","savedPayload":{"position":{"x":20678.50520084428,"y":12020.629490990144},"targetPosition":{"x":20344.916904284695,"y":11985.709632633238},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"e1b3e953-5756-4810-abcb-67535b51f3ca","savedPayload":{"position":{"x":20389.261660360353,"y":11937.329947024627},"targetPosition":{"x":20128.954728790166,"y":12225.967585160153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"619713bc-8cf4-4152-b36d-d470361f8a3b","savedPayload":{"position":{"x":20498.32300740775,"y":12106.107509909038},"targetPosition":{"x":20128.954728790166,"y":12225.967585160153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"54a8ad94-41a9-4b8d-83f7-c40056140ef4","savedPayload":{"position":{"x":20503.538308028204,"y":12305.606801243997},"targetPosition":{"x":20128.954728790166,"y":12225.967585160153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"0b02390a-fc39-4f1a-a53c-8bae1492e292","savedPayload":{"position":{"x":20413.208589831574,"y":12482.079740342086},"targetPosition":{"x":20128.954728790166,"y":12225.967585160153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"61dde091-7c09-4384-ab2d-1fec0dbef7c5","savedPayload":{"position":{"x":19670.046342141603,"y":12304.162159671041},"targetPosition":{"x":19276.690854807195,"y":12431.337105672637},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"ATR - RMA","config":"{\n \"codeName\": \"ATR-RMA\",\n \"singularVariableName\": \"atrRMA\",\n \"pluralVariableName\": \"atrRMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"67695466-be2d-43b4-9824-83baa7a08412","savedPayload":{"position":{"x":20050.85898206879,"y":12411.125605599784},"targetPosition":{"x":19823.124277187413,"y":12576.693808499522},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"e3d0bccf-5f97-4902-92df-4ac8fe8c41a8","savedPayload":{"position":{"x":20104.247239917975,"y":12577.078750595801},"targetPosition":{"x":19823.124277187413,"y":12576.693808499522},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","name":"Begin","code":"record.current.begin","id":"a0cb3931-383f-4c9d-8f01-fe812c22181e","savedPayload":{"position":{"x":21127.77752202986,"y":12791.719410372956},"targetPosition":{"x":20980.072180235507,"y":12857.518291039612},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e538eb1e-f296-4e00-bdbb-8a904c5b897a","savedPayload":{"position":{"x":20980.072180235507,"y":12857.518291039612},"targetPosition":{"x":20650.915769254825,"y":13004.231371830318},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"566fa39a-58b3-439a-a666-9c0d6927dfcc","savedPayload":{"position":{"x":21175.51156214975,"y":13059.057929229819},"targetPosition":{"x":21014.183265508735,"y":13042.258308636054},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3a3dfa55-78be-4e15-90ae-b64d7db87d29","savedPayload":{"position":{"x":21014.183265508735,"y":13042.258308636054},"targetPosition":{"x":20650.915769254825,"y":13004.231371830318},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ATR2","config":"{\n \"codeName\": \"atr2\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.atr2","id":"fc05c629-916b-40a9-a62d-06b309420ee6","savedPayload":{"position":{"x":21073.530097500443,"y":13311.203411385133},"targetPosition":{"x":20942.542889034943,"y":13216.052890854224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b4e9fd6c-b742-4378-851f-ec6a84183727","savedPayload":{"position":{"x":20942.542889034943,"y":13216.052890854224},"targetPosition":{"x":20650.915769254825,"y":13004.231371830318},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ATR3","config":"{\n \"codeName\": \"atr3\",\n \"isString\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.atr3","id":"2521d41c-60fa-421e-ba7d-8d9b6ff19477","savedPayload":{"position":{"x":20863.209161147854,"y":13481.353035307968},"targetPosition":{"x":20797.420968502163,"y":13333.467652450734},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"039f8d7d-2ea5-44b1-b758-4f86a4445a63","savedPayload":{"position":{"x":20797.420968502163,"y":13333.467652450734},"targetPosition":{"x":20650.915769254825,"y":13004.231371830318},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ATR14","config":"{\n \"codeName\": \"atr14\",\n \"isString\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.atr14","id":"65b7d85e-1da0-4a77-b96f-eaa5d3b24036","savedPayload":{"position":{"x":20595.82122117619,"y":13528.409212479004},"targetPosition":{"x":20612.678423686677,"y":13367.490719861991},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c6b1bb6e-17b8-45ff-8a25-b1ae575dde04","savedPayload":{"position":{"x":20612.678423686677,"y":13367.490719861991},"targetPosition":{"x":20650.915769254825,"y":13004.231371830318},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2838dfa4-22e5-4583-9b08-fed43081af24","savedPayload":{"position":{"x":20219.399717193817,"y":12864.420988282252},"targetPosition":{"x":19823.124277187413,"y":12576.693808499522},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nlet candle = record.current // get current candle data\nlet tr = calculateTR() // get true range value\n\nvariable.atr2 = calculateATR(tr, 2, variable.previousATR2)\nvariable.atr3 = calculateATR(tr, 3, variable.previousATR3)\nvariable.atr14 = calculateATR(tr, 14, variable.previousATR14)\n\nvariable.prevClose = candle.close\nvariable.previousATR2 = variable.atr2\nvariable.previousATR3 = variable.atr3\nvariable.previousATR14 = variable.atr14\n\n/* Helper Functions */\n\n/* Calculate True Range */\nfunction calculateTR() {\n let hl = candle.max - candle.min\n \n if (variable.prevClose === 0) { return hl } // Return High-Low when previous Close is 0\n \n let hcp = Math.abs(candle.max - variable.prevClose)\n let lcp = Math.abs(candle.min - variable.prevClose)\n \n return Math.max(hl, hcp, lcp)\n}\n\n/* Calculate Average True Range - Smoothing Function RMA*/\nfunction calculateATR(source, length, previousATR) {\n return (source + (length - 1) * previousATR) / length\n}","id":"0814b5ad-81ed-4d17-ba6c-2ecad55f5f31","savedPayload":{"position":{"x":20286.30563487476,"y":13211.953745234017},"targetPosition":{"x":20104.19578007958,"y":13047.409820701128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"752cd82a-205d-43f5-b6ee-06f5c0a82f33","savedPayload":{"position":{"x":20104.19578007958,"y":13047.409820701128},"targetPosition":{"x":19922.724571514173,"y":12883.849370819098},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.prevClose = 0\n\nvariable.previousATR2 = 0\nvariable.previousATR3 = 0\nvariable.previousATR14 = 0","id":"b1ee7e9d-a89a-4c18-beaf-9b1ebdc25dd1","savedPayload":{"position":{"x":19821.2092439031,"y":13363.09767636692},"targetPosition":{"x":19871.788382288076,"y":13122.883779304742},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c1dbc0e9-06b0-426a-9e7b-731bd1c2305f","savedPayload":{"position":{"x":19871.788382288076,"y":13122.883779304742},"targetPosition":{"x":19922.724571514173,"y":12883.849370819098},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7779fc37-e563-4515-8c11-7732793ebfe0","savedPayload":{"position":{"x":19922.724571514173,"y":12883.849370819098},"targetPosition":{"x":19823.124277187413,"y":12576.693808499522},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"660570d1-36e0-4099-817c-6c8a29b32689","savedPayload":{"position":{"x":19687.147527210633,"y":12564.539409146812},"targetPosition":{"x":19276.690854807195,"y":12431.337105672637},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"ATR - RMA","id":"99088549-f1c0-4157-ba7e-ffd6dfd0d140"}}},{"type":"Product Definition","name":"ATR - SMA","config":"{\n \"codeName\": \"ATR-SMA\",\n \"singularVariableName\": \"atrSMA\",\n \"pluralVariableName\": \"atrSMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"2570d2c7-72e3-4131-97dc-a9f97f493e93","savedPayload":{"position":{"x":20183.411295823353,"y":12916.188347836502},"targetPosition":{"x":19828.400592218597,"y":12916.188657402168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"93eb665f-d903-4825-9fb1-2783e917ac89","savedPayload":{"position":{"x":20115.04517097611,"y":13124.532696027478},"targetPosition":{"x":19828.400592218597,"y":12916.188657402168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","name":"Begin","code":"record.current.begin","id":"8b1f8ca7-d741-489f-a1f9-3851920e6d59","savedPayload":{"position":{"x":20275.284947163724,"y":13386.670894841965},"targetPosition":{"x":20155.406700841166,"y":13361.363065014648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"7c4a6317-bc3a-45d8-9dcc-4c42fa6a653b","savedPayload":{"position":{"x":20155.406700841166,"y":13361.363065014648},"targetPosition":{"x":19796.882427596323,"y":13286.169124448372},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"42ca9eb2-da3a-4972-8be8-756fa50a5585","savedPayload":{"position":{"x":20160.080443868323,"y":13612.931721171493},"targetPosition":{"x":20068.89300290481,"y":13531.100763825934},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d4ccc9d1-616c-44e1-8019-f5dfbbac5d4c","savedPayload":{"position":{"x":20068.89300290481,"y":13531.100763825934},"targetPosition":{"x":19796.882427596323,"y":13286.169124448372},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ATR2","config":"{\n \"codeName\": \"atr2\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.atr2","id":"fa760872-a812-4bc6-8fe4-8669ec91bbe0","savedPayload":{"position":{"x":19947.745651764093,"y":13751.921645113765},"targetPosition":{"x":19909.835199195157,"y":13633.831484098213},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"02df8c90-68ec-44ef-8abf-fb7d255815d2","savedPayload":{"position":{"x":19909.835199195157,"y":13633.831484098213},"targetPosition":{"x":19796.882427596323,"y":13286.169124448372},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ATR3","config":"{\n \"codeName\": \"atr3\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.atr3","id":"ee78802d-f297-45d6-8fa7-df7800ebf295","savedPayload":{"position":{"x":19694.72046592385,"y":13764.88214995503},"targetPosition":{"x":19720.97364869217,"y":13644.31805564144},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3e3dd4c6-8f81-4e2b-bcba-34d1ca11abf0","savedPayload":{"position":{"x":19720.97364869217,"y":13644.31805564144},"targetPosition":{"x":19796.882427596323,"y":13286.169124448372},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ATR14","config":"{\n \"codeName\": \"atr14\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.atr14","id":"fdcc52bb-2dd9-4597-8399-eba8f2e36639","savedPayload":{"position":{"x":19469.190305918266,"y":13649.23305371411},"targetPosition":{"x":19551.363624154583,"y":13558.458995395247},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"93cc0b1e-9414-406b-bbf7-7708bf303a9a","savedPayload":{"position":{"x":19551.363624154583,"y":13558.458995395247},"targetPosition":{"x":19796.882427596323,"y":13286.169124448372},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"de04ae72-affd-4bea-aab2-d7e4b1e8345d","savedPayload":{"position":{"x":20013.724843227406,"y":13486.18620417686},"targetPosition":{"x":19828.400592218597,"y":12916.188657402168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nlet candle = record.current // get current candle data\nvariable.last14TR.push(calculateTR()) // Add the current true range value to last 14 array\n\nif (variable.last14TR.length > 14) {\n variable.last14TR.splice(0, 1) // Remove the first element of the array to keep it at a maximun of 14 elements\n}\n\nvariable.atr2 = calculateATR(2)\nvariable.atr3 = calculateATR(3)\nvariable.atr14 = calculateATR(14)\nvariable.prevClose = candle.close\n\n/* Helper Functions */\n\n/* Calculate True Range */\nfunction calculateTR() {\n let hl = candle.max - candle.min\n \n if (variable.prevClose === 0) { return hl } // Return High-Low when previous Close is 0\n \n let hcp = Math.abs(candle.max - variable.prevClose)\n let lcp = Math.abs(candle.min - variable.prevClose)\n \n return Math.max(hl, hcp, lcp)\n}\n\n/* Calculate Average True Range - Smoothing Function SMA */\nfunction calculateATR(length) {\n /* We check we have enough values to make the calculation */\n if (variable.last14TR.length < length) { return 0 } // If we dont, we define the value is zero.\n\n let sum = 0 // Initialize sum variable. \n for (let i = variable.last14TR.length - length; i < variable.last14TR.length; i++) { // Iterate through the last periods\n sum = sum + variable.last14TR[i]\n }\n \n let atr = sum / length\n return atr\n}","id":"de821ecb-f4c2-4645-abe3-f2ec25c5b50f","savedPayload":{"position":{"x":19824.111041663902,"y":13900.304329612658},"targetPosition":{"x":19761.948585399947,"y":13606.310545724935},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"81ad9ba0-f387-4884-8b7d-32ee9d44d73e","savedPayload":{"position":{"x":19761.948585399947,"y":13606.310545724935},"targetPosition":{"x":19699.046753526065,"y":13314.73451474569},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.last14TR = []\nvariable.prevClose = 0","id":"d388972a-f1b2-4b99-8406-35d07a7a5ab0","savedPayload":{"position":{"x":19371.944570492244,"y":13818.271122487902},"targetPosition":{"x":19535.614115343666,"y":13565.504089454846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ad6cc9e7-46c3-4500-924b-7523e5c9fa7f","savedPayload":{"position":{"x":19535.614115343666,"y":13565.504089454846},"targetPosition":{"x":19699.046753526065,"y":13314.73451474569},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4a310776-ce28-4e79-97fb-90fb350614c2","savedPayload":{"position":{"x":19699.046753526065,"y":13314.73451474569},"targetPosition":{"x":19828.400592218597,"y":12916.188657402168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d83ffb9c-d01c-49eb-991d-3dc31baac747","savedPayload":{"position":{"x":19576.1269877399,"y":12757.177937520648},"targetPosition":{"x":19276.690854807195,"y":12431.337105672637},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"ATR - SMA","id":"a6a3f5a6-8c33-482d-a922-5719afc35325"}}}],"id":"3f716c19-6b29-4a9e-aef4-e4a867838e57","savedPayload":{"position":{"x":19342.695559117834,"y":12431.33731211912},"targetPosition":{"x":18876.639522961566,"y":12431.333069545388},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"ROC","config":"{\n\"codeName\": \"ROC\",\n\"repo\": \"ROC-Indicator-Bot\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Calculates RSI.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\",\n \"startDate\": {\n },\n \"endDate\": {\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market ROC 32","id":"6687ee94-004b-4834-a145-867151c4e37c","savedPayload":{"position":{"x":19720.22857055064,"y":12796.702677654643},"targetPosition":{"x":19650.114715072326,"y":13058.964936040778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"41a488be-c66c-458d-99fc-490b9e8172ef"}}},{"type":"Output Dataset","name":"Multi-Period-Market ROC 76","id":"a27232dd-4d69-46b8-8d8e-67499c9ddc30","savedPayload":{"position":{"x":19885.373027485468,"y":12923.317540123688},"targetPosition":{"x":19650.114715072326,"y":13058.964936040778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"40268fec-e5e8-4b05-9f27-c4072ebda94a"}}},{"type":"Output Dataset","name":"Multi-Period-Market ROC 9","id":"bbeb8cb6-5465-45be-80a9-2cbb46e3f5fa","savedPayload":{"position":{"x":19912.626266605064,"y":13129.409336618995},"targetPosition":{"x":19650.114715072326,"y":13058.964936040778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"9c6b7d85-01f5-449c-a5be-9a357b6588bc"}}}],"outputDatasetFolders":[],"id":"b6c54494-092a-4220-b0e9-1db9da7fd411","savedPayload":{"position":{"x":19650.114715072326,"y":13058.964936040778},"targetPosition":{"x":19338.626485947727,"y":13239.00458224002},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"5f954d97-d843-483e-919b-d94dd8329497","savedPayload":{"position":{"x":19545.749273323723,"y":11629.726237711973},"targetPosition":{"x":19756.778635628623,"y":11890.460894782806},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"ROC Multi-Period-Market","config":"{\"mainUtility\": \"Self Reference\"}","id":"7820dbef-88ab-4682-b542-88f6d2ae9f59","savedPayload":{"position":{"x":19791.708234878042,"y":11556.850613092505},"targetPosition":{"x":19756.778635628623,"y":11890.460894782806},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"87a0c5e3-20b4-48f7-a9db-4a9280ecb4b3"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"805d6b40-cc28-470f-8f39-67b2b48f155a","savedPayload":{"position":{"x":20020.145020724827,"y":11676.934924707117},"targetPosition":{"x":19756.778635628623,"y":11890.460894782806},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"aa85fa69-abb3-4423-8d78-8bf1dd6c42d5","savedPayload":{"position":{"x":19705.977058830525,"y":13239.291684534825},"targetPosition":{"x":19338.626485947727,"y":13239.00458224002},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"87a0c5e3-20b4-48f7-a9db-4a9280ecb4b3","savedPayload":{"position":{"x":19657.979450249466,"y":13423.327634476842},"targetPosition":{"x":19338.626485947727,"y":13239.00458224002},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"3a6b674a-eb56-4f63-866b-f4e41dde72bb","savedPayload":{"position":{"x":19522.929628876067,"y":13557.633988828986},"targetPosition":{"x":19338.626485947727,"y":13239.00458224002},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"c97508ab-c7eb-4047-911a-3ee3265c352b","savedPayload":{"position":{"x":19339.22249218282,"y":13613.042028207508},"targetPosition":{"x":19338.626485947727,"y":13239.00458224002},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a2a141ba-08ed-4f30-9c7d-f811c6a7c571","savedPayload":{"position":{"x":19490.276660530006,"y":12777.354061475491},"targetPosition":{"x":19076.668826775607,"y":12777.69068688004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Calculates RSI\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\",\n \"startDate\": {\n \"takeItFromStatusDependency\": 0\n },\n \"endDate\": {\n \"takeItFromStatusDependency\": 1\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily ROC 32","id":"3c5e8fe8-cf8d-4a96-967a-2d4d534bbd71","savedPayload":{"position":{"x":19689.88097914654,"y":13246.315837011934},"targetPosition":{"x":19497.899829905025,"y":13438.367172938375},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"30276899-0d68-40e3-9c35-a28442485b55"}}},{"type":"Output Dataset","name":"Multi-Period-Daily ROC 76","id":"daf0c646-8592-4fd2-9f7d-bab86663faaf","savedPayload":{"position":{"x":19769.33406122563,"y":13438.451692618868},"targetPosition":{"x":19497.899829905025,"y":13438.367172938375},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"cb60d68b-b11d-4317-8830-65c212a8c728"}}},{"type":"Output Dataset","name":"Multi-Period-Daily ROC 9","id":"0dbd1ffd-047b-4bf7-a74a-9df95d5b534c","savedPayload":{"position":{"x":19689.586989211923,"y":13630.812502227272},"targetPosition":{"x":19497.899829905025,"y":13438.367172938375},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"66f59b6d-9d4b-4cef-9ffd-aed019219809"}}}],"outputDatasetFolders":[],"id":"09d69ba1-345f-4d96-b3e4-a98f1f778a70","savedPayload":{"position":{"x":19497.899829905025,"y":13438.367172938375},"targetPosition":{"x":19139.54145845901,"y":13438.1357569816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"ROC Multi-Period-Daily","config":"{\"mainUtility\": \"Self Reference\"}","id":"b1e59db1-0480-4533-940c-e6ede212b124","savedPayload":{"position":{"x":20104.06857322234,"y":11966.526798334524},"targetPosition":{"x":20173.53483488722,"y":12294.709070882911},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"af0bcf3a-4021-4861-870a-a06f5aad8761"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"67e616b0-72f4-4e9c-b144-e6f6bde5777b","savedPayload":{"position":{"x":20309.919484436963,"y":11988.499757521116},"targetPosition":{"x":20173.53483488722,"y":12294.709070882911},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\"mainUtility\": \"Market Starting Point\"}","id":"c4cbf20f-ff4e-4611-8e4a-4340231bc3c5","savedPayload":{"position":{"x":20463.981264721704,"y":12127.073418233136},"targetPosition":{"x":20173.53483488722,"y":12294.709070882911},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"b95527eb-2205-43ef-a1e6-7d3a08219e27","savedPayload":{"position":{"x":20507.123131446806,"y":12329.628929239818},"targetPosition":{"x":20173.53483488722,"y":12294.709070882911},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"d1a1f76c-a070-4958-8821-b3abcac7b176","savedPayload":{"position":{"x":19455.37362889004,"y":13621.365857181509},"targetPosition":{"x":19139.54145845901,"y":13438.1357569816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"af0bcf3a-4021-4861-870a-a06f5aad8761","savedPayload":{"position":{"x":19322.34915338128,"y":13755.486925742496},"targetPosition":{"x":19139.54145845901,"y":13438.1357569816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"f75ad3de-ba1f-4c68-a869-1bdad8587c71","savedPayload":{"position":{"x":19139.54084820627,"y":13804.62444934628},"targetPosition":{"x":19139.54145845901,"y":13438.1357569816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"bd45fa4a-4611-4126-b746-e9d56b9991bd","savedPayload":{"position":{"x":18956.756803010194,"y":13754.756665173643},"targetPosition":{"x":19139.54145845901,"y":13438.1357569816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"eea3cb55-83e5-400f-acc4-b71f5631d351","savedPayload":{"position":{"x":19434.723514355188,"y":12985.111146348623},"targetPosition":{"x":19076.668826775607,"y":12777.69068688004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"ROC 76","config":"{\n \"codeName\": \"ROC-76\",\n \"singularVariableName\": \"roc76\",\n \"pluralVariableName\": \"roc76s\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"40268fec-e5e8-4b05-9f27-c4072ebda94a","savedPayload":{"position":{"x":19025.416461722903,"y":13709.47822742592},"targetPosition":{"x":18783.73199816421,"y":13534.304523509167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"cb60d68b-b11d-4317-8830-65c212a8c728","savedPayload":{"position":{"x":18875.918522938293,"y":13817.837722270451},"targetPosition":{"x":18783.73199816421,"y":13534.304523509167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","name":"Begin","code":"record.current.begin","id":"f3985849-3dba-4ab4-be09-45855ceb32a5","savedPayload":{"position":{"x":18801.652614388542,"y":14414.365670146055},"targetPosition":{"x":18739.731858542247,"y":14292.67726988976},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ca08ef1e-44f8-4b51-8412-ab5ea4cd4383","savedPayload":{"position":{"x":18739.731858542247,"y":14292.67726988976},"targetPosition":{"x":18616.335738842776,"y":14050.589041887879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"f84ebdb9-1371-4a1b-a55a-ec0fff505e8d","savedPayload":{"position":{"x":18490.558530388662,"y":14439.12351593014},"targetPosition":{"x":18532.58720277903,"y":14309.130754608306},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9b6434b8-6a14-4b15-9071-560f91991c1e","savedPayload":{"position":{"x":18532.58720277903,"y":14309.130754608306},"targetPosition":{"x":18616.335738842776,"y":14050.589041887879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Value","config":"{\n \"codeName\": \"value\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.value","id":"4b4cc4ab-233d-4366-bb1c-c6cf4945e87e","savedPayload":{"position":{"x":18252.856623989013,"y":14236.4744743906},"targetPosition":{"x":18374.323492621614,"y":14174.047626160138},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a3ee4969-b28a-4d7c-9ceb-eba3ba2c8a21","savedPayload":{"position":{"x":18374.323492621614,"y":14174.047626160138},"targetPosition":{"x":18616.335738842776,"y":14050.589041887879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8b1a0793-6111-4773-b83f-4fdc596aebfc","savedPayload":{"position":{"x":18616.335738842776,"y":14050.589041887879},"targetPosition":{"x":18783.73199816421,"y":13534.304523509167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nlet candle = record.current // get current candle data\n\n/* Calculate Rate of Change */\nvariable.value = calculateROC(candle.close, variable.length)\n\nvariable.lastCloses.push(candle.close) // Add the current close value to the last closes array.\n\nif (variable.lastCloses.length > variable.length) {\n variable.lastCloses.splice(0, 1) // Remove the first element of the array to keep it at a maximun of n elements.\n}\n\n/* Helper Functions */\n\n/* Calculate Rate of Change */\nfunction calculateROC(source, length) {\n /* Check if we have enough values to make the calculation */\n if (variable.lastCloses.length < length) { return 0 }\n \n /* Check if n-last candle close is zero, avoid division by zero */\n if (variable.lastCloses[0] === 0) { return 0 }\n \n return 100 * (source - variable.lastCloses[0]) / variable.lastCloses[0]\n}","id":"37483919-8084-4d28-8763-02cfd1bdc45d","savedPayload":{"position":{"x":18188.356314144854,"y":14140.826286326077},"targetPosition":{"x":18359.019224163505,"y":13930.22346699362},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5eb39756-772a-4cc2-b0f2-4b7eab6abf57","savedPayload":{"position":{"x":18359.019224163505,"y":13930.22346699362},"targetPosition":{"x":18530.062805438676,"y":13718.90420011088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.length = 76\nvariable.lastCloses = []","id":"3157aaee-5248-4767-b339-45835c0cffa7","savedPayload":{"position":{"x":18022.688040470184,"y":13913.60406586082},"targetPosition":{"x":18276.067674676575,"y":13816.51892040417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1392b12a-4221-4e2a-b692-cb7a07b40f84","savedPayload":{"position":{"x":18276.067674676575,"y":13816.51892040417},"targetPosition":{"x":18530.062805438676,"y":13718.90420011088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bd3ccec7-4ec5-40e8-81f2-1402651648b7","savedPayload":{"position":{"x":18530.062805438676,"y":13718.90420011088},"targetPosition":{"x":18783.73199816421,"y":13534.304523509167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"9c2b6696-872f-44a4-b6b2-ab15a0c8541a","savedPayload":{"position":{"x":19291.93533475741,"y":13151.419397886832},"targetPosition":{"x":19076.668826775607,"y":12777.69068688004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"ROC 76","id":"a21bb3ba-b24d-4163-b7d0-ea60220fc368"}}},{"type":"Product Definition","name":"ROC 32","config":"{\n \"codeName\": \"ROC-32\",\n \"singularVariableName\": \"roc32\",\n \"pluralVariableName\": \"roc32s\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"41a488be-c66c-458d-99fc-490b9e8172ef","savedPayload":{"position":{"x":18429.913563760507,"y":13585.09047420639},"targetPosition":{"x":18429.78600945148,"y":13286.85186936537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"30276899-0d68-40e3-9c35-a28442485b55","savedPayload":{"position":{"x":18254.440548648832,"y":13527.81697858496},"targetPosition":{"x":18429.78600945148,"y":13286.85186936537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","name":"Begin","code":"record.current.begin","id":"905bb06a-9b7f-4484-8031-22b0bdf76c79","savedPayload":{"position":{"x":17700.45586570483,"y":13872.835482186483},"targetPosition":{"x":17762.09520102737,"y":13752.310592914753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"23ba960b-4a3f-410d-8d95-d7fb8419557e","savedPayload":{"position":{"x":17762.09520102737,"y":13752.310592914753},"targetPosition":{"x":17914.152520512544,"y":13454.076672606056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"8b6f20e9-ffae-470f-9da0-0fc12d2bbd6d","savedPayload":{"position":{"x":17466.530307311714,"y":13599.777258689828},"targetPosition":{"x":17595.603255777227,"y":13557.459740420441},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"40737f74-0e6d-4ea4-9e77-023af6343601","savedPayload":{"position":{"x":17595.603255777227,"y":13557.459740420441},"targetPosition":{"x":17914.152520512544,"y":13454.076672606056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Value","config":"{\n \"codeName\": \"value\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.value","id":"11ce21e7-ebc3-401d-b550-7b129f3f86b5","savedPayload":{"position":{"x":17494.41717783017,"y":13240.557792198559},"targetPosition":{"x":17615.048446998044,"y":13301.55404605385},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"4bae0e4f-fa97-4b6e-99de-a61bd75014b1","savedPayload":{"position":{"x":17615.048446998044,"y":13301.55404605385},"targetPosition":{"x":17914.152520512544,"y":13454.076672606056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"048e2c90-bb92-4b32-a847-f337d3953392","savedPayload":{"position":{"x":17913.48587101754,"y":13454.66789279106},"targetPosition":{"x":18429.78600945148,"y":13286.85186936537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nlet candle = record.current // get current candle data\n\n/* Calculate Rate of Change */\nvariable.value = calculateROC(candle.close, variable.length)\n\nvariable.lastCloses.push(candle.close) // Add the current close value to the last closes array.\n\nif (variable.lastCloses.length > variable.length) {\n variable.lastCloses.splice(0, 1) // Remove the first element of the array to keep it at a maximun of n elements.\n}\n\n/* Helper Functions */\n\n/* Calculate Rate of Change */\nfunction calculateROC(source, length) {\n /* Check if we have enough values to make the calculation */\n if (variable.lastCloses.length < length) { return 0 }\n \n /* Check if n-last candle close is zero, avoid division by zero */\n if (variable.lastCloses[0] === 0) { return 0 }\n \n return 100 * (source - variable.lastCloses[0]) / variable.lastCloses[0]\n}","id":"f84b95ea-bfa6-4c2b-bf49-ff4810a11b97","savedPayload":{"position":{"x":17599.78458977607,"y":13302.011014899279},"targetPosition":{"x":17865.59316505905,"y":13245.776334184402},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7848d1ed-fedd-4d0e-8ea6-1212b2d614e5","savedPayload":{"position":{"x":17865.59316505905,"y":13245.776334184402},"targetPosition":{"x":18131.262080330467,"y":13189.815341765341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.length = 32\nvariable.lastCloses = []","id":"858ab5d5-0fdc-406a-bbf8-18b648879abe","savedPayload":{"position":{"x":17675.566628606884,"y":12894.091246401182},"targetPosition":{"x":17903.43765279042,"y":13041.923558354529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"428a7ff5-a19a-448d-92d9-d11815613c67","savedPayload":{"position":{"x":17903.43765279042,"y":13041.923558354529},"targetPosition":{"x":18131.262080330467,"y":13189.815341765341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"37ee9d85-7676-4ae0-956a-7c13706f4311","savedPayload":{"position":{"x":18131.262080330467,"y":13189.815341765341},"targetPosition":{"x":18429.78600945148,"y":13286.85186936537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ff5aacca-1783-4247-9702-ee5dd01fb3ff","savedPayload":{"position":{"x":19077.14024349357,"y":13208.490545310035},"targetPosition":{"x":19076.668826775607,"y":12777.69068688004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"ROC 32","id":"7812b3a3-8375-4f0d-9671-acc05b256d74"}}},{"type":"Product Definition","name":"ROC 9","config":"{\n \"codeName\": \"ROC-9\",\n \"singularVariableName\": \"roc9\",\n \"pluralVariableName\": \"roc9s\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"9c6b7d85-01f5-449c-a5be-9a357b6588bc","savedPayload":{"position":{"x":18367.90028466003,"y":13538.450602446082},"targetPosition":{"x":18398.997778660316,"y":13239.059781476399},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"66f59b6d-9d4b-4cef-9ffd-aed019219809","savedPayload":{"position":{"x":18197.644978343116,"y":13462.125315009505},"targetPosition":{"x":18398.997778660316,"y":13239.059781476399},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","name":"Begin","code":"record.current.begin","id":"d0c1361d-9b94-4eaf-9b94-b7fe36e11779","savedPayload":{"position":{"x":17612.69006169516,"y":13746.615112193705},"targetPosition":{"x":17686.18227637778,"y":13633.277323166074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"805c77d6-442d-408a-b767-f0bc03b78d68","savedPayload":{"position":{"x":17686.18227637778,"y":13633.277323166074},"targetPosition":{"x":17868.68621590931,"y":13351.947780330196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"b9a17c63-21ea-4295-af8e-e6a3329c2b99","savedPayload":{"position":{"x":17408.268815031122,"y":13449.329723506547},"targetPosition":{"x":17541.53394454785,"y":13421.746497299271},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"fc34bcb4-0c85-4aa6-a08a-a78120167ed0","savedPayload":{"position":{"x":17541.53394454785,"y":13421.746497299271},"targetPosition":{"x":17868.68621590931,"y":13351.947780330196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Value","config":"{\n \"codeName\": \"value\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.value","id":"d035de65-da5d-4c9f-bf6f-390de346f264","savedPayload":{"position":{"x":17474.03980507627,"y":13096.385008733812},"targetPosition":{"x":17586.650335631628,"y":13169.121590768646},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2dda380a-bda1-4bc5-9132-86956e080f01","savedPayload":{"position":{"x":17586.650335631628,"y":13169.121590768646},"targetPosition":{"x":17868.68621590931,"y":13351.947780330196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"31966558-4e25-4512-bc6a-1a83d05affac","savedPayload":{"position":{"x":17867.894630549497,"y":13352.073880303331},"targetPosition":{"x":18398.997778660316,"y":13239.059781476399},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nlet candle = record.current // get current candle data\n\n/* Calculate Rate of Change */\nvariable.value = calculateROC(candle.close, variable.length)\n\nvariable.lastCloses.push(candle.close) // Add the current close value to the last closes array.\n\nif (variable.lastCloses.length > variable.length) {\n variable.lastCloses.splice(0, 1) // Remove the first element of the array to keep it at a maximun of n elements.\n}\n\n/* Helper Functions */\n\n/* Calculate Rate of Change */\nfunction calculateROC(source, length) {\n /* Check if we have enough values to make the calculation */\n if (variable.lastCloses.length < length) { return 0 }\n \n /* Check if n-last candle close is zero, avoid division by zero */\n if (variable.lastCloses[0] === 0) { return 0 }\n \n return 100 * (source - variable.lastCloses[0]) / variable.lastCloses[0]\n}","id":"9073d856-36e6-4fbb-86a8-b0244be2ff2a","savedPayload":{"position":{"x":17566.449746753377,"y":13165.12418334502},"targetPosition":{"x":17837.184522707743,"y":13137.150783720674},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8bb88eaa-9d57-470b-8bb4-b443917ce585","savedPayload":{"position":{"x":17837.184522707743,"y":13137.150783720674},"targetPosition":{"x":18106.59630413276,"y":13108.904969869845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.length = 9\nvariable.lastCloses = []","id":"d8f4eb7f-979c-423f-96b4-519046ede40b","savedPayload":{"position":{"x":17684.471436737742,"y":12767.370713626966},"targetPosition":{"x":17896.13679169914,"y":12938.376294583113},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ed52861e-b8e3-40fa-88e8-2d7a1fde01d4","savedPayload":{"position":{"x":17896.13679169914,"y":12938.376294583113},"targetPosition":{"x":18106.59630413276,"y":13108.904969869845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a77a13e5-83be-4f7d-803b-6a18e202ae7e","savedPayload":{"position":{"x":18106.59630413276,"y":13108.904969869845},"targetPosition":{"x":18398.997778660316,"y":13239.059781476399},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"83bfd082-1c10-4c42-be63-379a2100cc0e","savedPayload":{"position":{"x":18879.89593797149,"y":13148.443360629082},"targetPosition":{"x":19076.668826775607,"y":12777.69068688004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"ROC 9","id":"5ecd7465-9f89-4e20-bea9-2216863e2990"}}}],"id":"aa47dd1b-60cc-4ab1-8cd1-d5f54005e54c","savedPayload":{"position":{"x":19109.62256060589,"y":12834.996898181322},"targetPosition":{"x":18876.639522961566,"y":12431.333069545388},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Stochastic","config":"{\n\"codeName\": \"Stochastic\",\n\"repo\": \"Stoch-Indicator-Bot\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Calculates RSI.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\",\n \"startDate\": {\n },\n \"endDate\": {\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Stoch-14-3-3","id":"2c380e74-2851-45ff-975d-32344bb1ac34","savedPayload":{"position":{"x":18850.844038402716,"y":13845.816669561791},"targetPosition":{"x":18616.297146920613,"y":13655.791584619852},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"88b1ff0e-ad99-474c-8833-7b76a5a57ebd"}}}],"outputDatasetFolders":[],"id":"40b215c0-0e30-4315-b501-1335125297ce","savedPayload":{"position":{"x":18616.297146920613,"y":13655.791584619852},"targetPosition":{"x":18326.6535779888,"y":13421.598355457092},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"5f810842-42b7-47cf-b1c8-cafff231ca57","savedPayload":{"position":{"x":19070.746059666842,"y":11398.905895282},"targetPosition":{"x":19281.775421971743,"y":11659.640552352832},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"Stochastic Multi-Period-Market","config":"{\"mainUtility\": \"Self Reference\"}","id":"c8f7ce8f-1aee-4433-8395-e4b6c2e24ba7","savedPayload":{"position":{"x":19316.70502122116,"y":11326.030270662532},"targetPosition":{"x":19281.775421971743,"y":11659.640552352832},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"94b42891-942c-4026-aeff-60fd555096f4"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"7d9dc95c-39e1-45a4-b982-3d5bb0994db5","savedPayload":{"position":{"x":19545.141807067947,"y":11446.114582277143},"targetPosition":{"x":19281.775421971743,"y":11659.640552352832},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"1262c170-5760-4cb8-8fbc-d8c002bf3a66","savedPayload":{"position":{"x":18461.79698456986,"y":13775.092352171849},"targetPosition":{"x":18326.6535779888,"y":13421.598355457092},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"94b42891-942c-4026-aeff-60fd555096f4","savedPayload":{"position":{"x":18267.595715704567,"y":13794.626758819633},"targetPosition":{"x":18326.6535779888,"y":13421.598355457092},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"8e13aff4-da04-49bb-81d2-322fd6d0b412","savedPayload":{"position":{"x":18088.675406169965,"y":13715.615254735158},"targetPosition":{"x":18326.6535779888,"y":13421.598355457092},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"962fd00f-ab4c-4f0d-af74-a39c6c5a9c38","savedPayload":{"position":{"x":17973.594642271953,"y":13557.106986085999},"targetPosition":{"x":18326.6535779888,"y":13421.598355457092},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6a6a6533-21a9-4be9-b2f0-ace1adfe45b8","savedPayload":{"position":{"x":18784.079572674502,"y":13176.773614224885},"targetPosition":{"x":18676.765155024474,"y":12777.592814437801},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Calculates RSI\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\",\n \"startDate\": {\n \"takeItFromStatusDependency\": 0\n },\n \"endDate\": {\n \"takeItFromStatusDependency\": 1\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily Stoch-14-3-3","id":"d834ef3b-b891-43d0-b5ba-ab072e0fc98b","savedPayload":{"position":{"x":18004.176829829234,"y":13849.679664062029},"targetPosition":{"x":17972.73252923636,"y":13549.991783612186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"4b941e0d-8b0a-41e2-bc20-54e0bc0d936a"}}}],"outputDatasetFolders":[],"id":"3068bb07-0fec-4c91-bfc1-8060bfed5f51","savedPayload":{"position":{"x":17972.73252923636,"y":13549.991783612186},"targetPosition":{"x":17934.01174659362,"y":13180.97318632419},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Stochastic Multi-Period-Daily","config":"{\"mainUtility\": \"Self Reference\"}","id":"1cafc2e1-ea17-4b18-bd08-9ce02fd49de3","savedPayload":{"position":{"x":19629.06535956546,"y":11735.70645590455},"targetPosition":{"x":19698.53162123034,"y":12063.888728452937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"494234e3-13b6-4f90-a529-77b23ee55bc8"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"31a36ff7-480e-4472-8286-ab91f424d2f2","savedPayload":{"position":{"x":19834.916270780082,"y":11757.679415091143},"targetPosition":{"x":19698.53162123034,"y":12063.888728452937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\"mainUtility\": \"Market Starting Point\"}","id":"bf8a555b-95d9-4a79-8889-4b9e3fe0bc06","savedPayload":{"position":{"x":19988.978051064823,"y":11896.253075803163},"targetPosition":{"x":19698.53162123034,"y":12063.888728452937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"a38119ba-cc6a-4cc8-8138-c9fe971073c0","savedPayload":{"position":{"x":20032.119917789925,"y":12098.808586809844},"targetPosition":{"x":19698.53162123034,"y":12063.888728452937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"c9030a10-5dbe-4438-9b47-e3c2e21e9c45","savedPayload":{"position":{"x":17780.786585759455,"y":13524.29676147628},"targetPosition":{"x":17934.01174659362,"y":13180.97318632419},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"494234e3-13b6-4f90-a529-77b23ee55bc8","savedPayload":{"position":{"x":17629.132101377345,"y":13402.492094824607},"targetPosition":{"x":17934.01174659362,"y":13180.97318632419},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"0141c05e-dd7a-4466-b87c-6f5ff6248096","savedPayload":{"position":{"x":17559.876260714213,"y":13220.523267642347},"targetPosition":{"x":17934.01174659362,"y":13180.97318632419},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"e8651790-aada-42d6-85c7-b98b6bd2f7d6","savedPayload":{"position":{"x":17586.355426415023,"y":13046.43923101368},"targetPosition":{"x":17934.01174659362,"y":13180.97318632419},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6a39c43d-0ad2-4c98-ae06-6e40f55d1753","savedPayload":{"position":{"x":18470.16068870952,"y":13135.34578952624},"targetPosition":{"x":18676.765155024474,"y":12777.592814437801},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Stoch-14-3-3","config":"{\n \"codeName\": \"Stoch-14-3-3\",\n \"singularVariableName\": \"stoch1433\",\n \"pluralVariableName\": \"stoch1433s\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"88b1ff0e-ad99-474c-8833-7b76a5a57ebd","savedPayload":{"position":{"x":17715.362799060564,"y":13535.36247067419},"targetPosition":{"x":17841.86557042898,"y":13205.428816337679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"4b941e0d-8b0a-41e2-bc20-54e0bc0d936a","savedPayload":{"position":{"x":17545.399691714287,"y":13397.684976254226},"targetPosition":{"x":17841.86557042898,"y":13205.428816337679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","name":"Begin","code":"record.current.begin","id":"f75f0660-8a0c-44cb-bf93-db351ab8d05c","savedPayload":{"position":{"x":16833.660628203244,"y":13580.274136151585},"targetPosition":{"x":16942.329752354115,"y":13445.968000099982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8c35b00f-6b83-47b6-8f23-ecef14656d97","savedPayload":{"position":{"x":16942.329752354115,"y":13445.968000099982},"targetPosition":{"x":17169.417477438717,"y":13165.232793876308},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"c7303daa-523a-4153-ae52-a8cac30aa567","savedPayload":{"position":{"x":16654.023222085438,"y":13303.25936750756},"targetPosition":{"x":16820.662424520906,"y":13258.665579642433},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"db80f524-af49-4d39-b4b4-d70d87e47745","savedPayload":{"position":{"x":16820.662424520906,"y":13258.665579642433},"targetPosition":{"x":17169.417477438717,"y":13165.232793876308},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fast Line","config":"{\n \"codeName\": \"fastLine\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.fastLine","id":"430718f7-482d-4a44-96ce-a85dd76680b1","savedPayload":{"position":{"x":16664.577788925882,"y":12971.837537808511},"targetPosition":{"x":16826.432230957893,"y":13033.78467225453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a2b00adf-0b72-44cf-82a0-bcd6b95ff7c1","savedPayload":{"position":{"x":16826.432230957893,"y":13033.78467225453},"targetPosition":{"x":17169.417477438717,"y":13165.232793876308},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Line","config":"{\n \"codeName\": \"slowLine\",\n \"isString\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.slowLine","id":"9ad4bcac-98b9-4880-93fe-a6319635384a","savedPayload":{"position":{"x":16860.542294716754,"y":12712.716760475183},"targetPosition":{"x":16973.006152976825,"y":12867.624110275301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c7620ef0-d47f-4eba-ae08-386c7cae1491","savedPayload":{"position":{"x":16973.006152976825,"y":12867.624110275301},"targetPosition":{"x":17169.417477438717,"y":13165.232793876308},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"77ed625d-dbbc-4dc0-a707-de3ca5066341","savedPayload":{"position":{"x":17136.33411336475,"y":13168.637723975211},"targetPosition":{"x":17841.86557042898,"y":13205.428816337679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nlet candle = record.current // get current candle data\nvariable.lastHighs.push(candle.max) // Add the current high value to the last highs array.\nvariable.lastLows.push(candle.min) // Add the current low value to the last lows array.\n\n/* Remove the first element of the array to keep it at a maximun of n elements */\nif (variable.lastHighs.length > variable.length) {\n variable.lastHighs.splice(0, 1)\n variable.lastLows.splice(0, 1)\n}\n\n/* Calculate Stoch - Signal */\nvariable.signal = calculateStoch(candle.close, variable.length)\n\n\nvariable.lastSignals.push(variable.signal)\n\n/* Remove the first element of the array to keep it at a maximun of n elements */\nif (variable.lastSignals.length > variable.smaFast) {\n variable.lastSignals.splice(0, 1)\n}\n\n/* Calculate Stoch - Fast Line */\nvariable.fastLine = calculateSMA(variable.lastSignals, variable.smaFast)\n\n\nvariable.lastSMAFast.push(variable.fastLine)\n\n/* Remove the first element of the array to keep it at a maximun of n elements */\nif (variable.lastSMAFast.length > variable.smaSlow) {\n variable.lastSMAFast.splice(0, 1)\n}\n\n/* Calculate Stoch - Slow Line */\nvariable.slowLine = calculateSMA(variable.lastSMAFast, variable.smaSlow)\n\n\n/* Helper Functions */\n\n/* Calculate Sochastic Signal */\nfunction calculateStoch(source, length) {\n /* Check if we have enough values to make the calculation */\n if (variable.lastHighs.length < length) { return 0 }\n \n /* Get highest high and lowest low of n-last elements */\n let high = Math.max(...variable.lastHighs)\n let low = Math.min(...variable.lastLows)\n\n /* Check on division by Zero */\n if(high === low) { return 0 }\n \n return 100 * (source - low) / (high - low)\n}\n\n/* Calculate Simple Moving Average */\nfunction calculateSMA(values, length) {\n /* We check we have enough values to make the calculation */\n if (values.length < length) { return 0 } // If we dont, we define the value is zero.\n\n let sum = 0 // Initialize sum variable. \n for (let i = values.length - length; i < values.length; i++) { // Iterate through the last periods\n sum = sum + values[i]\n }\n \n return sum / length\n}","id":"cb01047f-16aa-4507-8e97-a96d7a8bbb75","savedPayload":{"position":{"x":16870.320661644033,"y":12872.903058193695},"targetPosition":{"x":17219.107404440012,"y":12928.084722714058},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2e7b0c32-92cc-4e9e-a130-ae33bc248b40","savedPayload":{"position":{"x":17219.107404440012,"y":12928.084722714058},"targetPosition":{"x":17567.632529211838,"y":12983.34402669353},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.length = 14\nvariable.smaFast = 3\nvariable.smaSlow = 3\n\nvariable.signal = 0\nvariable.lastSignals = []\nvariable.lastSMAFast = []\nvariable.lastHighs = []\nvariable.lastLows = []","id":"18cf20b6-0b7b-4520-9cf4-89ee085ab8b9","savedPayload":{"position":{"x":17152.484858644868,"y":12411.942262317445},"targetPosition":{"x":17360.01984943355,"y":12697.557456418921},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bc5124f7-650e-476b-b997-1257e4f89c2f","savedPayload":{"position":{"x":17360.01984943355,"y":12697.557456418921},"targetPosition":{"x":17567.632529211838,"y":12983.34402669353},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"169e9a70-4b42-426c-8d9a-b60c41ab7f17","savedPayload":{"position":{"x":17567.632529211838,"y":12983.34402669353},"targetPosition":{"x":17841.86557042898,"y":13205.428816337679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"393dc97b-76ee-409a-9b8f-f264ed652b0b","savedPayload":{"position":{"x":18260.594323336485,"y":12889.044742310707},"targetPosition":{"x":18676.765155024474,"y":12777.592814437801},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Stoch 14-3-3","id":"6a85fbb1-5a99-4ccc-93e8-092f5dbf6c4a"}}}],"id":"87754aba-6878-4841-9688-352e8c565d16","savedPayload":{"position":{"x":18643.632204422534,"y":12835.102668681284},"targetPosition":{"x":18876.639522961566,"y":12431.333069545388},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"plotters":[{"type":"Plotter","name":"ATR","config":"{\n\"codeName\": \"Plotter-ATR\"\n}","modules":[{"type":"Plotter Module","name":"ATR - RMA","config":"{\n\t\"codeName\": \"Module-ATR-RMA\",\n\t\"banner\": \"Oscillator\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"Grid","points":[{"type":"Point","name":"Begin 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"a7d2fc22-a7d8-4e61-ab21-f9a39f1d8c60","savedPayload":{"position":{"x":18365.1664892535,"y":13294.211107995805},"targetPosition":{"x":18330.827896916617,"y":13490.395050148758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2b15da18-c6ba-45b4-9c1d-35c84f50ec2c","savedPayload":{"position":{"x":18330.827896916617,"y":13490.395050148758},"targetPosition":{"x":18296.334029359645,"y":13687.090202270685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"95e093d9-e212-4ee4-abc0-6b5deffc8db6","savedPayload":{"position":{"x":18603.21982858512,"y":13430.936676241612},"targetPosition":{"x":18449.80803813718,"y":13558.868718144025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8c0ff77b-ba09-41be-9ff5-cb6d8bae710d","savedPayload":{"position":{"x":18449.80803813718,"y":13558.868718144025},"targetPosition":{"x":18296.334029359645,"y":13687.090202270685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ATR-2 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.atr2","id":"75a4f710-e619-4578-ad51-a01b965800db","savedPayload":{"position":{"x":18697.162103193514,"y":13687.701573070524},"targetPosition":{"x":18496.77427281961,"y":13687.339505078757},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a5d5cdc1-5731-4ec5-b8cd-001e4e62ef54","savedPayload":{"position":{"x":18496.77427281961,"y":13687.339505078757},"targetPosition":{"x":18296.334029359645,"y":13687.090202270685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ATR-2 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.atr2","id":"fcb4421d-ee8a-4a27-8bd2-100cdb0cdbf9","savedPayload":{"position":{"x":18603.32798101745,"y":13945.271498876202},"targetPosition":{"x":18449.879208933526,"y":13816.139657254213},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d548a98e-d369-45da-abaf-2e5a758e5379","savedPayload":{"position":{"x":18449.879208933526,"y":13816.139657254213},"targetPosition":{"x":18296.334029359645,"y":13687.090202270685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ATR-3 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.atr3","id":"fb2683a4-a28c-4f2b-9345-93937db60072","savedPayload":{"position":{"x":18365.728445158547,"y":14082.353622536526},"targetPosition":{"x":18331.104289614545,"y":13884.678894822227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"08c720e8-2c9a-435d-baf4-06e38a7c7ce0","savedPayload":{"position":{"x":18331.104289614545,"y":13884.678894822227},"targetPosition":{"x":18296.334029359645,"y":13687.090202270685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ATR-3 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.atr3","id":"bdb5b37c-6890-4186-9877-84c01b1672af","savedPayload":{"position":{"x":18096.155336067073,"y":14034.741121963181},"targetPosition":{"x":18196.34424686941,"y":13860.867162893623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a25effcc-2adc-4fc1-939c-45630c3ccd75","savedPayload":{"position":{"x":18196.34424686941,"y":13860.867162893623},"targetPosition":{"x":18296.334029359645,"y":13687.090202270685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ATR-14 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.atr14","id":"df8f75d2-2e35-4567-a43a-6ef38a1d9b6e","savedPayload":{"position":{"x":17919.88017247672,"y":13824.755394405303},"targetPosition":{"x":18108.229420731488,"y":13755.845901874392},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"87985d52-78d7-4796-9918-81c7a534035d","savedPayload":{"position":{"x":18108.229420731488,"y":13755.845901874392},"targetPosition":{"x":18296.334029359645,"y":13687.090202270685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ATR-14 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.atr14","id":"9f5379b7-8632-4873-8534-a13505a8cd92","savedPayload":{"position":{"x":17920.299031014518,"y":13551.512038463052},"targetPosition":{"x":18108.42226000009,"y":13618.954558593492},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"48292688-3718-49fe-9580-97d9ac87fcd4","savedPayload":{"position":{"x":18108.42226000009,"y":13618.954558593492},"targetPosition":{"x":18296.334029359645,"y":13687.090202270685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a1cc0e5a-f1dd-4723-a632-51abeb3f696c","savedPayload":{"position":{"x":18296.334029359645,"y":13687.090202270685},"targetPosition":{"x":17897.77809647619,"y":12996.234797063113},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Line 0","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"4f411d32-d31c-4f70-880d-14400f3f8e20","savedPayload":{"position":{"x":18169.20257289008,"y":13868.233932844762},"targetPosition":{"x":18018.12899830363,"y":13704.532820017313},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"18c69ccb-7152-4204-b34e-0d1d92840067","savedPayload":{"position":{"x":18018.12899830363,"y":13704.532820017313},"targetPosition":{"x":17803.77140927641,"y":13490.130822855392},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End 0","id":"e1973335-e34b-410f-8c60-6e4f77e4f7fc","savedPayload":{"position":{"x":17803.77147274134,"y":13793.12253653917},"targetPosition":{"x":17803.77140927641,"y":13490.130822855392},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 0","id":"8c0ff77b-ba09-41be-9ff5-cb6d8bae710d"}}},{"type":"Polygon Vertex","name":"Begin 0","id":"5cf3f400-725e-4f2f-8fbb-f9d9d75210a9","savedPayload":{"position":{"x":17587.196614543034,"y":13706.895382195766},"targetPosition":{"x":17803.77140927641,"y":13490.130822855392},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 0","id":"2b15da18-c6ba-45b4-9c1d-35c84f50ec2c"}}}],"id":"b24d41f5-7cc8-4b4b-a0a9-b31b5799c74c","savedPayload":{"position":{"x":17897.62179467013,"y":13396.048845939102},"targetPosition":{"x":17897.77809647619,"y":12996.234797063113},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"ATR-14 Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"97f64b46-e6ae-4a56-89fe-808c11a09ec4","savedPayload":{"position":{"x":17715.70506238412,"y":13943.079038994856},"targetPosition":{"x":17657.579694205902,"y":13725.582256284597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"fab23f0e-9455-47a4-ba56-17c3ae1f0c7f","savedPayload":{"position":{"x":17657.579694205902,"y":13725.582256284597},"targetPosition":{"x":17578.46478393204,"y":13429.702923531191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"ATR-14 End","id":"872ffd8b-6c72-42dc-90b4-2c8c73d89173","savedPayload":{"position":{"x":17425.291731685884,"y":13694.941353393006},"targetPosition":{"x":17578.46478393204,"y":13429.702923531191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ATR-14 End","id":"48292688-3718-49fe-9580-97d9ac87fcd4"}}},{"type":"Polygon Vertex","name":"ATR-14 Begin","id":"76fc0dd8-8e4c-4392-93a7-25c0906e6d90","savedPayload":{"position":{"x":17282.49658883046,"y":13508.986946522635},"targetPosition":{"x":17578.46478393204,"y":13429.702923531191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ATR-14 Begin","id":"87985d52-78d7-4796-9918-81c7a534035d"}}}],"id":"ecec9e37-265d-4f9e-8e82-68f6333fbbea","savedPayload":{"position":{"x":17697.659130394102,"y":13342.79132216112},"targetPosition":{"x":17897.77809647619,"y":12996.234797063113},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"ATR-3 Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"0bf6c9ec-c077-4ec0-aee5-461ca992952f","savedPayload":{"position":{"x":17447.031945741448,"y":13583.185338218904},"targetPosition":{"x":17499.202322643858,"y":13389.708411094725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"e2ed8b31-4016-421b-b4a5-be4a1efe7dce","savedPayload":{"position":{"x":17499.202322643858,"y":13389.708411094725},"targetPosition":{"x":17551.282569512707,"y":13196.23122108648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"ATR-3 Begin","id":"1f566a4a-a727-4315-bf57-98f6bda4f9f9","savedPayload":{"position":{"x":17377.495895991968,"y":13296.40439128693},"targetPosition":{"x":17551.282569512707,"y":13196.23122108648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ATR-3 Begin","id":"08c720e8-2c9a-435d-baf4-06e38a7c7ce0"}}},{"type":"Polygon Vertex","name":"ATR-3 End","id":"e2ebb5ae-1776-4084-b22d-f8bb1f0f9ce2","savedPayload":{"position":{"x":17357.442148812104,"y":13144.77398493514},"targetPosition":{"x":17551.282569512707,"y":13196.23122108648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ATR-3 End","id":"a25effcc-2adc-4fc1-939c-45630c3ccd75"}}}],"id":"faed1922-2c6f-404f-aa89-bd0279d4a7f6","savedPayload":{"position":{"x":17551.282569512707,"y":13196.23122108648},"targetPosition":{"x":17897.77809647619,"y":12996.234797063113},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"ATR-2 Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"5cf73947-8357-482f-b35f-8e9b53437b6a","savedPayload":{"position":{"x":16980.181013841222,"y":13413.597727756063},"targetPosition":{"x":17139.45340377757,"y":13254.28607461191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"4caa937b-ddf0-4ca2-af43-2d464ccad98d","savedPayload":{"position":{"x":17139.45340377757,"y":13254.28607461191},"targetPosition":{"x":17353.629301093646,"y":13040.077803787752},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"ATR-2 Begin","id":"c163eb42-687b-4fba-9db6-0084e18e52ce","savedPayload":{"position":{"x":17050.657353601335,"y":13040.110381300823},"targetPosition":{"x":17353.629301093646,"y":13040.077803787752},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ATR-2 Begin","id":"a5d5cdc1-5731-4ec5-b8cd-001e4e62ef54"}}},{"type":"Polygon Vertex","name":"ATR-2 End","id":"a44429f7-6721-4619-9419-d14c0a30de19","savedPayload":{"position":{"x":17138.233170019852,"y":12824.686880354306},"targetPosition":{"x":17353.629301093646,"y":13040.077803787752},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ATR-2 End","id":"d548a98e-d369-45da-abaf-2e5a758e5379"}}}],"id":"2a6fc3b7-2f9f-4a82-8a96-c05208c308b6","savedPayload":{"position":{"x":17504.149478644245,"y":13001.5276075664},"targetPosition":{"x":17897.77809647619,"y":12996.234797063113},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"b5cf58d5-da89-4fff-83cc-000ac1095b32","savedPayload":{"position":{"x":17897.77809647619,"y":12996.234797063113},"targetPosition":{"x":18097.33827011886,"y":12650.34059148171},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"ATR - RMA","config":"{ \n\"codeName\": \"Panel-ATR-RMA\"\n}","panelData":[{"type":"Panel Data","name":"ATR-2","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.atr2","id":"437acbb9-8126-4866-9a59-5624ab0212fa","savedPayload":{"position":{"x":17400.90123731678,"y":12922.000602895401},"targetPosition":{"x":17556.25339979169,"y":12791.343412009779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"08c2e812-c653-45fa-8350-f79c9be57419","savedPayload":{"position":{"x":17556.25339979169,"y":12791.343412009779},"targetPosition":{"x":17697.93834005369,"y":12650.228675374876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"ATR-3","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.atr3","id":"d1bb96e2-10c5-41c8-9599-b1220ca00fae","savedPayload":{"position":{"x":17297.00613507086,"y":12650.105179683724},"targetPosition":{"x":17497.43780916644,"y":12650.189932725036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e940e706-b774-413a-9b2f-24d4f2d3403d","savedPayload":{"position":{"x":17497.43780916644,"y":12650.189932725036},"targetPosition":{"x":17697.93834005369,"y":12650.228675374876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"ATR-14","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.atr14","id":"9d2b2ba5-4b4c-4323-b66f-25d703cd7522","savedPayload":{"position":{"x":17414.545484865655,"y":12367.020404559553},"targetPosition":{"x":17556.22605589632,"y":12508.638103963449},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c4283089-0809-4a02-bb24-fb061af3430a","savedPayload":{"position":{"x":17556.22605589632,"y":12508.638103963449},"targetPosition":{"x":17697.93834005369,"y":12650.228675374876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ea919b0e-a30e-44d7-8d5b-cd83f2c0c3e5","savedPayload":{"position":{"x":17697.93834005369,"y":12650.228675374876},"targetPosition":{"x":18097.33827011886,"y":12650.34059148171},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"99088549-f1c0-4157-ba7e-ffd6dfd0d140","savedPayload":{"position":{"x":18097.33827011886,"y":12650.34059148171},"targetPosition":{"x":18476.763004076147,"y":12431.451501295342},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},{"type":"Plotter Module","name":"ATR - SMA","config":"{\n\t\"codeName\": \"Module-ATR-SMA\",\n\t\"banner\": \"Oscillator\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"Grid","points":[{"type":"Point","name":"Begin 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"24c4ad6e-7531-4c02-a4d1-a92fa0c2d0bd","savedPayload":{"position":{"x":17682.415175593782,"y":12692.293134100793},"targetPosition":{"x":17471.06486524202,"y":12769.042365157678},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8e1b746f-f708-49a5-9717-eebf4bb6c91a","savedPayload":{"position":{"x":17471.06486524202,"y":12769.042365157678},"targetPosition":{"x":17193.073030293213,"y":12870.107203286787},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"96531747-4036-4cf3-91ce-53a592c111db","savedPayload":{"position":{"x":17682.382457356245,"y":13048.1696342317},"targetPosition":{"x":17470.76158136292,"y":12971.233172887845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"51c6cdeb-f974-49f5-a8d6-4a3e4c57539e","savedPayload":{"position":{"x":17470.76158136292,"y":12971.233172887845},"targetPosition":{"x":17193.073030293213,"y":12870.107203286787},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ATR-2 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.atr2","id":"a0a91f69-8665-4c10-97ed-b344d46e24e9","savedPayload":{"position":{"x":17453.473755875893,"y":13321.088209094281},"targetPosition":{"x":17340.717281825368,"y":13126.069346031514},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"84bd5028-9dd1-4128-b903-2e8e27afee2c","savedPayload":{"position":{"x":17340.717281825368,"y":13126.069346031514},"targetPosition":{"x":17193.073030293213,"y":12870.107203286787},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ATR-2 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.atr2","id":"b79ea353-e9af-486d-bd59-f647c1d34121","savedPayload":{"position":{"x":17102.611301411034,"y":13382.860913387722},"targetPosition":{"x":17141.766147932485,"y":13161.118658176858},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ebcf383a-71f7-4caf-8c4b-1334e60dfb49","savedPayload":{"position":{"x":17141.766147932485,"y":13161.118658176858},"targetPosition":{"x":17193.073030293213,"y":12870.107203286787},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ATR-3 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.atr3","id":"5e321a40-2362-4534-b465-2a9989aecdf8","savedPayload":{"position":{"x":16794.142959077188,"y":13204.822488698917},"targetPosition":{"x":16966.760836679172,"y":13060.028164512227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"806649c5-aef9-4da4-8c8a-e041bc9e71e2","savedPayload":{"position":{"x":16966.760836679172,"y":13060.028164512227},"targetPosition":{"x":17193.073030293213,"y":12870.107203286787},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ATR-3 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.atr3","id":"210cdd54-6060-47ff-be8a-06d80daf1438","savedPayload":{"position":{"x":16642.335398368596,"y":12870.114152415601},"targetPosition":{"x":16872.49555877069,"y":12870.105945114628},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e5945b52-ef11-4a12-9503-8c8accbefcc5","savedPayload":{"position":{"x":16872.49555877069,"y":12870.105945114628},"targetPosition":{"x":17193.073030293213,"y":12870.107203286787},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ATR-14 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.atr14","id":"37501854-7854-49b5-8ab0-d36febe18a65","savedPayload":{"position":{"x":16793.83868420046,"y":12535.597804511846},"targetPosition":{"x":16966.513151087835,"y":12680.246944348384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"57b4f263-265b-4a4f-9470-6c1503961d61","savedPayload":{"position":{"x":16966.513151087835,"y":12680.246944348384},"targetPosition":{"x":17193.073030293213,"y":12870.107203286787},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ATR-14 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.atr14","id":"8395b74a-3ceb-49b7-a2e5-f7b00866bd7b","savedPayload":{"position":{"x":17100.575590924178,"y":12353.433416655234},"targetPosition":{"x":17141.28609343837,"y":12576.436875820915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"79026076-fe40-4641-a1c7-903c20ecff2d","savedPayload":{"position":{"x":17141.28609343837,"y":12576.436875820915},"targetPosition":{"x":17193.073030293213,"y":12870.107203286787},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"bfab9870-bf09-49c5-86cd-975ee33e64ca","savedPayload":{"position":{"x":17129.17428221901,"y":12978.418845351887},"targetPosition":{"x":17578.50666204247,"y":12200.174004229772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Line 0","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"2f3896e2-233c-4413-b989-bb111636a6f1","savedPayload":{"position":{"x":17029.45949459933,"y":12969.401880746553},"targetPosition":{"x":17100.893262761496,"y":12753.470078916724},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"9e5ef462-76d3-417a-8e33-9481761ba313","savedPayload":{"position":{"x":17100.893262761496,"y":12753.470078916724},"targetPosition":{"x":17188.796291040704,"y":12425.365950130321},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End 0","id":"510f0f9c-b8c3-405f-93fa-150f2ba98b44","savedPayload":{"position":{"x":16896.12224284491,"y":12594.234574701604},"targetPosition":{"x":17188.796291040704,"y":12425.365950130321},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 0","id":"51c6cdeb-f974-49f5-a8d6-4a3e4c57539e"}}},{"type":"Polygon Vertex","name":"Begin 0","id":"aac1fbbe-4728-4c97-92ea-7ab4ab1e976a","savedPayload":{"position":{"x":16857.462399080247,"y":12336.762005217415},"targetPosition":{"x":17188.796291040704,"y":12425.365950130321},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 0","id":"8e1b746f-f708-49a5-9717-eebf4bb6c91a"}}}],"id":"dae87eed-2840-45ec-b8fd-97868408e748","savedPayload":{"position":{"x":17188.592817317498,"y":12425.322644003152},"targetPosition":{"x":17578.50666204247,"y":12200.174004229772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"ATR-14 Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"7026f16e-1ad8-4eaa-bbab-ce47b2ad820d","savedPayload":{"position":{"x":16752.542751746627,"y":12575.964852457919},"targetPosition":{"x":16911.731571259916,"y":12416.866264803632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"f8abfda8-11a5-4159-8b25-70b123bb3da8","savedPayload":{"position":{"x":16911.731571259916,"y":12416.866264803632},"targetPosition":{"x":17128.490814308956,"y":12200.19288170574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"ATR-14 End","id":"aa7480fd-e24a-43db-b0b9-96fbbf6a8190","savedPayload":{"position":{"x":16822.076223532462,"y":12200.197329948402},"targetPosition":{"x":17128.490814308956,"y":12200.19288170574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ATR-14 End","id":"79026076-fe40-4641-a1c7-903c20ecff2d"}}},{"type":"Polygon Vertex","name":"ATR-14 Begin","id":"a0c299f5-5134-4d5f-9f32-1589e26f8e94","savedPayload":{"position":{"x":16911.72124660305,"y":11983.67168410116},"targetPosition":{"x":17128.490814308956,"y":12200.19288170574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ATR-14 Begin","id":"57b4f263-265b-4a4f-9470-6c1503961d61"}}}],"id":"60444df5-1f4a-4553-92bb-5af88cc3b422","savedPayload":{"position":{"x":17128.19495096931,"y":12200.169123023723},"targetPosition":{"x":17578.50666204247,"y":12200.174004229772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"ATR-3 Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"0fdd9432-2ce4-4f80-987e-6683bee9b731","savedPayload":{"position":{"x":16672.028039123074,"y":12113.300711827369},"targetPosition":{"x":16889.74209984117,"y":12055.097040472527},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"89eab967-e7d1-4bf5-b4d0-3919f59392bb","savedPayload":{"position":{"x":16889.74209984117,"y":12055.097040472527},"targetPosition":{"x":17188.782366757896,"y":11975.13400299072},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"ATR-3 Begin","id":"74dc9232-405c-4361-a9c1-52b0cb48a8ab","savedPayload":{"position":{"x":16922.012264448505,"y":11821.106150194959},"targetPosition":{"x":17188.782366757896,"y":11975.13400299072},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ATR-3 Begin","id":"806649c5-aef9-4da4-8c8a-e041bc9e71e2"}}},{"type":"Polygon Vertex","name":"ATR-3 End","id":"f5142bc0-0a8a-4b51-bb55-37d55d2b07b2","savedPayload":{"position":{"x":17108.65863711013,"y":11676.044568948273},"targetPosition":{"x":17188.782366757896,"y":11975.13400299072},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ATR-3 End","id":"e5945b52-ef11-4a12-9503-8c8accbefcc5"}}}],"id":"61c9a80d-5f39-438c-9c90-9ebb93e3ebf1","savedPayload":{"position":{"x":17188.543937549064,"y":11975.050689415299},"targetPosition":{"x":17578.50666204247,"y":12200.174004229772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"ATR-2 Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"3cd2a5a6-65a3-4459-9b82-9df07a560744","savedPayload":{"position":{"x":16841.983260358866,"y":11673.228429967196},"targetPosition":{"x":17059.45366856224,"y":11731.461447479664},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"7e31615a-3abe-4749-be9c-9d4e7d0e8290","savedPayload":{"position":{"x":17059.45366856224,"y":11731.461447479664},"targetPosition":{"x":17353.709920861347,"y":11810.32319693567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"ATR-2 Begin","id":"05f68187-ffcb-4e54-9ff2-c46dc076fded","savedPayload":{"position":{"x":17201.395949984653,"y":11546.407404214147},"targetPosition":{"x":17353.709920861347,"y":11810.32319693567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ATR-2 Begin","id":"84bd5028-9dd1-4128-b903-2e8e27afee2c"}}},{"type":"Polygon Vertex","name":"ATR-2 End","id":"fde40884-dc75-4eb5-b93d-b8ec1d19d93a","savedPayload":{"position":{"x":17432.49197094909,"y":11515.987709906536},"targetPosition":{"x":17353.709920861347,"y":11810.32319693567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ATR-2 End","id":"ebcf383a-71f7-4caf-8c4b-1334e60dfb49"}}}],"id":"ae2cd4db-eebd-4bda-813a-9d9a788f8838","savedPayload":{"position":{"x":17353.47712656675,"y":11810.181627112506},"targetPosition":{"x":17578.50666204247,"y":12200.174004229772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"9a053fa4-ca14-432c-8927-15ef216b2faf","savedPayload":{"position":{"x":17086.30530692973,"y":12114.229229426532},"targetPosition":{"x":17707.30529673078,"y":12114.23056856211},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"ATR - SMA","config":"{ \n\"codeName\": \"Panel-ATR-SMA\"\n}","panelData":[{"type":"Panel Data","name":"ATR-2","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.atr2","id":"71d72170-f480-46e5-9fb7-3f79eef990d6","savedPayload":{"position":{"x":16796.05860861698,"y":11415.733255384872},"targetPosition":{"x":17096.498066138698,"y":11496.172003428761},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"00581f1e-843d-436b-8625-71b0814676f7","savedPayload":{"position":{"x":17096.498066138698,"y":11496.172003428761},"targetPosition":{"x":17396.946430774966,"y":11576.53699229655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"ATR-3","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.atr3","id":"ac407a65-ed19-4863-b039-0e53dcf6744d","savedPayload":{"position":{"x":17086.006673275406,"y":11037.751251341493},"targetPosition":{"x":17241.482504497777,"y":11307.153629479675},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bded503d-8475-4b34-886e-ec67a698a06d","savedPayload":{"position":{"x":17241.482504497777,"y":11307.153629479675},"targetPosition":{"x":17396.946430774966,"y":11576.53699229655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"ATR-14","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.atr14","id":"07af6d07-5ef8-4c38-a1c4-5f07355e9274","savedPayload":{"position":{"x":17557.673481927337,"y":10975.68499535168},"targetPosition":{"x":17477.350601807888,"y":11276.124630364451},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0eda57d2-0c10-4511-b3ab-7c6f1c5b953a","savedPayload":{"position":{"x":17477.350601807888,"y":11276.124630364451},"targetPosition":{"x":17396.946430774966,"y":11576.53699229655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d841e272-ce7b-4f3d-9774-545f69e8fc79","savedPayload":{"position":{"x":17396.946430774966,"y":11576.53699229655},"targetPosition":{"x":17707.30529673078,"y":12114.23056856211},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a6a3f5a6-8c33-482d-a922-5719afc35325","savedPayload":{"position":{"x":18097.365350402022,"y":12212.692044612826},"targetPosition":{"x":18476.763004076147,"y":12431.451501295342},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"17f8f37a-bf30-4c1d-82f2-f587830576a0","savedPayload":{"position":{"x":18421.553485800432,"y":12431.335106789233},"targetPosition":{"x":18876.639522961566,"y":12431.333069545388},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"ROC","config":"{\n\"codeName\": \"Plotter-ROC\"\n}","modules":[{"type":"Plotter Module","name":"ROC 76","config":"{\n\t\"codeName\": \"Module-ROC-76\",\n\t\"banner\": \"Oscillator\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"Grid","points":[{"type":"Point","name":"Begin 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"5b9a08e3-0df5-4f24-9e46-cfd57c00dbda","savedPayload":{"position":{"x":17402.06063105902,"y":11884.365535765039},"targetPosition":{"x":17256.86050108026,"y":11660.554801734756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a39c9f60-84e3-4e05-8ef0-24539ac40325","savedPayload":{"position":{"x":17256.86050108026,"y":11660.554801734756},"targetPosition":{"x":17111.30875851695,"y":11436.517187244659},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"7860512f-766c-4e66-be5f-7702f9c9f047","savedPayload":{"position":{"x":16774.661171309617,"y":11851.731677536245},"targetPosition":{"x":16942.98089408211,"y":11644.079456261825},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0fc534f6-3e3f-408a-b25b-f5c973ec0f63","savedPayload":{"position":{"x":16942.98089408211,"y":11644.079456261825},"targetPosition":{"x":17111.30875851695,"y":11436.517187244659},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Value Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.value","id":"721530f2-7ad7-411e-b73a-69d45c002577","savedPayload":{"position":{"x":16612.6184186908,"y":11245.08170339822},"targetPosition":{"x":16862.01447149842,"y":11340.712903313572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3b4f240c-66f5-4a3f-9527-47ea197ccf47","savedPayload":{"position":{"x":16862.01447149842,"y":11340.712903313572},"targetPosition":{"x":17111.30875851695,"y":11436.517187244659},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Value End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.value","id":"9eee04a2-4bc6-4277-9716-4db129bc6a03","savedPayload":{"position":{"x":17138.597477773117,"y":10902.880911776634},"targetPosition":{"x":17124.999859712334,"y":11169.58139236608},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f1de1d87-6d4a-4aea-bf10-74d64ddfb4ed","savedPayload":{"position":{"x":17124.999859712334,"y":11169.58139236608},"targetPosition":{"x":17111.30875851695,"y":11436.517187244659},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e60e3722-01e4-421e-a06f-371bcb71aac4","savedPayload":{"position":{"x":17111.30875851695,"y":11436.517187244659},"targetPosition":{"x":18139.599832550648,"y":11161.23889089255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Line 0","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"cc082fda-c47e-438f-8157-f2d870c218ac","savedPayload":{"position":{"x":17863.591634760505,"y":14218.69530279828},"targetPosition":{"x":17712.518060174054,"y":14054.994189970832},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"cc2ec800-b3ff-4031-8bdd-688d475b2d5e","savedPayload":{"position":{"x":17712.518060174054,"y":14054.994189970832},"targetPosition":{"x":17498.160471146835,"y":13840.59219280891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End 0","id":"511d620d-335d-4b07-b181-ae732630d137","savedPayload":{"position":{"x":17498.160534611765,"y":14143.583906492688},"targetPosition":{"x":17498.160471146835,"y":13840.59219280891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 0","id":"0fc534f6-3e3f-408a-b25b-f5c973ec0f63"}}},{"type":"Polygon Vertex","name":"Begin 0","id":"ea7d0d25-e182-41a9-9451-99402984c131","savedPayload":{"position":{"x":17281.58567641346,"y":14057.356752149284},"targetPosition":{"x":17498.160471146835,"y":13840.59219280891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 0","id":"a39c9f60-84e3-4e05-8ef0-24539ac40325"}}}],"id":"526bbff1-0ab2-4b5f-ad73-6886c6ef295c","savedPayload":{"position":{"x":17677.1130007338,"y":10894.21007341197},"targetPosition":{"x":18139.599832550648,"y":11161.23889089255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Value","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"d0fdbc54-377b-4862-b50f-b4a4c97eac09","savedPayload":{"position":{"x":17630.901744823528,"y":10263.270584938304},"targetPosition":{"x":17838.256885339444,"y":10431.083826204936},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"d829f8bb-3737-4cef-ab7a-e92700ca7a6a","savedPayload":{"position":{"x":17838.256885339444,"y":10431.083826204936},"targetPosition":{"x":18083.440633838258,"y":10629.749711030432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Value Begin","id":"29d5faa8-13a8-45a0-ba94-f43c2c200222","savedPayload":{"position":{"x":18050.443243749894,"y":10316.473213453328},"targetPosition":{"x":18083.440633838258,"y":10629.749711030432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Value Begin","id":"3b4f240c-66f5-4a3f-9527-47ea197ccf47"}}},{"type":"Polygon Vertex","name":"Value End","id":"adf14091-c476-40aa-a560-fe8d90b8b8f3","savedPayload":{"position":{"x":18295.322841453723,"y":10367.837877799437},"targetPosition":{"x":18083.440633838258,"y":10629.749711030432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Value End","id":"f1de1d87-6d4a-4aea-bf10-74d64ddfb4ed"}}}],"id":"2e3e77ee-7057-47ca-b0fb-01f483c00949","savedPayload":{"position":{"x":18001.47072826569,"y":10645.276784280544},"targetPosition":{"x":18139.599832550648,"y":11161.23889089255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"ae6b4dd4-c45f-4398-91cf-50cb16a36b42","savedPayload":{"position":{"x":18139.279845986457,"y":11161.290134307634},"targetPosition":{"x":18601.392150728843,"y":11427.93714863309},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"ROC 76","config":"{ \n\"codeName\": \"Panel-ROC-76\"\n}","panelData":[{"type":"Panel Data","name":"Value","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.value","id":"f9921989-1157-49ad-894e-9f4e9d197d46","savedPayload":{"position":{"x":18601.388940378645,"y":10360.793812823535},"targetPosition":{"x":18601.39384193047,"y":10627.699567392896},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fcffae02-a826-4058-930a-f1eba1c3c0dc","savedPayload":{"position":{"x":18601.39384193047,"y":10627.699567392896},"targetPosition":{"x":18601.393031401203,"y":10894.583893278375},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b44763a3-2604-4204-9275-1c822bf7b85f","savedPayload":{"position":{"x":18601.393031401203,"y":10894.583893278375},"targetPosition":{"x":18601.392150728843,"y":11427.93714863309},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a21bb3ba-b24d-4163-b7d0-ea60220fc368","savedPayload":{"position":{"x":18253.582315983433,"y":11972.241613847995},"targetPosition":{"x":18676.649901835928,"y":12085.266823221684},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},{"type":"Plotter Module","name":"ROC 32","config":"{\n\t\"codeName\": \"Module-ROC-32\",\n\t\"banner\": \"Oscillator\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"Grid","points":[{"type":"Point","name":"Begin 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"360c9616-373e-4b79-8623-507a4e126b2d","savedPayload":{"position":{"x":17600.050191106104,"y":11151.590363618157},"targetPosition":{"x":17586.297391346892,"y":10884.855695666405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3830e3a4-e15c-4f83-9530-9d24a940d5a6","savedPayload":{"position":{"x":17586.297391346892,"y":10884.855695666405},"targetPosition":{"x":17572.495107752293,"y":10618.125030147003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"251012cf-5083-4a10-932c-d6ffe369acc2","savedPayload":{"position":{"x":17073.50835432089,"y":10809.388516341247},"targetPosition":{"x":17322.994963282603,"y":10713.75382611708},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"050405b7-8bd9-413b-b1cf-3ea9259b6e20","savedPayload":{"position":{"x":17322.994963282603,"y":10713.75382611708},"targetPosition":{"x":17572.495107752293,"y":10618.125030147003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Value Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.value","id":"f5e02d75-2c37-431b-91d2-e4ee89f6b4ca","savedPayload":{"position":{"x":17236.191169899826,"y":10202.824674400666},"targetPosition":{"x":17404.333794307317,"y":10410.470484211477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f277e303-3eb8-49f8-a70f-36e5fa6acb05","savedPayload":{"position":{"x":17404.333794307317,"y":10410.470484211477},"targetPosition":{"x":17572.495107752293,"y":10618.125030147003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Value End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.value","id":"a551a375-2f95-469d-9748-f5ffa94cb8a2","savedPayload":{"position":{"x":17863.25978115714,"y":10169.938475614177},"targetPosition":{"x":17717.88577141392,"y":10394.05121925873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"010b0145-7fa3-41bd-8d4c-ad221abe3f75","savedPayload":{"position":{"x":17717.88577141392,"y":10394.05121925873},"targetPosition":{"x":17572.495107752293,"y":10618.125030147003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c45748d1-cb04-4a9f-8564-d6489e1ca532","savedPayload":{"position":{"x":17572.495107752293,"y":10618.125030147003},"targetPosition":{"x":18601.76621750996,"y":10893.858720429216},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Line 0","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"4f8b88e5-1ef4-4094-be2a-c62f3aace8a0","savedPayload":{"position":{"x":16723.848556469755,"y":13319.863250700071},"targetPosition":{"x":16795.28232463192,"y":13103.931448870242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"5ecae3ca-c6ff-4de7-91c8-186c9d242586","savedPayload":{"position":{"x":16795.28232463192,"y":13103.931448870242},"targetPosition":{"x":16883.18535291113,"y":12775.82732008384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End 0","id":"4d8a5169-ff68-4d76-bdda-70533b12857d","savedPayload":{"position":{"x":16590.511304715335,"y":12944.695944655123},"targetPosition":{"x":16883.18535291113,"y":12775.82732008384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 0","id":"050405b7-8bd9-413b-b1cf-3ea9259b6e20"}}},{"type":"Polygon Vertex","name":"Begin 0","id":"7562f064-db9f-48d1-b085-6b0378a9e230","savedPayload":{"position":{"x":16551.85146095067,"y":12687.223375170934},"targetPosition":{"x":16883.18535291113,"y":12775.82732008384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 0","id":"3830e3a4-e15c-4f83-9530-9d24a940d5a6"}}}],"id":"aadad370-9c78-49cd-8360-c290b42eb47c","savedPayload":{"position":{"x":18334.738046376704,"y":10431.182180224878},"targetPosition":{"x":18601.76621750996,"y":10893.858720429216},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Value Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"54dc15cf-f4b0-4575-92b5-32047ac32fef","savedPayload":{"position":{"x":19664.23668007515,"y":9974.909633344258},"targetPosition":{"x":19620.998975349492,"y":10240.202338744059},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"7b8cb64d-2d91-4aea-9e7d-9d0541095294","savedPayload":{"position":{"x":19620.998975349492,"y":10240.202338744059},"targetPosition":{"x":19568.1275495615,"y":10580.117888838951},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Value Begin","id":"e4131510-0ce7-4fcb-82f9-03582a5c861c","savedPayload":{"position":{"x":19847.492652851703,"y":10376.79105234567},"targetPosition":{"x":19568.1275495615,"y":10580.117888838951},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Value Begin","id":"f277e303-3eb8-49f8-a70f-36e5fa6acb05"}}},{"type":"Polygon Vertex","name":"Value End","id":"8a780be1-a258-4af4-8450-e57384ff7bf0","savedPayload":{"position":{"x":19909.00333977193,"y":10632.70939317035},"targetPosition":{"x":19568.1275495615,"y":10580.117888838951},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Value End","id":"010b0145-7fa3-41bd-8d4c-ad221abe3f75"}}}],"id":"2b87e0ff-d5a1-4b9b-b713-743f46573249","savedPayload":{"position":{"x":18739.945584665544,"y":10377.767756247365},"targetPosition":{"x":18601.76621750996,"y":10893.858720429216},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"66c3abab-2df5-4d90-a119-1a18c24536a5","savedPayload":{"position":{"x":18601.76621750996,"y":10893.858720429216},"targetPosition":{"x":18868.64001773526,"y":11356.193243214339},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"ROC 32","config":"{ \n\"codeName\": \"Panel-ROC-32\"\n}","panelData":[{"type":"Panel Data","name":"Value","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.value","id":"a7d719e2-be07-47cc-a91c-ebdab4dbc814","savedPayload":{"position":{"x":19402.574712292033,"y":10431.038205560872},"targetPosition":{"x":19269.017724038047,"y":10662.447365867727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0aa50f71-8801-4d7c-b04e-136adbb3592a","savedPayload":{"position":{"x":19269.017724038047,"y":10662.447365867727},"targetPosition":{"x":19135.47871590969,"y":10893.856026298845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4d4fdc48-dca1-47e8-8f2e-e595adf26c0e","savedPayload":{"position":{"x":19135.47871590969,"y":10893.856026298845},"targetPosition":{"x":18868.64001773526,"y":11356.193243214339},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7812b3a3-8375-4f0d-9671-acc05b256d74","savedPayload":{"position":{"x":18457.36813448796,"y":11706.357350122516},"targetPosition":{"x":18676.649901835928,"y":12085.266823221684},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},{"type":"Plotter Module","name":"ROC 9","config":"{\n\t\"codeName\": \"Module-ROC-9\",\n\t\"banner\": \"Oscillator\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"Grid","points":[{"type":"Point","name":"Begin 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"d30a2a69-8977-4528-aac6-abebe3aad8b1","savedPayload":{"position":{"x":17911.38008958264,"y":11268.393442175937},"targetPosition":{"x":17953.181382976763,"y":11073.119219976192},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"44d4ab03-4306-43f7-8c94-08976c57625a","savedPayload":{"position":{"x":17953.181382976763,"y":11073.119219976192},"targetPosition":{"x":17994.859274447834,"y":10877.91344823762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"c9bcf00d-9a15-4444-94f3-bf493cacdc4e","savedPayload":{"position":{"x":17596.724795093185,"y":10918.918608660046},"targetPosition":{"x":17795.82357664093,"y":10898.405618323304},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5a0efe28-4669-4f77-af30-322b9c8fad72","savedPayload":{"position":{"x":17795.82357664093,"y":10898.405618323304},"targetPosition":{"x":17994.859274447834,"y":10877.91344823762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Value Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.value","id":"388b4734-3b11-4b4c-9fca-0ea51581be66","savedPayload":{"position":{"x":17832.03103790248,"y":10511.992486096846},"targetPosition":{"x":17913.443077654145,"y":10694.995022672932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"473c0f5f-22eb-4212-bd6f-3e7b4b81e563","savedPayload":{"position":{"x":17913.443077654145,"y":10694.995022672932},"targetPosition":{"x":17994.859274447834,"y":10877.91344823762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Value End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.value","id":"bc667db2-4e37-427b-a581-e3f29086f305","savedPayload":{"position":{"x":18291.423750239588,"y":10609.68361988907},"targetPosition":{"x":18143.120383954552,"y":10743.897851278982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"79ce261d-2055-4a8a-9604-41b37653759a","savedPayload":{"position":{"x":18143.120383954552,"y":10743.897851278982},"targetPosition":{"x":17994.859274447834,"y":10877.91344823762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cc49ad50-0be2-43c9-8f4a-ccccea8dc087","savedPayload":{"position":{"x":17994.859274447834,"y":10877.91344823762},"targetPosition":{"x":18685.539591915072,"y":11276.513089164218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Line 0","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"28729ed0-43c3-4adb-8dd6-a708dda9d798","savedPayload":{"position":{"x":17337.83900699323,"y":15910.091223710579},"targetPosition":{"x":17186.765432406777,"y":15746.39011088313},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"7c568a67-a0af-49ed-bae4-71e9fb835dcc","savedPayload":{"position":{"x":17186.765432406777,"y":15746.39011088313},"targetPosition":{"x":16972.40784337956,"y":15531.988113721209},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End 0","id":"f13ef470-67b1-4ea9-b5f9-d1323b9e5921","savedPayload":{"position":{"x":16972.407906844488,"y":15834.979827404986},"targetPosition":{"x":16972.40784337956,"y":15531.988113721209},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 0","id":"5a0efe28-4669-4f77-af30-322b9c8fad72"}}},{"type":"Polygon Vertex","name":"Begin 0","id":"382b90b0-c454-438c-8342-f625c475b183","savedPayload":{"position":{"x":16755.833048646182,"y":15748.752673061583},"targetPosition":{"x":16972.40784337956,"y":15531.988113721209},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 0","id":"44d4ab03-4306-43f7-8c94-08976c57625a"}}}],"id":"79c02166-9fb5-41f8-9a93-c86f198d046d","savedPayload":{"position":{"x":18581.74149723641,"y":10890.108133188045},"targetPosition":{"x":18685.539591915072,"y":11276.513089164218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Value","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"6475bd9e-d457-4fa6-a0e2-6bab43c1b900","savedPayload":{"position":{"x":17105.14911705625,"y":11954.666505850602},"targetPosition":{"x":17312.504257572167,"y":12122.479747117235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"3dbc0e73-14ef-4ffc-8284-f16c461778f3","savedPayload":{"position":{"x":17312.504257572167,"y":12122.479747117235},"targetPosition":{"x":17557.68800607098,"y":12321.14563194273},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Value Begin","id":"a2794b60-36b4-4896-899b-20f60c519042","savedPayload":{"position":{"x":17524.690615982618,"y":12007.869134365626},"targetPosition":{"x":17557.68800607098,"y":12321.14563194273},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Value Begin","id":"473c0f5f-22eb-4212-bd6f-3e7b4b81e563"}}},{"type":"Polygon Vertex","name":"Value End","id":"759aba24-d4ed-4266-a9c4-9ea04a19f8f7","savedPayload":{"position":{"x":17769.570213686446,"y":12059.233798711735},"targetPosition":{"x":17557.68800607098,"y":12321.14563194273},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Value End","id":"79ce261d-2055-4a8a-9604-41b37653759a"}}}],"id":"5ee0dccd-325b-410f-b069-f0f3e3881447","savedPayload":{"position":{"x":18884.10449626965,"y":10929.19461644008},"targetPosition":{"x":18685.539591915072,"y":11276.513089164218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"05a0cab0-cf12-4ee7-92a8-76fe96e42805","savedPayload":{"position":{"x":18685.539591915072,"y":11276.513089164218},"targetPosition":{"x":18789.576352199732,"y":11662.186050539307},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"ROC 9","config":"{ \n\"codeName\": \"Panel-ROC-9\"\n}","panelData":[{"type":"Panel Data","name":"Value","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.value","id":"488e613d-484a-4750-8b22-a20f0434d1ea","savedPayload":{"position":{"x":19354.073228000252,"y":11098.745731117371},"targetPosition":{"x":19212.7436540789,"y":11239.676697553426},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"521fa5b1-2419-4550-b8fb-ef2dcc284693","savedPayload":{"position":{"x":19212.7436540789,"y":11239.676697553426},"targetPosition":{"x":19071.408999653133,"y":11380.402601573975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a1be3230-a9a3-4d36-95d0-f6ba0ddcd5e5","savedPayload":{"position":{"x":19071.408999653133,"y":11380.402601573975},"targetPosition":{"x":18789.576352199732,"y":11662.186050539307},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5ecd7465-9f89-4e20-bea9-2216863e2990","savedPayload":{"position":{"x":18789.576352199732,"y":11662.186050539307},"targetPosition":{"x":18676.649901835928,"y":12085.266823221684},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"85e9a7d0-c411-4fac-9297-95d71a9ae363","savedPayload":{"position":{"x":18649.132241768082,"y":12037.25826182755},"targetPosition":{"x":18876.639522961566,"y":12431.333069545388},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Stochastic","config":"{\n\"codeName\": \"Plotter-Stoch\"\n}","modules":[{"type":"Plotter Module","name":"Stoch 14-3-3","config":"{\n\t\"codeName\": \"Module-Stoch-14-3-3\",\n \"icon\": \"Oscillator\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Slow Line Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.slowLine","id":"55d7707a-30e2-4879-8be5-ca7ecd2f3873","savedPayload":{"position":{"x":19211.70772996421,"y":10891.340773170297},"targetPosition":{"x":19070.294453855393,"y":11052.95088622906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"bc0a51ed-fc21-4517-80a9-742f8a28ede7","savedPayload":{"position":{"x":19070.294453855393,"y":11052.95088622906},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Slow Line End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.slowLine","id":"bacc0912-cfd8-4cf1-91b7-9754df472dae","savedPayload":{"position":{"x":19345.63224714163,"y":11055.27062305377},"targetPosition":{"x":19157.95033815023,"y":11162.796286502615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d97911db-336c-414a-b163-69cb135de17b","savedPayload":{"position":{"x":19157.95033815023,"y":11162.796286502615},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Fast Line Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.fastLine","id":"17a984a0-223a-4e41-87b5-1cbe8ff2e51d","savedPayload":{"position":{"x":19420.600515167174,"y":11255.967019605427},"targetPosition":{"x":19208.67823591708,"y":11295.365608723654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"97e0ce46-a22d-49ce-bf5c-bb50ec060d86","savedPayload":{"position":{"x":19208.67823591708,"y":11295.365608723654},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Fast Line End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.fastLine","id":"013e38de-657d-461b-8b9b-beee034d1a28","savedPayload":{"position":{"x":19400.951024255537,"y":11507.385031587628},"targetPosition":{"x":19209.881335563496,"y":11436.333380542344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"5b1e120b-33fa-434a-9913-135f3f94edad","savedPayload":{"position":{"x":19209.881335563496,"y":11436.333380542344},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"a6b82c72-273b-4bb0-a20f-672e868a8bc4","savedPayload":{"position":{"x":19359.37704013541,"y":11669.461169071748},"targetPosition":{"x":19168.07515577478,"y":11571.813484911403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e894f129-e11d-4ec6-8d76-50d39dab5dd5","savedPayload":{"position":{"x":19168.07515577478,"y":11571.813484911403},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"ed878528-be4d-4b54-b05c-14be099d2e0a","savedPayload":{"position":{"x":19237.755727884596,"y":11831.917636680442},"targetPosition":{"x":19082.93160344607,"y":11684.683133535378},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"93278c60-4529-454e-989f-771ce3beb3c1","savedPayload":{"position":{"x":19082.93160344607,"y":11684.683133535378},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 20","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 20","id":"4c062900-b756-40f7-8538-dabb9ae12c16","savedPayload":{"position":{"x":19056.53343774804,"y":11958.746489772924},"targetPosition":{"x":18965.804576657647,"y":11763.79335185824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"59d32253-47b9-4227-bc5b-e2f1d5416844","savedPayload":{"position":{"x":18965.804576657647,"y":11763.79335185824},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 20","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 20","id":"3a560a43-44d0-4d9e-b897-465c472fa9ea","savedPayload":{"position":{"x":18851.75327353808,"y":12018.556331680727},"targetPosition":{"x":18830.040498666327,"y":11803.344269282537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ce6a0861-712e-4cf4-81e9-92ab6c8a5f4d","savedPayload":{"position":{"x":18830.040498666327,"y":11803.344269282537},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 30","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 30","id":"a492b3aa-e876-4762-a297-e3fd36964bb8","savedPayload":{"position":{"x":18642.494352915477,"y":12005.585559063424},"targetPosition":{"x":18689.051691860823,"y":11792.51342385793},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3ea0b783-3d43-47d1-90aa-99366cd09a7d","savedPayload":{"position":{"x":18689.051691860823,"y":11792.51342385793},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 30","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 30","id":"45566c80-77fd-4246-8fc3-50692ff479a2","savedPayload":{"position":{"x":18443.894971225,"y":11921.418823360818},"targetPosition":{"x":18557.21333316469,"y":11739.3392806544},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"4e7322f7-3bfa-41cc-b9a0-c5dcbe16e83e","savedPayload":{"position":{"x":18557.21333316469,"y":11739.3392806544},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 70","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 70","id":"c982c6b7-9b74-4b02-a2b8-8c6fb6df231e","savedPayload":{"position":{"x":18283.035619758433,"y":11780.311263928159},"targetPosition":{"x":18450.319785118503,"y":11646.009729964928},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"4f226496-b6a0-436d-97c5-d6e61dd00c23","savedPayload":{"position":{"x":18450.319785118503,"y":11646.009729964928},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 70","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 70","id":"a66f14af-1cd6-4b48-979c-13bd4171828c","savedPayload":{"position":{"x":18177.96211712606,"y":11596.988229279023},"targetPosition":{"x":18381.915914581765,"y":11522.116800931843},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"22287519-c930-4dfb-bb4a-298da4e32cdf","savedPayload":{"position":{"x":18381.915914581765,"y":11522.116800931843},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 80","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 80","id":"742160f2-7cd8-4565-9536-5c0dca39a3e9","savedPayload":{"position":{"x":18139.54319478825,"y":11386.069562609697},"targetPosition":{"x":18354.193591870964,"y":11382.06153056554},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"fb48eeab-d538-4fc5-81fe-dd916f749477","savedPayload":{"position":{"x":18354.193591870964,"y":11382.06153056554},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 80","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 80","id":"9057daf5-069d-4489-aaf5-dd803f642a86","savedPayload":{"position":{"x":18169.363472138466,"y":11179.98546625783},"targetPosition":{"x":18374.604649007666,"y":11244.679991904168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9a3c052a-a6b6-4392-b2fd-54151febb8f5","savedPayload":{"position":{"x":18374.604649007666,"y":11244.679991904168},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 100","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 100","id":"2e17f6ae-23e6-4411-a0a5-69be7d7d3232","savedPayload":{"position":{"x":18266.6925844321,"y":10988.206846272426},"targetPosition":{"x":18438.594936648904,"y":11118.215310628302},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f3e69d47-f137-412e-a515-7dc262af7f8b","savedPayload":{"position":{"x":18438.594936648904,"y":11118.215310628302},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 100","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 100","id":"a7a616cf-f882-4088-b1d0-eb4fdb4ffd11","savedPayload":{"position":{"x":18420.19247695232,"y":10839.178705615726},"targetPosition":{"x":18542.285586898797,"y":11018.386577989255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"29103f63-7cd6-4005-bec7-a385cf373eaf","savedPayload":{"position":{"x":18542.285586898797,"y":11018.386577989255},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 50","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 50","id":"8b212cf0-fab5-45dd-b645-0f4e79656653","savedPayload":{"position":{"x":18613.639127939165,"y":10751.16096477049},"targetPosition":{"x":18670.789687509077,"y":10959.553687249934},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"99b1d6a8-0904-43ff-b209-c7c6868181b5","savedPayload":{"position":{"x":18670.789687509077,"y":10959.553687249934},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 50","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 50","id":"864cc94d-3947-45bd-8a85-a19d06609b9a","savedPayload":{"position":{"x":18824.364793742505,"y":10728.322338121208},"targetPosition":{"x":18812.034733651788,"y":10944.344335502165},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"84db0a13-44f1-4953-ab27-d7425ab1ee6b","savedPayload":{"position":{"x":18812.034733651788,"y":10944.344335502165},"targetPosition":{"x":18784.96699212777,"y":11374.72122640322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8ac3440e-1b64-4a12-8c31-38783846da01","savedPayload":{"position":{"x":18784.96699212777,"y":11374.72122640322},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Slow Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"d89f9f7e-12c9-4883-a753-41cf0e061dde","savedPayload":{"position":{"x":19593.177827769643,"y":9632.881686013821},"targetPosition":{"x":19616.217020777553,"y":9926.946772923098},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"7ef54320-7e6d-4e77-9345-9f4e5742a18e","savedPayload":{"position":{"x":19616.217020777553,"y":9926.946772923098},"targetPosition":{"x":19641.829431028516,"y":10250.78030344025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Slow Line End","id":"f093f915-dc4b-4ba3-bc51-57e593a3025a","savedPayload":{"position":{"x":19742.033656227148,"y":9942.211730017547},"targetPosition":{"x":19641.829431028516,"y":10250.78030344025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Slow Line End","id":"d97911db-336c-414a-b163-69cb135de17b"}}},{"type":"Polygon Vertex","name":"Slow Line Begin","id":"a2116df6-c3ec-4017-a51d-ae12cc47e021","savedPayload":{"position":{"x":19853.65851976569,"y":10002.962550223081},"targetPosition":{"x":19641.829431028516,"y":10250.78030344025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Slow Line Begin","id":"bc0a51ed-fc21-4517-80a9-742f8a28ede7"}}}],"id":"c28b1cfd-4cf5-4382-8bce-45930b5e8a15","savedPayload":{"position":{"x":18913.28914717888,"y":11177.452357714023},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Fast Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"a5147142-56f2-4fd8-a06e-449cfb1a997d","savedPayload":{"position":{"x":18336.67688431759,"y":10365.406597858622},"targetPosition":{"x":18626.4839262722,"y":10424.109978107394},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"b7bec76c-a5d6-4b78-a0f5-8315ca1c0dba","savedPayload":{"position":{"x":18626.4839262722,"y":10424.109978107394},"targetPosition":{"x":18951.43590525981,"y":10488.814561305986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Fast Line End","id":"88ffc758-994a-4385-a9d6-c28361403f5a","savedPayload":{"position":{"x":18676.1702312484,"y":10304.753643881455},"targetPosition":{"x":18951.43590525981,"y":10488.814561305986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Fast Line End","id":"5b1e120b-33fa-434a-9913-135f3f94edad"}}},{"type":"Polygon Vertex","name":"Fast Line Begin","id":"3a43f15c-ff64-4415-bee8-f458601a3e96","savedPayload":{"position":{"x":18768.077836025142,"y":10213.09812432243},"targetPosition":{"x":18951.43590525981,"y":10488.814561305986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Fast Line Begin","id":"97e0ce46-a22d-49ce-bf5c-bb50ec060d86"}}}],"id":"53d89dd3-df4f-4001-a9cc-a9fa5c7808d4","savedPayload":{"position":{"x":18947.6560621906,"y":11089.009862817702},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 0","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"258f1f9e-4410-4a64-9cd6-e445d4444ba7","savedPayload":{"position":{"x":18414.040996892,"y":10049.296647190567},"targetPosition":{"x":18680.654688898638,"y":10176.442904091939},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"805ec3ae-e0ec-42ba-ba1c-617d5fe24e09","savedPayload":{"position":{"x":18680.654688898638,"y":10176.442904091939},"targetPosition":{"x":19000.933675139804,"y":10328.998686243876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 0","id":"379a9e22-27fa-4f50-900a-0730cbe0b3d3","savedPayload":{"position":{"x":18763.62667013396,"y":10065.370658427086},"targetPosition":{"x":19000.933675139804,"y":10328.998686243876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 0","id":"e894f129-e11d-4ec6-8d76-50d39dab5dd5"}}},{"type":"Polygon Vertex","name":"End 0","id":"0ff4fba2-0167-41df-99e5-542a673adf30","savedPayload":{"position":{"x":18882.69127936664,"y":9994.648859812203},"targetPosition":{"x":19000.933675139804,"y":10328.998686243876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 0","id":"93278c60-4529-454e-989f-771ce3beb3c1"}}}],"id":"e8f5af9d-ba4b-4482-aca7-295b92f60f17","savedPayload":{"position":{"x":19002.58600117918,"y":11021.55423804162},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"1172daa1-fe47-4069-818e-50a800f539ef","savedPayload":{"position":{"x":18604.356385543502,"y":9974.320632250998},"targetPosition":{"x":18850.326090992232,"y":10138.674031674953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"1efe1989-3881-41f4-af21-bf32d3fdc64a","savedPayload":{"position":{"x":18850.326090992232,"y":10138.674031674953},"targetPosition":{"x":19126.050062755392,"y":10322.63721812444},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 20","id":"0617cdf2-2290-4f79-b132-ce46e33f3eb8","savedPayload":{"position":{"x":18941.757573152245,"y":10046.706972193078},"targetPosition":{"x":19126.050062755392,"y":10322.63721812444},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 20","id":"59d32253-47b9-4227-bc5b-e2f1d5416844"}}},{"type":"Polygon Vertex","name":"End 20","id":"cbc04d73-2faf-4808-b1ef-43aa2d1cf509","savedPayload":{"position":{"x":19061.62862552123,"y":9997.28852335796},"targetPosition":{"x":19126.050062755392,"y":10322.63721812444},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 20","id":"ce6a0861-712e-4cf4-81e9-92ab6c8a5f4d"}}}],"id":"3d7a22fa-7a63-4cea-8ce7-d3358bd79ac8","savedPayload":{"position":{"x":19065.693042834664,"y":10965.170358790881},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 30","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"c10e1ba8-3255-4eab-8d43-83315dca23e1","savedPayload":{"position":{"x":18791.249287301325,"y":9822.293660020887},"targetPosition":{"x":19000.628564037324,"y":10031.683680668362},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"c4dbb4e0-6e92-4304-bba1-76013eb739d4","savedPayload":{"position":{"x":19000.628564037324,"y":10031.683680668362},"targetPosition":{"x":19233.669004051742,"y":10264.465605572439},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 30","id":"1bb29f63-48b2-405c-8b76-5b42be6c1e3f","savedPayload":{"position":{"x":19105.625052973348,"y":9954.898095296743},"targetPosition":{"x":19233.669004051742,"y":10264.465605572439},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 30","id":"3ea0b783-3d43-47d1-90aa-99366cd09a7d"}}},{"type":"Polygon Vertex","name":"End 30","id":"86cc6fd9-ca44-42ff-817c-c33d9a4a4558","savedPayload":{"position":{"x":19233.703448312528,"y":9932.930098376395},"targetPosition":{"x":19233.669004051742,"y":10264.465605572439},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 30","id":"4e7322f7-3bfa-41cc-b9a0-c5dcbe16e83e"}}}],"id":"49ef61a8-1381-45f0-b7d4-0a95ed9d7e60","savedPayload":{"position":{"x":19139.179096485703,"y":10929.986184700985},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 50","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"f18a4f3f-1b4a-4816-9c76-9b6171a6c886","savedPayload":{"position":{"x":19035.982902590287,"y":9704.10277232897},"targetPosition":{"x":19177.82300252629,"y":9965.497110141489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"bdcda8bd-a2a3-4dae-8774-7fe7a1bd8df9","savedPayload":{"position":{"x":19177.82300252629,"y":9965.497110141489},"targetPosition":{"x":19332.369691625325,"y":10250.264709895495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 50","id":"155ecca7-3c3a-40b0-98e0-c4cc97021ba2","savedPayload":{"position":{"x":19297.755576129242,"y":9925.106451332927},"targetPosition":{"x":19332.369691625325,"y":10250.264709895495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 50","id":"99b1d6a8-0904-43ff-b209-c7c6868181b5"}}},{"type":"Polygon Vertex","name":"End 50","id":"3f22cf14-5acc-4f4d-b19a-108f02fa2e53","savedPayload":{"position":{"x":19424.148820510418,"y":9936.045697049058},"targetPosition":{"x":19332.369691625325,"y":10250.264709895495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 50","id":"84db0a13-44f1-4953-ab27-d7425ab1ee6b"}}}],"id":"eb850831-fe4c-4fda-9294-df765f377e3e","savedPayload":{"position":{"x":19216.786562364752,"y":10899.228448163802},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 70","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"871bf7be-3e85-43f3-9537-fae86fe3f821","savedPayload":{"position":{"x":19223.68792229862,"y":9643.248687229312},"targetPosition":{"x":19336.682495137753,"y":9916.204368726818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"692686f4-d4a0-4fd3-b9ac-32ced49b8633","savedPayload":{"position":{"x":19336.682495137753,"y":9916.204368726818},"targetPosition":{"x":19462.48733772469,"y":10219.608205145338},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 70","id":"4742a27b-2eb2-4a18-835e-6fbefb47bdcd","savedPayload":{"position":{"x":19462.489270458926,"y":9889.488563562862},"targetPosition":{"x":19462.48733772469,"y":10219.608205145338},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 70","id":"4f226496-b6a0-436d-97c5-d6e61dd00c23"}}},{"type":"Polygon Vertex","name":"End 70","id":"57aca36d-e53c-428f-a961-00f95c636a8c","savedPayload":{"position":{"x":19588.917275035805,"y":9914.680482034724},"targetPosition":{"x":19462.48733772469,"y":10219.608205145338},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 70","id":"22287519-c930-4dfb-bb4a-298da4e32cdf"}}}],"id":"cd93957c-2562-4f27-b3c3-4278231b1241","savedPayload":{"position":{"x":19295.518319925428,"y":10905.777633917702},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 80","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"0a960c41-faa4-4456-8d7c-91215785612f","savedPayload":{"position":{"x":19359.697978341093,"y":9691.962036912388},"targetPosition":{"x":19493.49556267628,"y":9954.912001457145},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"d4446b75-1844-4114-9faf-ae3b5641e43d","savedPayload":{"position":{"x":19493.49556267628,"y":9954.912001457145},"targetPosition":{"x":19643.75693574602,"y":10250.584271025575},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 80","id":"7b104c6b-0b09-4efe-9af7-21e18088158a","savedPayload":{"position":{"x":19746.64454962103,"y":9933.807824855396},"targetPosition":{"x":19643.75693574602,"y":10250.584271025575},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 80","id":"fb48eeab-d538-4fc5-81fe-dd916f749477"}}},{"type":"Polygon Vertex","name":"End 80","id":"4bf87284-559e-4154-93f5-988ea7755e80","savedPayload":{"position":{"x":19939.126258735923,"y":10099.882501803992},"targetPosition":{"x":19643.75693574602,"y":10250.584271025575},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 80","id":"9a3c052a-a6b6-4392-b2fd-54151febb8f5"}}}],"id":"a25d52fa-a178-4454-8ebc-500572b38d04","savedPayload":{"position":{"x":19385.905061252513,"y":10888.569470247909},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 100","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"a169ba02-78c5-49d9-b212-236fb5e48bad","savedPayload":{"position":{"x":20386.0792119928,"y":10186.151828188044},"targetPosition":{"x":20221.527031901194,"y":10432.195358271658},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"b71ce594-e5f7-48f0-94a3-8f44ac26c01c","savedPayload":{"position":{"x":20221.527031901194,"y":10432.195358271658},"targetPosition":{"x":20040.125852749123,"y":10703.108850078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 100","id":"6b947ced-abe6-41e4-8e11-a8777d52a977","savedPayload":{"position":{"x":20362.007443540504,"y":10639.301862812645},"targetPosition":{"x":20040.125852749123,"y":10703.108850078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 100","id":"f3e69d47-f137-412e-a515-7dc262af7f8b"}}},{"type":"Polygon Vertex","name":"End 100","id":"9ff21949-3190-45a4-8b36-e6d8f291ea7f","savedPayload":{"position":{"x":20313.00719181154,"y":10885.349657516887},"targetPosition":{"x":20040.125852749123,"y":10703.108850078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 100","id":"29103f63-7cd6-4005-bec7-a385cf373eaf"}}}],"id":"a4dacfad-5901-4ba9-a728-132f0d452680","savedPayload":{"position":{"x":19439.08052120228,"y":10959.798903196033},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Box 0-20","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.25,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.35,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"e740b91d-1364-49ea-9878-df9cddbfc805","savedPayload":{"position":{"x":19513.29034885955,"y":9764.611262597064},"targetPosition":{"x":19643.39147634371,"y":10029.06698514852},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"6c079371-854a-41cb-82cb-3066463c51c5","savedPayload":{"position":{"x":19643.39147634371,"y":10029.06698514852},"targetPosition":{"x":19786.734435974515,"y":10320.98323492851},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 0","id":"fbfe5ddc-2890-4be2-9c46-446bbb49cde0","savedPayload":{"position":{"x":19808.169873824234,"y":9996.659449090474},"targetPosition":{"x":19786.734435974515,"y":10320.98323492851},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 0","id":"e894f129-e11d-4ec6-8d76-50d39dab5dd5"}}},{"type":"Polygon Vertex","name":"End 0","id":"007fe5a0-0fac-4958-8c95-aba6e504e4d5","savedPayload":{"position":{"x":19967.355407189385,"y":10050.759303300782},"targetPosition":{"x":19786.734435974515,"y":10320.98323492851},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 0","id":"93278c60-4529-454e-989f-771ce3beb3c1"}}},{"type":"Polygon Vertex","name":"End 20","id":"3d285cd7-11f6-4e20-969b-eec492cab81e","savedPayload":{"position":{"x":20078.317838509054,"y":10177.258948552626},"targetPosition":{"x":19786.734435974515,"y":10320.98323492851},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 20","id":"ce6a0861-712e-4cf4-81e9-92ab6c8a5f4d"}}},{"type":"Polygon Vertex","name":"Begin 20","id":"779ba063-a7c9-4fa8-bb93-a64917dacbd4","savedPayload":{"position":{"x":20113.012946294693,"y":10342.118218640959},"targetPosition":{"x":19786.734435974515,"y":10320.98323492851},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 20","id":"59d32253-47b9-4227-bc5b-e2f1d5416844"}}}],"id":"518be834-5410-4eee-afc5-369ec833199c","savedPayload":{"position":{"x":19558.466882732122,"y":10940.200456973755},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Box 20-30","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"42dcb813-82a7-439d-96db-e1838746a098","savedPayload":{"position":{"x":19755.496050626316,"y":9938.544822229622},"targetPosition":{"x":19793.472987185327,"y":10081.72536159024},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"057fa196-0288-45ff-ba35-62465f6ea603","savedPayload":{"position":{"x":19793.472987185327,"y":10081.72536159024},"targetPosition":{"x":19877.013336329765,"y":10395.571347744622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 20","id":"1f65bf18-a749-4221-880b-dc1e2e573ed7","savedPayload":{"position":{"x":19961.64046540261,"y":10080.497576617052},"targetPosition":{"x":19877.013336329765,"y":10395.571347744622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 20","id":"59d32253-47b9-4227-bc5b-e2f1d5416844"}}},{"type":"Polygon Vertex","name":"End 20","id":"4a723692-de81-4fa5-9292-88573a34b816","savedPayload":{"position":{"x":20106.633495523824,"y":10166.049568349194},"targetPosition":{"x":19877.013336329765,"y":10395.571347744622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 20","id":"ce6a0861-712e-4cf4-81e9-92ab6c8a5f4d"}}},{"type":"Polygon Vertex","name":"End 30","id":"ada9ee7e-b823-452e-aab3-2bbb4bf10cc3","savedPayload":{"position":{"x":20192.38615383093,"y":10311.050094574784},"targetPosition":{"x":19877.013336329765,"y":10395.571347744622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 30","id":"4e7322f7-3bfa-41cc-b9a0-c5dcbe16e83e"}}},{"type":"Polygon Vertex","name":"Begin 30","id":"5d96b5d5-7e34-4a43-891b-273fb9bbf4b6","savedPayload":{"position":{"x":20190.60905775728,"y":10479.186549846594},"targetPosition":{"x":19877.013336329765,"y":10395.571347744622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 30","id":"3ea0b783-3d43-47d1-90aa-99366cd09a7d"}}}],"id":"bd729215-749b-4893-b21e-fe8add8e3199","savedPayload":{"position":{"x":19548.46955333136,"y":11050.117592618819},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Box 30-70","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.05,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"48f54b6c-7cd5-4089-b6e2-1f39e2361be7","savedPayload":{"position":{"x":19908.67439950611,"y":9862.02199341307},"targetPosition":{"x":19927.654425947163,"y":10156.832493511798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"20728a48-6ba3-4bf8-b51e-bb57303594f2","savedPayload":{"position":{"x":19927.654425947163,"y":10156.832493511798},"targetPosition":{"x":19948.34118449159,"y":10480.639002420017},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 30","id":"058eb800-ac91-44dd-8b28-6a740f6470ee","savedPayload":{"position":{"x":20092.114920293687,"y":10189.69829458236},"targetPosition":{"x":19948.34118449159,"y":10480.639002420017},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 30","id":"3ea0b783-3d43-47d1-90aa-99366cd09a7d"}}},{"type":"Polygon Vertex","name":"End 30","id":"d01decaf-72ca-41e6-aa58-d6dbe505fe29","savedPayload":{"position":{"x":20218.857928351863,"y":10300.204172503361},"targetPosition":{"x":19948.34118449159,"y":10480.639002420017},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 30","id":"4e7322f7-3bfa-41cc-b9a0-c5dcbe16e83e"}}},{"type":"Polygon Vertex","name":"End 70","id":"f87349bc-dc97-46fd-a88f-a28ba9678a43","savedPayload":{"position":{"x":20272.99498873019,"y":10459.333516552011},"targetPosition":{"x":19948.34118449159,"y":10480.639002420017},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 70","id":"22287519-c930-4dfb-bb4a-298da4e32cdf"}}},{"type":"Polygon Vertex","name":"Begin 70","id":"fa0278c8-e861-4c72-8795-32186c329c89","savedPayload":{"position":{"x":20241.25869670966,"y":10625.105743976535},"targetPosition":{"x":19948.34118449159,"y":10480.639002420017},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 70","id":"4f226496-b6a0-436d-97c5-d6e61dd00c23"}}}],"id":"f95afd47-9495-44f4-bf5a-8577bd0750c5","savedPayload":{"position":{"x":19673.077774983085,"y":11063.160358259385},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Box 70-80","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"191e1de4-e807-46e0-9cac-5b0eb4df5b7d","savedPayload":{"position":{"x":20376.777387320457,"y":10088.7385986246},"targetPosition":{"x":20196.687410393348,"y":10323.295160984906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"baa9237a-41ad-49a1-b78d-664bcb893f79","savedPayload":{"position":{"x":20196.687410393348,"y":10323.295160984906},"targetPosition":{"x":20004.715411107172,"y":10586.432061021722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 70","id":"bdd3f8c1-1194-4472-a681-96a6ee1eedc0","savedPayload":{"position":{"x":20262.703035491566,"y":10384.005087517247},"targetPosition":{"x":20004.715411107172,"y":10586.432061021722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 70","id":"4f226496-b6a0-436d-97c5-d6e61dd00c23"}}},{"type":"Polygon Vertex","name":"End 70","id":"5c4b0947-4269-4fc3-ae1f-c6707c0488d2","savedPayload":{"position":{"x":20307.66324619718,"y":10459.351229810793},"targetPosition":{"x":20004.715411107172,"y":10586.432061021722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 70","id":"22287519-c930-4dfb-bb4a-298da4e32cdf"}}},{"type":"Polygon Vertex","name":"End 80","id":"c2c40046-c4c9-42de-887d-892ed868bc4e","savedPayload":{"position":{"x":20330.78210573431,"y":10542.380845778242},"targetPosition":{"x":20004.715411107172,"y":10586.432061021722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 80","id":"9a3c052a-a6b6-4392-b2fd-54151febb8f5"}}},{"type":"Polygon Vertex","name":"Begin 80","id":"e5d1db7f-bceb-4548-a136-bac0f2d23d33","savedPayload":{"position":{"x":20328.20603488717,"y":10645.426368690114},"targetPosition":{"x":20004.715411107172,"y":10586.432061021722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 80","id":"fb48eeab-d538-4fc5-81fe-dd916f749477"}}}],"id":"b75a1367-e45d-4561-9cf9-b537eba7e103","savedPayload":{"position":{"x":19635.98505296473,"y":11159.049832212326},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Box 80-100","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.25,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.35,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"da7f5472-50e7-4083-86e9-5a24dede1557","savedPayload":{"position":{"x":20389.621750181857,"y":10380.791769310255},"targetPosition":{"x":20277.870512533438,"y":10478.550474178259},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"6ef84309-4ee8-44c5-a4a9-d5dd9634d09f","savedPayload":{"position":{"x":20277.870512533438,"y":10478.550474178259},"targetPosition":{"x":20038.424176596152,"y":10699.120281335961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 80","id":"fef200a2-c609-4684-9d4d-a84d720f1ee1","savedPayload":{"position":{"x":20330.95636059724,"y":10550.830481080351},"targetPosition":{"x":20038.424176596152,"y":10699.120281335961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 80","id":"fb48eeab-d538-4fc5-81fe-dd916f749477"}}},{"type":"Polygon Vertex","name":"End 80","id":"dd767960-3de1-49ec-914a-f0b3d54e7786","savedPayload":{"position":{"x":20360.450503995104,"y":10633.476077391835},"targetPosition":{"x":20038.424176596152,"y":10699.120281335961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 80","id":"9a3c052a-a6b6-4392-b2fd-54151febb8f5"}}},{"type":"Polygon Vertex","name":"End 100","id":"6fbf425e-e7e4-481a-a14b-762d2879b614","savedPayload":{"position":{"x":20366.53944461144,"y":10719.54023112879},"targetPosition":{"x":20038.424176596152,"y":10699.120281335961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 100","id":"29103f63-7cd6-4005-bec7-a385cf373eaf"}}},{"type":"Polygon Vertex","name":"Begin 100","id":"41244682-e765-41f6-940a-3cced032f765","savedPayload":{"position":{"x":20343.82757421265,"y":10820.003308419475},"targetPosition":{"x":20038.424176596152,"y":10699.120281335961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 100","id":"f3e69d47-f137-412e-a515-7dc262af7f8b"}}}],"id":"e9077695-93a9-4ef5-ae32-3da768e946b1","savedPayload":{"position":{"x":19713.33516419894,"y":11263.329242885553},"targetPosition":{"x":19295.731931919814,"y":11307.295571575507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"b824fc17-2864-430d-93f2-00d42d159b5a","savedPayload":{"position":{"x":19295.731931919814,"y":11307.295571575507},"targetPosition":{"x":19295.65568568499,"y":11706.61870772455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Stoch 14-3-3","config":"{ \n\"codeName\": \"Panel-Stoch-14-3-3\"\n}","panelData":[{"type":"Panel Data","name":"Slow Line","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.slowLine","id":"158086f9-9654-4e33-8292-6a9b7041526a","savedPayload":{"position":{"x":19921.619709733837,"y":11216.744848395816},"targetPosition":{"x":19779.388361570258,"y":11357.921688176839},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c332ec98-c6fb-4eeb-a13a-2bda02958a9d","savedPayload":{"position":{"x":19779.388361570258,"y":11357.921688176839},"targetPosition":{"x":19642.039104007865,"y":11507.570628533516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Fast Line","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.fastLine","id":"474d9024-e7ff-46d2-a46f-830c5e55ec30","savedPayload":{"position":{"x":20036.70559771111,"y":11418.38785148865},"targetPosition":{"x":19843.056429825156,"y":11469.53864852771},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8249ea87-9d41-431a-b827-c3153fcddd0b","savedPayload":{"position":{"x":19843.056429825156,"y":11469.53864852771},"targetPosition":{"x":19642.039104007865,"y":11507.570628533516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"af6182b0-9814-4ebe-bbe7-7a455d8a6a0e","savedPayload":{"position":{"x":19642.039104007865,"y":11507.570628533516},"targetPosition":{"x":19295.65568568499,"y":11706.61870772455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6a85fbb1-5a99-4ccc-93e8-092f5dbf6c4a","savedPayload":{"position":{"x":19295.65568568499,"y":11706.61870772455},"targetPosition":{"x":19076.48216043151,"y":12085.425556591052},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3fcd7ef7-fe1a-42f4-9339-a3bda6859248","savedPayload":{"position":{"x":19104.12163334952,"y":12037.324751929184},"targetPosition":{"x":18876.639522961566,"y":12431.333069545388},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"511bef1e-62d8-4ff9-8d87-15bd0d3d630c","savedPayload":{"position":{"x":18876.639522961566,"y":12431.333069545388},"targetPosition":{"x":18876.639522961566,"y":12431.333069545388},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}
\ No newline at end of file
diff --git a/Plugins/Data-Mines/Buddha.json b/Plugins/Data-Mines/Buddha.json
deleted file mode 100644
index 9608475a0..000000000
--- a/Plugins/Data-Mines/Buddha.json
+++ /dev/null
@@ -1 +0,0 @@
-{"type":"Data Mine","name":"Buddha","config":"{ \n\"codeName\": \"Buddha\"\n}","sensorBots":[],"indicatorBots":[{"type":"Indicator Bot","name":"Candle Patterns","config":"{\n\"codeName\": \"Candle-Patterns\",\n\"repo\": \"Candle-Patterns-Bot\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Calculates Candles Patterns for Time Frames of 01-hs and above.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\",\n \"startDate\": {\n },\n \"endDate\": {\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Basic Candles","id":"3e933426-1c7b-45e1-845f-08a7d2684620","savedPayload":{"position":{"x":13014.983786246557,"y":11582.257138896071},"targetPosition":{"x":13214.778358558542,"y":11672.136629478231},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"07be5b9b-e8fd-49fc-ab77-20f89fdea10f"}}},{"type":"Output Dataset","name":"Multi-Period-Market One-Candle Patterns","id":"201dc796-db42-49ce-8b9c-1b26c0f3a0ce","savedPayload":{"position":{"x":13055.077268021229,"y":11513.03974999541},"targetPosition":{"x":13214.778358558542,"y":11672.136629478231},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"144d8665-1ff0-4db3-9340-a33fd7d0d098"}}},{"type":"Output Dataset","name":"Multi-Period-Market Two-Candles Patterns","id":"c20616cc-d93f-40fc-904a-025fc2799a75","savedPayload":{"position":{"x":13115.919477111813,"y":11469.572073629888},"targetPosition":{"x":13214.778358558542,"y":11672.136629478231},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"8c35ce52-9dee-4d20-92e6-50ba7fd2882b"}}},{"type":"Output Dataset","name":"Multi-Period-Market Three-Candles Patterns","id":"c8074ffc-f5ff-4cb5-8e83-0adcecc82a0c","savedPayload":{"position":{"x":13212.772990245361,"y":11473.777495327486},"targetPosition":{"x":13214.778358558542,"y":11672.136629478231},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"087fc67e-78f9-4204-ba5e-8b670566a716"}}}],"outputDatasetFolders":[],"id":"0dc09316-0987-4d22-b600-bd3868942026","savedPayload":{"position":{"x":13214.778358558542,"y":11672.136629478231},"targetPosition":{"x":13428.975206324332,"y":11986.086624547845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Candle Patterns Multi-Period-Market","config":"{\"mainUtility\": \"Self Reference\"}","id":"2d079388-93e4-4005-b392-c4a997904ccb","savedPayload":{"position":{"x":13237.534092975908,"y":11373.149986684633},"targetPosition":{"x":13395.171017360753,"y":11533.418739091607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"401fbf30-8faa-40e9-9707-fac2d35f6195"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{ \n\"mainUtility\": \"Market Starting Point\"\n}","id":"418e1725-b690-4a55-b5f7-a4a92465c162","savedPayload":{"position":{"x":13379.394277197825,"y":11319.028125288029},"targetPosition":{"x":13395.171017360753,"y":11533.418739091607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"85c548fd-9ef7-4936-a86d-2a206cf90039","savedPayload":{"position":{"x":13535.423300602335,"y":11370.612466915685},"targetPosition":{"x":13395.171017360753,"y":11533.418739091607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"de8bf1ab-cf7b-41ab-b8cb-ae38b1e587ce","savedPayload":{"position":{"x":13395.171017360753,"y":11533.418739091607},"targetPosition":{"x":13428.975206324332,"y":11986.086624547845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"401fbf30-8faa-40e9-9707-fac2d35f6195","savedPayload":{"position":{"x":13604.484245632055,"y":11621.514438425625},"targetPosition":{"x":13428.975206324332,"y":11986.086624547845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"e100074c-7981-49e1-9d06-813104ee4c41","savedPayload":{"position":{"x":13763.808053874669,"y":11757.047730018578},"targetPosition":{"x":13428.975206324332,"y":11986.086624547845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"2a8f2e62-256b-4281-a470-3f640af21337","savedPayload":{"position":{"x":13839.376069589081,"y":11955.762164903854},"targetPosition":{"x":13428.975206324332,"y":11986.086624547845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3aaf9f93-0516-4b3d-9772-44be91615154","savedPayload":{"position":{"x":13673.547055064315,"y":11828.852792025047},"targetPosition":{"x":13413.800171630588,"y":12369.642948734469},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Calculates Candles Patterns for Time Frames of 45-min and below.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\",\n \"startDate\": {\n \"takeItFromStatusDependency\": 0\n },\n \"endDate\": {\n \"takeItFromStatusDependency\": 1\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily Basic Candles","id":"3fc6cd67-c356-41fc-89d9-5c1cdcdd7360","savedPayload":{"position":{"x":13816.13407582038,"y":11218.229821634788},"targetPosition":{"x":14024.914213441818,"y":11509.084076315567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"9e6d7f95-b2fe-466e-9a5d-175479cbf85d"}}},{"type":"Output Dataset","name":"Multi-Period-Daily One-Candle Patterns","id":"7b078979-c28c-4ba5-8305-d469c8d4ec84","savedPayload":{"position":{"x":13916.696660630845,"y":11167.747691783157},"targetPosition":{"x":14024.914213441818,"y":11509.084076315567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"f0a11771-dd69-4b9a-9347-7cb2d1f231ff"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Two-Candles Patterns","id":"5ab95923-5553-40a7-836e-14b96f8a4764","savedPayload":{"position":{"x":14027.35509650732,"y":11151.098641199766},"targetPosition":{"x":14024.914213441818,"y":11509.084076315567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"4f1260c8-6d74-454e-963a-fa3ff910329c"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Three-Candles Patterns","id":"cb6acbaf-bf43-4bf6-b8ca-7689130cc9cf","savedPayload":{"position":{"x":14138.30595741663,"y":11169.800424894716},"targetPosition":{"x":14024.914213441818,"y":11509.084076315567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"b60cb94f-79c5-410c-b166-abc97d0f2bc3"}}}],"outputDatasetFolders":[],"id":"bcfa61bd-e1d0-4a60-9fd5-ab7dabe4fd39","savedPayload":{"position":{"x":14024.914213441818,"y":11509.084076315567},"targetPosition":{"x":14088.25245833815,"y":11932.210584772864},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Candle Patterns Multi-Period-Daily","config":"{\"mainUtility\": \"Self Reference\"}","id":"a7ea36fb-cc2e-4d55-b021-e67d8c5a7020","savedPayload":{"position":{"x":14157.216465758505,"y":10965.952053157951},"targetPosition":{"x":14349.440119741212,"y":11267.566043881061},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"3a20d7e9-d551-4346-81c7-e3b0098bef99"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\"mainUtility\": \"Market Starting Point\"}","id":"48b53dc5-015c-43f1-9485-047aaaffe0f7","savedPayload":{"position":{"x":14370.867752494796,"y":10910.523138152665},"targetPosition":{"x":14349.440119741212,"y":11267.566043881061},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","id":"49d2c9ad-bdde-427a-8590-801aa4422cca","savedPayload":{"position":{"x":14576.58288046427,"y":10991.340786924691},"targetPosition":{"x":14349.440119741212,"y":11267.566043881061},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"19bf518a-1e20-4e3a-8f40-8e07324f634b","savedPayload":{"position":{"x":14695.563216568724,"y":11177.673065190746},"targetPosition":{"x":14349.440119741212,"y":11267.566043881061},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"2a7a3bf2-9044-4040-95a7-28c1a339a37f","savedPayload":{"position":{"x":14349.440119741212,"y":11267.566043881061},"targetPosition":{"x":14088.25245833815,"y":11932.210584772864},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"3a20d7e9-d551-4346-81c7-e3b0098bef99","savedPayload":{"position":{"x":14646.865168525226,"y":11487.237317302151},"targetPosition":{"x":14088.25245833815,"y":11932.210584772864},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"4d03c099-0d5e-4668-a347-c0de2f42f8bd","savedPayload":{"position":{"x":14517.205694996726,"y":11867.65780896113},"targetPosition":{"x":14088.25245833815,"y":11932.210584772864},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"3ef2f54d-64c9-4264-a298-0c5a908458ab","savedPayload":{"position":{"x":14488.627801072143,"y":12088.774738519493},"targetPosition":{"x":14088.25245833815,"y":11932.210584772864},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8a7ce3e2-20a1-496b-86bf-2d7842f88536","savedPayload":{"position":{"x":13883.029605259044,"y":11995.836643571278},"targetPosition":{"x":13413.800171630588,"y":12369.642948734469},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Basic Candles","config":"{\n \"codeName\": \"Basic-Candles\",\n \"singularVariableName\": \"basicCandle\",\n \"pluralVariableName\": \"basicCandles\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"07be5b9b-e8fd-49fc-ab77-20f89fdea10f","savedPayload":{"position":{"x":14429.499428495954,"y":11862.421488975693},"targetPosition":{"x":14283.329852522562,"y":12204.806962333805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"9e6d7f95-b2fe-466e-9a5d-175479cbf85d","savedPayload":{"position":{"x":14602.818863919903,"y":12014.30756076982},"targetPosition":{"x":14283.329852522562,"y":12204.806962333805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"Basic Candles Variables","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"7d35e864-2f37-4d1c-912d-225952131ffd","savedPayload":{"position":{"x":15129.243287532458,"y":11824.134815744605},"targetPosition":{"x":15388.99249074521,"y":11926.599241905862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"52215804-fb71-43ed-a232-3b29d843cb58","savedPayload":{"position":{"x":15388.99249074521,"y":11926.599241905862},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"bdeaed7f-2923-4fde-a7ea-257f00bb7ee9","savedPayload":{"position":{"x":15247.376659101321,"y":11616.429862222518},"targetPosition":{"x":15467.824581886814,"y":11788.171272692558},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b8f2240b-03a9-4fd5-8e37-d43237554239","savedPayload":{"position":{"x":15467.824581886814,"y":11788.171272692558},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"name","config":"{\n \"codeName\": \"name\",\n \"isString\": true\n}","formula":{"type":"Formula","code":"variable.name","id":"5ac4a021-ae1b-45d7-80ea-09587174c038","savedPayload":{"position":{"x":15419.011314631667,"y":11451.044136715682},"targetPosition":{"x":15582.279156445209,"y":11677.806977603619},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8220f919-2232-47b2-8bcb-1d30a905c026","savedPayload":{"position":{"x":15582.279156445209,"y":11677.806977603619},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"size","config":"{ \n\"codeName\": \"size\",\n\"isString\": true\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.size","id":"8162dea0-df67-42b5-8223-7533f950af7a","savedPayload":{"position":{"x":15630.6078130856,"y":11340.325751231114},"targetPosition":{"x":15723.178341340054,"y":11604.138136336996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2bff73a1-c5c2-4413-91ed-9d2aaf642d83","savedPayload":{"position":{"x":15723.178341340054,"y":11604.138136336996},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"direction","config":"{ \n\"codeName\": \"direction\",\n\"isString\": true\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.direction","id":"770f6a35-9069-49ba-9c12-99dc6e5ff54a","savedPayload":{"position":{"x":15864.6019370542,"y":11294.021315218213},"targetPosition":{"x":15879.140202020233,"y":11573.350186612335},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"871bc42d-f3f7-4896-b575-ca23f325e50f","savedPayload":{"position":{"x":15879.140202020233,"y":11573.350186612335},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"upperShadowPercent","config":"{ \n\"codeName\": \"upperShadowPercent\",\n\"isString\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.upperShadowPercent","id":"1645f231-45ab-48b5-9891-45f27e2b4d7e","savedPayload":{"position":{"x":16101.688147018427,"y":11315.385043740624},"targetPosition":{"x":16037.203167345226,"y":11587.439677066533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"dec83c16-8f66-4403-9dda-e536223e7577","savedPayload":{"position":{"x":16037.203167345226,"y":11587.439677066533},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"bodyPercent","config":"{ \n\"codeName\": \"bodyPercent\",\n\"isString\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.bodyPercent","id":"36408e7c-d9cc-4d63-9115-feffa763b85f","savedPayload":{"position":{"x":16323.3271767567,"y":11402.876662737315},"targetPosition":{"x":16185.002270012663,"y":11645.769192265496},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cba04177-1edd-444f-94a3-79784d84d70e","savedPayload":{"position":{"x":16185.002270012663,"y":11645.769192265496},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"lowerShadowPercent","config":"{ \n\"codeName\": \"lowerShadowPercent\",\n\"isString\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.lowerShadowPercent","id":"71464adc-3bd3-47b8-b018-cbacf897c119","savedPayload":{"position":{"x":16511.899377484784,"y":11549.415296286841},"targetPosition":{"x":16310.588429800731,"y":11743.351766947995},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c2c5753a-2e74-4429-9b6a-aa016a753be2","savedPayload":{"position":{"x":16310.588429800731,"y":11743.351766947995},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"body","config":"{ \n\"codeName\": \"body\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.body","id":"1bc97398-5645-4452-9169-f62efc0a7fe1","savedPayload":{"position":{"x":16651.166773352088,"y":11742.835073049886},"targetPosition":{"x":16403.42177829525,"y":11872.281392297455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f0019951-d651-4fcf-888e-0a0cf1564c98","savedPayload":{"position":{"x":16403.42177829525,"y":11872.281392297455},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"upperShadow","config":"{ \n\"codeName\": \"upperShadow\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.upperShadow","id":"cf426ed9-53d3-411e-acf1-1694c5d45b89","savedPayload":{"position":{"x":16730.380746441642,"y":11968.19154389479},"targetPosition":{"x":16456.162628415535,"y":12022.378329780688},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2d3b26eb-15bc-4272-b296-9658ac24baa9","savedPayload":{"position":{"x":16456.162628415535,"y":12022.378329780688},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"lowerShadow","config":"{ \n\"codeName\": \"lowerShadow\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.lowerShadow","id":"a0909b34-9ad9-4290-aa93-5b1731b74a66","savedPayload":{"position":{"x":16743.31632659626,"y":12205.797448695635},"targetPosition":{"x":16464.707488103875,"y":12180.795524895917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2369782b-6afb-41e1-a93f-721c7442e5c3","savedPayload":{"position":{"x":16464.707488103875,"y":12180.795524895917},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"length","config":"{ \n\"codeName\": \"length\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.length","id":"3639b9ee-c558-4699-9b48-2ddfdc59fa33","savedPayload":{"position":{"x":16688.273081653006,"y":12437.82198027461},"targetPosition":{"x":16428.126570073153,"y":12335.541564105808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a6773db1-97fb-418d-b7cf-d4298054f376","savedPayload":{"position":{"x":16428.126570073153,"y":12335.541564105808},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"meanBody","config":"{ \n\"codeName\": \"meanBody\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.meanBody","id":"a45ab78a-fa03-469b-ab64-78fd184d9dd5","savedPayload":{"position":{"x":16569.867932578516,"y":12645.266998771447},"targetPosition":{"x":16349.247405251437,"y":12473.599366566521},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c32b5645-7bbe-4f06-aaef-d9efc3a5c9da","savedPayload":{"position":{"x":16349.247405251437,"y":12473.599366566521},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"avgRef","config":"{ \n\"codeName\": \"avgRef\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.avgRef","id":"26313abc-cd03-4fb9-b54d-2a0d67a3c0da","savedPayload":{"position":{"x":16398.261419139122,"y":12810.825002702051},"targetPosition":{"x":16234.862290877978,"y":12584.014468388723},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0bdc3b36-d092-421f-8741-a0ecfa8fcc41","savedPayload":{"position":{"x":16234.862290877978,"y":12584.014468388723},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Nbodies","config":"{ \n\"codeName\": \"Nbodies\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.Nbodies","id":"f5b650b4-497d-4eef-84f8-c53b5703dbed","savedPayload":{"position":{"x":16186.760705380975,"y":12921.189377405359},"targetPosition":{"x":16093.936192872909,"y":12657.556085203687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cf0a624b-44cb-4926-8e26-867ea485e3fe","savedPayload":{"position":{"x":16093.936192872909,"y":12657.556085203687},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"dojiFactor","config":"{ \n\"codeName\": \"dojiFactor\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.dojiFactor","id":"8e3696bf-dace-4ecb-a9e7-db654ba86ed8","savedPayload":{"position":{"x":15952.642682322414,"y":12967.68130835875},"targetPosition":{"x":15937.968286973177,"y":12688.550813565324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cda80e33-8ed9-4579-8c45-99da25652634","savedPayload":{"position":{"x":15937.968286973177,"y":12688.550813565324},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"sizeFactor","config":"{ \n\"codeName\": \"sizeFactor\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.sizeFactor","id":"08e5507c-e88f-410e-ac54-886d8ce157d2","savedPayload":{"position":{"x":15716.216018659268,"y":12946.362671417126},"targetPosition":{"x":15780.184456097635,"y":12674.089581342421},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"20fadb1a-1f55-4b10-ba45-cda61d8d0157","savedPayload":{"position":{"x":15780.184456097635,"y":12674.089581342421},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Nlengths","config":"{ \n\"codeName\": \"Nlengths\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.Nlengths","id":"addc3851-bbe2-47ac-8652-5b745e12918a","savedPayload":{"position":{"x":15483.007484289848,"y":12861.900448901255},"targetPosition":{"x":15632.195168072496,"y":12615.836762976822},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0a736450-a2e1-41a0-8c29-cd2434296872","savedPayload":{"position":{"x":15632.195168072496,"y":12615.836762976822},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"sizeMethod","config":"{ \n\"codeName\": \"sizeMethod\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.sizeMethod","id":"e2109d1f-c4aa-46d6-a6b7-75d1ffd9c0ee","savedPayload":{"position":{"x":15305.868101737338,"y":12712.201889069782},"targetPosition":{"x":15506.756772073697,"y":12518.276975819734},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"23853614-5c16-4e3e-b1ae-d3fda37d5884","savedPayload":{"position":{"x":15506.756772073697,"y":12518.276975819734},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"meanLength","config":"{ \n\"codeName\": \"meanLength\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.meanLength","id":"4731c75f-5e23-4972-ba37-10bd4363ee0d","savedPayload":{"position":{"x":15166.333772429985,"y":12518.535002264252},"targetPosition":{"x":15413.754311010802,"y":12389.220491605309},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"fc7702c5-1b49-4ed6-b2b3-fde741557115","savedPayload":{"position":{"x":15413.754311010802,"y":12389.220491605309},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"min","config":"{ \n\"codeName\": \"min\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.candleMin","id":"016b76f2-2f06-408e-986f-e29cd5edc107","savedPayload":{"position":{"x":15087.192376188927,"y":12293.040838855068},"targetPosition":{"x":15360.929549903689,"y":12238.98465603514},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"31730ec0-eedf-404d-9a38-bd065bdc2064","savedPayload":{"position":{"x":15360.929549903689,"y":12238.98465603514},"targetPosition":{"x":15908.457406498463,"y":12130.867596842687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4d364dfd-44f1-4d8e-87fd-5aa54564e167","savedPayload":{"position":{"x":15908.457406498463,"y":12130.867596842687},"targetPosition":{"x":14283.329852522562,"y":12204.806962333805},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* ¡¡¡ VERY IMPORTANT !!!\n\"PLEASE READ BEFORE STARTING ALL DOCUMENTATION RELATED TO THIS INDICATOR ON THE SUPERALGOS WEBSITE\" */\n\n/* INTRODUCTION:\nThere are a lot of combinations in order to construct a candle. That's why we are going to define 4 families of candles based on their appearence.\n1) “CLASSIC CANDLES”: These candles have two shadows shorter than the body.\n2) “MARUBOZU CANDLES”: These candles have no at least one shadow. The shadow, if present, cannot be longer than the body. \n3) “SPINNING TOP CANDLES”: These candles have differents opening and closing prices and have at least one shadow. At the same time at least one shadow has to be longer than the body.\n4) “DOJI CANDLES”: These candles have no body. The open price is equal to the close price. */\n\n// ---------------------------------------------------------------------------------------------------------------------\n// From here the variables to be used will be defined\n// ---------------------------------------------------------------------------------------------------------------------\n\n/* The following variables could be modified by the user to adapt the indicator with his preferences\n(Please, read the documentation before) */\n\nlet sizeMethod = \"SMA\" // Choose \"SMA\" or \"EMA\" to calculate the average length of the last \"Nlengths\" candles\nlet Nlengths = 20 // Default value: 20 - \"Nlengths\" is the number of candles to calculate the average length value\nlet sizeFactor = 75 // Default value: 75% - \"sizeFactor\" is to define \"Long\" or \"Short\" size\nlet Nbodies = 10 // Default value: 10 - \"Nbodies\" is the number of bodies to calculate the average bodie value\nlet dojiFactor = 3 // Default value: 3% - \"dojiFactor\" is to define when a candle is \"doji\" or not\n\n /* In order to avoid errors, the initial condition of the name of the candle is defined */\nvariable.name = \"Unknown\" // To be used on the Plotter Panel and Conditions\n\n/* Candles as dependencies are defined */\nlet candle = record.current \n\n/* The height of the body */\nlet body = Math.abs (candle.close-candle.open)\n\n/* Array of N bodies is defined to verify if a candle has a Short Body or a Long Body */\nif (variable.lastNbodies.length > Nbodies) {\n variable.lastNbodies.shift() // Remove the first element of the array to keep it at a maximun of N elements\n}\nlet meanBody \nif (variable.lastNbodies.length < Nbodies) { // If \"lastNbodies\" array hasn't enough bodies, zero value is defined\n meanBody = 0 \n} else { \n let sum = 0 // Initialize sum variable \n for (let i = variable.lastNbodies.length-Nbodies; i < variable.lastNbodies.length; i++) { // Iterate through the last periods\n sum = sum + variable.lastNbodies[i]\n } \n meanBody = sum/Nbodies\n}\nvariable.lastNbodies.push(body) // Add the current body value to the \"lastNbodies\" array for next cycle\n\n /* Total length of the candle, equivalent to the sum of upper shadow, lower shadow and body */\nlet length = candle.max - candle.min \n\n/* Calculating average candles length \"EMA\" or \"SMA\" */\nif (sizeMethod === \"EMA\") {\n let k = 2 / (Nlengths + 1)\n variable.EMAlength = length * k + variable.previousEMAlength * (1-k)\n variable.previousEMAlength = variable.EMAlength\n variable.avgRef = variable.EMAlength * sizeFactor / 100\n variable.SMAlength = 0\n} \nif (sizeMethod === \"SMA\") {\n variable.EMAlength = 0\n if (variable.lastNlengths.length > Nlengths) {\n variable.lastNlengths.shift() // Remove the first element of the array to keep it at a maximun of N elements \n } \n if (variable.lastNlengths.length < Nlengths) { // If \"lastNlengths\" array hasn't enough candles length, zero value is defined\n variable.SMAlength = 0 \n variable.avgRef = 0 \n } else { \n let sum = 0 // Initialize sum variable \n for (let i = variable.lastNlengths.length-Nlengths; i < variable.lastNlengths.length; i++) { // Iterate through the last periods\n sum = sum + variable.lastNlengths[i]\n } \n variable.SMAlength = sum/Nlengths\n variable.avgRef = variable.SMAlength * sizeFactor / 100 // To be used in Shapes\n }\n variable.lastNlengths.push(length) // Add the current length value to the \"lastNlengths\" array for next cycle\n}\n\n/* Only one MA is calculated, the other is defined as 0. It is useful to integrate both variables into one for future operations */\nvariable.meanLength = variable.SMAlength + variable.EMAlength // To be used in Shapes and Conditions\n\n/* Defining if a candle is \"Long\" or \"Short\" */\nlet size\nif (length > variable.avgRef) {\n size = \"Long\"\n} else {\n size = \"Short\"\n} \n\n/* Green candles are \"Bullish\" and red candles are \"Bearish\" */\nlet direction \nif (candle.close > candle.open) {\n direction = \"Bullish\"\n} else {\n direction = \"Bearish\"\n}\n\n/* The value of the upper shadow */\nlet upperShadow \nif (direction === \"Bullish\") {\n upperShadow = candle.max-candle.close\n} else {\n upperShadow = candle.max-candle.open\n}\n\n/* The value of the lower shadow */\nlet lowerShadow \nif (direction === \"Bullish\") {\n lowerShadow = candle.open-candle.min\n} else {\n lowerShadow = candle.close-candle.min\n}\n\n/* Four possibilities of combinations of the shadows are defined: \"lower\", \"upper\", \"both\", \"none\" */\nlet shadow\nif (upperShadow > 0 && lowerShadow > 0) {\n shadow = \"Both\"\n}\nif (upperShadow === 0 && lowerShadow === 0) {\n shadow = \"None\"\n}\nif (upperShadow > 0 && lowerShadow === 0) {\n shadow = \"Upper\"\n}\nif (upperShadow === 0 && lowerShadow > 0) {\n shadow = \"Lower\"\n}\n\n// ----------------------------------------------------------------------------------------------------------------------------\n// From here the name of the candles will be defined\n// ----------------------------------------------------------------------------------------------------------------------------\n\nif (body > length*dojiFactor/100) { // From here all kind of candles that are NOT \"doji\" are defined\n\n/* \"CLASSIC CANDLES\" family:\nThese candles have the following characteristics in common:\n1) Both shadows are present.\n2) Each shadow is shorter than the body. \n3) The opening price differs from the closing price. */\n\nif (shadow === \"Both\" && upperShadow <= body && lowerShadow <= body) {\n\n/* \"SHORT GREEN CANDLE\" and \"SHORT RED CANDLE\" properties:\n1) Bullish or Bearish.\n2) Relative Size: Short. */\n\nif (direction === \"Bullish\" && size === \"Short\") {\n variable.name = \"Short Green Candle\"\n}\nif (direction === \"Bearish\" && size === \"Short\") {\n variable.name = \"Short Red Candle\"\n}\n\n/* \"GREEN CANDLE\" and \"RED CANDLE\" properties: \n1) Bullish or Bearish.\n2) Relative Size: Long . */\n\nif (direction === \"Bullish\" && size === \"Long\") {\n variable.name = \"Green Candle\"\n}\nif (direction === \"Bearish\" && size === \"Long\") {\n variable.name = \"Red Candle\"\n}\n\n/* \"LONG GREEN CANDLE\" and \"LONG RED CANDLE\" properties:\n1) Bullish or Bearish respectively.\n2) The body is at least three times higher than the mean body.\n4) Relative Size: Long. */\n\nif (direction === \"Bullish\" && size === \"Long\" && body >= meanBody*3) {\n variable.name = \"Long Green Candle\"\n}\nif (direction === \"Bearish\" && size === \"Long\" && body >= meanBody*3) {\n variable.name = \"Long Red Candle\"\n}\n\n} // Closing \"Classic Candles\" Family \n\n/* \"MARUBOZU CANDLES\" family:\nThese candles have the following characteristics in common:\n1) Lack at least one shadow.\n2) If it has one shadow, it must be shorter than the body.\n3) The opening price differs from the closing price.\n4) Relative Size: Short or Long. */\n\n/* \"GREEN MARUBOZU\" and \"RED MARUBOZU\" properties: \n1) Bullish or Barish.\n2) No shadows. */\n\nif (direction === \"Bullish\" && shadow === \"None\") {\n variable.name = \"Green Marubozu\"\n}\nif (direction === \"Bearish\" && shadow === \"None\") {\n variable.name = \"Red Marubozu\"\n}\n\n/* \"OPENING GREEN MARUBOZU\" properties: \n1) Bullish.\n2) No lower shadow. */\n\nif (direction === \"Bullish\" && shadow === \"Upper\" && upperShadow <= body) {\n variable.name = \"Opening Green Marubozu\"\n}\n\n/* \"CLOSING GREEN MARUBOZU\" properties:\n1) Bullish.\n2) No upper shadow. */\n\nif (direction === \"Bullish\" && shadow === \"Lower\" && lowerShadow <= body) {\n variable.name = \"Closing Green Marubozu\"\n}\n\n/* \"CLOSING RED MARUBOZU\" properties:\n1) Bearish.\n2) No lower shadow. */\n\nif (direction === \"Bearish\" && shadow === \"Upper\" && upperShadow <= body) {\n variable.name = \"Closing Red Marubozu\"\n}\n\n/* \"OPENING RED MARUBOZU\" properties: \n1) Bearish.\n2) No upper shadow. */\n\nif (direction === \"Bearish\" && shadow === \"Lower\" && lowerShadow <= body) {\n variable.name = \"Opening Red Marubozu\"\n}\n\n/* \"SPINNING TOP CANDLES\" family:\nThese candles have the following characteristics in common:\n1) Have at least one shadow.\n2) At least one shadow is greater than the body.\n3) The opening price differs from the closing price. */\n\n/* \"GREEN SPINNING TOP\" and \"RED SPINNING TOP\" properties:\n1) Bullish or Bearish.\n4) Relative Size: Short or Long. \n5) If it's relative size is Long, none of the shadows can exceed three times the body. */\n\nif (shadow !== \"None\") { \n if (upperShadow > body || lowerShadow > body) { \n if (size === \"Long\") {\n if (upperShadow > 3*body || lowerShadow > 3*body) {\n } else {\n if (direction === \"Bullish\") {\n variable.name = \"Green Spinning Top\"\n } else {\n variable.name = \"Red Spinning Top\"\n }\n } \n } else {\n if (direction === \"Bullish\") {\n variable.name = \"Green Spinning Top\"\n } else {\n variable.name = \"Red Spinning Top\"\n }\n }\n } \n} \n\n/* \"HIGH WAVE\" properties:\n1) Bullish or Bearish.\n2) Relative Size: Long.\n3) The length of at least one shadow is at least 3 times larger than the body.*/\n\nif (shadow !== \"None\" && size === \"Long\") {\n if (upperShadow > 3*body || lowerShadow > 3*body) { \n variable.name = \"High Wave\"\n } \n}\n\n} else { // Closing the initial \"dojiFactor\" if condition, from here \"Doji Candles\" family are defined \n\n/* \"DOJI CANDLES\" family:\nThese candles have the following characteristics in common:\n1) Have no body, or very small body if it is allowed. */\n\n/* \"FOUR-PRICE DOJI\" properties:\n1) No shadows.\n2) Relative Size: Short.*/\n\nif (shadow === \"None\" && size === \"Short\") {\n variable.name = \"Four-Price Doji\"\n}\n\n/* \"STAR DOJI\" properties:\n1) Body is located nearly mid-range (between 60% and 40% of total length).\n2) Relative Size: Short. */\n\nif (size === \"Short\" && upperShadow <= length * 0.6 && upperShadow >= length * (0.4 - dojiFactor/100)) {\n variable.name = \"Star Doji\"\n}\n\n/* \"LONG-LEGGED DOJI\" properties:\n1) Body is located nearly mid-range (between 60% and 40% of total length).\n2) Relative Size: Long. */\n\nif (size === \"Long\" && upperShadow <= length * 0.6 && upperShadow >= length * (0.4 - dojiFactor/100)) {\n variable.name = \"Long-Legged Doji\"\n}\n\n/* \"DRAGONFLY DOJI\" properties:\n1) Upper shadow shorter than 1% of total candle length.\n2) Relative Size: Long. */\n\nif (size === \"Long\" && upperShadow <= length * 0.01) {\n variable.name = \"Dragonfly Doji\"\n}\n\n/* \"GRAVESTONE DOJI\" properties:\n1) Lower shadow shorter than 1% of total candle length.\n2) Relative Size: Long.*/\n\nif (size === \"Long\" && lowerShadow <= length * 0.01) {\n variable.name = \"Gravestone Doji\"\n}\n\n/* \"GENERIC DOJI\" properties:\n1) None of the above five Doji. */\n\nif (variable.name === \"Unknown\") {\n variable.name = \"Generic Doji\"\n}\n\n} // Closing the \"dojiFactor\" else\n\n\n// ----------------------------------------------------------------------------------------------------------------------------\n// From here all the variables that will be written in the records are defined \n// ----------------------------------------------------------------------------------------------------------------------------\n\nvariable.size = size // To be used on the Plotter Panel and Conditions\nvariable.direction = direction // To be used on the Plotter Panel and Conditions\nif (length > 0) { // Condition to avoid dividing by 0\n variable.upperShadowPercent = upperShadow/length*100 // To be used on the Plotter Panel\n variable.bodyPercent = body/length*100 // To be used on the Plotter Panel\n variable.lowerShadowPercent = lowerShadow/length*100 // To be used on the Plotter Panel\n} else {\n variable.lowerShadowPercent = 0\n variable.bodyPercent = 0\n variable.upperShadowPercent = 0\n}\nvariable.Nbodies = Nbodies // To be used on the Plotter Panel\nvariable.sizeFactor = sizeFactor // To be used on the Plotter Panel\nvariable.dojiFactor = dojiFactor // To be used on the Plotter Panel\nvariable.Nlengths = Nlengths // To be used on the Plotter Panel\nvariable.sizeMethod = sizeMethod // To be used on the Plotter Panel\nvariable.candleMin = candle.min // To be used in Shapes\nvariable.length = length // To be used in Conditions\nvariable.upperShadow = upperShadow // To be used in Conditions\nvariable.lowerShadow = lowerShadow // To be used in Conditions\nvariable.body = body // To be used in Conditions\nvariable.meanBody = meanBody // To be used in Conditions\n","id":"119670a5-5f25-4a75-aaad-6939a18aebf0","savedPayload":{"position":{"x":15579.516220036843,"y":12833.79593882529},"targetPosition":{"x":15204.206835650482,"y":12764.548294837272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"shortcutKey":"f"}}},"id":"351fa6f0-1fbb-4e1b-9d95-3599476aed35","savedPayload":{"position":{"x":15204.206835650482,"y":12764.548294837272},"targetPosition":{"x":14840.804608935641,"y":12692.328685529812},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"/* ¡¡¡ VERY IMPORTANT !!!\n\"PLEASE READ BEFORE STARTING ALL DOCUMENTATION RELATED TO THIS INDICATOR ON THE SUPERALGOS WEBSITE\" */\n\n/* It is necessary to define when a candle has a long or a short body. To do that, the bodies of the last N candles have to be averaged. */\nvariable.lastNbodies = [ ] // Define \"lastNbodies\" array to record the value of the last N bodies (SMA)\n\n/* It is necessary to define when a candle is \"Long\" or \"Short\". To do that, the length of the last N candles have to be averaged. */\nvariable.previousEMAlength = 0 // Initialize the variable previous enter to the main loop (EMA)\nvariable.lastNlengths = [ ] // Define \"lastNlengths\" array to record the value of the last N candles length (SMA)","id":"70e6788a-2518-48cf-8493-27f1e7e5ad61","savedPayload":{"position":{"x":15020.37890023752,"y":13220.843768053062},"targetPosition":{"x":14960.579661234819,"y":13044.348974023158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0b2207a1-b217-4c06-92bd-6985d621d035","savedPayload":{"position":{"x":14960.579661234819,"y":13044.348974023158},"targetPosition":{"x":14840.804608935641,"y":12692.328685529812},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f2638b08-3f3b-4574-9e89-dc41f984273d","savedPayload":{"position":{"x":14840.804608935641,"y":12692.328685529812},"targetPosition":{"x":14283.329852522562,"y":12204.806962333805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7519e3d8-b5ec-47eb-84c9-8c9262c9efc6","savedPayload":{"position":{"x":13998.460742582565,"y":12236.531792711887},"targetPosition":{"x":13413.800171630588,"y":12369.642948734469},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Basic Candles","id":"09e0a24c-ead1-40c6-9e43-72b46e4294c5"}}},{"type":"Product Definition","name":"One-Candle Patterns","config":"{\n \"codeName\": \"One-Candle-Patterns\",\n \"singularVariableName\": \"oneCandlePattern\",\n \"pluralVariableName\": \"oneCandlePatterns\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"144d8665-1ff0-4db3-9340-a33fd7d0d098","savedPayload":{"position":{"x":14265.53207855157,"y":12269.273955199298},"targetPosition":{"x":13998.206916384088,"y":12502.65451533993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"f0a11771-dd69-4b9a-9347-7cb2d1f231ff","savedPayload":{"position":{"x":14351.946244442994,"y":12471.653787653035},"targetPosition":{"x":13998.206916384088,"y":12502.65451533993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"One-Candle Patterns Records","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"6269672d-95af-44a9-8f10-52f7d4a6892b","savedPayload":{"position":{"x":14473.8524896505,"y":12288.612654418435},"targetPosition":{"x":14649.901188811004,"y":12643.417319301294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"023fd450-0cae-4b41-8cb2-c446ac69bf32","savedPayload":{"position":{"x":14649.901188811004,"y":12643.417319301294},"targetPosition":{"x":14835.511165473516,"y":13016.43466830023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"6902c73f-da76-4ca0-b8c2-4ac0351c9a59","savedPayload":{"position":{"x":14926.189834389774,"y":12208.380102559275},"targetPosition":{"x":14882.159237823356,"y":12602.621949843126},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ebafaaab-38a0-4bed-a8ea-169f0e92b1cb","savedPayload":{"position":{"x":14882.159237823356,"y":12602.621949843126},"targetPosition":{"x":14835.511165473516,"y":13016.43466830023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"name","config":"{ \n\"codeName\": \"name\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.name","id":"ae345ad9-8364-4e58-bd0a-8b44803b1d98","savedPayload":{"position":{"x":15348.03021166192,"y":12385.058327194482},"targetPosition":{"x":15098.51072113082,"y":12692.50978268222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b633fced-5335-4a72-b0cf-ebb6237e2a17","savedPayload":{"position":{"x":15098.51072113082,"y":12692.50978268222},"targetPosition":{"x":14835.511165473516,"y":13016.43466830023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"trend","config":"{ \n\"codeName\": \"trend\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.trend","id":"5cd8361b-112f-4a4f-9fcd-42a2ff493e96","savedPayload":{"position":{"x":15608.487815845818,"y":12761.989618686854},"targetPosition":{"x":15231.13617583379,"y":12886.023149732213},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"853f4eb3-8068-47d1-9726-22b0c7e835ad","savedPayload":{"position":{"x":15231.13617583379,"y":12886.023149732213},"targetPosition":{"x":14835.511165473516,"y":13016.43466830023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"forecast","config":"{ \n\"codeName\": \"forecast\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.forecast","id":"3b9c18d5-c9e8-4fad-bb3c-1c46751b91a9","savedPayload":{"position":{"x":15622.446093923038,"y":13219.698462899583},"targetPosition":{"x":15239.613291640406,"y":13121.034943380095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1325daec-fb39-4cb8-acec-14adc2ee94e9","savedPayload":{"position":{"x":15239.613291640406,"y":13121.034943380095},"targetPosition":{"x":14835.511165473516,"y":13016.43466830023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"trendLine","config":"{ \n\"codeName\": \"trendLine\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.trendLine","id":"d4a6b997-360b-442b-a08c-b75c331a6a84","savedPayload":{"position":{"x":15187.675663544322,"y":13396.476996388561},"targetPosition":{"x":15117.853286544918,"y":13321.592753983668},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"e1a74ac9-f660-4d09-89e9-f8eaebf137c4","savedPayload":{"position":{"x":15117.853286544918,"y":13321.592753983668},"targetPosition":{"x":14835.511165473516,"y":13016.43466830023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"bearishArrowHead","config":"{ \n\"codeName\": \"bearishArrowHead\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.bearishArrowHead","id":"7ca628f3-61d6-4b1f-a4a8-610d07bd8bdb","savedPayload":{"position":{"x":14926.722552424842,"y":13526.113964868788},"targetPosition":{"x":14908.492220087795,"y":13425.763796985188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"d9837267-f999-420e-8906-169c546fc7f5","savedPayload":{"position":{"x":14908.492220087795,"y":13425.763796985188},"targetPosition":{"x":14835.511165473516,"y":13016.43466830023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"bullishArrowHead","config":"{ \n\"codeName\": \"bullishArrowHead\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.bullishArrowHead","id":"9ddcf2bf-57b5-489e-a7a5-496afd9b7301","savedPayload":{"position":{"x":14642.55236953215,"y":13499.861945306066},"targetPosition":{"x":14681.069393878104,"y":13408.688552965164},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"c474fa25-64ec-470c-ab04-4132e0f3f9a3","savedPayload":{"position":{"x":14681.069393878104,"y":13408.688552965164},"targetPosition":{"x":14835.511165473516,"y":13016.43466830023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"period","config":"{ \n\"codeName\": \"period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.period","id":"4986b4c7-0753-4bab-bf62-906acab4c408","savedPayload":{"position":{"x":14329.018776064038,"y":13366.23591873779},"targetPosition":{"x":14493.157768528112,"y":13252.702501087604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"49eea75b-d5c8-44cd-afa7-8689127ac9ae","savedPayload":{"position":{"x":14493.157768528112,"y":13252.702501087604},"targetPosition":{"x":14835.511165473516,"y":13016.43466830023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"trendMethod","config":"{ \n\"codeName\": \"trendMethod\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.trendMethod","id":"8fdf87c8-a467-49a9-9b6a-e70cd12a2b93","savedPayload":{"position":{"x":14220.488111480323,"y":13036.859866732877},"targetPosition":{"x":14419.778101048061,"y":13030.109839394509},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6337c29e-3df8-4e54-82ab-a2cdeb800a1b","savedPayload":{"position":{"x":14419.778101048061,"y":13030.109839394509},"targetPosition":{"x":14835.511165473516,"y":13016.43466830023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"02d96f47-c6f0-4423-a144-4799f4023c99","savedPayload":{"position":{"x":14835.511165473516,"y":13016.43466830023},"targetPosition":{"x":13998.206916384088,"y":12502.65451533993},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","name":"One-Candle Patterns Code","code":"// -----------------------------------------------------------------------------------------------------------------------------\n// From here the variables that will be used during the definition of the patterns will be defined\n// -----------------------------------------------------------------------------------------------------------------------------\n\n/* The following variables could be modified by the user to adapt the indicator with his preferences\n(Please, read the documentation before) */\nlet N = 10 // Default value: 10 periods - \"N\" is the period to calculate the Moving Average of the trend line (between 5 and 20) \nvariable.trendMethod = \"SMA\" // Choose \"SMA\" or \"EMA\" to calculate the Moving Average of the trend line\n\n /* In order to avoid errors, the initial condition of the output variables are defined */\nvariable.name = \"No Pattern\" // The name of the one-candle pattern\nvariable.forecast = \"None\" // The forecast of the pattern\n\n/* \"Candles\" and \"Basic Candles\" are dependencies */\nlet candle = record.current // Calling \"Candles\"\nlet basicCandle = getElement ('basicCandles', candle) // Calling \"Basic Candles\"\n\n/* To define if the trend is Up or Down , it is necessary to average the candle closes of the last N candles. */\nif (variable.trendMethod === \"SMA\") {\n variable.lastN.push(candle.close) // Add the current Candle Close value to the \"lastN\" array\n if (variable.lastN.length > N) {\n variable.lastN.shift() // Remove the first element of the array to keep it at a maximun of N elements\n }\n let smaN\n if (variable.lastN.length < N) { // If the array \"lastN\" has not enough Candle Closes, the value zero for the smaN is defined\n smaN = 0 \n } else { \n let sum = 0 // Initialize sum variable \n for (let i = variable.lastN.length-N; i < variable.lastN.length; i++) { // Iterate through the last periods\n sum = sum + variable.lastN[i]\n } \n smaN = sum/N\n variable.lastMA.push(smaN) // Add the current SMA value to the \"lastMA\" array\n if (variable.lastMA.length > 4) {\n variable.lastMA.shift() // Remove the first element of the array to keep it at a maximun of 4 SMA's\n }\n }\n}\n\nif (variable.trendMethod === \"EMA\") {\n let k = 2 / (N + 1)\n variable.ema = candle.close * k + variable.previousEMA * (1-k)\n variable.previousEMA = variable.ema\n if (variable.ema === undefined) {\n variable.lastMA.push(0)\n } else { \n variable.lastMA.push(variable.ema) // Add the current EMA value to the \"lastMA\" array\n } \n if (variable.lastMA.length > 4) {\n variable.lastMA.shift() // Remove the first element of the array to keep it at a maximun of 4 EMA's\n }\n} \n\n/* Calling the 3 last and current Moving Averages of the \"lastMA\" array */\nlet ma3Back = variable.lastMA [0] \nlet ma2Back = variable.lastMA [1]\nlet ma1Back = variable.lastMA [2]\nlet trendLine = variable.lastMA [3]\n\n/* Defining trend (Uptrend or Downtrend). It is important to avoid \"undefined\" candles or ma's */\nlet trend = \"None\"\nlet candle1Back = mainDependency.records[index - 1] // Calling previous candle\nlet candle2Back = mainDependency.records[index - 2] // Calling 2 previous candle\nlet candle3Back = mainDependency.records[index - 3] // Calling 3 previous candle\n\nif (candle1Back !== undefined && candle2Back !== undefined && candle3Back !== undefined) { \n if (ma1Back !== undefined && ma2Back !== undefined && ma3Back !== undefined) { \n if (candle1Back.close >= ma1Back && candle1Back.open >= ma1Back) {\n if (candle2Back.close >= ma2Back && candle2Back.open >= ma2Back) {\n if (candle3Back.close >= ma3Back && candle3Back.open >= ma3Back) {\n trend = \"Uptrend\"\n }\n }\n }\n if (candle1Back.close <= ma1Back && candle1Back.open <= ma1Back) {\n if (candle2Back.close <= ma2Back && candle2Back.open <= ma2Back) {\n if (candle3Back.close <= ma3Back && candle3Back.open <= ma3Back) {\n trend = \"Downtrend\"\n }\n }\n }\n }\n}\n\n// ----------------------------------------------------------------------------------------------------------------------------\n// From here patterns will be defined\n// ----------------------------------------------------------------------------------------------------------------------------\n\n/* Patterns will be grouped as follows:\n1) Bearish continuation --> These patterns indicates that the current downtrend could continue.\n2) Bearish Reversal --> These patterns indicates that the current uptrend could turn to downtrend.\n3) Bullish Continuation --> These patterns indicates that the current uptrend could continue.\n4) Bullish Reversal --> These patterns indicates that the current downtrend could turn to uptrend. */\n\n/* \"BEARISH CONTINUATION\" group:\nThese patterns should appear during a downtrend to be valid*/\nif (trend === \"Downtrend\") {\n\n/* \"BEARISH STRONG LINE\" properties:\n1) Basic Candle can be \"Long Red Candle\", \"Red Marubozu\", \"Opening Red Marubozu\" or \"Closing Red Marubozu\".\n2) Average size: Long.\n3) The body has to be three times higher than the mean body.\n4) The body is placed below the trend line. */\n\nif (basicCandle.name === \"Long Red Candle\" || basicCandle.name === \"Red Marubozu\" || basicCandle.name === \"Opening Red Marubozu\" || basicCandle.name === \"Closing Red Marubozu\") {\n if (basicCandle.size === \"Long\") {\n if (basicCandle.body >= basicCandle.meanBody*3) {\n if (candle.open <= trendLine) {\n variable.name = \"Bearish Strong Line\"\n variable.forecast = \"Bearish Continuation\"\n }\n }\n }\n}\n\n} // Closing \"Bearish Continuation\" group\n\n//-------------------------------------------------------\n\n/* \"BEARISH REVERSAL\" group:\nThese patterns should appear during an uptrend to be valid */\nif (trend === \"Uptrend\") {\n\n/* \"BEARISH BELT HOLD\" properties:\n1) Basic Candle is \"Opening Red Marubozu\". \n2) Average size: Long.\n3) Short lower shadow. (20 percent of the candle is defined, user can change it). */\n\nif (basicCandle.name === \"Opening Red Marubozu\") {\n if (basicCandle.size === \"Long\") {\n if(basicCandle.lowerShadow <= basicCandle.length*0.2) {\n variable.name = \"Bearish Belt Hold\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n}\n\n/* \"HANGING MAN\" properties:\n1) Basic Candle can be \"Green Spinning Top\", \" Red Spinning Top\" or \"High Wave\".\n2) Average size: Long.\n3) The upper shadow shorter than the body.\n4) Long lower shadow that is at least twice the size as the body.\n5) The body above the trend line. */\n\nif (basicCandle.name === \"Green Spinning Top\" || basicCandle.name === \"Red Spinning Top\" || basicCandle.name === \"High Wave\") {\n if (basicCandle.size === \"Long\") {\n if (basicCandle.upperShadow <= basicCandle.body) {\n if (basicCandle.lowerShadow >= basicCandle.body*2) {\n if (candle.close >= trendLine && candle.open >= trendLine) {\n variable.name = \"Hanging Man\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n }\n } \n}\n\n/* \"SHOOTING STAR\" properties:\n1) Basic Candle can be \"Green Spinning Top\", \" Red Spinning Top\" or \"High Wave\".\n2) Average size: Long.\n3) The lower shadow shorter than the body.\n4) Upper shadow that is at least two times longer than the body.\n5) The body above the trend line. */\n\nif (basicCandle.name === \"Green Spinning Top\" || basicCandle.name === \"Red Spinning Top\" || basicCandle.name === \"High Wave\") {\n if (basicCandle.size === \"Long\") {\n if (basicCandle.lowerShadow <= basicCandle.body) {\n if (basicCandle.upperShadow >= basicCandle.body*2) {\n if (candle.close >= trendLine && candle.open >= trendLine) {\n variable.name = \"Shooting Star\"\n variable.forecast = \"Bearish Reversal\"\n } \n }\n }\n } \n}\n\n/* \"BEARISH STRONG LINE\" properties:\n1) Basic Candle can be \"Long Red Candle\", \"Red Marubozu\", \"Opening Red Marubozu\" or \"Closing Red Marubozu\". \n2) Average size: Long.\n3) The body has to be three times higher than the mean body.\n4) The opening price is above the trendline (Remember, if the body is below the trendline, belongs to bearish continuation). */\n\nif (basicCandle.name === \"Long Red Candle\" || basicCandle.name === \"Red Marubozu\" || basicCandle.name === \"Opening Red Marubozu\" || basicCandle.name === \"Closing Red Marubozu\") {\n if (basicCandle.size === \"Long\") {\n if (basicCandle.body >= basicCandle.meanBody*3) {\n if (candle.open >= trendLine) {\n variable.name = \"Bearish Strong Line\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n }\n}\n\n} // Closing \"Bearish Reversal\" group\n\n//-------------------------------------------------------\n\n/* \"BULLISH CONTINUATION\" group:\nThese patterns should appear during an uptrend to be valid */\nif (trend === \"Uptrend\") {\n\n/* \"BULLISH STRONG LINE\" properties:\n1) Basic Candle can be \"Long Green Candle\", \"Green Marubozu\", \"Opening Green Marubozu\" or \"Closing Green Marubozu\".\n2) Average size: Long.\n3) The body has to be three times higher than the mean body.\n4) The body is placed above the trendline. */\n\nif (basicCandle.name === \"Long Green Candle\" || basicCandle.name === \"Green Marubozu\" || basicCandle.name === \"Opening Green Marubozu\" || basicCandle.name === \"Closing Green Marubozu\") {\n if (basicCandle.size === \"Long\") {\n if (basicCandle.body >= basicCandle.meanBody*3) {\n if (candle.open >= trendLine) {\n variable.name = \"Bullish Strong Line\"\n variable.forecast = \"Bullish Continuation\"\n }\n }\n }\n}\n\n} // Closing \"Bullish Continuation\" group\n\n//-------------------------------------------------------\n\n/* \"BULLISH REVERSAL\" group:\nThese patterns should appear during a downtrend*/\nif (trend === \"Downtrend\") {\n\n/* \"BULLISH BELT HOLD\" properties:\n1) Basic Candle is \"Opening Green Marubozu\".\n2) Average size: Long.\n3) Short upper shadow. 20 percent of the candle length, user can change it value. */\n\nif (basicCandle.name === \"Opening Green Marubozu\") {\n if (basicCandle.size === \"Long\") {\n if (basicCandle.upperShadow <= basicCandle.length*0.2) {\n variable.name = \"Bullish Belt Hold\"\n variable.forecast = \"Bullish Reversal\"\n }\n }\n}\n\n/* \"HAMMER\" properties:\n1) Basic Candle can be \"Green Spinning Top\", \" Red Spinning Top\" or \"High Wave\".\n2) Average size: Long.\n3) The upper shadow shorter than the body.\n4) Lower shadow at least two times longer than the body. \n5) The body has to be below the trend line. */\n\nif (basicCandle.name === \"Green Spinning Top\" || basicCandle.name === \"Red Spinning Top\" || basicCandle.name === \"High Wave\" ) {\n if (basicCandle.size === \"Long\") {\n if (basicCandle.upperShadow <= basicCandle.body) {\n if (basicCandle.lowerShadow >= basicCandle.body*2) {\n if (candle.close <= trendLine && candle.open <= trendLine) {\n variable.name = \"Hammer\"\n variable.forecast = \"Bullish Reversal\"\n }\n }\n }\n } \n}\n \n/* \"BULLISH STRONG LINE\" properties:\n1) Basic Candle can be \"Long Green Candle\", \"Green Marubozu\", \"Opening Green Marubozu\" or \"Closing Green Marubozu\". \n2) Average size: Long.\n3) The body three times higher than the mean body.\n4) The opening price is below the trendline (Remember, if the body is placed above the trendline, belongs to bulliish continuation). */\n\nif (basicCandle.name === \"Long Green Candle\" || basicCandle.name === \"Green Marubozu\" || basicCandle.name === \"Opening Green Marubozu\" || basicCandle.name === \"Closing Green Marubozu\") {\n if (basicCandle.size === \"Long\") {\n if (basicCandle.body >= basicCandle.meanBody*3) {\n if (candle.open <= trendLine) {\n variable.name = \"Bullish Strong Line\"\n variable.forecast = \"Bullish Reversal\"\n }\n }\n }\n}\n\n} // Closing \"Bullish Reversal\" group\n\n// ----------------------------------------------------------------------------------------------------------------------------\n// From here all the variables that will be written in the records are defined \n// ----------------------------------------------------------------------------------------------------------------------------\n\nvariable.trend = trend\nvariable.trendLine = trendLine\nvariable.period = N // This record will be for pattern visualization on the chart\nvariable.bearishArrowHead = candle.max*1.02 // This record will be for pattern visualization on the chart\nvariable.bullishArrowHead = candle.min*0.98 // This record will be for pattern visualization on the chart","id":"08e03d17-e3d4-4a60-9e76-8b0c246f6eab","savedPayload":{"position":{"x":14594.124021170985,"y":13323.171880631664},"targetPosition":{"x":14474.045168646944,"y":13232.41564425125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"45f3274c-5f6c-4730-83cc-3a4a80be5f11","savedPayload":{"position":{"x":14474.045168646944,"y":13232.41564425125},"targetPosition":{"x":14233.60814591393,"y":13052.913962672783},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"/* It is necessary to define Moving Average of N Periods to define the trend of the market. */\nvariable.lastN = [ ] // Define lastN array to record the value of the last N candle closes (SMA)\nvariable.previousEMA = 0 // Initialize the variable previous enter to the main loop (EMA)\nvariable.lastMA = [0, 0, 0, 0] // Define lastMA array to record the value of the last 3 and current Moving Averages of N Periods","id":"dcdb9df8-32b5-4c90-b392-8eb147d91a1e","savedPayload":{"position":{"x":14179.943427637229,"y":13500.070059182952},"targetPosition":{"x":14198.295396972324,"y":13350.390311059506},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0571fcc4-4f29-4c5b-8de0-54da0ee0dd44","savedPayload":{"position":{"x":14198.295396972324,"y":13350.390311059506},"targetPosition":{"x":14233.60814591393,"y":13052.913962672783},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"61de6419-4760-4b57-a184-d5aac5114be8","savedPayload":{"position":{"x":14233.60814591393,"y":13052.913962672783},"targetPosition":{"x":13998.206916384088,"y":12502.65451533993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f3c0863c-ac0c-4fc0-b9ee-5f0f2bd722ea","savedPayload":{"position":{"x":13998.697632798014,"y":12503.088739756528},"targetPosition":{"x":13413.800171630588,"y":12369.642948734469},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"One-Candle Patterns","id":"14f83391-e4a6-470c-90c0-19763f83429b"}}},{"type":"Product Definition","name":"Two-Candles Patterns","config":"{\n \"codeName\": \"Two-Candles-Patterns\",\n \"singularVariableName\": \"twoCandlePattern\",\n \"pluralVariableName\": \"twoCandlePatterns\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"8c35ce52-9dee-4d20-92e6-50ba7fd2882b","savedPayload":{"position":{"x":13991.68430805685,"y":12525.110388391031},"targetPosition":{"x":13578.375673580053,"y":12639.385445487314},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"4f1260c8-6d74-454e-963a-fa3ff910329c","savedPayload":{"position":{"x":13979.43792141321,"y":12789.730965402716},"targetPosition":{"x":13578.375673580053,"y":12639.385445487314},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"Two-Candles Patterns Records","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"61a74369-9fad-4af6-99d8-c6e4821d4750","savedPayload":{"position":{"x":14397.448864287227,"y":12938.54167872223},"targetPosition":{"x":14398.57431392667,"y":13047.087038906997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d0948117-06a2-44e6-a9c6-eed01b943780","savedPayload":{"position":{"x":14398.57431392667,"y":13047.087038906997},"targetPosition":{"x":14401.43293617999,"y":13262.001287466961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"73933242-2824-4a63-bb50-d6043c1796a0","savedPayload":{"position":{"x":14573.324329664345,"y":12987.4496004336},"targetPosition":{"x":14515.513347637345,"y":13079.660243760527},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d5bcbb61-ab9d-4908-91c4-0bbbdade33c0","savedPayload":{"position":{"x":14515.513347637345,"y":13079.660243760527},"targetPosition":{"x":14401.43293617999,"y":13262.001287466961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"name","config":"{ \n\"codeName\": \"name\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.name","id":"34cec9a0-7a4d-430c-a69e-b67150a8701d","savedPayload":{"position":{"x":14688.855806833966,"y":13126.777660862073},"targetPosition":{"x":14595.535099837201,"y":13170.609116021238},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"c8a5978b-4038-4493-9c79-697d6508604f","savedPayload":{"position":{"x":14595.535099837201,"y":13170.609116021238},"targetPosition":{"x":14401.43293617999,"y":13262.001287466961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"trend","config":"{ \n\"codeName\": \"trend\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.trend","id":"d5af582e-67e7-4bd4-80c8-561fb4b28f0b","savedPayload":{"position":{"x":14716.540185906528,"y":13303.218324324693},"targetPosition":{"x":14614.233344349985,"y":13289.864546723746},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"ceed7f12-8a54-43bf-9bd0-c9297493d6a1","savedPayload":{"position":{"x":14614.233344349985,"y":13289.864546723746},"targetPosition":{"x":14401.43293617999,"y":13262.001287466961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"forecast","config":"{ \n\"codeName\": \"forecast\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.forecast","id":"ce5d5a36-b9dd-404d-90c1-a6556cc15145","savedPayload":{"position":{"x":14644.14531214954,"y":13467.050579578145},"targetPosition":{"x":14565.346488666291,"y":13400.494255351496},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"0e22e091-4ace-44ab-b1c9-aa386e928299","savedPayload":{"position":{"x":14565.346488666291,"y":13400.494255351496},"targetPosition":{"x":14401.43293617999,"y":13262.001287466961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"bullishArrowHead","config":"{ \n\"codeName\": \"bullishArrowHead\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.bullishArrowHead","id":"7095f60c-5b45-4f3c-b026-97c89a480135","savedPayload":{"position":{"x":14494.692357761083,"y":13565.7432998857},"targetPosition":{"x":14464.421344791252,"y":13467.137660008057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"228d8125-2609-45c6-9cc7-e644c017ee0e","savedPayload":{"position":{"x":14464.421344791252,"y":13467.137660008057},"targetPosition":{"x":14401.43293617999,"y":13262.001287466961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"bearishArrowHead","config":"{ \n\"codeName\": \"bearishArrowHead\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.bearishArrowHead","id":"409212af-d4f2-4371-9cc2-4402e16c1889","savedPayload":{"position":{"x":14316.164781042502,"y":13567.960716325802},"targetPosition":{"x":14343.75339340866,"y":13468.630943490887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"fa50b0e1-d8df-4a16-91c9-361541808fbf","savedPayload":{"position":{"x":14343.75339340866,"y":13468.630943490887},"targetPosition":{"x":14401.43293617999,"y":13262.001287466961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"trendLine","config":"{ \n\"codeName\": \"trendLine\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.trendLine","id":"7302e487-d514-4964-bdc3-9901ba318dea","savedPayload":{"position":{"x":14164.447956301166,"y":13472.996197322751},"targetPosition":{"x":14241.261495998879,"y":13404.475339213779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"64444857-2818-42de-a4c1-69c4d2804ebf","savedPayload":{"position":{"x":14241.261495998879,"y":13404.475339213779},"targetPosition":{"x":14401.43293617999,"y":13262.001287466961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"period","config":"{ \n\"codeName\": \"period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.period","id":"dfdef370-336e-4650-a441-4b65f7304047","savedPayload":{"position":{"x":14081.91430933151,"y":13311.980960060871},"targetPosition":{"x":14189.134617557567,"y":13295.142078284722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6dafe978-a5df-4f5b-a7ae-d496b83bcc94","savedPayload":{"position":{"x":14189.134617557567,"y":13295.142078284722},"targetPosition":{"x":14401.43293617999,"y":13262.001287466961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"trendMethod","config":"{ \n\"codeName\": \"trendMethod\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.trendMethod","id":"aea83576-35e1-4190-b284-faf3f696436b","savedPayload":{"position":{"x":14106.347426856079,"y":13130.982750518875},"targetPosition":{"x":14205.288939259488,"y":13174.787645810798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"552e82f9-e5e6-4802-9cf2-d9a7bbbc5a22","savedPayload":{"position":{"x":14205.288939259488,"y":13174.787645810798},"targetPosition":{"x":14401.43293617999,"y":13262.001287466961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"17ec2118-b9df-415f-b5f3-120fb3b3155a","savedPayload":{"position":{"x":14401.43293617999,"y":13262.001287466961},"targetPosition":{"x":13578.375673580053,"y":12639.385445487314},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","name":"Two-Candles Patterns Code","code":"// -----------------------------------------------------------------------------------------------------------------------------\n// From here the variables that will be used during the definition of the patterns will be defined\n// -----------------------------------------------------------------------------------------------------------------------------\n\n /* In order to avoid errors, the initial condition of the output variables are defined */\nvariable.name = \"No Pattern\" // The name of the two-candle pattern, for panel visualization\nvariable.forecast = \"None\" // The forecast of the two-candle pattern, for panel visualization\nvariable.trend = \"None\" // The trend of the current pattern, for panel visualization\nvariable.trendLine = 1 // This record will be for pattern shapes visualization on the chart\nvariable.bearishArrowHead = 1 // This record will be for pattern shapes visualization on the chart\nvariable.bullishArrowHead = 1 // This record will be for pattern shapes visualization on the chart\nvariable.period = 0 // The period of the trend MA, for panel visualization\n \n/* \"Candles\", \"Basic Candles\" and \"One-Candle Patterns\" are dependencies */\nlet candle = record.current // Calling \"Candles\"\nlet basicCandle = getElement ('basicCandles', candle) // Calling \"Basic Candles\" product\nlet oneCandlePattern = getElement ('oneCandlePatterns', candle) // Calling \"One-Candle Patterns\" product\n\n/* Some properties of the previous candle are needed (max, min, open and close) */\nlet candle1Back = mainDependency.records[index - 1] \n\n/* In order to avoid \"undefined\" elements during calculations */\nif (basicCandle !== undefined && oneCandlePattern !== undefined && candle1Back !== undefined) { \n\n/*Another properties of the previous candle are needed (trend, span, name and direction)*/\nvariable.records1Back.push(oneCandlePattern.trend, basicCandle.size, basicCandle.name, basicCandle.direction)\nlet trend1Back = \"None\"\nlet size1Back = \"None\"\nlet name1Back = \"None\"\nlet direction1Back = \"None\"\nif (variable.records1Back[0] !== undefined) {\n trend1Back = variable.records1Back[0] // Taking first element of the array (index 0)\n}\nif (variable.records1Back[1] !== undefined) {\n size1Back = variable.records1Back[1] // Taking second element of the array (index 1)\n}\nif (variable.records1Back[2] !== undefined) {\n name1Back = variable.records1Back[2] // Taking third element of the array (index 2)\n}\nif (variable.records1Back[3] !== undefined) {\n direction1Back = variable.records1Back[3] // Taking fourth element of the array (index 3)\n}\nif (variable.records1Back.length === 8) { // Array with 8 elements, 4 currents and 4 from previous\n variable.records1Back.splice(0, 4) // Remove the first 4 elements of the array\n} \n\n// ----------------------------------------------------------------------------------------------------------------------------\n// From here patterns will be defined\n// ----------------------------------------------------------------------------------------------------------------------------\n\n/* Patterns will be grouped as follows:\n1) Bearish continuation --> These patterns indicates that the current downtrend could continue.\n2) Bearish Reversal --> These patterns indicates that the current uptrend could turn to downtrend.\n3) Bullish Continuation --> These patterns indicates that the current uptrend could continue.\n4) Bullish Reversal --> These patterns indicates that the current downtrend could turn to uptrend. */\n\n/* \"BEARISH CONTINUATION\" group:\nThese patterns should appear during a downtrend to be valid*/\nif (trend1Back === \"Downtrend\") {\n\n/* \"LAST ENGULFING BOTTOM\" properties:\nIt is important to know that this pattern has a \"Bearish Continuation\" or \"Bullish Reversal\" forecast, depending on the context.\n--First candle\n1) Can be any green basic candle, excluding Four-Price Doji.\n--Second candle\n1) Can be the following red basic candles: Red Candle, Long Red Candle, Red Marubozu, Opening Red Marubozu, Closing Red Marubozu.\n2) Candle's body engulfs the prior candle's body.\n3) Average size: long. */\n\nif (direction1Back === \"Bullish\" && name1Back !== \"Four-Price Doji\") {\n if (basicCandle.size === \"Long\") {\n if (basicCandle.name === \"Red Candle\" || basicCandle.name === \"Long Red Candle\" || basicCandle.name === \"Red Marubozu\" || basicCandle.name === \"Opening Red Marubozu\" || basicCandle.name === \"Closing Red Marubozu\") {\n if (candle1Back.close <= candle.open && candle1Back.open > candle.close) {\n variable.name = \"Last Engulfing Bottom\"\n variable.forecast = \"Depends On The Context\"\n }\n }\n }\n}\n\n} // Closing \"Bearish Continuation\" group\n\n//-------------------------------------------------------\n\n/* \"BEARISH REVERSAL\" group:\nThese patterns should appear during an uptrend to be valid */\nif (trend1Back === \"Uptrend\") {\n\n/* \"BEARISH ENGULFING\" properties:\n--First candle\n1) Can be any green basic candle, excluding Four-Price Doji.\n--Second candle\n1) Can be the following red basic candles: Red Candle, Long Red Candle, Red Marubozu, Opening Red Marubozu, Closing Red Marubozu.\n2) Candle's body engulfs the prior candle's body.\n3) Average size: long. */\n\nif (direction1Back === \"Bullish\" && name1Back !== \"Four-Price Doji\") {\n if (basicCandle.size === \"Long\") {\n if (basicCandle.name === \"Red Candle\" || basicCandle.name === \"Long Red Candle\" || basicCandle.name === \"Red Marubozu\" || basicCandle.name === \"Opening Red Marubozu\" || basicCandle.name === \"Closing Red Marubozu\") {\n if (candle1Back.close <= candle.open && candle1Back.open > candle.close) {\n variable.name = \"Bearish Engulfing\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n }\n}\n\n/* \"BEARISH HARAMI\" properties:\n--First candle\n1) Can be the following green basic candles: Green Candle, Long Green Candle, Green Marubozu, Opening Green Marubozu, Closing Green Marubozu.\n2) Average size: Long.\n--Second candle\n1) Can be any red basic candle, excluding Four-Price Doji.\n2) Candle's body engulfed by the previous candle's body. */\n\nif (name1Back === \"Green Candle\" || name1Back === \"Long Green Candle\" || name1Back === \"Green Marubozu\" || name1Back === \"Opening Green Marubozu\" || name1Back === \"Closing Green Marubozu\") {\n if (size1Back === \"Long\") {\n if (basicCandle.direction === \"Bearish\" && basicCandle.name !== \"Four-Price Doji\") {\n if (candle1Back.close >= candle.open && candle1Back.open < candle.close) {\n variable.name = \"Bearish Harami\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n }\n}\n\n/* \"BEARISH HARAMI CROSS\" properties:\n--First candle\n1) Can be the following green basic candles: Green Candle, Long Green Candle, Green Marubozu, Opening Green Marubozu, Closing Green Marubozu.\n2) Average size: Long.\n--Second candle\n1) Should be a Classic Doji.\n2) Candle's body (including shadows) engulfed by the prior candle's body. */\n\nif (name1Back === \"Green Candle\" || name1Back === \"Long Green Candle\" || name1Back === \"Green Marubozu\" || name1Back === \"Opening Green Marubozu\" || name1Back === \"Closing Green Marubozu\") {\n if (size1Back === \"Long\") {\n if (basicCandle.name === \"Classic Doji\") {\n if (candle1Back.close >= candle.max && candle1Back.open <= candle.min) {\n variable.name = \"Bearish Harami Cross\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n }\n}\n\n/* \"BEARISH TASUKI LINE\" properties:\n--First candle\n1) Bullish candle.\n2) Average size: Long.\n--Second candle\n1) Bearish candle.\n2) Opening price below or equal to the previous closing price.\n3) Closing price below the previous opening price.\n4) Average size: Long. */\n\nif (direction1Back === \"Bullish\" && size1Back === \"Long\") {\n if (basicCandle.direction === \"Bearish\" && basicCandle.size === \"Long\") {\n if (candle.open <= candle1Back.close && candle.close < candle1Back.open) {\n variable.name = \"Bearish Tasuki Line\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n}\n\n/* \"DESCENDING HAWK\" properties:\n--First candle\n1) Can be the following green basic candles: Green Candle, Long Green Candle, Green Marubozu, Opening Green Marubozu, Closing Green Marubozu.\n2) Average size: Long.\n--Second candle\n1) Can be the following green basic candles: Short Green Candle, Green Candle, Long Green Candle, Green Marubozu, Opening Green Marubozu, Closing Green Marubozu.\n2) Candle's body engulfed by the prior candle's body. */\n\nif (name1Back === \"Green Candle\" || name1Back === \"Long Green Candle\" || name1Back === \"Green Marubozu\" || name1Back === \"Opening Green Marubozu\" || name1Back === \"Closing Green Marubozu\") {\n if (size1Back === \"Long\") {\n if (basicCandle.name === \"Short Green Candle\" || basicCandle.name === \"Green Candle\" || basicCandle.name === \"Long Green Candle\" || basicCandle.name === \"Green Marubozu\" || basicCandle.name === \"Opening Green Marubozu\" || basicCandle.name === \"Closing Green Marubozu\") {\n if (candle1Back.close >= candle.close && candle1Back.open < candle.open) {\n variable.name = \"Descending Hawk\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n }\n}\n\n/* \"TWEEZERS TOP\" properties:\n--First candle\n1) Any candle except the Four-Price Doji.\n2) Could be \"Bullish\" or \"Bearish\" candle.\n--Second candle\n1) Any candle except the Four-Price Doji.\n2) Could be \"Bullish\" or \"Bearish\" candle.\n3) High price equal to the previous high price. */\n\nif (candle1Back.name !== \"Four-Price Doji\" && basicCandle.name !== \"Four-Price Doji\" && candle.max === candle1Back.max) {\n variable.name = \"Tweezers Top\"\n variable.forecast = \"Bearish Reversal\"\n}\n\n/* \"TWO-CANDLE SHOOTING STAR\" properties:\n--First candle\n1) Can be the following green basic candles: Green Candle, Long Green Candle, Green Marubozu, Opening Green Marubozu, Closing Green Marubozu.\n2) Average size: Long.\n--Second candle\n1) Can be the following basic candles: Red Spinning Top, Green Spinning Top, High Wave. \n2) No lower shadow or the shadow cannot be longer than then body.\n3) Upper shadow at least 2.5 times longer than the body.\n4) The open above or at the level of the previous candle’s close. */\n\nif (name1Back === \"Green Candle\" || name1Back === \"Long Green Candle\" || name1Back === \"Green Marubozu\" || name1Back === \"Opening Green Marubozu\" || name1Back === \"Closing Green Marubozu\") {\n if (size1Back === \"Long\") {\n if (basicCandle.name === \"Red Spinning Top\" || basicCandle.name === \"Green Spinning Top\" || basicCandle.name === \"High Wave\") {\n if (basicCandle.lowerShadow <= basicCandle.body && basicCandle.upperShadow >= basicCandle.body*2.5 && candle.open >= candle1Back.close) {\n variable.name = \"Two-Candle Shooting Star\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n }\n}\n\n} // Closing \"Bearish Reversal\" group\n\n//-------------------------------------------------------\n\n/* \"BULLISH CONTINUATION\" group:\nThese patterns should appear during an uptrend to be valid */\nif (trend1Back === \"Uptrend\") {\n\n/* \"LAST ENGULFING TOP\" properties:\nIt is important to know that this pattern has a \"Bearish Continuation\" or \"Bullish Reversal\" forecast, depending on the context.\n--First candle\n1) Bearish candle, excluding \"Four-Price Doji\".\n--Second candle\n1) Can be the following green basic candles: Green Candle, Long Green Candle, Green Marubozu, Opening Green Marubozu, Closing Green Marubozu.\n2) Candle's body engulfs the prior candle's body. \n3) Average size: Long. */\n\nif (direction1Back === \"Bearish\" && name1Back !== \"Four-Price Doji\") {\n if (basicCandle.size === \"Long\") {\n if (basicCandle.name === \"Green Candle\" || basicCandle.name === \"Long Green Candle\" || basicCandle.name === \"Green Marubozu\" || basicCandle.name === \"Opening Green Marubozu\" || basicCandle.name === \"Closing Green Marubozu\") {\n if (candle1Back.close >= candle.open && candle1Back.open < candle.close) { \n variable.name = \"Last Engulfing Top\"\n variable.forecast = \"Depends On The Context\"\n }\n }\n }\n}\n\n} // Closing \"Bullish Continuation\" group\n \n//-------------------------------------------------------\n\n/* \"BULLISH REVERSAL\" group:\nThese patterns should appear during a downtrend*/\nif (trend1Back === \"Downtrend\") {\n\n/* \"BULLISH ENGULFING\" properties:\n--First candle\n1) Bearish candle, excluding \"Four-Price Doji\".\n--Second candle\n1) Can be the following green basic candles: Green Candle, Long Green Candle, Green Marubozu, Opening Green Marubozu, Closing Green Marubozu.\n2) Candle's body engulfs the prior candle's body. \n3) Average size: Long. */\n\nif (direction1Back === \"Bearish\" && name1Back !== \"Four-Price Doji\") {\n if (basicCandle.size === \"Long\") {\n if (basicCandle.name === \"Green Candle\" || basicCandle.name === \"Long Green Candle\" || basicCandle.name === \"Green Marubozu\" || basicCandle.name === \"Opening Green Marubozu\" || basicCandle.name === \"Closing Green Marubozu\") {\n if (candle1Back.close >= candle.open && candle1Back.open < candle.close) { \n variable.name = \"Bullish Engulfing\"\n variable.forecast = \"Bullish Reversal\"\n }\n }\n }\n}\n\n/* \"BULLISH HARAMI\" properties:\n--First candle\n1) Can be the following red basic candles: Red Candle, Long Red Candle, Red Marubozu, Opening Red Marubozu, Closing Red Marubozu.\n2) Average size: Long.\n--Second candle\n1) Can be any green basic candle, excluding Four-Price Doji.\n2) Candle's body engulfed by the prior candle's body. */\n\nif (name1Back === \"Red Candle\" || name1Back === \"Long Red Candle\" || name1Back === \"Red Marubozu\" || name1Back === \"Opening Red Marubozu\" || name1Back === \"Closing Red Marubozu\") {\n if (size1Back === \"Long\") {\n if (basicCandle.direction === \"Bullish\" && basicCandle.name !== \"Four-Price Doji\") {\n if (candle1Back.close <= candle.open && candle1Back.open > candle.close) {\n variable.name = \"Bullish Harami\"\n variable.forecast = \"Bulliish Reversal\"\n }\n }\n }\n}\n\n/* \"BULLISH HARAMI CROSS\" properties:\n--First candle\n1) Can be the following red basic candles: Red Candle, Long Red Candle, Red Marubozu, Opening Red Marubozu, Closing Red Marubozu.\n2) Average size: Long.\n--Second candle\n1) Should be a Classic Doji.\n2) Candle's body (including shadows) engulfed by the prior candle's body. */\n\nif (name1Back === \"Red Candle\" || name1Back === \"Long Red Candle\" || name1Back === \"Red Marubozu\" || name1Back === \"Opening Red Marubozu\" || name1Back === \"Closing Red Marubozu\") {\n if (size1Back === \"Long\") {\n if (basicCandle.name === \"Classic Doji\") {\n if (candle1Back.open >= candle.max && candle1Back.close <= candle.min) {\n variable.name = \"Bullish Harami Cross\"\n variable.forecast = \"Bulliish Reversal\"\n }\n }\n }\n}\n\n/* \"BULLISH TASUKI LINE\" properties:\n--First candle\n1) Bearish candle.\n2) Average size: Long.\n--Second candle\n1) Bullish candle.\n2) Opening price above or equal to the previous closing price\n3) Closing price above the previous opening price\n4) Average size: Long. */\n\nif (direction1Back === \"Bearish\" && size1Back === \"Long\") {\n if (basicCandle.direction === \"Bullish\" && basicCandle.size === \"Long\") {\n if (candle.open >= candle1Back.close && candle.close > candle1Back.open) {\n variable.name = \"Bullish Tasuki Line\"\n variable.forecast = \"Bullish Reversal\"\n }\n }\n}\n\n/* \"TWEEZERS BOTTOM\" properties:\n--First candle\n1) Any candle except the Four-Price Doji.\n2) Could be \"Bullish\" or \"Bearish\" candle.\n--Second candle\n1) Any candle except the Four-Price Doji.\n2) Could be \"Bullish\" or \"Bearish\" candle.\n3) Low price equal to the previous low price. */\n\nif (candle1Back.name !== \"Four-Price Doji\" && basicCandle.name !== \"Four-Price Doji\" && candle.min === candle1Back.min) {\n variable.name = \"Tweezers Bottom\"\n variable.forecast = \"Bullish Reversal\"\n}\n\n} // Closing \"Bullish Reversal\" group\n\n// ----------------------------------------------------------------------------------------------------------------------------\n// From here all the variables that will be written in the records are defined \n// ----------------------------------------------------------------------------------------------------------------------------\n\nvariable.trend = trend1Back\nvariable.trendLine = oneCandlePattern.trendLine\nvariable.period = oneCandlePattern.period\nvariable.trendMethod = oneCandlePattern.trendMethod\nvariable.bearishArrowHead = candle.max*1.02 \nvariable.bullishArrowHead = candle.min*0.98\n\n} // Closing initial \"undefined\" avoid\n","id":"0df41d0a-e490-427e-a355-9043e81eb3c1","savedPayload":{"position":{"x":13755.528447648896,"y":13447.512291420955},"targetPosition":{"x":13657.40757812238,"y":13256.98251395223},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"36593fb7-a9ab-4e3f-95ff-9c291e0f96f6","savedPayload":{"position":{"x":13657.40757812238,"y":13256.98251395223},"targetPosition":{"x":13559.105250630211,"y":13066.765095328212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"/* Because this pattern has two candles, the properties of the previous candle are needed. */\nvariable.records1Back = [ ] // The properties will be record in this array","id":"36e0e453-9058-45de-bcff-bc1e17fe7aa8","savedPayload":{"position":{"x":13327.969640462394,"y":13428.28742578026},"targetPosition":{"x":13443.54991779977,"y":13247.4281381943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a939b7f6-400d-483f-9017-676c53451613","savedPayload":{"position":{"x":13443.54991779977,"y":13247.4281381943},"targetPosition":{"x":13559.105250630211,"y":13066.765095328212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"896e9b4a-04e0-497d-be61-af2c96bb9d86","savedPayload":{"position":{"x":13559.105250630211,"y":13066.765095328212},"targetPosition":{"x":13578.375673580053,"y":12639.385445487314},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"29283392-6a01-4acd-8f41-328e92281980","savedPayload":{"position":{"x":13882.339098726425,"y":12743.52855565509},"targetPosition":{"x":13413.800171630588,"y":12369.642948734469},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Two-Candles Patterns","id":"3bf46641-3478-41fd-8407-0af20e72f30b"}}},{"type":"Product Definition","name":"Three-Candles Patterns","config":"{\n \"codeName\": \"Three-Candles-Patterns\",\n \"singularVariableName\": \"threeCandlePattern\",\n \"pluralVariableName\": \"threeCandlePatterns\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"087fc67e-78f9-4204-ba5e-8b670566a716","savedPayload":{"position":{"x":13851.175863746987,"y":12834.903173390992},"targetPosition":{"x":13429.193521637542,"y":12758.445533257673},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"b60cb94f-79c5-410c-b166-abc97d0f2bc3","savedPayload":{"position":{"x":13725.421448780311,"y":13068.420472961838},"targetPosition":{"x":13429.193521637542,"y":12758.445533257673},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"Three-Candles Patterns Records","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"1c316dcb-6d17-4108-ac41-f2d059685e5e","savedPayload":{"position":{"x":13712.542565581156,"y":12928.267567628754},"targetPosition":{"x":13646.2528020738,"y":13076.332916058009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8328e683-8704-4b65-a774-63da0346e252","savedPayload":{"position":{"x":13646.2528020738,"y":13076.332916058009},"targetPosition":{"x":13515.517478056532,"y":13395.737992434184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"db0992c2-3fd6-4eb9-bbe9-40dad5ae53f6","savedPayload":{"position":{"x":13949.88679638202,"y":13123.784127773868},"targetPosition":{"x":13814.455798605359,"y":13209.582329209828},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"fbef0b72-edde-4678-aca5-f405068271b3","savedPayload":{"position":{"x":13814.455798605359,"y":13209.582329209828},"targetPosition":{"x":13515.517478056532,"y":13395.737992434184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"name","config":"{ \n\"codeName\": \"name\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.name","id":"c397cffb-3ba1-435b-af0b-e920b319b23b","savedPayload":{"position":{"x":13968.27807280601,"y":13400.681599528385},"targetPosition":{"x":13866.011553168468,"y":13400.088148035276},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"2f7591d7-6877-4fde-aafb-1b9580f6ad60","savedPayload":{"position":{"x":13866.011553168468,"y":13400.088148035276},"targetPosition":{"x":13515.517478056532,"y":13395.737992434184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"trend","config":"{ \n\"codeName\": \"trend\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.trend","id":"ea48eb6b-63a3-444c-abd2-166097bb50c5","savedPayload":{"position":{"x":13892.98151652456,"y":13644.320307843322},"targetPosition":{"x":13808.232018963066,"y":13589.060834230897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"162b594a-c0a4-45c0-a52c-45682978d00a","savedPayload":{"position":{"x":13808.232018963066,"y":13589.060834230897},"targetPosition":{"x":13515.517478056532,"y":13395.737992434184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"forecast","config":"{ \n\"codeName\": \"forecast\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.forecast","id":"fd07c697-966a-4a3c-a123-61198f194538","savedPayload":{"position":{"x":13699.765694019978,"y":13808.449358024422},"targetPosition":{"x":13658.291154118539,"y":13715.873340430791},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"c1afb085-e6cd-4c27-af62-6765cb270c1d","savedPayload":{"position":{"x":13658.291154118539,"y":13715.873340430791},"targetPosition":{"x":13515.517478056532,"y":13395.737992434184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"bullishArrowHead","config":"{ \n\"codeName\": \"bullishArrowHead\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.bullishArrowHead","id":"dd019f19-f96a-4e88-a2e1-0159ba87fbe3","savedPayload":{"position":{"x":13445.396619806143,"y":13843.248853638384},"targetPosition":{"x":13462.243205171326,"y":13742.129893275567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"7059a7a5-021b-4277-80b9-8ef4c5387736","savedPayload":{"position":{"x":13462.243205171326,"y":13742.129893275567},"targetPosition":{"x":13515.517478056532,"y":13395.737992434184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"bearishArrowHead","config":"{ \n\"codeName\": \"bearishArrowHead\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.bearishArrowHead","id":"bc455c93-3c64-4cf4-ab94-0116da22c404","savedPayload":{"position":{"x":13217.155985388858,"y":13734.590390467974},"targetPosition":{"x":13283.265704468504,"y":13657.842210763614},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"ec8749b1-4f5f-4163-b079-3dd9bec6eefa","savedPayload":{"position":{"x":13283.265704468504,"y":13657.842210763614},"targetPosition":{"x":13515.517478056532,"y":13395.737992434184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"trendLine","config":"{ \n\"codeName\": \"trendLine\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.trendLine","id":"54625f1a-aa6f-44a6-bf2e-bcf1f5210674","savedPayload":{"position":{"x":13081.677823664977,"y":13520.117187573072},"targetPosition":{"x":13178.99428754648,"y":13492.594215428027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"7a781a34-4af5-4eb1-b237-1746ea2e69d0","savedPayload":{"position":{"x":13178.99428754648,"y":13492.594215428027},"targetPosition":{"x":13515.517478056532,"y":13395.737992434184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"period","config":"{ \n\"codeName\": \"period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.period","id":"fd68bb74-c7f3-48ff-941c-121031aaf6a1","savedPayload":{"position":{"x":13034.85048473964,"y":13241.29427636059},"targetPosition":{"x":13188.32743666253,"y":13290.020273219629},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b738ac34-a6eb-41c3-9871-0fc1732be676","savedPayload":{"position":{"x":13188.32743666253,"y":13290.020273219629},"targetPosition":{"x":13515.517478056532,"y":13395.737992434184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"trendMethod","config":"{ \n\"codeName\": \"trendMethod\",\n\"isString\": true,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.trendMethod","id":"65ed19cf-524e-4ccd-94df-c60c9b41c40a","savedPayload":{"position":{"x":13180.451706501946,"y":13007.881107759697},"targetPosition":{"x":13286.409565424477,"y":13129.715292073894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"32ff1b3e-acb0-4961-82b9-1dd37a795c41","savedPayload":{"position":{"x":13286.409565424477,"y":13129.715292073894},"targetPosition":{"x":13515.517478056532,"y":13395.737992434184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8a01e390-aea9-494b-a002-9c7498f23189","savedPayload":{"position":{"x":13515.464703469806,"y":13395.67991671183},"targetPosition":{"x":13429.193521637542,"y":12758.445533257673},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","name":"Three-Candles Patterns Code","code":"// -----------------------------------------------------------------------------------------------------------------------------\n// From here the variables that will be used during the definition of the patterns will be defined\n// -----------------------------------------------------------------------------------------------------------------------------\n\n /* In order to avoid errors, the initial condition of the output variables are defined */\nvariable.name = \"No Pattern\" // The name of the pattern, for panel visualization\nvariable.forecast = \"None\" // The forecast of the pattern, for panel visualization\nvariable.trend = \"None\" // The trend of the current pattern, for panel visualization\nvariable.trendLine = 1 // This record will be for pattern shapes visualization on the chart\nvariable.bearishArrowHead = 1 // This record will be for pattern shapes visualization on the chart\nvariable.bullishArrowHead = 1 // This record will be for pattern shapes visualization on the chart\nvariable.period = 0 // The period of the trend MA, for panel visualization\n\n/* \"Candles\", \"Basic Candles\" and \"One-Candle Patterns\" are dependencies */\nlet candle = record.current // Calling \"Candles\" records\nlet basicCandle = getElement ('basicCandles', candle) // Calling \"Basic Candles\" records\nlet oneCandlePattern = getElement ('oneCandlePatterns', candle) // Calling \"One-Candle Patterns\" records\n\n/* Some properties of the previous 2 candles are needed (max, min, open and close) */\nlet candle1Back = mainDependency.records[index - 1] \nlet candle2Back = mainDependency.records[index - 2] \n\n/* To avoid \"undefined\" elements during calculations, the following if() condition will include all the entire code */\nif (basicCandle !== undefined && oneCandlePattern !== undefined && candle1Back !== undefined && candle2Back !== undefined) { \n\n/*To define patterns, another properties of the 2 previous candles are needed (trend, size, name and direction)*/\nvariable.recordsBack.push(oneCandlePattern.trend, basicCandle.size, basicCandle.name, basicCandle.direction)\nlet trend1Back = \"None\"\nlet size1Back = \"None\"\nlet name1Back = \"None\"\nlet direction1Back = \"None\"\nlet trend2Back = \"None\"\nlet size2Back = \"None\"\nlet name2Back = \"None\"\nlet direction2Back = \"None\"\n\nif (variable.recordsBack[0] !== undefined) {\n trend2Back = variable.recordsBack[0] // Taking first element of the array (index 0)\n}\nif (variable.recordsBack[1] !== undefined) {\n size2Back = variable.recordsBack[1] // Taking second element of the array (index 1)\n}\nif (variable.recordsBack[2] !== undefined) {\n name2Back = variable.recordsBack[2] // Taking third element of the array (index 2)\n}\nif (variable.recordsBack[3] !== undefined) {\n direction2Back = variable.recordsBack[3] // Taking fourth element of the array (index 3)\n}\nif (variable.recordsBack[0] !== undefined) {\n trend1Back = variable.recordsBack[4] // Taking fifth element of the array (index 4)\n}\nif (variable.recordsBack[1] !== undefined) {\n size1Back = variable.recordsBack[5] // Taking sixth element of the array (index 5)\n}\nif (variable.recordsBack[2] !== undefined) {\n name1Back = variable.recordsBack[6] // Taking seventh element of the array (index 6)\n}\nif (variable.recordsBack[3] !== undefined) {\n direction1Back = variable.recordsBack[7] // Taking eigthth element of the array (index 7)\n}\nif (variable.recordsBack.length === 12) { // Array with 12 elements, 4 currents, 4 from 1 previous and 4 from 2 previous \n variable.recordsBack.splice(0, 4) // Remove the first 4 elements of the array\n} \n\n// ----------------------------------------------------------------------------------------------------------------------------\n// From here patterns will be defined\n// ----------------------------------------------------------------------------------------------------------------------------\n\n/* Patterns will be grouped as follows:\n1) Bearish continuation --> These patterns indicates that the current downtrend could continue.\n2) Bearish Reversal --> These patterns indicates that the current uptrend could turn to downtrend.\n3) Bullish Continuation --> These patterns indicates that the current uptrend could continue.\n4) Bullish Reversal --> These patterns indicates that the current downtrend could turn to uptrend. */\n\n/* \"BEARISH CONTINUATION\" group:\nThese patterns should appear during a downtrend to be valid*/\nif (trend2Back === \"Downtrend\") {\n\n} // Closing \"Bearish Continuation\" group\n\n//-------------------------------------------------------\n\n/* \"BEARISH REVERSAL\" group:\nThese patterns should appear during an uptrend to be valid */\nif (trend2Back === \"Uptrend\") {\n\n/* \"ADVANCE BLOCK\" properties:\n--First candle\n1) Any following bullish basic candle: Green Candle, Long Green Candle, Opening Green Marubozu, Closing Green Marubozu or Green Marubozu.\n2) Average size: Long.\n--Second candle\n1) Bullish.\n2) Body shortet than the previous candle.\n3) Shadows longer than the first candle.\n--Third Candle \n1) Bullish.\n2) Body shortet than the previous candle.\n3) Shadows longer than the first candle. */\n\nif (name2Back === \"Green Candle\" || name2Back === \"Long Green Candle\" || name2Back === \"Opening Green Marubozu\" || name2Back === \"Closing Green Marubozu\" || name2Back === \"Green Marubozu\") {\n if (size2Back === \"Long\") {\n if (direction1Back === \"Bullish\" && (candle1Back.close - candle1Back.open) < (candle2Back.close - candle2Back.open) ) {\n if (basicCandle.direction === \"Bullish\" && (candle.close-candle.open) < (candle1Back.close - candle1Back.open) ) {\n variable.name = \"Advance Block\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n }\n}\n\n/* \"DELIBERATION\" properties:\n--First candle\n1) Any following bullish basic candle: Green Candle, Long Green Candle, Opening Green Marubozu, Closing Green Marubozu or Green Marubozu.\n--Second candle\n1) Any following bullish basic candle: Green Candle, Long Green Candle, Opening Green Marubozu, Closing Green Marubozu or Green Marubozu.\n2) Opening price is above the previous opening price.\n3) Closing price is above the previous closing price.\n--Third Candle \n1) Any following bullish basic candle: Short Green Candle or Green Spinning Top.\n2) Opening price is slightly lower or higher than the previous closing price.\n3) Closing price is above the previous closing price.\n4) Average size: Short. */\n\nif (name2Back === \"Green Candle\" || name2Back === \"Long Green Candle\" || name2Back === \"Opening Green Marubozu\" || name2Back === \"Closing Green Marubozu\" || name2Back === \"Green Marubozu\") {\n if (name1Back === \"Green Candle\" || name1Back === \"Long Green Candle\" || name1Back === \"Opening Green Marubozu\" || name1Back === \"Closing Green Marubozu\" || name1Back === \"Green Marubozu\") {\n if (candle1Back.open > candle2Back.open && candle1Back.close > candle2Back.close) {\n if (basicCandle.name === \"Short Green Candle\" || basicCandle.name === \"Green Spinning Top\") { \n if (basicCandle.size === \"Short\" && candle.close > candle1Back.close) {\n variable.name = \"Deliberation\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n }\n }\n}\n\n/* \"IDENTICAL THREE CROWS\" properties:\n--First candle\n1) Any following bearish basic candle: Red Candle, Long Red Candle, Red Marubozu, Opening Red Marubozu, Closing Red Marubozu.\n2) Average size: Long.\n--Second candle\n1) Any following bearish basic candle: Red Candle, Long Red Candle, Red Marubozu, Opening Red Marubozu, Closing Red Marubozu.\n2) Average size: Long. \n3) Opening price at or near the prior close.\n--Third Candle\n1) Any following bearish basic candle: Red Candle, Long Red Candle, Red Marubozu, Opening Red Marubozu, Closing Red Marubozu.\n2) Average size: Long. \n3) Opening price at or near the prior close.*/\n\nif (name2Back === \"Red Candle\" || name2Back === \"Long Red Candle\" || name2Back === \"Red Marubozu\" || name2Back === \"Opening Red Marubozu\" || name2Back === \"Closing Red Marubozu\") {\n if (name1Back === \"Red Candle\" || name1Back === \"Long Red Candle\" || name1Back === \"Red Marubozu\" || name1Back === \"Opening Red Marubozu\" || name1Back === \"Closing Red Marubozu\") {\n if (basicCandle.name === \"Red Candle\" || basicCandle.name === \"Long Red Candle\" || basicCandle.name === \"Red Marubozu\" || basicCandle.name === \"Opening Red Marubozu\" || basicCandle.name === \"Closing Red Marubozu\") {\n if (size2Back === \"Long\" && size1Back === \"Long\" && basicCandle.size === \"Long\") {\n variable.name = \"Identical Three Crows\"\n variable.forecast = \"Bulliish Reversal\"\n }\n }\n }\n}\n\n/* \"THREE INSIDE DOWN\" properties:\n1) Any following bullish basic candle: Green Candle, Long Green Candle, Opening Green Marubozu, Closing Green Marubozu or Green Marubozu.\n2) Average size: Long.\n--Second candle\n1) Any following bearish basic candle: Red Candle, Long Red Candle, Red Marubozu, Opening Red Marubozu, Closing Red Marubozu or Red Spinning Top.\n2) Candle body is engulfed by the prior candle body.\n--Third Candle \n1) Any following bearish basic candle: Red Candle, Long Red Candle, Red Marubozu, Opening Red Marubozu, Closing Red Marubozu or Red Spinning Top.\n2) Closing price is below the previous closing price. */\n\nif (name2Back === \"Green Candle\" || name2Back === \"Long Green Candle\" || name2Back === \"Opening Green Marubozu\" || name2Back === \"Closing Green Marubozu\" || name2Back === \"Green Marubozu\") {\n if (size2Back === \"Long\") {\n if (name1Back === \"Red Candle\" || name1Back === \"Long Red Candle\" || name1Back === \"Red Marubozu\" || name1Back === \"Opening Red Marubozu\" || name1Back === \"Closing Red Marubozu\" || name1Back === \"Red Spinning Top\") {\n if (candle1Back.close > candle2Back.open) {\n if (basicCandle.name === \"Red Candle\" || basicCandle.name === \"Long Red Candle\" || basicCandle.name === \"Red Marubozu\" || basicCandle.name === \"Opening Red Marubozu\" || basicCandle.name === \"Closing Red Marubozu\" || basicCandle.name === \"Red Spinning Top\") {\n variable.name = \"Three Inside Down\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n }\n }\n}\n\n/* \"THREE OUTSIDE DOWN\" properties:\n1) Any bullish basic candle except \"Four-Price Doji\".\n--Second candle\n1) Any following bearish basic candle: Red Candle, Long Red Candle, Red Marubozu, Opening Red Marubozu, Closing Red Marubozu.\n2) Candle's body engulfs the prior candle's body. \n3) Average size: Long.\n--Third Candle \n1) Any bearish basic candle except \"Four-Price Doji\".\n2) Closing price is below the previous closing price. */ \n\nif (direction2Back === \"Bullish\" && name2Back !== \"Four-Price Doji\") {\n if (name1Back === \"Red Candle\" || name1Back === \"Long Red Candle\" || name1Back === \"Red Marubozu\" || name1Back === \"Opening Red Marubozu\" || name1Back === \"Closing Red Marubozu\") {\n if (candle1Back.close < candle2Back.open && size1Back === \"Long\") {\n if (basicCandle.direction === \"Bearish\" && basicCandle.name !== \"Four-Price Doji\") {\n variable.name = \"Three Outside Down\"\n variable.forecast = \"Bearish Reversal\"\n }\n }\n }\n}\n\n} // Closing \"Bearish Reversal\" group\n\n//-------------------------------------------------------\n\n/* \"BULLISH CONTINUATION\" group:\nThese patterns should appear during an uptrend to be valid */\nif (trend2Back === \"Uptrend\") {\n\n\n\n} // Closing \"Bullish Continuation\" group\n \n//-------------------------------------------------------\n\n/* \"BULLISH REVERSAL\" group:\nThese patterns should appear during a downtrend*/\nif (trend2Back === \"Downtrend\") {\n\n/* \"THREE INSIDE UP\" properties:\n1) Any following bearish basic candle: Red Candle, Long Red Candle, Red Marubozu, Opening Red Marubozu, Closing Red Marubozu.\n2) Average size: Long.\n--Second candle\n1) Any following bullish basic candle: Green Candle, Long Green Candle, Opening Green Marubozu, Closing Green Marubozu, Green Marubozu or Green Spinning Top.\n2) Candle body is engulfed by the prior candle body.\n--Third Candle \n1) Any following bullish basic candle: Green Candle, Long Green Candle, Opening Green Marubozu, Closing Green Marubozu, Green Marubozu or Green Spinning Top.\n2) Closing price is above the previous closing price. */\n\nif (name2Back === \"Red Candle\" || name2Back === \"Long Red Candle\" || name2Back === \"Opening Red Marubozu\" || name2Back === \"Closing Red Marubozu\" || name2Back === \"Red Marubozu\") {\n if (size2Back === \"Long\") {\n if (name1Back === \"Green Candle\" || name1Back === \"Long Green Candle\" || name1Back === \"Green Marubozu\" || name1Back === \"Opening Green Marubozu\" || name1Back === \"Closing Green Marubozu\" || name1Back === \"Green Spinning Top\") {\n if (candle1Back.close < candle2Back.open) {\n if (basicCandle.name === \"Green Candle\" || basicCandle.name === \"Long Green Candle\" || basicCandle.name === \"Green Marubozu\" || basicCandle.name === \"Opening Green Marubozu\" || basicCandle.name === \"Closing Green Marubozu\" || basicCandle.name === \"Green Spinning Top\") {\n variable.name = \"Three Inside Up\"\n variable.forecast = \"Bullish Reversal\"\n }\n }\n }\n }\n}\n\n/* \"THREE OUTSIDE UP\" properties:\n1) Any bearish basic candle except \"Four-Price Doji\".\n--Second candle\n1) Any following bearish basic candle: Green Candle, Long Green Candle, Green Marubozu, Opening Green Marubozu, Closing Green Marubozu.\n2) Candle's body engulfs the prior candle's body. \n3) Average size: Long.\n--Third Candle \n1) Any bullish basic candle except \"Four-Price Doji\".\n2) Closing price is above the previous closing price. */ \n\nif (direction2Back === \"Bearish\" && name2Back !== \"Four-Price Doji\") {\n if (name1Back === \"Green Candle\" || name1Back === \"Long Green Candle\" || name1Back === \"Green Marubozu\" || name1Back === \"Opening Green Marubozu\" || name1Back === \"Closing Green Marubozu\") {\n if (candle1Back.close > candle2Back.open && size1Back === \"Long\") {\n if (basicCandle.direction === \"Bullish\" && basicCandle.name !== \"Four-Price Doji\") {\n variable.name = \"Three Outside Up\"\n variable.forecast = \"Bullish Reversal\"\n }\n }\n }\n}\n\n} // Closing \"Bullish Reversal\" group\n\n// ----------------------------------------------------------------------------------------------------------------------------\n// From here all the variables that will be written in the records are defined \n// ----------------------------------------------------------------------------------------------------------------------------\n\nvariable.trend = trend2Back\nvariable.trendLine = oneCandlePattern.trendLine\nvariable.period = oneCandlePattern.period\nvariable.trendMethod = oneCandlePattern.trendMethod\nvariable.bearishArrowHead = candle.max*1.02\nvariable.bullishArrowHead = candle.min*0.98 \n\n} // Closing initial \"undefined\" avoid","id":"e4b8fa10-e9de-48b2-871b-fd5bc2be8544","savedPayload":{"position":{"x":13144.217059892999,"y":13965.83677913675},"targetPosition":{"x":13134.711156761423,"y":13644.568772894461},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a3ca00b1-8cb7-40f0-9d46-e86bcae26607","savedPayload":{"position":{"x":13134.711156761423,"y":13644.568772894461},"targetPosition":{"x":13125.212433068718,"y":13323.386475315809},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"/* Because of these patterns have three candles, the properties of the previous 2 candles are needed. */\nvariable.recordsBack = [ ] // The properties will be recorded in this array","id":"69da8b87-1e7f-45f4-bd47-9a9b0a2057e0","savedPayload":{"position":{"x":12578.355481404851,"y":13661.337852891424},"targetPosition":{"x":12851.757409287682,"y":13492.383073897743},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"20684141-89f4-4049-8130-5219f9934b94","savedPayload":{"position":{"x":12851.757409287682,"y":13492.383073897743},"targetPosition":{"x":13125.212433068718,"y":13323.386475315809},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1193e656-0fce-4d39-8f46-316d51a8bb95","savedPayload":{"position":{"x":13125.212433068718,"y":13323.386475315809},"targetPosition":{"x":13429.193521637542,"y":12758.445533257673},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1b6f79d8-d1ba-49e5-a808-42f71fba5657","savedPayload":{"position":{"x":13673.602530210288,"y":12909.838162752221},"targetPosition":{"x":13413.800171630588,"y":12369.642948734469},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Three-Candles Patterns","id":"acdb9c43-0859-42be-87b0-1a600cf513d4"}}}],"id":"254b4e7d-0ede-4208-8f0a-a486dd1a0faf","savedPayload":{"position":{"x":13414.087650454898,"y":12369.640922591701},"targetPosition":{"x":12814.727007364905,"y":12369.63867824567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"plotters":[{"type":"Plotter","name":"Candle Patterns","config":"{\n\"codeName\": \"Candle-Patterns\"\n}","modules":[{"type":"Plotter Module","name":"Basic Candles","config":"{ \n\"codeName\": \"Basic-Candles\"\n}","shapes":{"type":"Shapes","name":"Basic Candles","chartPoints":[{"type":"Chart Points","name":"Candle Min","points":[{"type":"Point","name":"Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin-(record.end-record.begin)/2\ny = record.previous.min","id":"da43ce7b-c3af-49b7-a95c-025494c40a6e","savedPayload":{"position":{"x":13110.282195608808,"y":12195.993125135315},"targetPosition":{"x":12994.216483409029,"y":12473.561191110108},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"84c72ff6-fc9c-4869-bd8e-ea8404df0a0f","savedPayload":{"position":{"x":12994.216483409029,"y":12473.561191110108},"targetPosition":{"x":12875.686282346545,"y":12756.617284659204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end-(record.end-record.begin)/2\ny = record.min","id":"ee2ef08b-7253-46c1-a087-49feaeae0bd9","savedPayload":{"position":{"x":13360.512048293152,"y":12387.825358003378},"targetPosition":{"x":13120.78983976505,"y":12569.94772595611},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b077cf02-7c54-4023-9182-4de81327ff35","savedPayload":{"position":{"x":13120.78983976505,"y":12569.94772595611},"targetPosition":{"x":12875.686282346545,"y":12756.617284659204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2fe07cd8-53ed-4533-a747-05b3906b4755","savedPayload":{"position":{"x":12903.35665618375,"y":12941.244625580674},"targetPosition":{"x":12638.251559040937,"y":13284.489270665135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Mean Length","points":[{"type":"Point","name":"Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin-(record.end-record.begin)/2\ny = record.previous.min + record.previous.meanLength","id":"c8b8a404-7746-458c-91a4-61d13114c824","savedPayload":{"position":{"x":13674.981762867,"y":12515.834200242623},"targetPosition":{"x":13350.408326842142,"y":12803.009587984676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2b2ed3d9-a095-403e-8ed8-62f7e73e9f1c","savedPayload":{"position":{"x":13350.408326842142,"y":12803.009587984676},"targetPosition":{"x":13026.034916144921,"y":13090.580745141615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end-(record.end-record.begin)/2\ny = record.min + record.meanLength","id":"372fd8b2-9346-4c0a-8465-cb4e2ece90bc","savedPayload":{"position":{"x":13875.784481988381,"y":12917.116743276165},"targetPosition":{"x":13450.964955069625,"y":13003.942012342452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"628ac9f1-445b-4638-8fd5-aa62f6fd859c","savedPayload":{"position":{"x":13450.964955069625,"y":13003.942012342452},"targetPosition":{"x":13026.034916144921,"y":13090.580745141615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"86515391-e909-4183-a0bb-2f6b6d452087","savedPayload":{"position":{"x":13026.32617734286,"y":13090.269643847589},"targetPosition":{"x":12638.251559040937,"y":13284.489270665135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"avgRef","points":[{"type":"Point","name":"Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin-(record.end-record.begin)/2\ny = record.previous.min + record.previous.avgRef","id":"a231e15f-f884-4326-983c-001a812d2e08","savedPayload":{"position":{"x":13580.10769680475,"y":12824.10424286175},"targetPosition":{"x":13290.893379454068,"y":12905.233289258958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"41fec509-9af9-4ef7-b947-90382ad5ee5d","savedPayload":{"position":{"x":13290.893379454068,"y":12905.233289258958},"targetPosition":{"x":12992.173878231406,"y":12989.990520965595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end-(record.end-record.begin)/2\ny = record.min + record.avgRef","id":"69d5c95c-ec98-4656-9057-54ab9fc64a1e","savedPayload":{"position":{"x":13590.10808012087,"y":13126.102004076825},"targetPosition":{"x":13290.760663334695,"y":13065.4114836196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9703549c-8ca6-4293-b4ec-83a4f899c806","savedPayload":{"position":{"x":13290.760663334695,"y":13065.4114836196},"targetPosition":{"x":12992.173878231406,"y":12989.990520965595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3fe2df6a-c2fe-4f66-8529-c959ba7dd010","savedPayload":{"position":{"x":13072.217717807223,"y":13277.909182153533},"targetPosition":{"x":12638.251559040937,"y":13284.489270665135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Candle Min","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.4,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"e19cb185-a1ae-4595-b22f-825aabca3f15","savedPayload":{"position":{"x":13899.325606638775,"y":13502.189010473792},"targetPosition":{"x":13466.00072215658,"y":13484.298235988446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"0c47d43f-28d6-4e22-bcab-ce1a5ba86b13","savedPayload":{"position":{"x":13466.00072215658,"y":13484.298235988446},"targetPosition":{"x":13032.449816978864,"y":13466.686272810779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"aeb3daf8-939c-472d-a653-bb053b201626","savedPayload":{"position":{"x":13426.266173008375,"y":13648.937392022211},"targetPosition":{"x":13032.449816978864,"y":13466.686272810779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"84c72ff6-fc9c-4869-bd8e-ea8404df0a0f"}}},{"type":"Polygon Vertex","name":"End","id":"cf9cdbd9-6a4d-4958-906f-555616617a31","savedPayload":{"position":{"x":13342.014716791742,"y":13763.213382731363},"targetPosition":{"x":13032.449816978864,"y":13466.686272810779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"b077cf02-7c54-4023-9182-4de81327ff35"}}}],"id":"0e718fe1-b457-49b9-a1cd-118bd9f111f4","savedPayload":{"position":{"x":13032.449816978864,"y":13466.686272810779},"targetPosition":{"x":12638.251559040937,"y":13284.489270665135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Mean Length","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.4,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"51351071-cd12-48d6-aa76-8755bd6322b4","savedPayload":{"position":{"x":13666.999573020848,"y":14050.185199194617},"targetPosition":{"x":13284.381789462774,"y":13846.123152442866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"8487ed2a-b56a-4d41-895c-569bf127fedc","savedPayload":{"position":{"x":13284.381789462774,"y":13846.123152442866},"targetPosition":{"x":12917.019884931922,"y":13619.27300968067},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"4db28f87-f9dd-4420-87bc-d210699f8a01","savedPayload":{"position":{"x":13192.651560435994,"y":13954.60359648621},"targetPosition":{"x":12917.019884931922,"y":13619.27300968067},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"2b2ed3d9-a095-403e-8ed8-62f7e73e9f1c"}}},{"type":"Polygon Vertex","name":"End","id":"a4fa988d-7488-4bf4-90f9-2ee6fd939475","savedPayload":{"position":{"x":13065.544990465556,"y":14023.63434542394},"targetPosition":{"x":12917.019884931922,"y":13619.27300968067},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"628ac9f1-445b-4638-8fd5-aa62f6fd859c"}}}],"id":"32840d7a-c3be-4c5c-8604-ddec41903a8e","savedPayload":{"position":{"x":12917.019884931922,"y":13619.27300968067},"targetPosition":{"x":12638.251559040937,"y":13284.489270665135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"avgRef","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.4,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n }\n}","id":"dc036a39-a0d7-43f5-ae0a-f49f80566f35","savedPayload":{"position":{"x":13230.635172673361,"y":14417.838540049765},"targetPosition":{"x":12974.46818008449,"y":14067.767486930798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"332c16f9-b95f-4a5d-a0a7-825adec7b190","savedPayload":{"position":{"x":12974.46818008449,"y":14067.767486930798},"targetPosition":{"x":12740.57905830516,"y":13706.618600196296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"6df63fd0-62c4-49d9-aa62-43e4ebb9e2a3","savedPayload":{"position":{"x":12843.079505076355,"y":14128.428182546144},"targetPosition":{"x":12740.57905830516,"y":13706.618600196296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"41fec509-9af9-4ef7-b947-90382ad5ee5d"}}},{"type":"Polygon Vertex","name":"End","id":"66870fcb-caf4-4e03-9db2-4f7fc0f8cae2","savedPayload":{"position":{"x":12674.343097693361,"y":14135.709533911344},"targetPosition":{"x":12740.57905830516,"y":13706.618600196296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"9703549c-8ca6-4293-b4ec-83a4f899c806"}}}],"id":"b504d259-c93f-4dfa-af0f-ffc23b3e616d","savedPayload":{"position":{"x":12740.57905830516,"y":13706.618600196296},"targetPosition":{"x":12638.251559040937,"y":13284.489270665135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"dc146044-78b9-46c7-8e91-47619c333444","savedPayload":{"position":{"x":12638.251559040937,"y":13284.489270665135},"targetPosition":{"x":12214.033103903701,"y":13194.687290359432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Basic Candles","config":"{ \n\"codeName\": \"Basic-Candles\"\n}","panelData":[{"type":"Panel Data","name":"Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.name","id":"b94b9d37-1552-4a01-b14b-4897feedd52f","savedPayload":{"position":{"x":12950.934519170283,"y":13190.023846682448},"targetPosition":{"x":12531.916496280735,"y":13304.099017127919},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6c416dd7-5075-49cc-b404-52fcca7a314c","savedPayload":{"position":{"x":12531.916496280735,"y":13304.099017127919},"targetPosition":{"x":11997.218136246851,"y":13378.24956362483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Size","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.size","id":"7ab67e86-30c4-4d4c-9048-156de658edaa","savedPayload":{"position":{"x":12818.121609097314,"y":13639.906577355407},"targetPosition":{"x":12410.56426043612,"y":13508.565731215724},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"84776c6f-6b89-4889-a119-f407ad30a39b","savedPayload":{"position":{"x":12410.56426043612,"y":13508.565731215724},"targetPosition":{"x":11997.218136246851,"y":13378.24956362483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Upper Shadow %","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.upperShadowPercent","id":"1515c038-a83d-4a33-803d-93f19df9d44f","savedPayload":{"position":{"x":12551.685585087776,"y":14045.079212062652},"targetPosition":{"x":12274.567066006663,"y":13711.72979369883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5bfcb212-425e-481c-93ee-4ddfe0365d04","savedPayload":{"position":{"x":12274.567066006663,"y":13711.72979369883},"targetPosition":{"x":11997.218136246851,"y":13378.24956362483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Body %","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.bodyPercent","id":"13fb74c6-4320-4755-b896-e3c15b507a8c","savedPayload":{"position":{"x":12103.605016969954,"y":14239.488944626926},"targetPosition":{"x":12050.378830236372,"y":13808.968344141702},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4787fdfa-a1b4-4252-be30-1c394ae28d23","savedPayload":{"position":{"x":12050.378830236372,"y":13808.968344141702},"targetPosition":{"x":11997.218136246851,"y":13378.24956362483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Lower Shadow %","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.lowerShadowPercent","id":"621a0736-7286-407f-be3c-7f9237c1c4e6","savedPayload":{"position":{"x":11621.729505574809,"y":14160.576139425897},"targetPosition":{"x":11809.396154587215,"y":13769.515187812322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"10570ba3-e68c-4aa0-83b9-daed46a61cee","savedPayload":{"position":{"x":11809.396154587215,"y":13769.515187812322},"targetPosition":{"x":11997.218136246851,"y":13378.24956362483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Parameter: \"Nbodies\"","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.Nbodies","id":"1ae2288d-9479-410d-9243-21430691060b","savedPayload":{"position":{"x":11258.374361905973,"y":13833.36156291626},"targetPosition":{"x":11627.688712830246,"y":13605.87956361189},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"34f62235-4353-4f23-8630-841fbee8665b","savedPayload":{"position":{"x":11627.688712830246,"y":13605.87956361189},"targetPosition":{"x":11997.218136246851,"y":13378.24956362483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Parameter: \"dojiFactor\" %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.dojiFactor","id":"165f2a72-3eac-4740-8445-c9aa133e0ae4","savedPayload":{"position":{"x":11129.516280374326,"y":13362.337376733321},"targetPosition":{"x":11563.267092073813,"y":13370.303761730143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8fe17343-1ae4-4ba8-990a-bfe78872d998","savedPayload":{"position":{"x":11563.267092073813,"y":13370.303761730143},"targetPosition":{"x":11997.218136246851,"y":13378.24956362483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Parameter: \"sizeFactor\" %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeFactor","id":"6d9b3c35-1b25-46fb-8b16-ad551cf53493","savedPayload":{"position":{"x":11331.231078352494,"y":12922.89489083281},"targetPosition":{"x":11636.606888539442,"y":13137.046255151176},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6c2bd7cb-ea2a-48fe-9328-6e7cf397abe5","savedPayload":{"position":{"x":11636.606888539442,"y":13137.046255151176},"targetPosition":{"x":11997.218136246851,"y":13378.24956362483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Parameter: \"Nlengths\"","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.Nlengths","id":"42a0f840-7b6f-4e38-ac13-442a40767d70","savedPayload":{"position":{"x":11651.534439863974,"y":12582.697671998065},"targetPosition":{"x":11824.373947648963,"y":12980.413002185789},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"26d5e8b8-22fc-40fc-bb28-c3d5272845d0","savedPayload":{"position":{"x":11824.373947648963,"y":12980.413002185789},"targetPosition":{"x":11997.218136246851,"y":13378.24956362483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Average Size Method","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeMethod","id":"867e57e7-6fc8-4e52-834d-f20f077f37fd","savedPayload":{"position":{"x":12101.999381865786,"y":12464.470191722743},"targetPosition":{"x":12032.629345417734,"y":12893.170450699885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"87d0bb1d-c8e2-47a6-85cc-4e747082305f","savedPayload":{"position":{"x":12032.629345417734,"y":12893.170450699885},"targetPosition":{"x":11997.218136246851,"y":13378.24956362483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7e6dc8b6-bdeb-4f1a-bf39-a239fa100200","savedPayload":{"position":{"x":11997.218136246851,"y":13378.24956362483},"targetPosition":{"x":12214.033103903701,"y":13194.687290359432},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"09e0a24c-ead1-40c6-9e43-72b46e4294c5","savedPayload":{"position":{"x":12400.221306912656,"y":12940.15860808845},"targetPosition":{"x":12215.097662258146,"y":12369.642313054686},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"One-Candle Patterns","config":"{ \n\"codeName\": \"One-Candle-Patterns\"\n}","shapes":{"type":"Shapes","name":"One-Candle Pattern","chartPoints":[{"type":"Chart Points","name":"Bearish Arrow","points":[{"type":"Point","name":"-1-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin-(record.end-record.begin)\ny = record.bearishArrowHead*1.01","id":"e175ab11-cdad-4cfa-bc0e-e9d68fd56419","savedPayload":{"position":{"x":12966.787314972113,"y":12876.25269471072},"targetPosition":{"x":12753.134832990097,"y":13111.60081755436},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f0e4b32d-4c67-44a9-b215-46dd2de99095","savedPayload":{"position":{"x":12753.134832990097,"y":13111.60081755436},"targetPosition":{"x":12326.43647678502,"y":13582.024177115438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-2-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.bearishArrowHead*1.01","id":"ad0cc3d5-6a7a-45ac-b7db-41438836230c","savedPayload":{"position":{"x":13188.698583313915,"y":13175.382547406043},"targetPosition":{"x":12900.901006833647,"y":13310.765620915807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"23dc1c78-a55d-482c-be5b-f6893e5294c7","savedPayload":{"position":{"x":12900.901006833647,"y":13310.765620915807},"targetPosition":{"x":12326.43647678502,"y":13582.024177115438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-3-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.bearishArrowHead*1.03","id":"16686f17-868b-406b-a3ab-f4e9dbc8a002","savedPayload":{"position":{"x":13279.42407252152,"y":13536.112534371197},"targetPosition":{"x":12961.563746018306,"y":13551.287785059485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2c9565a9-49d5-4f04-91ad-a073ff669a46","savedPayload":{"position":{"x":12961.563746018306,"y":13551.287785059485},"targetPosition":{"x":12326.43647678502,"y":13582.024177115438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-4-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bearishArrowHead*1.03","id":"1c6a13b5-d22c-4c2f-b692-a387651394ab","savedPayload":{"position":{"x":13224.043950707455,"y":13903.667239582453},"targetPosition":{"x":12924.463794507476,"y":13796.300601228326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"fe68b37d-0bf8-4347-9e38-4013fa120bc8","savedPayload":{"position":{"x":12924.463794507476,"y":13796.300601228326},"targetPosition":{"x":12326.43647678502,"y":13582.024177115438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-5-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bearishArrowHead*1.01","id":"7de429ac-d43c-4d1f-970a-69cfdcbc1fcc","savedPayload":{"position":{"x":13032.693144240584,"y":14223.005189380063},"targetPosition":{"x":12797.046356190494,"y":14009.011846078227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a4e0461d-4d13-4a01-9332-3fd94aa6647a","savedPayload":{"position":{"x":12797.046356190494,"y":14009.011846078227},"targetPosition":{"x":12326.43647678502,"y":13582.024177115438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-6-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end+(record.end-record.begin)\ny = record.bearishArrowHead*1.01","id":"e156a730-1cf6-40a2-8272-8ba1ff8534a7","savedPayload":{"position":{"x":12733.447295989048,"y":14444.410884497265},"targetPosition":{"x":12597.601234203059,"y":14156.747031613177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"7b205c46-8dc6-4e0b-bca6-258a84c652c5","savedPayload":{"position":{"x":12597.601234203059,"y":14156.747031613177},"targetPosition":{"x":12326.43647678502,"y":13582.024177115438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-7-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end-(record.end-record.begin)/2\ny = record.bearishArrowHead","id":"459bad82-6540-43d3-8c3c-73b119d4dfed","savedPayload":{"position":{"x":12372.086359532801,"y":14534.785266190853},"targetPosition":{"x":12356.993283442112,"y":14216.765673787346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"71bbdced-dc17-4019-a104-c37bd0ecdc98","savedPayload":{"position":{"x":12356.993283442112,"y":14216.765673787346},"targetPosition":{"x":12326.43647678502,"y":13582.024177115438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fccdf048-5edb-4377-9f0e-27a4c21e21f1","savedPayload":{"position":{"x":12354.671762636895,"y":13513.06381252222},"targetPosition":{"x":11790.262266933503,"y":13310.57843518611},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Trend Line","points":[{"type":"Point","name":"Trend Line Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.trendLine\n","id":"1b000a16-4143-4eb2-8b9c-9661ddad10ed","savedPayload":{"position":{"x":12564.49479407521,"y":13763.907165468876},"targetPosition":{"x":12257.881406036257,"y":13679.151491924744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0a20e46e-5535-4cb4-b34a-36faec96f4da","savedPayload":{"position":{"x":12257.881406036257,"y":13679.151491924744},"targetPosition":{"x":11951.44041975115,"y":13594.17043507212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Trend Line End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.trendLine","id":"f159d45c-483e-4c46-b6ef-b1cd92d00cb7","savedPayload":{"position":{"x":12111.507160177891,"y":14210.237987526816},"targetPosition":{"x":12031.576519139893,"y":13902.108203546411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"58992b77-271b-4362-b130-251d65d8be55","savedPayload":{"position":{"x":12031.576519139893,"y":13902.108203546411},"targetPosition":{"x":11951.44041975115,"y":13594.17043507212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"edfd4367-c042-4fa0-8f77-31c218fc8d78","savedPayload":{"position":{"x":12006.161461237527,"y":13529.99650656366},"targetPosition":{"x":11790.262266933503,"y":13310.57843518611},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Bullish Arrow","points":[{"type":"Point","name":"-1-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin-(record.end-record.begin)\ny = record.bullishArrowHead*0.99","id":"fba54222-55a5-437d-92aa-756f08eecdb5","savedPayload":{"position":{"x":12885.354952421774,"y":14028.932565732335},"targetPosition":{"x":12567.912568288637,"y":14008.926367535896},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e8aef2aa-6d0c-42f5-82a4-7c37a157c8de","savedPayload":{"position":{"x":12567.912568288637,"y":14008.926367535896},"targetPosition":{"x":11933.81300443226,"y":13968.648511355981},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-2-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.bullishArrowHead*0.99","id":"187b028b-4696-4003-90a1-b5beb8ea2ba3","savedPayload":{"position":{"x":12789.899498575149,"y":14388.773065057232},"targetPosition":{"x":12504.145401287908,"y":14248.446399478964},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b834103f-86be-4106-ac3c-47b326cd97b4","savedPayload":{"position":{"x":12504.145401287908,"y":14248.446399478964},"targetPosition":{"x":11933.81300443226,"y":13968.648511355981},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-3-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.bullishArrowHead*0.97","id":"e51d81db-649a-4b1b-8aad-ed2f24a9affa","savedPayload":{"position":{"x":12563.882243896085,"y":14684.427811136024},"targetPosition":{"x":12353.660014438548,"y":14445.50648548972},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"54a1db25-bb24-4ef9-bcbd-1432848214fd","savedPayload":{"position":{"x":12353.660014438548,"y":14445.50648548972},"targetPosition":{"x":11933.81300443226,"y":13968.648511355981},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-4-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bullishArrowHead*0.97","id":"bb33e4b3-dea3-40d4-89d6-4621df7a0ae0","savedPayload":{"position":{"x":12241.933905765505,"y":14871.320693196978},"targetPosition":{"x":12139.245567248166,"y":14570.18492023167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"800f7290-42e1-4970-a00c-f4a5cd30312b","savedPayload":{"position":{"x":12139.245567248166,"y":14570.18492023167},"targetPosition":{"x":11933.81300443226,"y":13968.648511355981},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-5-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bullishArrowHead*0.99","id":"a09fda1a-0f15-45d2-92ae-e780435c819e","savedPayload":{"position":{"x":11873.45260293195,"y":14920.782241319534},"targetPosition":{"x":11893.483288525418,"y":14602.982567952586},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"4a83e816-d5a4-47f0-a30e-3f5e5320147e","savedPayload":{"position":{"x":11893.483288525418,"y":14602.982567952586},"targetPosition":{"x":11933.81300443226,"y":13968.648511355981},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-6-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end+(record.end-record.begin)\ny = record.bullishArrowHead*0.99","id":"1b3b0d03-bef2-4f05-9460-19227819c39b","savedPayload":{"position":{"x":11513.550259808453,"y":14824.757072203447},"targetPosition":{"x":11653.794136719385,"y":14539.1797776978},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c6806791-bd74-413b-b86c-61383118cba6","savedPayload":{"position":{"x":11653.794136719385,"y":14539.1797776978},"targetPosition":{"x":11933.81300443226,"y":13968.648511355981},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-7-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end-(record.end-record.begin)/2\ny = record.bullishArrowHead","id":"931a9f64-7ec8-44a9-8555-6d03477940f2","savedPayload":{"position":{"x":11217.948185681664,"y":14598.528591439175},"targetPosition":{"x":11456.881715231077,"y":14388.474815937436},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2f37b7be-5805-419d-a0a8-3e2fc5eb9e3b","savedPayload":{"position":{"x":11456.881715231077,"y":14388.474815937436},"targetPosition":{"x":11933.81300443226,"y":13968.648511355981},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2591fc95-5f9b-409c-8816-11a3dd6d8581","savedPayload":{"position":{"x":11984.034903042007,"y":13878.26836015154},"targetPosition":{"x":11790.262266933503,"y":13310.57843518611},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Bearish Arrow","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.forecast === \"Bearish Reversal\" || record.forecast === \"Bearish Continuation\" ","id":"c92a8076-d1cf-4879-88e2-16f89c878649","savedPayload":{"position":{"x":12236.919464866973,"y":14249.652779563718},"targetPosition":{"x":11652.814775683713,"y":13999.315916591968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n\"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"921dec12-c29d-4656-8ea5-6e5fc7c92469","savedPayload":{"position":{"x":12387.847506262078,"y":14606.982338984702},"targetPosition":{"x":12142.688138862082,"y":14404.326269880788},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"d7ca8665-bd27-421a-be79-e5b48c4ffd3f","savedPayload":{"position":{"x":12142.688138862082,"y":14404.326269880788},"targetPosition":{"x":11652.814775683713,"y":13999.315916591968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n }\n}","id":"2360af46-2b53-4cea-a26b-019107a4e4dc","savedPayload":{"position":{"x":12186.54012938603,"y":14789.682064850464},"targetPosition":{"x":12008.458799711643,"y":14525.941864105822},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"1beaa578-f91e-4eb9-bcc9-4c979bc9a87c","savedPayload":{"position":{"x":12008.458799711643,"y":14525.941864105822},"targetPosition":{"x":11652.814775683713,"y":13999.315916591968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"-1-","id":"6c20d736-5211-4bb1-836f-3ee460ba4f75","savedPayload":{"position":{"x":11718.157168676698,"y":14631.841471928905},"targetPosition":{"x":11652.814775683713,"y":13999.315916591968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-1-","id":"f0e4b32d-4c67-44a9-b215-46dd2de99095"}}},{"type":"Polygon Vertex","name":"-2-","id":"7870b61d-7540-4f9e-9d57-bc8b54dab81d","savedPayload":{"position":{"x":11624.89657207443,"y":14635.27817700005},"targetPosition":{"x":11652.814775683713,"y":13999.315916591968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-2-","id":"23dc1c78-a55d-482c-be5b-f6893e5294c7"}}},{"type":"Polygon Vertex","name":"-3-","id":"666d3979-14ea-4753-8d79-36a17ace6f3b","savedPayload":{"position":{"x":11533.282209875164,"y":14624.848411462455},"targetPosition":{"x":11652.814775683713,"y":13999.315916591968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-3-","id":"2c9565a9-49d5-4f04-91ad-a073ff669a46"}}},{"type":"Polygon Vertex","name":"-4-","id":"58596c8a-eab1-4926-a006-4c287afd7096","savedPayload":{"position":{"x":11444.700485827816,"y":14601.338808958732},"targetPosition":{"x":11652.814775683713,"y":13999.315916591968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-4-","id":"fe68b37d-0bf8-4347-9e38-4013fa120bc8"}}},{"type":"Polygon Vertex","name":"-5-","id":"e6073465-7636-48b1-8344-5e82a314ac1d","savedPayload":{"position":{"x":11360.688968006954,"y":14565.417394796572},"targetPosition":{"x":11652.814775683713,"y":13999.315916591968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-5-","id":"a4e0461d-4d13-4a01-9332-3fd94aa6647a"}}},{"type":"Polygon Vertex","name":"-6-","id":"87a3f44c-5361-4e65-a9f3-1c5a461600b0","savedPayload":{"position":{"x":11282.814859785536,"y":14517.89628046691},"targetPosition":{"x":11652.814775683713,"y":13999.315916591968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-6-","id":"7b205c46-8dc6-4e0b-bca6-258a84c652c5"}}},{"type":"Polygon Vertex","name":"-7-","id":"dcd75a74-5275-4181-8801-8bb625ab2545","savedPayload":{"position":{"x":11205.520630976142,"y":14451.976917011723},"targetPosition":{"x":11652.814775683713,"y":13999.315916591968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-7-","id":"71bbdced-dc17-4019-a104-c37bd0ecdc98"}}}],"id":"d503108f-9b4f-4aae-9e99-b92e1aedb6c8","savedPayload":{"position":{"x":11718.599893852523,"y":13906.926183828604},"targetPosition":{"x":11790.262266933503,"y":13310.57843518611},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Trend Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"8b777f5a-b79e-45c5-ae85-3693d946b577","savedPayload":{"position":{"x":11755.795556519053,"y":14229.537455705191},"targetPosition":{"x":11691.974757580614,"y":13936.342768517028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"9ec3107b-2173-46b2-b831-7144910bd2ed","savedPayload":{"position":{"x":11691.974757580614,"y":13936.342768517028},"targetPosition":{"x":11641.97832566877,"y":13585.037797474235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Trend Line End","id":"66cee7f2-7951-4c23-84d9-8af01e017f34","savedPayload":{"position":{"x":11447.825494466091,"y":13889.138205582145},"targetPosition":{"x":11641.97832566877,"y":13585.037797474235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Trend Line End","id":"58992b77-271b-4362-b130-251d65d8be55"}}},{"type":"Polygon Vertex","name":"Trend Line Begin","id":"968f315d-33e1-4866-b061-42fb61964ad6","savedPayload":{"position":{"x":11292.792146015767,"y":13673.018585806767},"targetPosition":{"x":11641.97832566877,"y":13585.037797474235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Trend Line Begin","id":"0a20e46e-5535-4cb4-b34a-36faec96f4da"}}}],"id":"2e0fe089-4dae-4895-b46b-4f5e07ac9926","savedPayload":{"position":{"x":11624.330112647156,"y":13570.418318077336},"targetPosition":{"x":11790.262266933503,"y":13310.57843518611},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Bullish Arrow","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.forecast === \"Bullish Reversal\" || record.forecast === \"Bullish Continuation\" ","id":"e32f5ba5-7e4e-4b48-9255-985134b35bf6","savedPayload":{"position":{"x":11357.63811093109,"y":14316.804391704909},"targetPosition":{"x":11186.964671412112,"y":13702.781651538931},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n\"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"dc4c1077-65c7-4b76-8420-ea719c497798","savedPayload":{"position":{"x":11173.099002965217,"y":14658.344153738277},"targetPosition":{"x":11177.049699712854,"y":14338.541827205963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"8f42597b-9b13-46a3-b926-bf79570f27eb","savedPayload":{"position":{"x":11177.049699712854,"y":14338.541827205963},"targetPosition":{"x":11186.964671412112,"y":13702.781651538931},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n }\n}","id":"97b28c5b-f7c8-41d4-82a7-2db8fe1bd533","savedPayload":{"position":{"x":10901.876094837367,"y":14615.545589640153},"targetPosition":{"x":10997.225461465077,"y":14310.93055541748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"fc855e6f-bb88-485d-8079-99653a800a36","savedPayload":{"position":{"x":10997.225461465077,"y":14310.93055541748},"targetPosition":{"x":11186.964671412112,"y":13702.781651538931},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"-1-","id":"6f1e0d8e-a1a7-4fc7-ab01-d2e4d5cb0807","savedPayload":{"position":{"x":10731.981428910665,"y":14147.842086652166},"targetPosition":{"x":11186.964671412112,"y":13702.781651538931},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-1-","id":"e8aef2aa-6d0c-42f5-82a4-7c37a157c8de"}}},{"type":"Polygon Vertex","name":"-2-","id":"7bff821f-bb70-4a9f-89b9-74bd1dcde01f","savedPayload":{"position":{"x":10670.759484440765,"y":14076.638430646832},"targetPosition":{"x":11186.964671412112,"y":13702.781651538931},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-2-","id":"b834103f-86be-4106-ac3c-47b326cd97b4"}}},{"type":"Polygon Vertex","name":"-3-","id":"e14aa3b8-ed10-4358-87db-81d0f2fd580c","savedPayload":{"position":{"x":10620.33615940385,"y":13998.902027767084},"targetPosition":{"x":11186.964671412112,"y":13702.781651538931},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-3-","id":"54a1db25-bb24-4ef9-bcbd-1432848214fd"}}},{"type":"Polygon Vertex","name":"-4-","id":"fa285436-8897-49fa-81bf-bcf727e368de","savedPayload":{"position":{"x":10582.000977310683,"y":13915.198526121476},"targetPosition":{"x":11186.964671412112,"y":13702.781651538931},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-4-","id":"800f7290-42e1-4970-a00c-f4a5cd30312b"}}},{"type":"Polygon Vertex","name":"-5-","id":"cb9d9c29-9b41-42ba-bb6b-3e63dcbd253e","savedPayload":{"position":{"x":10557.67319869675,"y":13826.913879151696},"targetPosition":{"x":11186.964671412112,"y":13702.781651538931},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-5-","id":"4a83e816-d5a4-47f0-a30e-3f5e5320147e"}}},{"type":"Polygon Vertex","name":"-6-","id":"56ccabba-f502-416d-92ff-da20ee90ddf3","savedPayload":{"position":{"x":10548.680698550143,"y":13736.272153476048},"targetPosition":{"x":11186.964671412112,"y":13702.781651538931},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-6-","id":"c6806791-bd74-413b-b86c-61383118cba6"}}},{"type":"Polygon Vertex","name":"-7-","id":"688ebb45-45d7-4e2a-bfbc-f0bb799b2360","savedPayload":{"position":{"x":10553.135485379262,"y":13634.736848053803},"targetPosition":{"x":11186.964671412112,"y":13702.781651538931},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-7-","id":"2f37b7be-5805-419d-a0a8-3e2fc5eb9e3b"}}}],"id":"2cd7982f-ecc8-41ce-8b27-ede1d1ad7d8c","savedPayload":{"position":{"x":11279.330376373975,"y":13626.297597199202},"targetPosition":{"x":11790.262266933503,"y":13310.57843518611},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"0a02f148-0036-4d1c-aac5-a4e4ee5c25e7","savedPayload":{"position":{"x":11790.289595781247,"y":13310.758361954844},"targetPosition":{"x":11727.758891013418,"y":12713.932689713762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"One-Candle Patterns","config":"{ \n\"codeName\": \"One-Candle-Patterns\"\n}","panelData":[{"type":"Panel Data","name":"Pattern Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.name","id":"664bc7e8-5c76-4dea-82ad-acef43eaa2da","savedPayload":{"position":{"x":11503.24166222379,"y":13184.55543328808},"targetPosition":{"x":11427.667996814627,"y":12893.673944833996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"119aa231-cf07-40a8-98ee-679e8d4e99ce","savedPayload":{"position":{"x":11427.667996814627,"y":12893.673944833996},"targetPosition":{"x":11405.71685621441,"y":12570.897585009838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend Direction","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.trend","id":"d4102f27-72a7-412c-b9b4-244e3ef5100d","savedPayload":{"position":{"x":11045.261667304432,"y":13051.792456705032},"targetPosition":{"x":11225.271673051557,"y":12811.312124155755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2409211c-7992-4b1a-8273-25ce7e284b72","savedPayload":{"position":{"x":11225.271673051557,"y":12811.312124155755},"targetPosition":{"x":11405.71685621441,"y":12570.897585009838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Forecast","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.forecast","id":"19821933-d558-452e-9dc0-5df90116fcc1","savedPayload":{"position":{"x":10805.053787332723,"y":12588.731544187445},"targetPosition":{"x":11105.158566719565,"y":12579.758005317319},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e240fe07-156c-4766-8fe0-f123781842ef","savedPayload":{"position":{"x":11105.158566719565,"y":12579.758005317319},"targetPosition":{"x":11405.71685621441,"y":12570.897585009838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend Line Method","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.trendMethod","id":"7541dc87-d801-48bc-b2d8-391e605c0c5e","savedPayload":{"position":{"x":11017.11827995778,"y":12112.733939621294},"targetPosition":{"x":11211.203537965612,"y":12341.740726136326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e0c328ed-84b7-43a2-bfb2-274d1b1d3bae","savedPayload":{"position":{"x":11211.203537965612,"y":12341.740726136326},"targetPosition":{"x":11405.71685621441,"y":12570.897585009838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend Line Period","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.period","id":"6b66e742-6d13-43d6-a00f-a6ed9d070249","savedPayload":{"position":{"x":11520.496218124354,"y":11981.382989475835},"targetPosition":{"x":11463.211475389435,"y":12276.13478941713},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e457e54c-7cbb-4866-9b67-3bb71332e2c5","savedPayload":{"position":{"x":11463.211475389435,"y":12276.13478941713},"targetPosition":{"x":11405.71685621441,"y":12570.897585009838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend Line Value","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.trendLine","id":"e33fff96-c3f5-4376-8d90-4feafc0df08b","savedPayload":{"position":{"x":11926.287700064935,"y":12232.983607795482},"targetPosition":{"x":11659.762930427045,"y":12370.396923435794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"42d2f0eb-65fa-4358-af25-484517433307","savedPayload":{"position":{"x":11659.762930427045,"y":12370.396923435794},"targetPosition":{"x":11405.71685621441,"y":12570.897585009838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d2af80dc-8d17-42f3-b88a-af1726c59859","savedPayload":{"position":{"x":11405.71685621441,"y":12570.897585009838},"targetPosition":{"x":11727.758891013418,"y":12713.932689713762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"14f83391-e4a6-470c-90c0-19763f83429b","savedPayload":{"position":{"x":11729.82337237241,"y":12721.99448120311},"targetPosition":{"x":12215.097662258146,"y":12369.642313054686},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Two-Candles Patterns","config":"{ \n\"codeName\": \"Two-Candles Patterns\"\n}","shapes":{"type":"Shapes","name":"Two-Candles Patterns","chartPoints":[{"type":"Chart Points","name":"Bearish Arrow","points":[{"type":"Point","name":"-1-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin-(record.end-record.begin)\ny = record.bearishArrowHead*1.01","id":"7dc394b3-ca00-4738-a554-420b393aa4f8","savedPayload":{"position":{"x":12081.669025957919,"y":13228.392352613271},"targetPosition":{"x":11791.55312586025,"y":13097.721183581312},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"7291f0d5-78e1-4d7c-a73d-2068e491344b","savedPayload":{"position":{"x":11791.55312586025,"y":13097.721183581312},"targetPosition":{"x":11212.187861029877,"y":12837.026324270992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-2-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.bearishArrowHead*1.01","id":"cfdc25f2-f236-4fd0-a09c-11759c6a4e07","savedPayload":{"position":{"x":11865.558890901124,"y":13531.377115242738},"targetPosition":{"x":11647.364506388607,"y":13299.452236485917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"87745033-dc64-4d86-8579-29cf35124f9a","savedPayload":{"position":{"x":11647.364506388607,"y":13299.452236485917},"targetPosition":{"x":11212.187861029877,"y":12837.026324270992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-3-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.bearishArrowHead*1.04","id":"f30d7904-2195-4bab-93d4-d5083000fe6b","savedPayload":{"position":{"x":11550.176871809374,"y":13728.931502827954},"targetPosition":{"x":11437.462553360401,"y":13431.390771359956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"87fc7e3a-455f-49bb-ab44-fc06ba845f00","savedPayload":{"position":{"x":11437.462553360401,"y":13431.390771359956},"targetPosition":{"x":11212.187861029877,"y":12837.026324270992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-4-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bearishArrowHead*1.04","id":"f29b34a0-8604-4cde-b52c-237a422ccb31","savedPayload":{"position":{"x":11183.744630904748,"y":13790.501521813234},"targetPosition":{"x":11193.199657975041,"y":13472.326136769318},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2bab7192-a08c-4461-b36e-f369491dfd42","savedPayload":{"position":{"x":11193.199657975041,"y":13472.326136769318},"targetPosition":{"x":11212.187861029877,"y":12837.026324270992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-5-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bearishArrowHead*1.01","id":"20df1362-6e33-45c3-bf48-c4a76035b428","savedPayload":{"position":{"x":10820.975126093734,"y":13706.937999852966},"targetPosition":{"x":10951.501038153674,"y":13416.645609543397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3c9d80e6-ad20-4b47-a8f5-1bf19a0b80e2","savedPayload":{"position":{"x":10951.501038153674,"y":13416.645609543397},"targetPosition":{"x":11212.187861029877,"y":12837.026324270992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-6-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end+(record.end-record.begin)\ny = record.bearishArrowHead*1.01","id":"64a8c860-86c4-40da-9ca0-d5e424ade757","savedPayload":{"position":{"x":10517.731202702806,"y":13490.880507975051},"targetPosition":{"x":10749.511929986398,"y":13272.72308501484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c6a0d716-6534-453b-9d0f-a8c6faa502f0","savedPayload":{"position":{"x":10749.511929986398,"y":13272.72308501484},"targetPosition":{"x":11212.187861029877,"y":12837.026324270992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-7-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end-(record.end-record.begin)/2\ny = record.bearishArrowHead","id":"62fc84a0-55e5-452c-b72d-4c91174ea85a","savedPayload":{"position":{"x":10320.372953175593,"y":13175.106787574574},"targetPosition":{"x":10617.961927952889,"y":13062.323461507352},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"fef9ea3b-84c5-43cd-9602-96f8170065bd","savedPayload":{"position":{"x":10617.961927952889,"y":13062.323461507352},"targetPosition":{"x":11212.187861029877,"y":12837.026324270992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9020cd21-a011-4b59-aec4-56469a5ce79f","savedPayload":{"position":{"x":11213.38664517409,"y":12801.495822030201},"targetPosition":{"x":11231.392565405375,"y":12201.823501341809},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Trend Line","points":[{"type":"Point","name":"Trend Line Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.trendLine\n","id":"aed6b5b4-e6e5-4e5c-a13b-1d707c93c15a","savedPayload":{"position":{"x":11113.507682889966,"y":13142.659108467704},"targetPosition":{"x":11099.45874563968,"y":12824.284507716442},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"691a374a-ab65-4dc5-b788-979162f87185","savedPayload":{"position":{"x":11099.45874563968,"y":12824.284507716442},"targetPosition":{"x":11084.830629780052,"y":12484.184133961455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Trend Line End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.trendLine","id":"9b3acde4-3360-4869-8685-c08922111bd5","savedPayload":{"position":{"x":10529.632935158039,"y":12839.196166765416},"targetPosition":{"x":10797.891779860525,"y":12667.866308006245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1e2e8a50-8a93-4696-9ed7-f8ea1da75c5e","savedPayload":{"position":{"x":10797.891779860525,"y":12667.866308006245},"targetPosition":{"x":11084.830629780052,"y":12484.184133961455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7af63af8-4b52-4c71-b427-906a0eaa37d2","savedPayload":{"position":{"x":11092.916769534419,"y":12468.478518411388},"targetPosition":{"x":11231.392565405375,"y":12201.823501341809},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Bullish Arrow","points":[{"type":"Point","name":"-1-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin-(record.end-record.begin)\ny = record.bullishArrowHead*0.99","id":"7cd5ae63-7c34-4ce3-84f9-8de0b14fbafa","savedPayload":{"position":{"x":10959.299595238615,"y":13506.956982416497},"targetPosition":{"x":10880.512397454935,"y":13198.619706443913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"38b0018b-d162-492e-90b3-604efc79c16e","savedPayload":{"position":{"x":10880.512397454935,"y":13198.619706443913},"targetPosition":{"x":10723.008860865695,"y":12582.979038431424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-2-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.bullishArrowHead*0.99","id":"3221cc5c-76c7-4335-bc1c-a781c1c7a6f4","savedPayload":{"position":{"x":10588.109178089904,"y":13527.18531335486},"targetPosition":{"x":10633.099332738737,"y":13212.082254254374},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"66a65473-db28-42bf-8491-3497a35cc42b","savedPayload":{"position":{"x":10633.099332738737,"y":13212.082254254374},"targetPosition":{"x":10723.008860865695,"y":12582.979038431424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-3-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.bullishArrowHead*0.96","id":"5dbc1498-0b47-48cd-a37c-1a4f19f6c788","savedPayload":{"position":{"x":10236.942369559187,"y":13403.573252047388},"targetPosition":{"x":10399.134866069639,"y":13129.728681760449},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cb37189b-fdb7-4cd7-aa78-1dfd71c8e614","savedPayload":{"position":{"x":10399.134866069639,"y":13129.728681760449},"targetPosition":{"x":10723.008860865695,"y":12582.979038431424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-4-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bullishArrowHead*0.96","id":"1bcf2a18-15b8-4a2c-b7b6-1167c00ff5e9","savedPayload":{"position":{"x":9959.818895956381,"y":13154.961562770124},"targetPosition":{"x":10214.505855448824,"y":12964.10500188361},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"aae0a6cc-e05b-402f-800c-807df07b1f37","savedPayload":{"position":{"x":10214.505855448824,"y":12964.10500188361},"targetPosition":{"x":10723.008860865695,"y":12582.979038431424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-5-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bullishArrowHead*0.99","id":"8011dcdd-1c27-4bcb-8ea6-3344573aa905","savedPayload":{"position":{"x":9798.912670083482,"y":12819.251404014767},"targetPosition":{"x":10107.310366028767,"y":12740.442011037694},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a5f609bd-7162-4155-8778-d085b000ef04","savedPayload":{"position":{"x":10107.310366028767,"y":12740.442011037694},"targetPosition":{"x":10723.008860865695,"y":12582.979038431424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-6-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end+(record.end-record.begin)\ny = record.bullishArrowHead*0.99","id":"37fa781c-1480-47fd-a862-39894108dc46","savedPayload":{"position":{"x":9778.739027659627,"y":12448.092869156477},"targetPosition":{"x":10093.864823424738,"y":12493.063795838532},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6edd83d4-739a-4651-9204-2a0f617e1256","savedPayload":{"position":{"x":10093.864823424738,"y":12493.063795838532},"targetPosition":{"x":10723.008860865695,"y":12582.979038431424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-7-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end-(record.end-record.begin)/2\ny = record.bullishArrowHead","id":"65f9907e-ab3a-4ef4-a902-b8204afc49d7","savedPayload":{"position":{"x":9902.427525553674,"y":12096.831762536813},"targetPosition":{"x":10176.248977247458,"y":12259.029136441137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b98d1777-f3a2-4bcc-8312-6d89d1c6662e","savedPayload":{"position":{"x":10176.248977247458,"y":12259.029136441137},"targetPosition":{"x":10723.008860865695,"y":12582.979038431424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"20da6d05-3166-4ba2-bd3c-b21770ae1958","savedPayload":{"position":{"x":10751.570622963045,"y":12561.484678552326},"targetPosition":{"x":11231.392565405375,"y":12201.823501341809},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Bearish Arrow","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.forecast === \"Bearish Reversal\" || record.forecast === \"Bearish Continuation\" ","id":"bebcd91f-d028-4d8c-bc25-317d19f1b955","savedPayload":{"position":{"x":10547.225810413958,"y":12958.070836037545},"targetPosition":{"x":10605.874193045394,"y":12323.99630942156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n\"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"8d874a62-2e9c-43e9-9632-e93a7e25d8c3","savedPayload":{"position":{"x":10255.774920760836,"y":13211.578104172451},"targetPosition":{"x":10371.835461133287,"y":12915.08309564192},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"6e948385-96a4-40ba-b8db-eb11d079aad1","savedPayload":{"position":{"x":10371.835461133287,"y":12915.08309564192},"targetPosition":{"x":10605.874193045394,"y":12323.99630942156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n }\n}","id":"65302767-1fb6-4a56-b981-4ca898e3fc1f","savedPayload":{"position":{"x":10020.659017568367,"y":13075.667244235188},"targetPosition":{"x":10215.521348619495,"y":12825.329035117491},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"6365634c-c753-4be1-9f4e-d81a88690b96","savedPayload":{"position":{"x":10215.521348619495,"y":12825.329035117491},"targetPosition":{"x":10605.874193045394,"y":12323.99630942156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"-1-","id":"952bb578-3cc3-4576-b7dd-a043f2b4d719","savedPayload":{"position":{"x":10023.48833843214,"y":12581.564788637845},"targetPosition":{"x":10605.874193045394,"y":12323.99630942156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-1-","id":"7291f0d5-78e1-4d7c-a73d-2068e491344b"}}},{"type":"Polygon Vertex","name":"-2-","id":"bc4ee454-7c2b-4808-a99c-002afae05d39","savedPayload":{"position":{"x":9991.618731545608,"y":12493.602361444893},"targetPosition":{"x":10605.874193045394,"y":12323.99630942156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-2-","id":"87745033-dc64-4d86-8579-29cf35124f9a"}}},{"type":"Polygon Vertex","name":"-3-","id":"6ad8a90c-4d6e-47ed-a4be-ae3a5684b26d","savedPayload":{"position":{"x":9972.902987588292,"y":12403.16211735402},"targetPosition":{"x":10605.874193045394,"y":12323.99630942156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-3-","id":"87fc7e3a-455f-49bb-ab44-fc06ba845f00"}}},{"type":"Polygon Vertex","name":"-4-","id":"a49d5c98-f797-45ec-832a-c89de61c5030","savedPayload":{"position":{"x":9967.760318235112,"y":12311.561734142659},"targetPosition":{"x":10605.874193045394,"y":12323.99630942156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-4-","id":"2bab7192-a08c-4461-b36e-f369491dfd42"}}},{"type":"Polygon Vertex","name":"-5-","id":"5ee4c947-de43-4212-adf9-28d28820da8e","savedPayload":{"position":{"x":9975.866852210052,"y":12220.490826727377},"targetPosition":{"x":10605.874193045394,"y":12323.99630942156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-5-","id":"3c9d80e6-ad20-4b47-a8f5-1bf19a0b80e2"}}},{"type":"Polygon Vertex","name":"-6-","id":"c6e490ea-bdfd-4738-84e7-dcd8e1078605","savedPayload":{"position":{"x":9998.040124198185,"y":12132.058684612664},"targetPosition":{"x":10605.874193045394,"y":12323.99630942156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-6-","id":"c6a0d716-6534-453b-9d0f-a8c6faa502f0"}}},{"type":"Polygon Vertex","name":"-7-","id":"2aaa39e8-be04-491e-862e-b1bb03c8d29d","savedPayload":{"position":{"x":10036.898820107854,"y":12038.160441326048},"targetPosition":{"x":10605.874193045394,"y":12323.99630942156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-7-","id":"fef9ea3b-84c5-43cd-9602-96f8170065bd"}}}],"id":"49566c3d-5038-4737-a68a-4f1f99a53296","savedPayload":{"position":{"x":10642.267838474036,"y":12317.753793122203},"targetPosition":{"x":11231.392565405375,"y":12201.823501341809},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Trend Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"5d90400c-c680-452a-b5d6-dd01f3483a67","savedPayload":{"position":{"x":10337.348569543352,"y":12458.139436776717},"targetPosition":{"x":10611.682653683314,"y":12297.471357014598},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"6ab5c6b9-d4e4-4b61-a135-17bb3a0204cb","savedPayload":{"position":{"x":10611.682653683314,"y":12297.471357014598},"targetPosition":{"x":10923.100711187111,"y":12121.738134005163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Trend Line End","id":"d99e5489-5977-4ca7-9d11-a65feaeb3e1e","savedPayload":{"position":{"x":10569.715657597928,"y":12029.772984986777},"targetPosition":{"x":10923.100711187111,"y":12121.738134005163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Trend Line End","id":"1e2e8a50-8a93-4696-9ed7-f8ea1da75c5e"}}},{"type":"Polygon Vertex","name":"Trend Line Begin","id":"0f83b930-9073-41a5-a3e6-59ea6b3ebafd","savedPayload":{"position":{"x":10728.471841649476,"y":11858.17832191613},"targetPosition":{"x":10923.100711187111,"y":12121.738134005163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Trend Line Begin","id":"691a374a-ab65-4dc5-b788-979162f87185"}}}],"id":"f826e8bf-cc5c-4b7f-9d15-1fc6a45d7ced","savedPayload":{"position":{"x":10940.393728528645,"y":12126.25059692012},"targetPosition":{"x":11231.392565405375,"y":12201.823501341809},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Bullish Arrow","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.forecast === \"Bullish Reversal\" || record.forecast === \"Bullish Continuation\" ","id":"edbfaf8f-8507-4d7b-9057-353f9571e615","savedPayload":{"position":{"x":10215.082383948044,"y":12139.878913886543},"targetPosition":{"x":10746.107838810822,"y":11790.509484034019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n\"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"010c4131-393a-474e-98af-444ebfbb7a8d","savedPayload":{"position":{"x":9833.414670144659,"y":12069.145526322616},"targetPosition":{"x":10138.042642929075,"y":11976.09447933373},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"5f6e62fc-4d25-4af4-86df-ca18bdd1e897","savedPayload":{"position":{"x":10138.042642929075,"y":11976.09447933373},"targetPosition":{"x":10746.107838810822,"y":11790.509484034019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n }\n}","id":"51545ef3-4202-4f31-8746-908b4d04e273","savedPayload":{"position":{"x":9792.30270377977,"y":11800.387114389887},"targetPosition":{"x":10110.39586784242,"y":11797.362033645104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"504af6cf-5682-4ec9-90f1-3b5ac174cb67","savedPayload":{"position":{"x":10110.39586784242,"y":11797.362033645104},"targetPosition":{"x":10746.107838810822,"y":11790.509484034019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"-1-","id":"e9090bdf-ffe5-4031-89d1-3de33dec1105","savedPayload":{"position":{"x":10182.22258092722,"y":11496.631581233105},"targetPosition":{"x":10746.107838810822,"y":11790.509484034019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-1-","id":"38b0018b-d162-492e-90b3-604efc79c16e"}}},{"type":"Polygon Vertex","name":"-2-","id":"4a190301-2d52-49ae-a061-9bb553ea1c0f","savedPayload":{"position":{"x":10230.791616757273,"y":11416.978910183603},"targetPosition":{"x":10746.107838810822,"y":11790.509484034019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-2-","id":"66a65473-db28-42bf-8491-3497a35cc42b"}}},{"type":"Polygon Vertex","name":"-3-","id":"f5a0eaa5-7837-4d60-8040-37f4353e3b27","savedPayload":{"position":{"x":10290.110630286388,"y":11346.42736434188},"targetPosition":{"x":10746.107838810822,"y":11790.509484034019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-3-","id":"cb37189b-fdb7-4cd7-aa78-1dfd71c8e614"}}},{"type":"Polygon Vertex","name":"-4-","id":"13577516-ccb2-469f-9d59-f5bc71c16e77","savedPayload":{"position":{"x":10358.219467968815,"y":11285.06903206751},"targetPosition":{"x":10746.107838810822,"y":11790.509484034019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-4-","id":"aae0a6cc-e05b-402f-800c-807df07b1f37"}}},{"type":"Polygon Vertex","name":"-5-","id":"9884c89e-fbb3-4101-b19f-0522b933175c","savedPayload":{"position":{"x":10434.439258931961,"y":11234.635423189224},"targetPosition":{"x":10746.107838810822,"y":11790.509484034019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-5-","id":"a5f609bd-7162-4155-8778-d085b000ef04"}}},{"type":"Polygon Vertex","name":"-6-","id":"a089c901-705c-4b1a-bf29-fca8669ad902","savedPayload":{"position":{"x":10517.104889258939,"y":11196.058618230374},"targetPosition":{"x":10746.107838810822,"y":11790.509484034019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-6-","id":"6edd83d4-739a-4651-9204-2a0f617e1256"}}},{"type":"Polygon Vertex","name":"-7-","id":"6a3d330f-6852-4cb0-80fe-72c3bf02aa31","savedPayload":{"position":{"x":10614.605112626243,"y":11167.719391985378},"targetPosition":{"x":10746.107838810822,"y":11790.509484034019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-7-","id":"b98d1777-f3a2-4bcc-8312-6d89d1c6662e"}}}],"id":"ba0bcada-77c5-450e-a1fc-7708bcaca60b","savedPayload":{"position":{"x":10773.334134915302,"y":11813.695355340686},"targetPosition":{"x":11231.392565405375,"y":12201.823501341809},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"e0c63725-4cfb-4d1e-9b70-80343de2e9b3","savedPayload":{"position":{"x":11231.392565405375,"y":12201.823501341809},"targetPosition":{"x":11727.615567480334,"y":12007.611552648877},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Two-Candles Patterns","config":"{ \n\"codeName\": \"Two-Candles Patterns\"\n}","panelData":[{"type":"Panel Data","name":"Pattern Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.name","id":"6d2625d7-82c7-4186-95a7-8bfe0892446a","savedPayload":{"position":{"x":11283.60325910434,"y":11733.771042901757},"targetPosition":{"x":11536.816677975617,"y":11572.497201734053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f5538abe-a9aa-42ad-9c30-798dc41ddb80","savedPayload":{"position":{"x":11536.816677975617,"y":11572.497201734053},"targetPosition":{"x":11790.037630675673,"y":11411.122620839005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend Direction","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.trend","id":"7f273725-f758-4f3e-bc3a-d7d47f919c7a","savedPayload":{"position":{"x":11221.342167567727,"y":11216.763111093916},"targetPosition":{"x":11505.65711683382,"y":11313.913731340108},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2e819599-22c9-4acd-ac77-92f18b20cb61","savedPayload":{"position":{"x":11505.65711683382,"y":11313.913731340108},"targetPosition":{"x":11790.037630675673,"y":11411.122620839005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Forecast","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.forecast","id":"43090bdd-e415-48e8-ba75-4b80d4f0aeee","savedPayload":{"position":{"x":11587.433740239627,"y":10845.22732612298},"targetPosition":{"x":11688.715066228397,"y":11128.116867002602},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"39649444-cba8-41d2-bb32-064f43cf8df4","savedPayload":{"position":{"x":11688.715066228397,"y":11128.116867002602},"targetPosition":{"x":11790.037630675673,"y":11411.122620839005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend Line Method","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.trendMethod","id":"f7a45eca-7fe0-4837-b719-92e81fa0774d","savedPayload":{"position":{"x":12105.583378364245,"y":10899.670490615743},"targetPosition":{"x":11947.815008030855,"y":11155.347252365762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6cb4eef6-735b-409a-92c4-fe2b2e1e82be","savedPayload":{"position":{"x":11947.815008030855,"y":11155.347252365762},"targetPosition":{"x":11790.037630675673,"y":11411.122620839005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend Line Period","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.period","id":"75c3e3bd-c749-463d-bae4-296abf83f078","savedPayload":{"position":{"x":12386.315782092952,"y":11338.958272360718},"targetPosition":{"x":12088.185253307467,"y":11375.065651970302},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4c31ec17-bf6c-4dfc-8f42-1e7fe7e77297","savedPayload":{"position":{"x":12088.185253307467,"y":11375.065651970302},"targetPosition":{"x":11790.037630675673,"y":11411.122620839005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend Line Value","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.trendLine","id":"d9e33fbf-8990-4363-b674-f1ec7f71bfcd","savedPayload":{"position":{"x":12217.052442251977,"y":11831.949764622583},"targetPosition":{"x":12003.765004696092,"y":11621.516368520652},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d4f75b19-1a90-48d8-b6fe-9f064505ae93","savedPayload":{"position":{"x":12003.765004696092,"y":11621.516368520652},"targetPosition":{"x":11790.037630675673,"y":11411.122620839005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6426039f-b3dc-443b-bf6a-faa1dd1e3f2c","savedPayload":{"position":{"x":11790.037630675673,"y":11411.122620839005},"targetPosition":{"x":11727.615567480334,"y":12007.611552648877},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3bf46641-3478-41fd-8407-0af20e72f30b","savedPayload":{"position":{"x":11729.812000058475,"y":12017.18166248464},"targetPosition":{"x":12215.097662258146,"y":12369.642313054686},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Three-Candles Patterns","config":"{ \n\"codeName\": \"Three-Candles Patterns\"\n}","shapes":{"type":"Shapes","name":"Three-Candles Patterns","chartPoints":[{"type":"Chart Points","name":"Bearish Arrow","points":[{"type":"Point","name":"-1-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin-(record.end-record.begin)\ny = record.bearishArrowHead*1.01","id":"050fd307-0763-423f-b0a7-488f1e22b2f0","savedPayload":{"position":{"x":11324.527384500681,"y":12406.38229840523},"targetPosition":{"x":11357.150548904494,"y":12107.926819744322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b20f834d-a9d0-419e-87ce-c9d56cdfe948","savedPayload":{"position":{"x":11357.150548904494,"y":12107.926819744322},"targetPosition":{"x":11422.182189384399,"y":11511.591811699003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-2-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.bearishArrowHead*1.01","id":"ea09a04d-33f3-430d-9210-b60a0d93accf","savedPayload":{"position":{"x":10989.478246943294,"y":12300.968866784184},"targetPosition":{"x":11133.9280344324,"y":12037.54285531861},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d119f364-4c32-4605-afcb-025e62d32f20","savedPayload":{"position":{"x":11133.9280344324,"y":12037.54285531861},"targetPosition":{"x":11422.182189384399,"y":11511.591811699003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-3-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.bearishArrowHead*1.05","id":"c472d80d-ff4c-4bdf-af76-b8fb1c9dd3f5","savedPayload":{"position":{"x":10720.279513907313,"y":12075.314930641796},"targetPosition":{"x":10954.548563945656,"y":11887.204487159095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0e94de71-51dc-4d00-81fc-db6a47af48e9","savedPayload":{"position":{"x":10954.548563945656,"y":11887.204487159095},"targetPosition":{"x":11422.182189384399,"y":11511.591811699003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-4-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bearishArrowHead*1.05","id":"c851f754-5148-4d6c-abef-446f4dcbf95c","savedPayload":{"position":{"x":10557.890581790769,"y":11763.786865343474},"targetPosition":{"x":10846.355432312044,"y":11679.660655609789},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"54f3f9d8-a0fd-489b-a280-5791c92afe4a","savedPayload":{"position":{"x":10846.355432312044,"y":11679.660655609789},"targetPosition":{"x":11422.182189384399,"y":11511.591811699003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-5-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bearishArrowHead*1.01","id":"305bea41-e179-499b-bff8-687f861b575a","savedPayload":{"position":{"x":10527.04933326846,"y":11414.42376465991},"targetPosition":{"x":10825.810832847692,"y":11446.807725358429},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"75712c99-427f-4995-ad28-116f514f1b1d","savedPayload":{"position":{"x":10825.810832847692,"y":11446.807725358429},"targetPosition":{"x":11422.182189384399,"y":11511.591811699003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-6-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end+(record.end-record.begin)\ny = record.bearishArrowHead*1.01","id":"3fd2696f-e7e8-41f5-ae74-e757cb72b755","savedPayload":{"position":{"x":10632.428468545808,"y":11079.358718626241},"targetPosition":{"x":10896.042154075487,"y":11223.571957293143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"32a9e24a-ecbb-4272-868f-8a2c1131d780","savedPayload":{"position":{"x":10896.042154075487,"y":11223.571957293143},"targetPosition":{"x":11422.182189384399,"y":11511.591811699003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-7-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end-(record.end-record.begin)/2\ny = record.bearishArrowHead","id":"b02696af-5430-4311-a2b8-b7a69d5f085b","savedPayload":{"position":{"x":10869.253470113206,"y":10821.079679334563},"targetPosition":{"x":11046.26565264284,"y":11044.443042101777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"da13c2e7-5b21-44b3-98ef-e101a208cd82","savedPayload":{"position":{"x":11046.26565264284,"y":11044.443042101777},"targetPosition":{"x":11422.182189384399,"y":11511.591811699003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ed6c9b38-f0d8-49d8-b6e6-831ba4391e67","savedPayload":{"position":{"x":11421.68395596676,"y":11511.47674623867},"targetPosition":{"x":11997.592944821114,"y":11343.485927538779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Trend Line","points":[{"type":"Point","name":"Trend Line Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.trendLine\n","id":"8df901ad-9507-4c1b-aa66-e80e52142e64","savedPayload":{"position":{"x":11018.026290779453,"y":11461.988224626097},"targetPosition":{"x":11317.434770425523,"y":11350.838236765072},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f05e403b-b940-4007-be9d-517cd5f5b761","savedPayload":{"position":{"x":11317.434770425523,"y":11350.838236765072},"targetPosition":{"x":11636.051175870336,"y":11232.40613407486},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Trend Line End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.trendLine","id":"c790f239-fe7c-488c-a22c-ea82c2ea43f3","savedPayload":{"position":{"x":11125.28057644652,"y":10814.392352371871},"targetPosition":{"x":11372.021622670312,"y":11016.85472000743},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e185278f-a45c-43e3-8691-6252e48809cc","savedPayload":{"position":{"x":11372.021622670312,"y":11016.85472000743},"targetPosition":{"x":11636.051175870336,"y":11232.40613407486},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"30170318-2cab-4bb6-ad3b-362b5a25d245","savedPayload":{"position":{"x":11701.163255670075,"y":11294.346218428935},"targetPosition":{"x":11997.592944821114,"y":11343.485927538779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Bullish Arrow","points":[{"type":"Point","name":"-1-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin-(record.end-record.begin)\ny = record.bullishArrowHead*0.99","id":"91cd5c4e-6dc9-41f4-abba-e66c6d9c7c3e","savedPayload":{"position":{"x":10624.026319850509,"y":11428.916637310593},"targetPosition":{"x":10892.929330483097,"y":11258.604149943585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a9852c0f-8ac8-4b9d-ac29-e8d8f29da720","savedPayload":{"position":{"x":10892.929330483097,"y":11258.604149943585},"targetPosition":{"x":11429.678966932031,"y":10918.512902833403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-2-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.bullishArrowHead*0.99","id":"99075b18-7979-4f15-915a-272a4debd949","savedPayload":{"position":{"x":10489.902495174934,"y":11081.532900246073},"targetPosition":{"x":10803.601612376347,"y":11027.166570653368},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"bb29fdb8-abfe-4377-9063-6790f2eb8d8f","savedPayload":{"position":{"x":10803.601612376347,"y":11027.166570653368},"targetPosition":{"x":11429.678966932031,"y":10918.512902833403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-3-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.bullishArrowHead*0.94","id":"9ab43674-72c8-4525-8697-49cbf37785e0","savedPayload":{"position":{"x":10499.031312302577,"y":10709.954769775604},"targetPosition":{"x":10809.668994068212,"y":10779.570251055515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a46f8fdb-d00f-46f6-8ec9-3ef0166107ef","savedPayload":{"position":{"x":10809.668994068212,"y":10779.570251055515},"targetPosition":{"x":11429.678966932031,"y":10918.512902833403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-4-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bullishArrowHead*0.94","id":"cb153aae-7f46-4fbc-aa01-26f7193e8eaf","savedPayload":{"position":{"x":10649.76934057926,"y":10369.596547442874},"targetPosition":{"x":10910.115834958771,"y":10552.784819583858},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2e60f4be-e8cc-4489-81f6-27fa3f61921b","savedPayload":{"position":{"x":10910.115834958771,"y":10552.784819583858},"targetPosition":{"x":11429.678966932031,"y":10918.512902833403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-5-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bullishArrowHead*0.99","id":"0b2f59a6-9de6-4ccd-81bc-28288491d705","savedPayload":{"position":{"x":10919.28648169888,"y":10112.852760097594},"targetPosition":{"x":11089.584569288465,"y":10381.771367946058},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"1740e52b-986e-49cf-bb3f-c373200c4449","savedPayload":{"position":{"x":11089.584569288465,"y":10381.771367946058},"targetPosition":{"x":11429.678966932031,"y":10918.512902833403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-6-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end+(record.end-record.begin)\ny = record.bullishArrowHead*0.99","id":"ee129388-9aec-4709-bf79-3a3b83fe769e","savedPayload":{"position":{"x":11266.543621745615,"y":9978.735012460302},"targetPosition":{"x":11320.985363948239,"y":10292.34083148858},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c8b169eb-6d38-41ab-bc48-e5a08c6f9f45","savedPayload":{"position":{"x":11320.985363948239,"y":10292.34083148858},"targetPosition":{"x":11429.678966932031,"y":10918.512902833403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-7-","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end-(record.end-record.begin)/2\ny = record.bullishArrowHead","id":"c58904a7-8615-4a27-bd74-1966b35e8924","savedPayload":{"position":{"x":11638.357912139312,"y":9987.858888721516},"targetPosition":{"x":11568.778168261073,"y":10298.485678645851},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f5cee1fe-b34d-47e5-8d4a-26061487b242","savedPayload":{"position":{"x":11568.778168261073,"y":10298.485678645851},"targetPosition":{"x":11429.678966932031,"y":10918.512902833403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b8b4b3de-a98c-4d32-a385-61a186871641","savedPayload":{"position":{"x":11506.915828734796,"y":10998.315396612685},"targetPosition":{"x":11997.592944821114,"y":11343.485927538779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Bearish Arrow","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.forecast === \"Bearish Reversal\" || record.forecast === \"Bearish Continuation\" ","id":"4db8acef-2d4b-4e56-b319-d32b145c4fc1","savedPayload":{"position":{"x":11120.432354843659,"y":10951.91529565518},"targetPosition":{"x":11705.462132060955,"y":10819.194767333567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n\"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"da54ef22-f928-44a9-ba54-ddc157d6e2fd","savedPayload":{"position":{"x":10806.873898190148,"y":10763.18839847818},"targetPosition":{"x":11106.744354147279,"y":10781.812418494985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"bd6aeeb9-f9ce-4289-84ee-b89e5bce37ed","savedPayload":{"position":{"x":11106.744354147279,"y":10781.812418494985},"targetPosition":{"x":11705.462132060955,"y":10819.194767333567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n }\n}","id":"e73e98ac-0abf-488c-88c7-5f218487754a","savedPayload":{"position":{"x":10859.245614224761,"y":10511.929220489948},"targetPosition":{"x":11141.630684939842,"y":10614.4482885281},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"871328e3-7832-4dc2-8758-72612387f556","savedPayload":{"position":{"x":11141.630684939842,"y":10614.4482885281},"targetPosition":{"x":11705.462132060955,"y":10819.194767333567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"-1-","id":"bc05844f-b3a3-4f25-8688-b555ff25cd31","savedPayload":{"position":{"x":11302.355236872623,"y":10373.968629056248},"targetPosition":{"x":11705.462132060955,"y":10819.194767333567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-1-","id":"b20f834d-a9d0-419e-87ce-c9d56cdfe948"}}},{"type":"Polygon Vertex","name":"-2-","id":"a7f33d57-8a91-4bf6-a755-2f9572b02d0b","savedPayload":{"position":{"x":11372.476521465542,"y":10318.134391215368},"targetPosition":{"x":11705.462132060955,"y":10819.194767333567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-2-","id":"d119f364-4c32-4605-afcb-025e62d32f20"}}},{"type":"Polygon Vertex","name":"-3-","id":"4f2d69c6-4919-44a1-b4f4-b11c4d07a8d5","savedPayload":{"position":{"x":11448.79650033747,"y":10274.624091469272},"targetPosition":{"x":11705.462132060955,"y":10819.194767333567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-3-","id":"0e94de71-51dc-4d00-81fc-db6a47af48e9"}}},{"type":"Polygon Vertex","name":"-4-","id":"cae92b34-1055-4413-8521-b00838b6b3a1","savedPayload":{"position":{"x":11529.858019041756,"y":10243.13761569657},"targetPosition":{"x":11705.462132060955,"y":10819.194767333567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-4-","id":"54f3f9d8-a0fd-489b-a280-5791c92afe4a"}}},{"type":"Polygon Vertex","name":"-5-","id":"26a5fbf5-1e3c-49a3-a80e-89a38760a6ce","savedPayload":{"position":{"x":11614.189489712771,"y":10223.814351728308},"targetPosition":{"x":11705.462132060955,"y":10819.194767333567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-5-","id":"75712c99-427f-4995-ad28-116f514f1b1d"}}},{"type":"Polygon Vertex","name":"-6-","id":"85dd4fe1-e267-4e2c-8249-e5a4ad8ac57b","savedPayload":{"position":{"x":11700.198918122824,"y":10216.841913644419},"targetPosition":{"x":11705.462132060955,"y":10819.194767333567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-6-","id":"32a9e24a-ecbb-4272-868f-8a2c1131d780"}}},{"type":"Polygon Vertex","name":"-7-","id":"0b35f295-6655-45ea-8050-3ea4d565b0a8","savedPayload":{"position":{"x":11801.24425344072,"y":10225.681176289936},"targetPosition":{"x":11705.462132060955,"y":10819.194767333567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-7-","id":"da13c2e7-5b21-44b3-98ef-e101a208cd82"}}}],"id":"d6bca38f-dad2-4bad-b869-718840793911","savedPayload":{"position":{"x":11705.146105578871,"y":10818.856726081758},"targetPosition":{"x":11997.592944821114,"y":11343.485927538779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Trend Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"735def02-7235-4d8d-b742-2606e271785c","savedPayload":{"position":{"x":11435.336042631767,"y":10501.686121738185},"targetPosition":{"x":11673.194319314665,"y":10712.54742741141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"1cb25c02-7f14-4290-a1dd-cdecfa3d41f1","savedPayload":{"position":{"x":11673.194319314665,"y":10712.54742741141},"targetPosition":{"x":11929.748562154677,"y":10966.35778378913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Trend Line End","id":"ca4b7aaa-e204-477b-917d-5b0d73dcd9ae","savedPayload":{"position":{"x":11907.826965656746,"y":10602.14416881982},"targetPosition":{"x":11929.748562154677,"y":10966.35778378913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Trend Line End","id":"e185278f-a45c-43e3-8691-6252e48809cc"}}},{"type":"Polygon Vertex","name":"Trend Line Begin","id":"1e9cb0f5-9153-4ebf-bea2-e4cdff34e27d","savedPayload":{"position":{"x":12147.289057803955,"y":10669.790708918592},"targetPosition":{"x":11929.748562154677,"y":10966.35778378913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Trend Line Begin","id":"f05e403b-b940-4007-be9d-517cd5f5b761"}}}],"id":"954cc880-be0c-444b-b810-ddf42e1d6d03","savedPayload":{"position":{"x":11979.707908369968,"y":11043.57282104919},"targetPosition":{"x":11997.592944821114,"y":11343.485927538779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Bullish Arrow","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.forecast === \"Bullish Reversal\" || record.forecast === \"Bullish Continuation\" ","id":"71c1088c-78e4-4b13-a432-48488e81f5a9","savedPayload":{"position":{"x":11693.859176247388,"y":10298.699813689967},"targetPosition":{"x":12190.31256805528,"y":10695.476926829411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n\"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"26a20027-9ab4-483f-8e8b-54c5feae8eb7","savedPayload":{"position":{"x":11643.419820689563,"y":9914.086480326054},"targetPosition":{"x":11825.93356954951,"y":10174.82963028933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"784e3863-e27c-439a-b219-d2257040f9a8","savedPayload":{"position":{"x":11825.93356954951,"y":10174.82963028933},"targetPosition":{"x":12190.31256805528,"y":10695.476926829411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n }\n}","id":"c87d6249-dfd9-4bfc-b6d5-1033dc34ab93","savedPayload":{"position":{"x":11886.106262010857,"y":9791.47362789698},"targetPosition":{"x":11987.584767777058,"y":10093.17626721764},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"c307cae0-1d47-4fbd-b17e-c71ed0b460a2","savedPayload":{"position":{"x":11987.584767777058,"y":10093.17626721764},"targetPosition":{"x":12190.31256805528,"y":10695.476926829411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"-1-","id":"01f59ec4-922f-4f32-89ff-271b4a1715ff","savedPayload":{"position":{"x":12295.557058389408,"y":10068.33744954726},"targetPosition":{"x":12190.31256805528,"y":10695.476926829411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-1-","id":"a9852c0f-8ac8-4b9d-ac29-e8d8f29da720"}}},{"type":"Polygon Vertex","name":"-2-","id":"63a0a7cf-0e25-4c76-a647-7bce1cf8349d","savedPayload":{"position":{"x":12386.33054812473,"y":10089.876159037365},"targetPosition":{"x":12190.31256805528,"y":10695.476926829411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-2-","id":"bb29fdb8-abfe-4377-9063-6790f2eb8d8f"}}},{"type":"Polygon Vertex","name":"-3-","id":"34336858-138b-4d29-8e19-963f987eeb7a","savedPayload":{"position":{"x":12471.86690608988,"y":10124.273647152782},"targetPosition":{"x":12190.31256805528,"y":10695.476926829411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-3-","id":"a46f8fdb-d00f-46f6-8ec9-3ef0166107ef"}}},{"type":"Polygon Vertex","name":"-4-","id":"41b893b7-8450-497e-a10e-378e2aad4f86","savedPayload":{"position":{"x":12551.009679730356,"y":10170.481086604059},"targetPosition":{"x":12190.31256805528,"y":10695.476926829411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-4-","id":"2e60f4be-e8cc-4489-81f6-27fa3f61921b"}}},{"type":"Polygon Vertex","name":"-5-","id":"b298e992-97da-4b07-b1b5-2419ef56b05a","savedPayload":{"position":{"x":12622.44964132423,"y":10227.442882455296},"targetPosition":{"x":12190.31256805528,"y":10695.476926829411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-5-","id":"1740e52b-986e-49cf-bb3f-c373200c4449"}}},{"type":"Polygon Vertex","name":"-6-","id":"c38d5012-bbf9-4b31-916a-e98a2557f2c3","savedPayload":{"position":{"x":12684.883982586343,"y":10293.962514879924},"targetPosition":{"x":12190.31256805528,"y":10695.476926829411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-6-","id":"c8b169eb-6d38-41ab-bc48-e5a08c6f9f45"}}},{"type":"Polygon Vertex","name":"-7-","id":"fd3144a6-1558-42b5-82d8-54975ee48863","savedPayload":{"position":{"x":12741.82717498493,"y":10378.0021732053},"targetPosition":{"x":12190.31256805528,"y":10695.476926829411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-7-","id":"f5cee1fe-b34d-47e5-8d4a-26061487b242"}}}],"id":"f8d58d58-6d2e-454f-ae56-4f57ab357a85","savedPayload":{"position":{"x":12225.195554812315,"y":10787.668480565417},"targetPosition":{"x":11997.592944821114,"y":11343.485927538779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"01e600b6-8d17-4ea5-bb31-30308e68433e","savedPayload":{"position":{"x":11997.592944821114,"y":11343.485927538779},"targetPosition":{"x":12398.961661973364,"y":11789.177716002274},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Three-Candles Patterns","config":"{ \n\"codeName\": \"Three-Candles Patterns\"\n}","panelData":[{"type":"Panel Data","name":"Pattern Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.name","id":"5a0d3dea-2329-4eb2-8c13-a112d1f03368","savedPayload":{"position":{"x":12521.529451619575,"y":11282.104632913197},"targetPosition":{"x":12753.336135929472,"y":11473.097355738706},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8b719d3b-612d-4978-bde8-a748068d4366","savedPayload":{"position":{"x":12753.336135929472,"y":11473.097355738706},"targetPosition":{"x":12985.309461535395,"y":11664.157620741606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend Direction","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.trend","id":"9d7f27b8-56b3-4b97-a3b4-1687a546f367","savedPayload":{"position":{"x":12994.102830402499,"y":11062.834893162257},"targetPosition":{"x":12989.685271820555,"y":11363.418511128384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bdf5aa9a-a121-4275-969e-5eed6ebd878d","savedPayload":{"position":{"x":12989.685271820555,"y":11363.418511128384},"targetPosition":{"x":12985.309461535395,"y":11664.157620741606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Forecast","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.forecast","id":"04bc641a-62a0-4441-b4d5-58fa30fe413e","savedPayload":{"position":{"x":13460.65130741904,"y":11295.93637445114},"targetPosition":{"x":13222.96465937862,"y":11479.97347535613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6ddacd18-8603-4112-bd00-80fe0cb03dcb","savedPayload":{"position":{"x":13222.96465937862,"y":11479.97347535613},"targetPosition":{"x":12985.309461535395,"y":11664.157620741606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend Line Method","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.trendMethod","id":"3b43a0f7-d76f-4b8a-8228-9b0282826022","savedPayload":{"position":{"x":13569.398264324223,"y":11804.241251740332},"targetPosition":{"x":13277.003171117074,"y":11734.41244801159},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"950a394b-df06-4b90-88fc-b59cb3cc1cb5","savedPayload":{"position":{"x":13277.003171117074,"y":11734.41244801159},"targetPosition":{"x":12985.309461535395,"y":11664.157620741606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend Line Period","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.period","id":"2b0825d5-9e69-4b0a-861a-c88870b859c4","savedPayload":{"position":{"x":13236.937029970217,"y":12208.224780499606},"targetPosition":{"x":13111.138350440473,"y":11936.12827339466},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"63fbe7e3-b323-40ea-bfdc-0aac0df03c0f","savedPayload":{"position":{"x":13111.138350440473,"y":11936.12827339466},"targetPosition":{"x":12985.309461535395,"y":11664.157620741606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend Line Value","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.trendLine","id":"e838b1bb-2079-479e-b85a-38019fca078d","savedPayload":{"position":{"x":12716.199880878816,"y":12200.301115628657},"targetPosition":{"x":12850.874297561895,"y":11932.297848995104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f36e0123-4262-45d3-8e18-699407c0bb78","savedPayload":{"position":{"x":12850.874297561895,"y":11932.297848995104},"targetPosition":{"x":12985.309461535395,"y":11664.157620741606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1f14d068-2fc4-42b5-8edf-7d552f50d1ed","savedPayload":{"position":{"x":12985.309461535395,"y":11664.157620741606},"targetPosition":{"x":12398.961661973364,"y":11789.177716002274},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"acdb9c43-0859-42be-87b0-1a600cf513d4","savedPayload":{"position":{"x":12400.198493102642,"y":11799.030724932194},"targetPosition":{"x":12215.097662258146,"y":12369.642313054686},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e10e4374-b30c-4974-b2ff-bd789f50fde2","savedPayload":{"position":{"x":12215.059921412198,"y":12369.634706235254},"targetPosition":{"x":12814.727007364905,"y":12369.63867824567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"38d04c99-51a6-4c1c-853e-ba67e216854b","savedPayload":{"position":{"x":12814.727007364905,"y":12369.63867824567},"targetPosition":{"x":12814.727007364905,"y":12369.63867824567},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}
\ No newline at end of file
diff --git a/Plugins/Data-Mines/Masters.json b/Plugins/Data-Mines/Masters.json
deleted file mode 100644
index b4b239d40..000000000
--- a/Plugins/Data-Mines/Masters.json
+++ /dev/null
@@ -1 +0,0 @@
-{"type":"Data Mine","name":"Masters","config":"{\n\"codeName\": \"Masters\"\n}","sensorBots":[{"type":"Sensor Bot","name":"Exchange Raw Data","config":"{\n\"codeName\": \"Exchange-Raw-Data\",\n\"repo\": \"Exchange-Raw-Data-Sensor-Bot\"\n}","processes":[{"type":"Process Definition","name":"Historic-OHLCVs","config":"{\n \"codeName\": \"Historic-OHLCVs\",\n \"description\": \"Retrieves and saves historical maket data\",\n \"startMode\": {\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 60000,\n \"retryWaitTime\": 10000\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[],"outputDatasetFolders":[],"id":"dfe2556e-a765-4e38-9d30-7f91090c0069","savedPayload":{"position":{"x":19696.65896528582,"y":18077.80666168302},"targetPosition":{"x":19676.617425695335,"y":18484.33639924593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\n \"mainUtility\": \"Self Reference\"\n}","id":"ea39c98b-18e2-44ce-9f7f-86a8a76a688a","savedPayload":{"position":{"x":20113.534021268813,"y":17812.56375630177},"targetPosition":{"x":19895.316491438505,"y":18148.31980838774},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[],"dataMineDataDependencies":[],"id":"5c7fae5a-6da6-4864-a167-f2f21d578c72","savedPayload":{"position":{"x":19895.316491438505,"y":18148.31980838774},"targetPosition":{"x":19676.617425695335,"y":18484.33639924593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e","savedPayload":{"position":{"x":20033.71582860312,"y":18302.406526432995},"targetPosition":{"x":19676.617425695335,"y":18484.33639924593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","id":"957e7e3a-b167-40be-93b5-9ba4ceff56e5","savedPayload":{"position":{"x":20077.30856507894,"y":18504.680081128765},"targetPosition":{"x":19676.617425695335,"y":18484.33639924593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"fe40a546-43ee-49df-908a-7e72f598f0cd","savedPayload":{"position":{"x":20021.51506449239,"y":18692.64493952324},"targetPosition":{"x":19676.617425695335,"y":18484.33639924593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc","savedPayload":{"position":{"x":19676.617425695335,"y":18484.33639924593},"targetPosition":{"x":19280.707614323983,"y":18686.55263969416},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Trades","config":"{\n\"codeName\": \"Trades\"\n}","datasets":[{"type":"Dataset Definition","name":"Trades","config":"{\n\"codeName\": \"Trades\"\n}","id":"fbb7c17e-a909-4fa2-b3c5-eb8ca86297c4","savedPayload":{"position":{"x":19941.732540593195,"y":18582.456194349146},"targetPosition":{"x":19743.31504137297,"y":18614.06022300575},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"id":"38dbb942-a15b-450b-a867-02a94030965f","savedPayload":{"position":{"x":19743.31504137297,"y":18614.06022300575},"targetPosition":{"x":19280.707614323983,"y":18686.55263969416},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition","name":"Candles","config":"{\n\"codeName\": \"Candles\"\n}","datasets":[{"type":"Dataset Definition","name":"One-Min","config":"{\n\"codeName\": \"One-Min\"\n}","id":"1c3696e4-c28e-4744-9100-706d6dce0c3c","savedPayload":{"position":{"x":19937.702085675992,"y":18796.91268093051},"targetPosition":{"x":19743.509774678925,"y":18760.218280191744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"id":"2443883b-6959-42a3-ae3b-ef3102ffcdcc","savedPayload":{"position":{"x":19743.509774678925,"y":18760.218280191744},"targetPosition":{"x":19280.707614323983,"y":18686.55263969416},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition","name":"Volumes","config":"{\n\"codeName\": \"Volumes\"\n}","datasets":[{"type":"Dataset Definition","name":"One-Min","config":"{\n\"codeName\": \"One-Min\"\n}","id":"73dcce78-c223-49e1-a93c-7e1ab7283f86","savedPayload":{"position":{"x":19876.882330587618,"y":18991.833201781243},"targetPosition":{"x":19697.926716177968,"y":18899.844106893066},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"id":"3a43c6f3-bac0-404e-865f-822eb48c8660","savedPayload":{"position":{"x":19697.926716177968,"y":18899.844106893066},"targetPosition":{"x":19280.707614323983,"y":18686.55263969416},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"af924204-66a2-47d4-9910-66ab78acb06f","savedPayload":{"position":{"x":19179.35218735615,"y":18688.55301821844},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Sensor Bot","name":"Webhooks","config":"{\n\"codeName\": \"Webhooks\",\n\"repo\": \"Webhooks-Sensor-Bot\"\n}","processes":[{"type":"Process Definition","name":"Check-Webhook","config":"{\n \"codeName\": \"Check-Webhook\",\n \"description\": \"Retrieves and saves Webhooks Messages Received at the Web Server\",\n \"startMode\": {\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 30000,\n \"retryWaitTime\": 10000\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[],"outputDatasetFolders":[],"id":"9b932f7d-fee5-4d42-97a3-beda58fa0322","savedPayload":{"position":{"x":20042.615969082315,"y":18888.527535538495},"targetPosition":{"x":19656.987788431827,"y":19001.792082372143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Webhooks Check-Webhook","config":"{\n \"mainUtility\": \"Self Reference\"\n}","id":"d6965837-6a98-474c-aee3-8053ac436b9c","savedPayload":{"position":{"x":20464.358624336022,"y":18998.60507911844},"targetPosition":{"x":20064.341160815606,"y":18998.64395783069},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"57bc4c48-663d-4944-8b5b-b09cf6ae3578"}}}],"dataDependencies":[],"dataMineDataDependencies":[],"id":"ff50f64f-12f6-49e7-83a6-659109b89a6a","savedPayload":{"position":{"x":20064.341160815606,"y":18998.64395783069},"targetPosition":{"x":19656.987788431827,"y":19001.792082372143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"57bc4c48-663d-4944-8b5b-b09cf6ae3578","savedPayload":{"position":{"x":20050.27085263396,"y":19105.672661680022},"targetPosition":{"x":19656.987788431827,"y":19001.792082372143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","id":"ed7c8dbc-8f81-4a3f-a525-a839f3b30440","savedPayload":{"position":{"x":20009.872857125974,"y":19204.901703380066},"targetPosition":{"x":19656.987788431827,"y":19001.792082372143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1982bdf9-4889-430b-a004-7760307852b9","savedPayload":{"position":{"x":19925.276435345117,"y":19292.476536014416},"targetPosition":{"x":19656.987788431827,"y":19001.792082372143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"69f37820-ab16-4e19-bfd8-386dd6e249a3","savedPayload":{"position":{"x":19656.987788431827,"y":19001.792082372143},"targetPosition":{"x":19227.31033631989,"y":18886.921797853156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"External Signals","config":"{\n\"codeName\": \"External-Signals\",\n \"singularVariableName\": \"externalSignal\",\n \"pluralVariableName\": \"externalSignals\"\n}","datasets":[{"type":"Dataset Definition","name":"Single File","config":"{\n \"codeName\": \"Single-File\",\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.json\",\n \"validTimeFrames\": [\n \"Any Time Frame\"\n ]\n }","id":"c52d1012-5e3b-41a0-b5af-84098b0594bf","savedPayload":{"position":{"x":19903.545719594727,"y":19424.83241312261},"targetPosition":{"x":19558.15210854508,"y":19219.022604227408},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Timestamp","config":"{ \n\"codeName\": \"timestamp\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"d27e836f-1cea-41e1-b4e8-c411fb50addc","savedPayload":{"position":{"x":20012.713109921744,"y":19749.796163529514},"targetPosition":{"x":19709.14157423291,"y":19517.88545650953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Source","config":"{ \n\"codeName\": \"source\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"6aea41d8-153e-4196-9a55-ec40700c6c0e","savedPayload":{"position":{"x":19901.477593141124,"y":19849.397210770727},"targetPosition":{"x":19709.14157423291,"y":19517.88545650953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Message","config":"{ \n\"codeName\": \"message\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"7c1feeae-6fdb-4886-aeb7-f16d10433acd","savedPayload":{"position":{"x":19760.537442232293,"y":19898.313032213515},"targetPosition":{"x":19709.14157423291,"y":19517.88545650953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6e1d5a0a-c082-4916-bce1-3a8a1651ff02","savedPayload":{"position":{"x":19757.45982919394,"y":19565.879453639307},"targetPosition":{"x":19558.15210854508,"y":19219.022604227408},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"29196db8-4c41-47ea-be7e-952cd9be9a0b","savedPayload":{"position":{"x":19558.15210854508,"y":19219.022604227408},"targetPosition":{"x":19227.31033631989,"y":18886.921797853156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f0d7c835-cf51-447a-8d00-1aeb854bc909","savedPayload":{"position":{"x":19156.516047109537,"y":18803.35804792797},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"indicatorBots":[{"type":"Indicator Bot","name":"Candles Volumes","config":"{\n\"codeName\": \"Candles-Volumes\",\n\"repo\": \"Candles-Volumes-Indicator-Bot\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Produces different files with multi-period candles and volumes for entire markets.\",\n \"startMode\": {\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000\n }","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Candles","id":"5d82f670-e692-40ca-8d24-9273d0f5e08f","savedPayload":{"position":{"x":21145.98429835023,"y":20009.550055512715},"targetPosition":{"x":20702.04069382657,"y":20044.94804287678},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}},{"type":"Output Dataset","name":"Multi-Period-Market Volumes","id":"b198c9ea-3141-4407-9953-2b2ebb672450","savedPayload":{"position":{"x":21139.85436153343,"y":20126.339412659363},"targetPosition":{"x":20702.04069382657,"y":20044.94804287678},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"9bf0483c-4825-4a46-9cf4-1b5262579fc1"}}}],"outputDatasetFolders":[],"id":"d529ec20-8461-40d6-9dc3-14f9ab8b64be","savedPayload":{"position":{"x":20702.04069382657,"y":20044.94804287678},"targetPosition":{"x":19812.96885586955,"y":19999.193297321748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\n \"mainUtility\": \"Market Starting Point\"\n}","id":"ff665e30-1d31-429b-88dc-f5e623b9a5f8","savedPayload":{"position":{"x":21574.83853187912,"y":20091.231340143804},"targetPosition":{"x":20687.800711777763,"y":20161.56507481898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\n \"mainUtility\": \"Market Ending Point\"\n}","id":"6d911e31-cef3-4c4f-82e3-d7b9b1ba9541","savedPayload":{"position":{"x":21576.433556877557,"y":20207.890320292656},"targetPosition":{"x":20687.800711777763,"y":20161.56507481898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\n \"mainUtility\": \"Self Reference\"\n}","id":"957ffa57-d4df-4866-b99f-86cf8add689d","savedPayload":{"position":{"x":21562.739291402093,"y":20323.643222528008},"targetPosition":{"x":20687.800711777763,"y":20161.56507481898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles One-Min","id":"982efbd9-6a54-4322-9a0f-52a6483d67d9","savedPayload":{"position":{"x":21534.026738993336,"y":20436.60717618138},"targetPosition":{"x":20687.800711777763,"y":20161.56507481898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"One-Min","id":"1c3696e4-c28e-4744-9100-706d6dce0c3c"}}},{"type":"Data Dependency","name":"Volumes One-Min","id":"fe28906a-90b1-4a5e-88b1-110d994cb397","savedPayload":{"position":{"x":21490.652052344507,"y":20545.123018143175},"targetPosition":{"x":20687.800711777763,"y":20161.56507481898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"One-Min","id":"73dcce78-c223-49e1-a93c-7e1ab7283f86"}}}],"dataMineDataDependencies":[],"id":"09645f1b-96c2-4dbb-a99f-803c8ebe7a00","savedPayload":{"position":{"x":20687.800711777763,"y":20161.56507481898},"targetPosition":{"x":19812.96885586955,"y":19999.193297321748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d","savedPayload":{"position":{"x":20659.141804395924,"y":20274.297626070642},"targetPosition":{"x":19812.96885586955,"y":19999.193297321748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Exchange Raw Data Historic-OHLCVs","id":"c086e5db-7777-45d9-bb4d-381f9566341f","savedPayload":{"position":{"x":20615.967985406376,"y":20382.48012248691},"targetPosition":{"x":19812.96885586955,"y":19999.193297321748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"fe40a546-43ee-49df-908a-7e72f598f0cd"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5","savedPayload":{"position":{"x":20558.83127781857,"y":20484.374926191565},"targetPosition":{"x":19812.96885586955,"y":19999.193297321748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{}}},"id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1","savedPayload":{"position":{"x":19389.790723890655,"y":18851.754713062335},"targetPosition":{"x":19093.484221712115,"y":18898.685052574405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Produces different files with multi-period candles and volumes on a daily format.\",\n \"startMode\": {\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000\n }","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily Candles","id":"f60fba20-b9d6-4362-b667-020096340e38","savedPayload":{"position":{"x":20669.481666365347,"y":21088.313044189574},"targetPosition":{"x":20289.45541484719,"y":20856.00348926279},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Volumes","id":"a507b588-ce8f-4d5c-9053-d130015560b5","savedPayload":{"position":{"x":20595.750762433498,"y":21179.343185389993},"targetPosition":{"x":20289.45541484719,"y":20856.00348926279},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"2e683057-f911-4105-bc77-16f2706d1915"}}}],"outputDatasetFolders":[],"id":"4d806ace-6f82-449d-b908-afcd7d029a68","savedPayload":{"position":{"x":20289.45541484719,"y":20856.00348926279},"targetPosition":{"x":19597.1611827014,"y":20296.224373033212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\n \"mainUtility\": \"Market Starting Point\"\n}","id":"14730a16-e01e-4bc5-9886-0eed386152f2","savedPayload":{"position":{"x":20968.43411550158,"y":21406.381412236547},"targetPosition":{"x":20209.40347705322,"y":20941.949353274325},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\n \"mainUtility\": \"Self Reference\"\n}","id":"1baff60d-84c4-4e27-b03d-663158ca6bba","savedPayload":{"position":{"x":20901.033133550325,"y":21501.85446506962},"targetPosition":{"x":20209.40347705322,"y":20941.949353274325},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\n \"mainUtility\": \"Market Ending Point\"\n}","id":"4e77c03b-367c-450c-82ca-c7211c2fab8e","savedPayload":{"position":{"x":20821.91313908028,"y":21587.4476079781},"targetPosition":{"x":20209.40347705322,"y":20941.949353274325},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles One-Min","id":"2d324ca2-acc5-4390-ae37-0d350fe8e8fa","savedPayload":{"position":{"x":20732.283243412297,"y":21661.95728998525},"targetPosition":{"x":20209.40347705322,"y":20941.949353274325},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"One-Min","id":"1c3696e4-c28e-4744-9100-706d6dce0c3c"}}},{"type":"Data Dependency","name":"Volumes One-Min","id":"4051019a-9548-4541-a7e7-11097fe3f103","savedPayload":{"position":{"x":20633.403596403114,"y":21724.252359979717},"targetPosition":{"x":20209.40347705322,"y":20941.949353274325},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"One-Min","id":"73dcce78-c223-49e1-a93c-7e1ab7283f86"}}}],"dataMineDataDependencies":[],"id":"1e4c5a40-0c64-423f-968d-31b178056cf3","savedPayload":{"position":{"x":20209.40347705322,"y":20941.949353274325},"targetPosition":{"x":19597.1611827014,"y":20296.224373033212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7","savedPayload":{"position":{"x":20119.967773079406,"y":21016.297133071348},"targetPosition":{"x":19597.1611827014,"y":20296.224373033212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Exchange Raw Data Historic-OHLCVs","id":"fa826f1b-2a52-4542-89b2-7190e137ef56","savedPayload":{"position":{"x":20021.47078702596,"y":21078.434167665804},"targetPosition":{"x":19597.1611827014,"y":20296.224373033212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"fe40a546-43ee-49df-908a-7e72f598f0cd"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3","savedPayload":{"position":{"x":19915.37599394389,"y":21127.287105440468},"targetPosition":{"x":19597.1611827014,"y":20296.224373033212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{}}},"id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d","savedPayload":{"position":{"x":19360.786178968625,"y":19034.88220249627},"targetPosition":{"x":19093.484221712115,"y":18898.685052574405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Candles","config":"{\n \"codeName\": \"Candles\",\n \"singularVariableName\": \"candle\",\n \"pluralVariableName\": \"candles\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"\",\n \"fileName\": \"\"\n }\n }","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8","savedPayload":{"position":{"x":19386.740790889166,"y":19421.56610524181},"targetPosition":{"x":19204.112362186548,"y":19183.56010315444},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"\",\n \"fileName\": \"\"\n }\n }","id":"678a567c-f08d-49b9-813b-4e54fd6afadb","savedPayload":{"position":{"x":19347.259990264432,"y":19447.20523695303},"targetPosition":{"x":19204.112362186548,"y":19183.56010315444},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Min","config":"{\n \"codeName\": \"min\",\n \"isString\": false\n}","id":"95264fe8-6089-4a70-bf6d-158bc43c04f3","savedPayload":{"position":{"x":19468.973142248055,"y":19613.757205157268},"targetPosition":{"x":19404.396477726812,"y":19749.144997809748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Max","config":"{\n \"codeName\": \"max\",\n \"isString\": false\n}","id":"b716bfaa-d785-45e3-b8ca-370284ac901c","savedPayload":{"position":{"x":19545.792701390637,"y":19699.073968924684},"targetPosition":{"x":19404.396477726812,"y":19749.144997809748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Open","config":"{\n \"codeName\": \"open\",\n \"isString\": false\n}","id":"7d809ac3-9b7d-4687-83bb-40b851e522d0","savedPayload":{"position":{"x":19539.784270379292,"y":19813.72166233099},"targetPosition":{"x":19404.396477726812,"y":19749.144997809748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Close","config":"{\n \"codeName\": \"close\",\n \"isString\": false\n}","id":"b0ea41f8-03da-454e-8d0f-bb0f2fc5d328","savedPayload":{"position":{"x":19454.467506611876,"y":19890.541221473573},"targetPosition":{"x":19404.396477726812,"y":19749.144997809748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"21b8be1f-0437-4fc8-9bc0-31779a9ea47e","savedPayload":{"position":{"x":19339.81981320557,"y":19884.532790462228},"targetPosition":{"x":19404.396477726812,"y":19749.144997809748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"91ba9479-fdb4-42b7-ad02-1b2ac24b13d6","savedPayload":{"position":{"x":19263.000254062987,"y":19799.216026694812},"targetPosition":{"x":19404.396477726812,"y":19749.144997809748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Direction","config":"{\n \"codeName\": \"direction\",\n \"isString\": true,\n \"isCalculated\": true,\n \"possibleValues\": [\"Up\", \"Down\", \"Side\"]\n}","formula":{"type":"Formula","code":"variable.direction","id":"becdde12-efb6-464b-bfb0-ac98e3c2b8e3","savedPayload":{"position":{"x":19133.62089242185,"y":19619.991668767263},"targetPosition":{"x":19269.008685074332,"y":19684.568333288506},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"aafd0a4b-da5d-40c1-94b8-e79f0b1eca9b","savedPayload":{"position":{"x":19269.008685074332,"y":19684.568333288506},"targetPosition":{"x":19404.396477726812,"y":19749.144997809748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"65ea4bea-6b8f-4df9-8716-d8af0ce2044c","savedPayload":{"position":{"x":19404.396477726812,"y":19749.144997809748},"targetPosition":{"x":19204.112362186548,"y":19183.56010315444},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"calculations":{"type":"Calculations Procedure","name":"New Calculations Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"let candle = product.candle\n\nif (candle.close > candle.open) {\n variable.direction = \"Up\"\n}\n\nif (candle.close < candle.open) {\n variable.direction = \"Down\"\n}\n\nif (candle.close === candle.open) {\n variable.direction = \"Side\"\n}","id":"798bc1e0-90d2-435f-980d-b457b30046dd","savedPayload":{"position":{"x":19313.453677481833,"y":19773.51304769281},"targetPosition":{"x":19286.118348658012,"y":19626.024811558218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"abbcb291-c048-49e7-b0d0-fdf20891faea","savedPayload":{"position":{"x":19286.118348658012,"y":19626.024811558218},"targetPosition":{"x":19258.78301983419,"y":19478.536575423626},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f7846b50-ae42-46b4-aeb6-9f6217477a1b","savedPayload":{"position":{"x":19258.78301983419,"y":19478.536575423626},"targetPosition":{"x":19204.112362186548,"y":19183.56010315444},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fe6065ec-4d2d-47a0-bae0-8647f0e195d7","savedPayload":{"position":{"x":19229.68137163398,"y":19165.987009830915},"targetPosition":{"x":19093.484221712115,"y":18898.685052574405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Candles","id":"0aed75a3-fee8-4ddc-97ff-b6768e6f12a3"}}},{"type":"Product Definition","name":"Volumes","config":"{\n \"codeName\": \"Volumes\",\n \"singularVariableName\": \"volume\",\n \"pluralVariableName\": \"volumes\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"\",\n \"fileName\": \"\"\n }\n }","id":"2e683057-f911-4105-bc77-16f2706d1915","savedPayload":{"position":{"x":19074.388519666125,"y":19497.917218350987},"targetPosition":{"x":19019.717862018482,"y":19202.9407460818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"\",\n \"fileName\": \"\"\n }\n }","id":"9bf0483c-4825-4a46-9cf4-1b5262579fc1","savedPayload":{"position":{"x":18957.344354773155,"y":19496.38502630194},"targetPosition":{"x":19019.717862018482,"y":19202.9407460818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Buy","config":"{\n \"codeName\": \"buy\",\n \"isString\": false\n}","id":"bc8405e2-4a80-416c-bccf-1334e53d371b","savedPayload":{"position":{"x":18872.702275574982,"y":19605.7492572409},"targetPosition":{"x":18764.83505540231,"y":19573.797530961707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Sell","config":"{\n \"codeName\": \"sell\",\n \"isString\": false\n}","id":"f08f11a8-d092-4b7e-a7e6-c67adac04a33","savedPayload":{"position":{"x":18767.779962086945,"y":19686.258980021455},"targetPosition":{"x":18764.83505540231,"y":19573.797530961707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"8e2624b0-48ee-4d00-821e-0c6a72b3838f","savedPayload":{"position":{"x":18658.78788765444,"y":19611.350802625508},"targetPosition":{"x":18764.83505540231,"y":19573.797530961707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"62964ed9-14c4-442d-b272-602d0c714654","savedPayload":{"position":{"x":18696.349394638826,"y":19484.545280178943},"targetPosition":{"x":18764.83505540231,"y":19573.797530961707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7edf78c7-c63d-4e7e-a643-99aaf52ac967","savedPayload":{"position":{"x":18764.83505540231,"y":19573.797530961707},"targetPosition":{"x":19019.717862018482,"y":19202.9407460818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1a366aef-efef-470e-88e0-2a6fbe4dd91f","savedPayload":{"position":{"x":19046.553882200045,"y":19194.991554752945},"targetPosition":{"x":19093.484221712115,"y":18898.685052574405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Volumes","id":"a6177fb7-51d1-4b7c-bcbb-04861a5bf0c1"}}}],"id":"285a4618-0423-4ac9-9df9-7a78be6fd915","savedPayload":{"position":{"x":19091.484221712115,"y":18900.685052574405},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"l"}}},{"type":"Indicator Bot","name":"Bollinger Bands","config":"{\n\"codeName\": \"Bollinger-Bands\",\n\"repo\": \"Bollinger-Bands-Indicator-Bot\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Produces a single file for each time frame covering all the market.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000\n }","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Bollinger Bands","id":"b8c1f684-7327-488b-8c76-4a73d811e312","savedPayload":{"position":{"x":21756.42381611542,"y":20423.041464029335},"targetPosition":{"x":21085.86600592156,"y":20345.728960590277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"f5b2a7d8-fc32-44a3-a002-9b0fc30a9719"}}},{"type":"Output Dataset","name":"Multi-Period-Market Percentage Bandwidth","id":"fa1205c0-3b6e-4064-aca4-ffdaba7e1bd4","savedPayload":{"position":{"x":21713.565164493073,"y":20593.96023647754},"targetPosition":{"x":21085.86600592156,"y":20345.728960590277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"207e9481-0730-4304-a938-cfe223d70856"}}}],"outputDatasetFolders":[],"id":"72887b4d-8868-4f0c-a051-81b83c366c99","savedPayload":{"position":{"x":21085.86600592156,"y":20345.728960590277},"targetPosition":{"x":19776.406428949806,"y":20017.376076825036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Bollinger Bands Multi-Period-Market","config":"{\n \"mainUtility\": \"Self Reference\"\n}","id":"603f6167-ef54-4464-9b7b-5ff7f59c24e7","savedPayload":{"position":{"x":22359.93597568433,"y":20755.845729701497},"targetPosition":{"x":21031.80474609283,"y":20513.83862859956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"4f8197fa-2627-46df-bd36-7d30fdb12d8c"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\n \"mainUtility\": \"Market Ending Point\"\n}","id":"79c51f8f-95eb-451c-98ac-cce4028e23e2","savedPayload":{"position":{"x":22287.20306323585,"y":21010.30118037408},"targetPosition":{"x":21031.80474609283,"y":20513.83862859956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"25d943b0-45aa-45b3-b8b1-f83d5a8b636f","savedPayload":{"position":{"x":22166.22589749505,"y":21245.677853601373},"targetPosition":{"x":21031.80474609283,"y":20513.83862859956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"bd55a584-c9dd-4f2e-836c-a34a16ef01dc","savedPayload":{"position":{"x":21031.80474609283,"y":20513.83862859956},"targetPosition":{"x":19776.406428949806,"y":20017.376076825036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"4f8197fa-2627-46df-bd36-7d30fdb12d8c","savedPayload":{"position":{"x":20956.263272995606,"y":20673.453684702556},"targetPosition":{"x":19776.406428949806,"y":20017.376076825036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"a2cf5c7f-ffbf-4c38-9640-699fd3a37454","savedPayload":{"position":{"x":20860.53412217864,"y":20821.843071035688},"targetPosition":{"x":19776.406428949806,"y":20017.376076825036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"4a9c8cc7-0ebf-43eb-b7f9-0b280630ff67","savedPayload":{"position":{"x":20746.25524595355,"y":20956.46780405749},"targetPosition":{"x":19776.406428949806,"y":20017.376076825036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{}}},"id":"941a0543-0cc0-4a5d-a782-728d2835c100","savedPayload":{"position":{"x":19776.406428949806,"y":20017.376076825036},"targetPosition":{"x":18989.83519958594,"y":19579.99100490669},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Produces a Daily File at each time frame.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000\n }","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily Bollinger Bands","id":"1f8cdcbe-c7dc-49fd-b106-e59bb4fb4ad9","savedPayload":{"position":{"x":20732.51977999188,"y":21888.193141408774},"targetPosition":{"x":20235.470265173484,"y":21431.50202060742},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"506104fa-e99a-4a46-930e-176bce311aff"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Percentage Bandwidth","id":"6362cf0d-c71e-4d08-8dea-c9b8d5d0e38b","savedPayload":{"position":{"x":20597.382868688415,"y":22001.27764962032},"targetPosition":{"x":20235.470265173484,"y":21431.50202060742},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"e60d62dd-87f7-4f2d-ac21-3ac5c30a50ea"}}}],"outputDatasetFolders":[],"id":"3ab24229-73fe-439a-9684-986aac94f220","savedPayload":{"position":{"x":20235.470265173484,"y":21431.50202060742},"targetPosition":{"x":19369.096196581217,"y":20396.17792967218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\n \"mainUtility\": \"Market Starting Point\"\n}","id":"aee6dca7-b8e8-4a33-9bc6-37830080a3a2","savedPayload":{"position":{"x":21062.770220614824,"y":22474.82091493043},"targetPosition":{"x":20092.92140361108,"y":21535.729187697976},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\n \"mainUtility\": \"Market Ending Point\"\n}","id":"40701c78-7ace-40a8-a943-7b76d73147ce","savedPayload":{"position":{"x":20903.92346033235,"y":22614.976918292705},"targetPosition":{"x":20092.92140361108,"y":21535.729187697976},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Bollinger Bands Multi-Period-Daily","config":"{\n \"mainUtility\": \"Self Reference\"\n}","id":"442d1d63-f28a-4bff-8dda-9bab7a5ad708","savedPayload":{"position":{"x":20725.107137851886,"y":22728.55826070987},"targetPosition":{"x":20092.92140361108,"y":21535.729187697976},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"7323fef7-870a-48b6-b96f-586111253b40"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"603dbf64-0ee0-45b6-a1b8-14065b398893","savedPayload":{"position":{"x":20530.72430449025,"y":22812.768192576754},"targetPosition":{"x":20092.92140361108,"y":21535.729187697976},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"312620aa-b556-43c4-9603-6a80acb7ab00","savedPayload":{"position":{"x":20092.92140361108,"y":21535.729187697976},"targetPosition":{"x":19369.096196581217,"y":20396.17792967218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"7323fef7-870a-48b6-b96f-586111253b40","savedPayload":{"position":{"x":19937.98769207413,"y":21620.458316820415},"targetPosition":{"x":19369.096196581217,"y":20396.17792967218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"7ec89351-b852-416a-961a-7e66717c6473","savedPayload":{"position":{"x":19773.320089322777,"y":21684.239669084098},"targetPosition":{"x":19369.096196581217,"y":20396.17792967218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"acebc3ed-4f3f-4a4b-b403-f16cbe987dde","savedPayload":{"position":{"x":19601.736103694584,"y":21725.981927868263},"targetPosition":{"x":19369.096196581217,"y":20396.17792967218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":4,"arrangementStyle":0},"uiObject":{}}},"id":"e598ee86-1e18-4aa1-95c2-64aaf66776ca","savedPayload":{"position":{"x":19369.096196581217,"y":20396.17792967218},"targetPosition":{"x":18989.83519958594,"y":19579.99100490669},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Bollinger Bands","config":"{\n\"codeName\": \"Bollinger-Bands\",\n\"singularVariableName\": \"bollingerBand\",\n\"pluralVariableName\": \"bollingerBands\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"\",\n \"fileName\": \"\"\n }\n }","id":"f5b2a7d8-fc32-44a3-a002-9b0fc30a9719","savedPayload":{"position":{"x":19108.789754553716,"y":21314.583455018015},"targetPosition":{"x":18816.921153967603,"y":20463.22411843216},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"\",\n \"fileName\": \"\"\n }\n }","id":"506104fa-e99a-4a46-930e-176bce311aff","savedPayload":{"position":{"x":18878.496562622313,"y":21361.11524159187},"targetPosition":{"x":18816.921153967603,"y":20463.22411843216},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"1e7186ee-c481-401d-827f-a30ee7434d92","savedPayload":{"position":{"x":18800.613962699925,"y":21923.233209029047},"targetPosition":{"x":18471.093062730928,"y":22229.690345483104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"15f90f2e-80f0-4575-94d8-6d8957eceee1","savedPayload":{"position":{"x":18917.812056075054,"y":22175.448839368208},"targetPosition":{"x":18471.093062730928,"y":22229.690345483104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Moving Average","config":"{\n \"codeName\": \"movingAverage\",\n \"isString\": false\n}","id":"9786a9cd-1eff-4b5c-ae7c-1dde51659f82","savedPayload":{"position":{"x":18864.37867741286,"y":22448.382881442278},"targetPosition":{"x":18471.093062730928,"y":22229.690345483104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Standard Deviation","config":"{\n \"codeName\": \"standardDeviation\",\n \"isString\": false\n}","id":"e92d7855-bb18-494e-ab37-a895bbcb8287","savedPayload":{"position":{"x":18660.723561228566,"y":22637.78380786585},"targetPosition":{"x":18471.093062730928,"y":22229.690345483104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Deviation","config":"{\n \"codeName\": \"deviation\",\n \"isString\": false\n}","id":"03043530-caa1-416e-8303-840b732e516e","savedPayload":{"position":{"x":18384.63603992176,"y":22671.30690224584},"targetPosition":{"x":18471.093062730928,"y":22229.690345483104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Direction","config":"{\n \"codeName\": \"direction\",\n \"isString\": true,\n \"isCalculated\": true,\n \"possibleValues\": [\"Up\", \"Down\", \"Side\"]\n}","formula":{"type":"Formula","code":"variable.direction","id":"f72926d9-c869-4b7c-ba1e-b36d134e2bc6","savedPayload":{"position":{"x":17812.051262792935,"y":22842.60461839122},"targetPosition":{"x":18141.57216276193,"y":22536.14748193716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"856f24c9-f5f1-491b-98e7-6e1d3c5c5874","savedPayload":{"position":{"x":18141.57216276193,"y":22536.14748193716},"targetPosition":{"x":18471.093062730928,"y":22229.690345483104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Slope","config":"{\n \"codeName\": \"slope\",\n \"isString\": true,\n \"isCalculated\": true,\n \"possibleValues\": [\"Side\", \"Gentle\", \"Medium\", \"Steep\", \"Extreme\"]\n}","formula":{"type":"Formula","code":"variable.slope","id":"fac935fe-b448-4b34-aed7-b35f70808911","savedPayload":{"position":{"x":17577.655076042676,"y":22338.173357712898},"targetPosition":{"x":18024.374069386802,"y":22283.931851598},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4c027b0c-da8a-4146-a51a-d0a7a126150b","savedPayload":{"position":{"x":18024.374069386802,"y":22283.931851598},"targetPosition":{"x":18471.093062730928,"y":22229.690345483104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Upper Band","config":"{ \n \"codeName\": \"upperBand\",\n \"isString\": false,\n \"isCalculated\": true\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.upperBand","id":"72cf5305-7f63-413b-a469-70ae053cfbcf","savedPayload":{"position":{"x":17684.521833367064,"y":21792.305273564758},"targetPosition":{"x":18077.807448048996,"y":22010.99780952393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"58990232-dba9-485d-8246-540554dfeb20","savedPayload":{"position":{"x":18077.807448048996,"y":22010.99780952393},"targetPosition":{"x":18471.093062730928,"y":22229.690345483104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lower Band","config":"{ \n \"codeName\": \"lowerBand\",\n \"isString\": false,\n \"isCalculated\": true\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.lowerBand","id":"c165f7e7-03d7-442d-8182-1c7e913e06a5","savedPayload":{"position":{"x":18091.832065735653,"y":21413.503420717614},"targetPosition":{"x":18281.46256423329,"y":21821.59688310036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f1db553a-f738-4a1e-89c0-82b6b0cac9ba","savedPayload":{"position":{"x":18281.46256423329,"y":21821.59688310036},"targetPosition":{"x":18471.093062730928,"y":22229.690345483104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b5a5ec97-7246-42bd-97e4-28fb4a148b2c","savedPayload":{"position":{"x":18471.093062730928,"y":22229.690345483104},"targetPosition":{"x":18816.921153967603,"y":20463.22411843216},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"calculations":{"type":"Calculations Procedure","name":"New Calculations Procedure","initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"variable.lastMovingAverage = 0\nvariable.SIDE_TOLERANCE = 0.5 * system.timeFrame / system.ONE_DAY_IN_MILISECONDS\nvariable.SMALL_SLOPE = 1.0 * system.timeFrame / system.ONE_DAY_IN_MILISECONDS\nvariable.MEDIUM_SLOPE = 2.0 * system.timeFrame / system.ONE_DAY_IN_MILISECONDS\nvariable.HIGH_SLOPE = 4.0 * system.timeFrame / system.ONE_DAY_IN_MILISECONDS\n","id":"f00ac417-cd99-493c-b959-35eddd6fe4f3","savedPayload":{"position":{"x":18404.07145939527,"y":21507.24657172333},"targetPosition":{"x":18475.751408679967,"y":21293.96979176231},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d144ab2f-5b4e-4153-806a-d471e9f281dd","savedPayload":{"position":{"x":18475.751408679967,"y":21293.96979176231},"targetPosition":{"x":18619.111307249368,"y":20867.416231840263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"\nif (variable.lastMovingAverage > product.bollingerBand.movingAverage) { variable.direction = \"Down\" }\nif (variable.lastMovingAverage < product.bollingerBand.movingAverage) { variable.direction = \"Up\" }\nif (variable.lastMovingAverage === product.bollingerBand.movingAverage) { variable.direction = \"Side\" }\n\nvariable.delta = Math.abs(product.bollingerBand.movingAverage - variable.lastMovingAverage)\n\nvariable.slope = \"Extreme\"\nif (variable.delta < product.bollingerBand.movingAverage * variable.HIGH_SLOPE / 100) { variable.slope = \"Steep\" }\nif (variable.delta < product.bollingerBand.movingAverage * variable.MEDIUM_SLOPE / 100) { variable.slope = \"Medium\" }\nif (variable.delta < product.bollingerBand.movingAverage * variable.SMALL_SLOPE / 100) { variable.slope = \"Gentle\" }\nif (variable.delta < product.bollingerBand.movingAverage * variable.SIDE_TOLERANCE / 100) { variable.slope = \"Side\" }\n\nvariable.lastMovingAverage = product.bollingerBand.movingAverage\n\nvariable.upperBand = product.bollingerBand.movingAverage + product.bollingerBand.deviation\nvariable.lowerBand = product.bollingerBand.movingAverage - product.bollingerBand.deviation","id":"14fc0c9c-cd10-4931-95b5-4bc7d549942a","savedPayload":{"position":{"x":18245.798486929667,"y":21429.788473496046},"targetPosition":{"x":18370.2360937029,"y":21242.331059610784},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8a669548-845b-4d80-ae96-29f68e9c9ac7","savedPayload":{"position":{"x":18370.2360937029,"y":21242.331059610784},"targetPosition":{"x":18619.111307249368,"y":20867.416231840263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d72c7cb2-8886-4101-a83a-f9788b8400a0","savedPayload":{"position":{"x":18619.111307249368,"y":20867.416231840263},"targetPosition":{"x":18816.921153967603,"y":20463.22411843216},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","id":"139484b3-3a3f-4268-801e-a8c441746c7a","savedPayload":{"position":{"x":18521.238897497926,"y":20802.44676391592},"targetPosition":{"x":18816.921153967603,"y":20463.22411843216},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"29088877-8d63-4217-8d34-8742afc262f4","savedPayload":{"position":{"x":18816.921153967603,"y":20463.22411843216},"targetPosition":{"x":18989.83519958594,"y":19579.99100490669},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Bollinger Bands","id":"a11bfdf8-595c-4b50-b259-6a9f777d0ea8"}}},{"type":"Product Definition","name":"Percentage Bandwidth","config":"{\n \"codeName\": \"Percentage-Bandwidth\",\n \"singularVariableName\": \"percentageBandwidth\",\n \"pluralVariableName\": \"percentageBandwidths\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"\",\n \"fileName\": \"\"\n }\n }","id":"207e9481-0730-4304-a938-cfe223d70856","savedPayload":{"position":{"x":17311.21890218844,"y":20435.564976672227},"targetPosition":{"x":17814.96855440468,"y":20045.58516268604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"\",\n \"fileName\": \"\"\n }\n }","id":"e60d62dd-87f7-4f2d-ac21-3ac5c30a50ea","savedPayload":{"position":{"x":17200.355038110716,"y":20212.791857342745},"targetPosition":{"x":17814.96855440468,"y":20045.58516268604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"7c793ff3-0356-4f05-b471-4510e9cdaf58","savedPayload":{"position":{"x":16674.886353341855,"y":20178.516968427648},"targetPosition":{"x":16552.055689944937,"y":19884.629832171537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"b02c38c3-216c-4a83-903d-d50a599b55dc","savedPayload":{"position":{"x":16358.969989472023,"y":20138.222407480698},"targetPosition":{"x":16552.055689944937,"y":19884.629832171537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Value","config":"{\n \"codeName\": \"value\",\n \"isString\": false\n}","id":"2c279136-20b1-4f9c-9d35-6a4fd36a4a99","savedPayload":{"position":{"x":16235.791743097749,"y":19844.427170412557},"targetPosition":{"x":16552.055689944937,"y":19884.629832171537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Moving Average","config":"{\n \"codeName\": \"movingAverage\",\n \"isString\": false\n}","id":"a9e3bbb1-9eaf-4ab1-93bb-ee27357daa76","savedPayload":{"position":{"x":16428.84666653562,"y":19590.697089641402},"targetPosition":{"x":16552.055689944937,"y":19884.629832171537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Bandwidth","config":"{\n \"codeName\": \"bandwidth\",\n \"isString\": false\n}","id":"90d9694f-ed29-4b2e-8c75-c4bdcf35e36a","savedPayload":{"position":{"x":16744.790625037076,"y":19631.0735383494},"targetPosition":{"x":16552.055689944937,"y":19884.629832171537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d04d8ca7-18d0-4360-babf-7c49c3c97f50","savedPayload":{"position":{"x":16552.055689944937,"y":19884.629832171537},"targetPosition":{"x":17814.96855440468,"y":20045.58516268604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"3b7885a0-cd72-4a3f-a38b-3dc8c47bd068","savedPayload":{"position":{"x":18330.793399647944,"y":20192.905277814807},"targetPosition":{"x":18989.83519958594,"y":19579.99100490669},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Percentage B","id":"06b2f3f6-b138-415f-8974-31c22a930f92"}}}],"id":"1b7ecdbd-82e9-4a27-8fdd-467c0ca6bf23","savedPayload":{"position":{"x":18994.15721706568,"y":18965.716877971827},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"c"}}},{"type":"Indicator Bot","name":"Bollinger Channels","config":"{\n\"codeName\": \"Bollinger-Channels\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Produces for each market two files with bollinger channels respectively.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\",\n \"startDate\": {\n },\n \"endDate\": {\n }\n }\n }","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Market Bollinger Channels Objects","id":"d804e799-7c12-42f5-8de2-52a3a7d5daa4","savedPayload":{"position":{"x":17640.83254378968,"y":20413.22008805878},"targetPosition":{"x":17451.844212951095,"y":19837.165287758613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Market","id":"610cd062-ab88-4892-b711-0fb430305c61"}}},{"type":"Output Dataset","name":"Market Bollinger Channels","id":"e524685d-8da0-41f6-839d-9a4100e6e3fe","savedPayload":{"position":{"x":17546.501268457345,"y":20436.490666699323},"targetPosition":{"x":17451.844212951095,"y":19837.165287758613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Market","id":"22c1f2c6-3838-4657-add8-2e01d7056917"}}},{"type":"Output Dataset","name":"Market Bollinger Sub-Channels Objects","id":"eb0e7947-95e4-4f4a-87ea-1fb430b8b503","savedPayload":{"position":{"x":17450.573503403437,"y":20444.12989855655},"targetPosition":{"x":17451.844212951095,"y":19837.165287758613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Market","id":"869f615e-0cc0-44fd-8648-4a951c23a410"}}},{"type":"Output Dataset","name":"Market Bollinger Sub-Channels","id":"dc96b9ac-f8d5-4bf8-a135-45cd5d6369f1","savedPayload":{"position":{"x":17375.054877559247,"y":20434.898417802186},"targetPosition":{"x":17451.844212951095,"y":19837.165287758613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Market","id":"f8d44a4d-3771-4a71-97ca-dc604ff565d3"}}}],"outputDatasetFolders":[],"id":"dd39a54a-3714-446a-9a41-dfd83557664c","savedPayload":{"position":{"x":17451.844212951095,"y":19837.165287758613},"targetPosition":{"x":17406.26775969621,"y":19232.72697514764},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Bollinger Channels Multi-Period-Market","config":"{\n \"mainUtility\": \"Self Reference\"\n}","id":"ae627a69-4089-432d-b379-1b12ce4bd75e","savedPayload":{"position":{"x":17277.59984707742,"y":20434.43407239605},"targetPosition":{"x":17293.43260554821,"y":19828.094213449596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"af8aded9-002a-475a-88f5-d29573740969"}}},{"type":"Status Dependency","name":"Bollinger Bands Multi-Period-Market","config":"{\n \"mainUtility\": \"Market Ending Point\"\n}","id":"4a603114-d464-46db-90a1-62304274117a","savedPayload":{"position":{"x":17175.25233871856,"y":20422.94332501257},"targetPosition":{"x":17293.43260554821,"y":19828.094213449596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"4f8197fa-2627-46df-bd36-7d30fdb12d8c"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Bollinger Bands Multi-Period-Market","id":"ea27be54-93a3-48e3-8c52-72bc397b6c66","savedPayload":{"position":{"x":17066.154362540903,"y":20389.86581398357},"targetPosition":{"x":17293.43260554821,"y":19828.094213449596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"f5b2a7d8-fc32-44a3-a002-9b0fc30a9719"}}}],"dataMineDataDependencies":[],"id":"8b509294-6028-40e2-88a8-655a34245ed8","savedPayload":{"position":{"x":17293.43260554821,"y":19828.094213449596},"targetPosition":{"x":17406.26775969621,"y":19232.72697514764},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"af8aded9-002a-475a-88f5-d29573740969","savedPayload":{"position":{"x":17143.174428826467,"y":19778.649530292114},"targetPosition":{"x":17406.26775969621,"y":19232.72697514764},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Bollinger Bands Multi-Period-Market","id":"f4720e04-5def-4c0b-be42-33e50ac6a6b7","savedPayload":{"position":{"x":17010.78681934299,"y":19691.962680817225},"targetPosition":{"x":17406.26775969621,"y":19232.72697514764},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"4a9c8cc7-0ebf-43eb-b7f9-0b280630ff67"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"671530dc-5ba5-4c8d-bc23-f228e22c56b3","savedPayload":{"position":{"x":16905.28026232123,"y":19573.808161887333},"targetPosition":{"x":17406.26775969621,"y":19232.72697514764},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"28be432d-80ca-46b3-859a-55541e24b2b4","savedPayload":{"position":{"x":18914.496962705274,"y":19374.031895615743},"targetPosition":{"x":18681.11969780613,"y":19032.711166046447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Produces for each market two files with bollinger channels respectively at each day of the market history.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\",\n \"startDate\": {\n \"takeItFromStatusDependency\": 0\n },\n \"endDate\": {\n \"takeItFromStatusDependency\": 1\n }\n }\n }","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Daily Bollinger Channels Objects","id":"64430a93-38c2-4c71-8085-71661bbf804e","savedPayload":{"position":{"x":18702.73293919518,"y":20049.278104634916},"targetPosition":{"x":18133.44682463724,"y":20049.278104634916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Daily","id":"64910fea-c92a-4a55-850a-aa62d98b478e"}}},{"type":"Output Dataset","name":"Daily Bollinger Sub-Channels","id":"b536a078-e32a-4489-93f6-75107a90b527","savedPayload":{"position":{"x":18133.44682463724,"y":20651.63555279872},"targetPosition":{"x":18133.44682463724,"y":20049.278104634916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Daily","id":"ca71e765-0f66-4b18-b500-847b9d16169b"}}},{"type":"Output Dataset","name":"Daily Bollinger Sub-Channels Objects","id":"d5bcc7c4-2798-4c34-9504-cc4617b64a04","savedPayload":{"position":{"x":17517.275433681243,"y":20049.278104634916},"targetPosition":{"x":18133.44682463724,"y":20049.278104634916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Daily","id":"029479ae-275d-4854-ad3e-66948656a053"}}},{"type":"Output Dataset","name":"Daily Bollinger Channels","id":"57898dc1-83a2-4ee9-8a0b-6674f988f0fa","savedPayload":{"position":{"x":18133.44682463724,"y":19457.67232421349},"targetPosition":{"x":18133.44682463724,"y":20049.278104634916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Daily","id":"96b4e65b-e6db-44a0-80a5-ceb9d68a09ec"}}}],"outputDatasetFolders":[],"id":"b8fc5ac0-021d-4230-aa59-9876c5f0f3e1","savedPayload":{"position":{"x":16791.369074094677,"y":19853.634637865216},"targetPosition":{"x":17123.279789379994,"y":19007.365219603875},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Bollinger Bands Multi-Period-Daily","config":"{\n \"mainUtility\": \"Market Ending Point\"\n}","id":"3cb29ee1-02de-452a-a79f-2451700fe335","savedPayload":{"position":{"x":16230.324752960918,"y":20574.98837337425},"targetPosition":{"x":16583.807705705723,"y":19738.2743726891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"7323fef7-870a-48b6-b96f-586111253b40"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\n \"mainUtility\": \"Market Starting Point\"\n}","id":"d5f34469-0ae1-45e6-acd9-4155d5940c77","savedPayload":{"position":{"x":16103.504207926038,"y":20509.225698208673},"targetPosition":{"x":16583.807705705723,"y":19738.2743726891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}},{"type":"Status Dependency","name":"Bollinger Channels Multi-Period-Daily","config":"{\n \"mainUtility\": \"Self Reference\"\n}","id":"7f6266a5-bddb-4d49-962d-100b1993043d","savedPayload":{"position":{"x":15988.702235865283,"y":20424.498442199554},"targetPosition":{"x":16583.807705705723,"y":19738.2743726891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"b1dd07bf-a698-4bbb-995a-356c929a1e94"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Bollinger Bands Multi-Period-Daily","id":"073e24ab-6b47-482a-b117-0d3554f63c1f","savedPayload":{"position":{"x":15888.47699749988,"y":20322.695665981362},"targetPosition":{"x":16583.807705705723,"y":19738.2743726891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"506104fa-e99a-4a46-930e-176bce311aff"}}}],"dataMineDataDependencies":[],"id":"c0cb34fe-9268-4ebb-a8ce-7d53a13a6d4d","savedPayload":{"position":{"x":16583.807705705723,"y":19738.2743726891},"targetPosition":{"x":17123.279789379994,"y":19007.365219603875},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"b1dd07bf-a698-4bbb-995a-356c929a1e94","savedPayload":{"position":{"x":16412.95288583859,"y":19573.75856978832},"targetPosition":{"x":17123.279789379994,"y":19007.365219603875},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Bollinger Bands Multi-Period-Daily","id":"4548cff9-f388-4f4f-b148-665d22ffaf9e","savedPayload":{"position":{"x":16290.500880492782,"y":19370.666186540282},"targetPosition":{"x":17123.279789379994,"y":19007.365219603875},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"acebc3ed-4f3f-4a4b-b403-f16cbe987dde"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"34e17fad-2c62-4c45-875c-774ac6b6cc99","savedPayload":{"position":{"x":16224.764771933402,"y":19142.73552892972},"targetPosition":{"x":17123.279789379994,"y":19007.365219603875},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{}}},"id":"bc15b49d-4547-4bac-a28b-193eb0158fe3","savedPayload":{"position":{"x":18741.80259031474,"y":19441.68561694246},"targetPosition":{"x":18681.11969780613,"y":19032.711166046447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Bollinger Channels Objects","config":"{\n \"codeName\": \"Bollinger-Channels-Objects\",\n \"singularVariableName\": \"bollingerChannelsObject\",\n \"pluralVariableName\": \"bollingerChannelsObjects\"\n}","datasets":[{"type":"Dataset Definition","name":"Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"610cd062-ab88-4892-b711-0fb430305c61","savedPayload":{"position":{"x":17674.448820627968,"y":20374.842039713905},"targetPosition":{"x":17754.37214823314,"y":19839.68980280316},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }\n","id":"64910fea-c92a-4a55-850a-aa62d98b478e","savedPayload":{"position":{"x":17512.444340643044,"y":20323.39117066673},"targetPosition":{"x":17754.37214823314,"y":19839.68980280316},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"06edb099-ff64-4528-b8c6-599154bc2ddf","savedPayload":{"position":{"x":17265.066464699972,"y":20584.71920011219},"targetPosition":{"x":16995.740935815145,"y":20609.466443000772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"94656d1f-508a-4e94-a8d2-013690aac596","savedPayload":{"position":{"x":17218.489827423713,"y":20763.723309041696},"targetPosition":{"x":16995.740935815145,"y":20609.466443000772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Direction","config":"{\n \"codeName\": \"direction\",\n \"isString\": true,\n \"possibleValues\": [\"Up\", \"Down\", \"Side\"]\n}","id":"edc0f697-f5e2-446f-bae8-8db7adf91d23","savedPayload":{"position":{"x":17067.45592827716,"y":20870.971752499136},"targetPosition":{"x":16995.740935815145,"y":20609.466443000772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Period","config":"{\n \"codeName\": \"period\",\n \"isString\": false\n}","id":"eb733f85-6cf5-485e-9bd3-2bf78733c492","savedPayload":{"position":{"x":16882.993301145212,"y":20856.10244168039},"targetPosition":{"x":16995.740935815145,"y":20609.466443000772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"First Moving Average","config":"{\n \"codeName\": \"firstMovingAverage\",\n \"isString\": false\n}","id":"a67a15ee-6f7f-48bd-9d55-82c57efc993b","savedPayload":{"position":{"x":16751.03588726621,"y":20726.092013533493},"targetPosition":{"x":16995.740935815145,"y":20609.466443000772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Last Moving Average","config":"{\n \"codeName\": \"lastMovingAverage\",\n \"isString\": false\n}","id":"0f05bffe-d668-4d25-ab67-d55a4a7c8f5d","savedPayload":{"position":{"x":16733.546884299147,"y":20542.11260943463},"targetPosition":{"x":16995.740935815145,"y":20609.466443000772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"First Deviation","config":"{\n \"codeName\": \"firstDeviation\",\n \"isString\": false\n}","id":"eae84509-b689-4a76-9277-eed72af491dd","savedPayload":{"position":{"x":16821.377937431214,"y":20377.941335987285},"targetPosition":{"x":16995.740935815145,"y":20609.466443000772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Last Deviation","config":"{\n \"codeName\": \"lastDeviation\",\n \"isString\": false\n}","id":"d5c32d1f-9e3c-48e8-8025-a17d57c0812e","savedPayload":{"position":{"x":17022.795456780816,"y":20348.359026729468},"targetPosition":{"x":16995.740935815145,"y":20609.466443000772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6c3e68b0-b781-4c53-9ff7-67c3f747ac8a","savedPayload":{"position":{"x":16995.740935815145,"y":20609.466443000772},"targetPosition":{"x":17754.37214823314,"y":19839.68980280316},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"\n\nif (record.next !== undefined) {\n\n if (\n record.current.direction === record.next.direction) {\n\n if (variable.channel === undefined) {\n\n variable.channel = {\n begin: undefined,\n end: undefined,\n direction: undefined,\n period: 0,\n firstMovingAverage: 0,\n lastMovingAverage: 0,\n firstDeviation: 0,\n lastDeviation: 0\n }\n\n variable.channel.direction = record.current.direction\n variable.channel.period = 2\n\n variable.channel.begin = record.current.begin\n variable.channel.end = record.next.end\n\n variable.channel.firstMovingAverage = record.current.movingAverage\n variable.channel.lastMovingAverage = record.next.movingAverage\n\n variable.channel.firstDeviation = record.current.deviation\n variable.channel.lastDeviation = record.next.deviation\n\n } else {\n\n variable.channel.period++\n variable.channel.end = record.next.end\n variable.channel.lastMovingAverage = record.next.movingAverage\n variable.channel.lastDeviation = record.next.deviation\n\n }\n } else {\n\n if (variable.channel !== undefined) {\n results.push(variable.channel)\n variable.channel = undefined\n } else {\n /* The variable.channel has only one period */\n\n variable.channel = {}\n\n variable.channel.direction = record.current.direction\n variable.channel.period = 1\n\n variable.channel.begin = record.current.begin\n variable.channel.end = record.current.end\n\n variable.channel.firstMovingAverage = record.current.movingAverage\n variable.channel.lastMovingAverage = record.current.movingAverage\n\n variable.channel.firstDeviation = record.current.deviation\n variable.channel.lastDeviation = record.current.deviation\n\n results.push(variable.channel)\n variable.channel = undefined\n }\n }\n} else {\n if (variable.channel !== undefined) {\n variable.channel.period++\n variable.channel.end = record.current.end\n variable.channel.lastMovingAverage = record.current.movingAverage\n variable.channel.lastDeviation = record.current.deviation\n results.push(variable.channel)\n variable.channel = undefined\n } else {\n /* The variable.channel has only one period */\n\n variable.channel = {}\n\n variable.channel.direction = record.current.direction\n variable.channel.period = 1\n\n variable.channel.begin = record.current.begin\n variable.channel.end = record.current.end\n\n variable.channel.firstMovingAverage = record.current.movingAverage\n variable.channel.lastMovingAverage = record.current.movingAverage\n\n variable.channel.firstDeviation = record.current.deviation\n variable.channel.lastDeviation = record.current.deviation\n\n results.push(variable.channel)\n variable.channel = undefined\n }\n}","id":"b81d6adc-e721-4089-b4c3-2fd772f33d25","savedPayload":{"position":{"x":16966.831899350396,"y":20263.35830305781},"targetPosition":{"x":17217.49530486263,"y":20154.83113083025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a2b92c75-e272-4d05-b098-121a70371450","savedPayload":{"position":{"x":17217.49530486263,"y":20154.83113083025},"targetPosition":{"x":17476.177769930226,"y":19984.305163081706},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"116ccf8c-26bc-4b86-99e6-bb3075527713","savedPayload":{"position":{"x":17476.177769930226,"y":19984.305163081706},"targetPosition":{"x":17754.37214823314,"y":19839.68980280316},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1f111f72-624f-4166-9f99-ab8d785d5267","savedPayload":{"position":{"x":18553.18893440088,"y":19444.761195073395},"targetPosition":{"x":18681.11969780613,"y":19032.711166046447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""},"referenceParent":{"type":"Plotter Module","name":"Bollinger Channels Objects","id":"52881346-3e4b-45e0-92d2-af130d381b8e"}}},{"type":"Product Definition","name":"Bollinger Channels","config":"{\n \"codeName\": \"Bollinger-Channels\",\n \"singularVariableName\": \"bollingerChannel\",\n \"pluralVariableName\": \"bollingerChannels\"\n}","datasets":[{"type":"Dataset Definition","name":"Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"22c1f2c6-3838-4657-add8-2e01d7056917","savedPayload":{"position":{"x":17290.78182008501,"y":20106.937132190145},"targetPosition":{"x":17594.984490489507,"y":19659.70573780189},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }\n","id":"96b4e65b-e6db-44a0-80a5-ceb9d68a09ec","savedPayload":{"position":{"x":17167.110599982894,"y":19990.36978637957},"targetPosition":{"x":17594.984490489507,"y":19659.70573780189},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"b243e3c4-e528-4e7b-9644-b03e47c8ca34","savedPayload":{"position":{"x":16907.417174643073,"y":20452.991946235863},"targetPosition":{"x":16742.43432303405,"y":20238.57105463168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"74268e18-735f-405b-b9db-412ce6cf7438","savedPayload":{"position":{"x":16742.43432303405,"y":20238.57105463168},"targetPosition":{"x":16577.55191916672,"y":20024.181828373017},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"bc705d0f-6df6-45f6-8d3a-44b81bf785bd","savedPayload":{"position":{"x":16272.09238367227,"y":20471.566806524508},"targetPosition":{"x":16424.78851476263,"y":20247.968657238584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ad08f6a7-5d37-4fd3-9d84-5eebddcd8cb5","savedPayload":{"position":{"x":16424.78851476263,"y":20247.968657238584},"targetPosition":{"x":16577.55191916672,"y":20024.181828373017},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Direction","config":"{\n \"codeName\": \"direction\",\n \"isString\": true,\n \"possibleValues\": [\"Up\", \"Down\", \"Side\"]\n}","formula":{"type":"Formula","code":"record.current.direction","id":"7b7fd5fc-c820-4c1b-ae3e-400d7b90bb0b","savedPayload":{"position":{"x":16060.5300989656,"y":19877.97717973212},"targetPosition":{"x":16320.717117373944,"y":19953.41575765341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"31720cda-be3c-453e-8c6e-c4816299c440","savedPayload":{"position":{"x":16320.717117373944,"y":19953.41575765341},"targetPosition":{"x":16577.55191916672,"y":20024.181828373017},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Period","config":"{\n \"codeName\": \"period\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.period","id":"9c44699b-a743-4f46-82f6-0351e8b1a206","savedPayload":{"position":{"x":16579.432810248945,"y":19490.039725488277},"targetPosition":{"x":16576.99401143354,"y":19761.988441961355},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8af98ad4-3062-49a1-bff6-593bd9638f72","savedPayload":{"position":{"x":16576.99401143354,"y":19761.988441961355},"targetPosition":{"x":16577.55191916672,"y":20024.181828373017},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9106250d-b042-4e96-9121-c760b4c1eab2","savedPayload":{"position":{"x":16577.55191916672,"y":20024.181828373017},"targetPosition":{"x":17594.984490489507,"y":19659.70573780189},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"if (record.previous !== undefined) {\n if (record.current.direction === record.previous.direction) {\n variable.period++\n } else {\n variable.period = 1\n }\n}","id":"8f05a74a-f85c-4eb1-9de1-3363d2e3cb8a","savedPayload":{"position":{"x":16262.184420734107,"y":19870.24779312609},"targetPosition":{"x":16536.291531829425,"y":19835.11294326198},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"7e54fecc-8443-4aad-a541-0b6a3fcac877","savedPayload":{"position":{"x":16536.291531829425,"y":19835.11294326198},"targetPosition":{"x":17074.748502778526,"y":19736.24733002328},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"variable.period = 1","id":"491600d9-228d-41b8-bedb-22b8ba22a7c9","savedPayload":{"position":{"x":16260.663305601474,"y":19643.604867259342},"targetPosition":{"x":16530.83168001653,"y":19670.534733812015},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3c3de682-9ac0-4bf9-b1ff-97a3e0cb24b4","savedPayload":{"position":{"x":16530.83168001653,"y":19670.534733812015},"targetPosition":{"x":17074.748502778526,"y":19736.24733002328},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"9ace6abd-5ef9-4c37-9dbc-7aefc8b8b905","savedPayload":{"position":{"x":17074.748502778526,"y":19736.24733002328},"targetPosition":{"x":17594.984490489507,"y":19659.70573780189},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"94bc3958-cc85-43a1-a178-103e84f42910","savedPayload":{"position":{"x":18387.673055092426,"y":19348.70025303725},"targetPosition":{"x":18681.11969780613,"y":19032.711166046447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Bollinger Channels","id":"a045ea45-c8ff-49a5-86cd-5d38cd3e6d22"}}},{"type":"Product Definition","name":"Bollinger Sub-Channels Objects","config":"{\n \"codeName\": \"Bollinger-Sub-Channels-Objects\",\n \"singularVariableName\": \"bollingerSubChannelsObject\",\n \"pluralVariableName\": \"bollingerSubChannelsObjects\"\n}","datasets":[{"type":"Dataset Definition","name":"Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"869f615e-0cc0-44fd-8648-4a951c23a410","savedPayload":{"position":{"x":17061.34892552682,"y":19699.28352815608},"targetPosition":{"x":17529.382750949502,"y":19428.342922508906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }\n","id":"029479ae-275d-4854-ad3e-66948656a053","savedPayload":{"position":{"x":17000.572262723006,"y":19540.601783737446},"targetPosition":{"x":17529.382750949502,"y":19428.342922508906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"8f0513f5-d78e-4efd-a554-a6ee2a4781ac","savedPayload":{"position":{"x":16655.119594968113,"y":19496.604721973905},"targetPosition":{"x":16454.580331805133,"y":19315.231197455596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"677f9a11-1fa3-4880-ad4f-81a4490d82e8","savedPayload":{"position":{"x":16510.183430196128,"y":19580.351583150015},"targetPosition":{"x":16454.580331805133,"y":19315.231197455596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Direction","config":"{\n \"codeName\": \"direction\",\n \"isString\": true,\n \"possibleValues\": [\"Up\", \"Down\", \"Side\"]\n}","id":"610f6b9f-9404-4603-a42b-80de31498f2f","savedPayload":{"position":{"x":16343.904851001469,"y":19562.715770140738},"targetPosition":{"x":16454.580331805133,"y":19315.231197455596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Slope","config":"{\n \"codeName\": \"slope\",\n \"isString\": true,\n \"possibleValues\": [\"Side\", \"Gentle\", \"Medium\", \"Steep\", \"Extreme\"]\n}","id":"65600005-8272-4297-8716-b08841eb5e73","savedPayload":{"position":{"x":16219.56123609495,"y":19450.5996329137},"targetPosition":{"x":16454.580331805133,"y":19315.231197455596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Period","config":"{\n \"codeName\": \"period\",\n \"isString\": false\n}","id":"ef18438f-7a1f-4432-8fce-494bc9b5ae01","savedPayload":{"position":{"x":16184.787914404,"y":19286.985128796416},"targetPosition":{"x":16454.580331805133,"y":19315.231197455596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"First Moving Average","config":"{\n \"codeName\": \"firstMovingAverage\",\n \"isString\": false\n}","id":"e5694d55-735b-4cb2-919e-02a71679c682","savedPayload":{"position":{"x":16252.88291793041,"y":19134.04986467839},"targetPosition":{"x":16454.580331805133,"y":19315.231197455596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Last Moving Average","config":"{\n \"codeName\": \"lastMovingAverage\",\n \"isString\": false\n}","id":"d49bae2d-b519-49ba-8fd2-9a3a4c2e8dc3","savedPayload":{"position":{"x":16397.65994007663,"y":19050.537378850735},"targetPosition":{"x":16454.580331805133,"y":19315.231197455596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"First Deviation","config":"{\n \"codeName\": \"firstDeviation\",\n \"isString\": false\n}","id":"a11b4d44-937d-456e-b2bd-9cd025289c34","savedPayload":{"position":{"x":16563.803771124527,"y":19068.315201887897},"targetPosition":{"x":16454.580331805133,"y":19315.231197455596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Last Deviation","config":"{\n \"codeName\": \"lastDeviation\",\n \"isString\": false\n}","id":"4d1b7a3f-c452-4002-ab8c-bfa7d396ac2c","savedPayload":{"position":{"x":16687.738528118745,"y":19184.38524681939},"targetPosition":{"x":16454.580331805133,"y":19315.231197455596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a2ff91c2-cfee-487c-959d-fd3ed3dea861","savedPayload":{"position":{"x":16454.580331805133,"y":19315.231197455596},"targetPosition":{"x":17529.382750949502,"y":19428.342922508906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"if (record.next !== undefined) {\n\n if (\n record.current.direction === record.next.direction &&\n record.current.slope === record.next.slope) {\n\n if (variable.channel === undefined) {\n\n variable.channel = {\n begin: undefined,\n end: undefined,\n direction: undefined,\n slope: undefined,\n period: 0,\n firstMovingAverage: 0,\n lastMovingAverage: 0,\n firstDeviation: 0,\n lastDeviation: 0\n }\n\n variable.channel.direction = record.current.direction\n variable.channel.slope = record.current.slope\n variable.channel.period = 2\n\n variable.channel.begin = record.current.begin\n variable.channel.end = record.next.end\n\n variable.channel.firstMovingAverage = record.current.movingAverage\n variable.channel.lastMovingAverage = record.next.movingAverage\n\n variable.channel.firstDeviation = record.current.deviation\n variable.channel.lastDeviation = record.next.deviation\n\n } else {\n\n variable.channel.period++\n variable.channel.end = record.next.end\n variable.channel.lastMovingAverage = record.next.movingAverage\n variable.channel.lastDeviation = record.next.deviation\n\n }\n } else {\n\n if (variable.channel !== undefined) {\n results.push(variable.channel)\n variable.channel = undefined\n } else {\n /* The channel has only one period */\n\n variable.channel = {}\n\n variable.channel.direction = record.current.direction\n variable.channel.slope = record.current.slope\n variable.channel.period = 1\n\n variable.channel.begin = record.current.begin\n variable.channel.end = record.current.end\n\n variable.channel.firstMovingAverage = record.current.movingAverage\n variable.channel.lastMovingAverage = record.current.movingAverage\n\n variable.channel.firstDeviation = record.current.deviation\n variable.channel.lastDeviation = record.current.deviation\n\n results.push(variable.channel)\n variable.channel = undefined\n }\n }\n\n} else {\n if (variable.channel !== undefined) {\n variable.channel.period++\n variable.channel.end = record.current.end\n variable.channel.lastMovingAverage = record.current.movingAverage\n variable.channel.lastDeviation = record.current.deviation\n results.push(variable.channel)\n variable.channel = undefined\n } else {\n /* The channel has only one period */\n\n variable.channel = {}\n\n variable.channel.direction = record.current.direction\n variable.channel.slope = record.current.slope\n variable.channel.period = 1\n\n variable.channel.begin = record.current.begin\n variable.channel.end = record.current.end\n\n variable.channel.firstMovingAverage = record.current.movingAverage\n variable.channel.lastMovingAverage = record.current.movingAverage\n\n variable.channel.firstDeviation = record.current.deviation\n variable.channel.lastDeviation = record.current.deviation\n\n results.push(variable.channel)\n variable.channel = undefined\n }\n}","id":"a1af769c-2a2d-4e78-8f0d-8dfb773982f0","savedPayload":{"position":{"x":16699.894285752278,"y":19083.905564086184},"targetPosition":{"x":16946.914923612876,"y":19199.746507025935},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"128aac86-66b5-4685-a75d-4e60ba697c90","savedPayload":{"position":{"x":16946.914923612876,"y":19199.746507025935},"targetPosition":{"x":17243.21872235764,"y":19300.94330775281},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5bfe184e-396e-431a-a640-76c05d1c6e06","savedPayload":{"position":{"x":17243.21872235764,"y":19300.94330775281},"targetPosition":{"x":17529.382750949502,"y":19428.342922508906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"080c87fc-4546-4482-ab11-180a33f6d9ab","savedPayload":{"position":{"x":18280.00067668466,"y":19190.217479609},"targetPosition":{"x":18681.11969780613,"y":19032.711166046447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Bollinger Sub Channels Objects","id":"f8c4b699-1f40-4832-b427-68da3341daa8"}}},{"type":"Product Definition","name":"Bollinger Sub-Channels","config":"{\n \"codeName\": \"Bollinger-Sub-Channels\",\n \"singularVariableName\": \"bollingerSubChannel\",\n \"pluralVariableName\": \"bollingerSubChannels\"\n}","datasets":[{"type":"Dataset Definition","name":"Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"f8d44a4d-3771-4a71-97ca-dc604ff565d3","savedPayload":{"position":{"x":17031.63145992537,"y":19232.21249025992},"targetPosition":{"x":17570.626129399723,"y":19191.389927005283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }\n","id":"ca71e765-0f66-4b18-b500-847b9d16169b","savedPayload":{"position":{"x":17045.906200916026,"y":19063.025606747342},"targetPosition":{"x":17570.626129399723,"y":19191.389927005283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"421aeb2e-dd1b-44ec-bf78-00d8691d4110","savedPayload":{"position":{"x":16867.837530948622,"y":19170.612570734796},"targetPosition":{"x":16874.705864116244,"y":18967.653199395907},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d2a101e7-8183-42b4-94c4-99bfcbf2c3c2","savedPayload":{"position":{"x":16874.705864116244,"y":18967.653199395907},"targetPosition":{"x":16881.241453136434,"y":18764.96961272045},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"febf55a5-de85-4830-b4fe-df78acfc60b5","savedPayload":{"position":{"x":16522.86808614403,"y":18956.896243858828},"targetPosition":{"x":16701.98716042973,"y":18860.969731229834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0cc9b985-b780-41ef-838b-7f764824f244","savedPayload":{"position":{"x":16701.98716042973,"y":18860.969731229834},"targetPosition":{"x":16881.241453136434,"y":18764.96961272045},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Direction","config":"{\n \"codeName\": \"direction\",\n \"isString\": true,\n \"possibleValues\": [\"Up\", \"Down\", \"Side\"]\n}","formula":{"type":"Formula","code":"record.current.direction","id":"73113162-c56d-4ca1-9e8b-f6a5bf84c30f","savedPayload":{"position":{"x":16535.251154761587,"y":18551.211657115142},"targetPosition":{"x":16708.1930839116,"y":18658.077340426382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"91f3e346-3d02-48f9-aa0c-e55bae62f870","savedPayload":{"position":{"x":16708.1930839116,"y":18658.077340426382},"targetPosition":{"x":16881.241453136434,"y":18764.96961272045},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Slope","config":"{\n \"codeName\": \"slope\",\n \"isString\": true,\n \"possibleValues\": [\"Side\", \"Gentle\", \"Medium\", \"Steep\", \"Extreme\"]\n}","formula":{"type":"Formula","code":"record.current.slope","id":"f9e484d0-138a-4d19-a876-a6067f5a1619","savedPayload":{"position":{"x":16867.599195624694,"y":18382.02092002164},"targetPosition":{"x":16887.13431338851,"y":18561.97060266024},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"478a7021-7233-4eb4-958d-f127c6a4891c","savedPayload":{"position":{"x":16887.13431338851,"y":18561.97060266024},"targetPosition":{"x":16881.241453136434,"y":18764.96961272045},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Period","config":"{\n \"codeName\": \"period\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.period","id":"35c1cfa6-c691-40b0-b680-bd7c94be19e3","savedPayload":{"position":{"x":17238.661387315195,"y":18572.579606575226},"targetPosition":{"x":17059.97202542508,"y":18668.83069619328},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"61f63128-268f-4679-a0ef-e9b53a0a655b","savedPayload":{"position":{"x":17059.97202542508,"y":18668.83069619328},"targetPosition":{"x":16881.241453136434,"y":18764.96961272045},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"afe778f1-4343-4102-8eb4-0b9340d7ad5b","savedPayload":{"position":{"x":16881.241453136434,"y":18764.96961272045},"targetPosition":{"x":17570.626129399723,"y":19191.389927005283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"if (record.previous !== undefined) {\n if (record.current.direction === record.previous.direction && record.current.slope === record.previous.slope) {\n variable.period++\n } else {\n variable.period = 1\n }\n}","id":"c450c940-f800-414b-a2c4-bda3481f55c7","savedPayload":{"position":{"x":16422.50748449911,"y":18053.893932188468},"targetPosition":{"x":16822.292655726582,"y":18416.996312763822},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a580c9a8-c70a-483e-8dd3-d3b62464f8f4","savedPayload":{"position":{"x":16822.292655726582,"y":18416.996312763822},"targetPosition":{"x":17222.629783564094,"y":18779.785289917614},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"variable.period = 1","id":"e0efa286-41a0-45e0-8ce3-dfc27b4dce3e","savedPayload":{"position":{"x":16651.2106568899,"y":17858.756178529038},"targetPosition":{"x":16943.323671923652,"y":18312.963623246447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2decc091-6c76-458b-be8e-39e3e72cecd6","savedPayload":{"position":{"x":16943.323671923652,"y":18312.963623246447},"targetPosition":{"x":17222.629783564094,"y":18779.785289917614},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f16f2ab8-7ba2-4acf-bf85-8ed89bd1e5af","savedPayload":{"position":{"x":17222.629783564094,"y":18779.785289917614},"targetPosition":{"x":17570.626129399723,"y":19191.389927005283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"79ce9c05-8a4c-4b58-850f-288037acc702","savedPayload":{"position":{"x":18217.45417046328,"y":18991.723220497246},"targetPosition":{"x":18681.11969780613,"y":19032.711166046447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Bollinger Sub Channels","id":"88bdc751-5a1d-499d-a4ba-888dbcf6dc7a"}}}],"id":"bd0f325d-6f98-468b-8b7b-99a42a175d80","savedPayload":{"position":{"x":18879.35218735615,"y":18988.55301821844},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},{"type":"Indicator Bot","name":"Candle Channels","config":"{\n\"codeName\": \"Candle-Channels\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\"\n }\n }","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Candles Channels","id":"98bb0dce-e233-4f70-a4ab-9051ee23abd5","savedPayload":{"position":{"x":19373.91966989329,"y":21614.32100245677},"targetPosition":{"x":18759.6794350459,"y":20956.514850239706},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"df7d1cd7-95b0-499c-b51a-772c3fb8a2b0"}}},{"type":"Output Dataset","name":"Multi-Period-Market Candles Channels Objects","id":"e5d3a974-b3e5-4f0c-acaf-9cf9915850ee","savedPayload":{"position":{"x":19182.737181251472,"y":21750.883872404756},"targetPosition":{"x":18759.6794350459,"y":20956.514850239706},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"566b9df4-da86-4b4f-a3f4-ef8a76443714"}}}],"outputDatasetFolders":[],"id":"81b11bce-fa94-4295-b3a9-a24b6c0c45d3","savedPayload":{"position":{"x":19200.783013949513,"y":20889.386039661527},"targetPosition":{"x":18559.6445266933,"y":20257.767927065936},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\n \"mainUtility\": \"Market Ending Point\"\n}","id":"8c5feff4-7b13-404f-9fb7-844f3945715c","savedPayload":{"position":{"x":19084.41367459389,"y":21786.95400030735},"targetPosition":{"x":18610.30750768436,"y":21021.955083642526},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"Candle Channels Multi-Period-Market","config":"{\n \"mainUtility\": \"Self Reference\"\n}","id":"34699cb0-bf71-4fbc-8671-9570617b1cd0","savedPayload":{"position":{"x":18926.059972543495,"y":21864.748285404014},"targetPosition":{"x":18610.30750768436,"y":21021.955083642526},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"902925d3-1d23-4894-9459-0be8df3965df"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"ab069a67-5e2f-4a3b-91e1-967d56ba62b6","savedPayload":{"position":{"x":18755.572080344584,"y":21910.15450040086},"targetPosition":{"x":18610.30750768436,"y":21021.955083642526},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"4775daf3-4ac9-4971-a4fb-4cf66d4fbb45","savedPayload":{"position":{"x":19015.461952990532,"y":21033.803025424102},"targetPosition":{"x":18559.6445266933,"y":20257.767927065936},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"902925d3-1d23-4894-9459-0be8df3965df","savedPayload":{"position":{"x":18799.07768770331,"y":21125.334501692203},"targetPosition":{"x":18559.6445266933,"y":20257.767927065936},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"e9a9ec41-7040-4301-911f-8911d731c7cb","savedPayload":{"position":{"x":18566.37644817526,"y":21157.742749621077},"targetPosition":{"x":18559.6445266933,"y":20257.767927065936},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"0ee514b6-0528-4ff9-a901-a519856fbee4","savedPayload":{"position":{"x":18333.21643932324,"y":21128.819200671536},"targetPosition":{"x":18559.6445266933,"y":20257.767927065936},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2ab8c00c-8e15-4bdc-87fa-291c8d4edadb","savedPayload":{"position":{"x":18559.6445266933,"y":20257.767927065936},"targetPosition":{"x":18320.21136568329,"y":19390.201352439668},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\"\n }\n }","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily Candles Channels","id":"2950c6a6-f1fc-4641-8376-96debaf2e213","savedPayload":{"position":{"x":17854.46092825463,"y":21852.324618528037},"targetPosition":{"x":17744.17889477468,"y":20959.106910972074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"07734f1c-e2e7-4a35-8567-6a996c68883e"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Candles Channels Objects","id":"f1f62696-e584-4b36-b69f-1a557409297a","savedPayload":{"position":{"x":17619.521404950345,"y":21850.43205379634},"targetPosition":{"x":17744.17889477468,"y":20959.106910972074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"8a7d224b-7571-4e1a-8b8f-8a35aa25dc63"}}}],"outputDatasetFolders":[],"id":"f81d660c-db1f-44d2-81e5-5fe6c591bab2","savedPayload":{"position":{"x":17744.17889477468,"y":20959.106910972074},"targetPosition":{"x":17751.42864556993,"y":20059.1361108272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\n \"mainUtility\": \"Market Starting Point\"\n}","id":"7bdf41eb-4243-4417-8df8-6dbf82cf637f","savedPayload":{"position":{"x":17480.69058532828,"y":21826.03740229224},"targetPosition":{"x":17511.49634092899,"y":20926.564776015115},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\n \"mainUtility\": \"Market Ending Point\"\n}","id":"43a935c4-46a1-478e-81d0-65c18f1128dc","savedPayload":{"position":{"x":17340.36133618895,"y":21810.14431977596},"targetPosition":{"x":17511.49634092899,"y":20926.564776015115},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Candle Channels Multi-Period-Daily","config":"{\n \"mainUtility\": \"Self Reference\"\n}","id":"71232c95-96bd-4c90-8571-be97495baab0","savedPayload":{"position":{"x":17204.245998830844,"y":21772.49457645991},"targetPosition":{"x":17511.49634092899,"y":20926.564776015115},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"4a89ffcd-ef6d-4dd2-bbf6-6e2f1dba24cd"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"97ac78ed-bc8d-49f0-8111-527d7802b559","savedPayload":{"position":{"x":17075.696184600612,"y":21714.01523397686},"targetPosition":{"x":17511.49634092899,"y":20926.564776015115},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"41a2dd93-007f-4835-ac77-0bedbe22b128","savedPayload":{"position":{"x":17511.49634092899,"y":20926.564776015115},"targetPosition":{"x":17751.42864556993,"y":20059.1361108272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"4a89ffcd-ef6d-4dd2-bbf6-6e2f1dba24cd","savedPayload":{"position":{"x":17295.1647771377,"y":20834.908811019242},"targetPosition":{"x":17751.42864556993,"y":20059.1361108272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"31740e1a-525b-4ff3-bd71-7fb9c95a0a72","savedPayload":{"position":{"x":17109.926841968372,"y":20690.38521853029},"targetPosition":{"x":17751.42864556993,"y":20059.1361108272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"e29dc92e-bbd9-45ae-ac52-1ee785e44928","savedPayload":{"position":{"x":16968.406194582632,"y":20502.843042539844},"targetPosition":{"x":17751.42864556993,"y":20059.1361108272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0de6dd1f-5bca-4f66-a5db-cd068dd4190f","savedPayload":{"position":{"x":18003.974024010084,"y":20232.812736015432},"targetPosition":{"x":18320.21136568329,"y":19390.201352439668},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Candles Channels","config":"{\n \"codeName\": \"Candles-Channels\",\n \"singularVariableName\": \"candlesChannel\",\n \"pluralVariableName\": \"candlesChannels\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"df7d1cd7-95b0-499c-b51a-772c3fb8a2b0","savedPayload":{"position":{"x":16810.57544778453,"y":20337.63779260059},"targetPosition":{"x":17382.579538217236,"y":19642.791535844284},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"07734f1c-e2e7-4a35-8567-6a996c68883e","savedPayload":{"position":{"x":16623.85201884821,"y":20126.870611359976},"targetPosition":{"x":17382.579538217236,"y":19642.791535844284},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"bb911132-56d2-4368-ac9d-b013c2bf25ae","savedPayload":{"position":{"x":15828.840732897695,"y":20609.879612054123},"targetPosition":{"x":15952.324076299443,"y":20295.78072013897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ed49d0b4-d13f-42ea-ac30-18fcf718b664","savedPayload":{"position":{"x":15952.324076299443,"y":20295.78072013897},"targetPosition":{"x":16075.80741970119,"y":19981.681828223816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"58e1bae8-a892-4d59-bd35-d87458cf8bae","savedPayload":{"position":{"x":15506.761780174422,"y":20344.741134860582},"targetPosition":{"x":15791.284599937806,"y":20163.2114815422},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2553b276-b77a-4044-9a25-8fde8158c3fa","savedPayload":{"position":{"x":15791.284599937806,"y":20163.2114815422},"targetPosition":{"x":16075.80741970119,"y":19981.681828223816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Direction","config":"{\n \"codeName\": \"direction\",\n \"isString\": true,\n \"possibleValues\": [\"Up\", \"Down\", \"Side\"]\n}","formula":{"type":"Formula","code":"record.current.direction","id":"7273b074-f439-4ff1-82c7-86bf0eb38fb3","savedPayload":{"position":{"x":15402.03892060045,"y":19940.926342463776},"targetPosition":{"x":15738.92317015082,"y":19961.304085343796},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a400d6da-4e0c-417f-bc02-b33b7f64c94f","savedPayload":{"position":{"x":15738.92317015082,"y":19961.304085343796},"targetPosition":{"x":16075.80741970119,"y":19981.681828223816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Period","config":"{\n \"codeName\": \"period\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.period","id":"41659e98-8488-4d01-9ed4-04520fe9a923","savedPayload":{"position":{"x":15554.67272713396,"y":19552.678760399285},"targetPosition":{"x":15815.240073417575,"y":19767.18029431155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"01cf59b3-450b-47cc-a235-d334957ed2bd","savedPayload":{"position":{"x":15815.240073417575,"y":19767.18029431155},"targetPosition":{"x":16075.80741970119,"y":19981.681828223816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e186e788-474c-47be-9685-6060c60963d9","savedPayload":{"position":{"x":16075.80741970119,"y":19981.681828223816},"targetPosition":{"x":17382.579538217236,"y":19642.791535844284},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"if (record.previous !== undefined) {\n if (record.current.direction === record.previous.direction) {\n variable.period++\n } else {\n variable.period = 1\n }\n}","id":"ed8b3159-b7bb-44a0-850e-d55a4c0c76a2","savedPayload":{"position":{"x":15810.897564858942,"y":19635.98850786008},"targetPosition":{"x":16035.338889711378,"y":19620.14263462813},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ffc37ffd-9763-42c5-8a92-53962e11190e","savedPayload":{"position":{"x":16035.338889711378,"y":19620.14263462813},"targetPosition":{"x":16484.221539416252,"y":19588.45088816423},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"variable.period = 1","id":"0c8b195c-a6a6-4e83-b1e6-43a4aca039a6","savedPayload":{"position":{"x":15821.536881595617,"y":19460.099634609203},"targetPosition":{"x":16042.431767535829,"y":19502.88338579421},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"5668a3b7-6ebc-4e90-8431-2b7f832e4434","savedPayload":{"position":{"x":16042.431767535829,"y":19502.88338579421},"targetPosition":{"x":16484.221539416252,"y":19588.45088816423},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"694d2276-7466-4884-a5b3-99a52e16ea91","savedPayload":{"position":{"x":16484.221539416252,"y":19588.45088816423},"targetPosition":{"x":17382.579538217236,"y":19642.791535844284},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8c81d378-0947-4e9d-be25-58e69120152e","savedPayload":{"position":{"x":17569.09543733412,"y":19886.00863574656},"targetPosition":{"x":18320.21136568329,"y":19390.201352439668},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Candles Channels","id":"864f26cb-b191-47c1-801e-57bb2436294e"}}},{"type":"Product Definition","name":"Candles Channels Objects","config":"{\n \"codeName\": \"Candles-Channels-Objects\",\n \"singularVariableName\": \"candlesChannelObjects\",\n \"pluralVariableName\": \"candlesChannelsObjects\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"566b9df4-da86-4b4f-a3f4-ef8a76443714","savedPayload":{"position":{"x":17321.209219482967,"y":18521.404553974284},"targetPosition":{"x":17734.44227679275,"y":18616.554958470417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"8a7d224b-7571-4e1a-8b8f-8a35aa25dc63","savedPayload":{"position":{"x":17371.531000793508,"y":18397.62922916669},"targetPosition":{"x":17734.44227679275,"y":18616.554958470417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"b5fad2c7-a8bc-464d-b459-a925a7d1bc95","savedPayload":{"position":{"x":17173.559086614314,"y":18216.587730595205},"targetPosition":{"x":17319.61074054695,"y":18136.6623681341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"89ecb579-a25e-4db4-8f3c-599d6cf4bbb7","savedPayload":{"position":{"x":17141.4368698448,"y":18146.25709615196},"targetPosition":{"x":17319.61074054695,"y":18136.6623681341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Direction","config":"{\n \"codeName\": \"direction\",\n \"isString\": true,\n \"possibleValues\": [\"Up\", \"Down\", \"Side\"]\n}","id":"c72882a9-25bc-4be9-b90c-072040321213","savedPayload":{"position":{"x":17155.391885194513,"y":18082.393092538383},"targetPosition":{"x":17319.61074054695,"y":18136.6623681341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Period","config":"{\n \"codeName\": \"period\",\n \"isString\": false\n}","id":"c253b3ab-56f4-4aa8-8dd2-801721fd07a7","savedPayload":{"position":{"x":17181.214804893687,"y":18017.24185539099},"targetPosition":{"x":17319.61074054695,"y":18136.6623681341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"First Min","config":"{ \n\"codeName\": \"firstMin\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"4e21dc37-1099-4ed7-8d63-e32e0764ab01","savedPayload":{"position":{"x":17238.642047590165,"y":18007.204587029315},"targetPosition":{"x":17319.61074054695,"y":18136.6623681341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Last Min","config":"{ \n\"codeName\": \"lastMin\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"62d4e90b-f3d5-4e32-9ef2-a3b460e17522","savedPayload":{"position":{"x":17306.33300588584,"y":17927.646209563867},"targetPosition":{"x":17319.61074054695,"y":18136.6623681341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"First Max","config":"{ \n\"codeName\": \"firstMax\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"3d4a753f-2b69-49e3-8a3d-4c99ed137495","savedPayload":{"position":{"x":17334.205218785995,"y":18020.711181572715},"targetPosition":{"x":17319.61074054695,"y":18136.6623681341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Last Max","config":"{ \n\"codeName\": \"lastMax\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"55381285-2fa6-4ffc-a174-38e3e126708b","savedPayload":{"position":{"x":17431.80222214847,"y":17984.554396202762},"targetPosition":{"x":17319.61074054695,"y":18136.6623681341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a4c69128-a306-4eac-83a7-20002c4a6b4b","savedPayload":{"position":{"x":17319.61074054695,"y":18136.6623681341},"targetPosition":{"x":17734.44227679275,"y":18616.554958470417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"\n\nif (record.next !== undefined) {\n\n if (\n record.current.direction === record.next.direction) {\n\n if (variable.channel === undefined) {\n\n variable.channel = {\n begin: undefined,\n end: undefined,\n direction: undefined,\n period: 0,\n firstMin: 0,\n lastMin: 0,\n firstMax: 0,\n lastMax: 0\n }\n\n variable.channel.direction = record.current.direction\n variable.channel.period = 2\n\n variable.channel.begin = record.current.begin\n variable.channel.end = record.next.end\n\n variable.channel.firstMin = record.current.min\n variable.channel.lastMin = record.next.min\n\n variable.channel.firstMax = record.current.max\n variable.channel.lastMax = record.next.max\n\n } else {\n\n variable.channel.period++\n variable.channel.end = record.next.end\n variable.channel.lastMin = record.next.min\n variable.channel.lastMax = record.next.max\n\n }\n } else {\n\n if (variable.channel !== undefined) {\n results.push(variable.channel)\n variable.channel = undefined\n } else {\n /* The variable.channel has only one period */\n\n variable.channel = {}\n\n variable.channel.direction = record.current.direction\n variable.channel.period = 1\n\n variable.channel.begin = record.current.begin\n variable.channel.end = record.current.end\n\n variable.channel.firstMin = record.current.min\n variable.channel.lastMin = record.current.min\n\n variable.channel.firstMax = record.current.max\n variable.channel.lastMax = record.current.max\n\n results.push(variable.channel)\n variable.channel = undefined\n }\n }\n} else {\n if (variable.channel !== undefined) {\n variable.channel.period++\n variable.channel.end = record.current.end\n variable.channel.lastMin = record.current.min\n variable.channel.lastMax = record.current.max\n results.push(variable.channel)\n variable.channel = undefined\n } else {\n /* The variable.channel has only one period */\n\n variable.channel = {}\n\n variable.channel.direction = record.current.direction\n variable.channel.period = 1\n\n variable.channel.begin = record.current.begin\n variable.channel.end = record.current.end\n\n variable.channel.firstMin = record.current.min\n variable.channel.lastMin = record.current.min\n\n variable.channel.firstMax = record.current.max\n variable.channel.lastMax = record.current.max\n\n results.push(variable.channel)\n variable.channel = undefined\n }\n}","id":"3d8fcb90-fd49-4a4a-b905-63c2db9a6148","savedPayload":{"position":{"x":17541.478747207682,"y":18151.035851452714},"targetPosition":{"x":17578.956818299986,"y":18243.020922877444},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"58776129-39ee-4063-8f51-ca59c75bcae6","savedPayload":{"position":{"x":17578.956818299986,"y":18243.020922877444},"targetPosition":{"x":17619.107889269,"y":18341.056170861608},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d2d46944-c474-417b-a12c-d9b011ffcaa5","savedPayload":{"position":{"x":17619.107889269,"y":18341.056170861608},"targetPosition":{"x":17734.44227679275,"y":18616.554958470417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ba5dbb67-2030-42a0-9ff8-1ee80874f047","savedPayload":{"position":{"x":17421.11760579611,"y":19349.823005124206},"targetPosition":{"x":18320.21136568329,"y":19390.201352439668},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Candles Channels Objects","id":"7aa1e889-ae4f-4945-b0e5-9ad87ded05a5"}}}],"id":"c4adde4f-8ed9-4a02-8994-90f0967c8be1","savedPayload":{"position":{"x":18764.547157646626,"y":18965.716877971827},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Resistances and Supports","config":"{ \n\"codeName\": \"Resistances-And-Supports\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Calculates SMAs for Time Frames of 01-hs and above.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\",\n \"startDate\": {\n },\n \"endDate\": {\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Resistances","id":"5ccce358-1e38-4b97-9bd4-2634d38f4bc4","savedPayload":{"position":{"x":18614.122434797726,"y":19782.831447311924},"targetPosition":{"x":18291.190043051367,"y":19547.792404718366},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"44e905fc-719f-453b-a567-fd5e3bfcae91"}}},{"type":"Output Dataset","name":"Multi-Period-Market Supports","id":"0f3718f9-e4ed-4217-b59f-77ace0cf9aef","savedPayload":{"position":{"x":18249.890588026716,"y":19945.24537559074},"targetPosition":{"x":18291.190043051367,"y":19547.792404718366},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"4a1bd251-76ed-4530-8723-08e41d50f12d"}}}],"outputDatasetFolders":[],"id":"cf7a746c-31f5-4a6e-9ea1-96d1163905cc","savedPayload":{"position":{"x":18994.224620461417,"y":19304.501939616537},"targetPosition":{"x":18714.150492512257,"y":19196.991554752945},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"a27c7e9d-a3ea-4f6e-b682-9474ccfe5366","savedPayload":{"position":{"x":18136.65776622203,"y":19929.68601210266},"targetPosition":{"x":18035.467898216048,"y":19588.048016400255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"Resistances and Supports Multi-Period-Market","config":"{ \n\"mainUtility\": \"Self Reference|Market Starting Point|Market Ending Point\"\n}","id":"d0c6a69b-9ee7-4b2e-b58f-050878def5fd","savedPayload":{"position":{"x":17998.081618403732,"y":19942.510215325165},"targetPosition":{"x":18035.467898216048,"y":19588.048016400255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"61f870e5-33d1-401e-8ca6-f4da59d955bc"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"899c04ed-0144-4193-a7f0-658061c4b719","savedPayload":{"position":{"x":17865.113660916475,"y":19901.019667116365},"targetPosition":{"x":18035.467898216048,"y":19588.048016400255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"46684253-b8e4-447d-b8d0-6b13ed7ab29b","savedPayload":{"position":{"x":18902.94660982721,"y":19430.135343190035},"targetPosition":{"x":18714.150492512257,"y":19196.991554752945},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"61f870e5-33d1-401e-8ca6-f4da59d955bc","savedPayload":{"position":{"x":18761.080832024327,"y":19493.298056931486},"targetPosition":{"x":18714.150492512257,"y":19196.991554752945},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"02633aff-3554-4a49-9fd7-a348c9b3671d","savedPayload":{"position":{"x":18606.640107648665,"y":19477.065682702105},"targetPosition":{"x":18714.150492512257,"y":19196.991554752945},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"e69d76de-05e3-428a-b823-bfb0e191c659","savedPayload":{"position":{"x":18481.006704075167,"y":19385.787672067898},"targetPosition":{"x":18714.150492512257,"y":19196.991554752945},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5d9b2729-43fb-4e7e-aa4f-b8477c424e51","savedPayload":{"position":{"x":18714.150492512257,"y":19196.991554752945},"targetPosition":{"x":18667.220153000188,"y":18900.685052574405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Describe what the process does.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\",\n \"startDate\": {\n \"takeItFromStatusDependency\": 0\n },\n \"endDate\": {\n \"takeItFromStatusDependency\": 1\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily Resistances","id":"e990eaed-a1b4-4668-9778-b0310f249235","savedPayload":{"position":{"x":18263.581681799875,"y":19800.568587857393},"targetPosition":{"x":18029.029545585065,"y":19477.32356517798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"f4530d48-3239-4ab0-8c4d-d611cd55fde3"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Supports","id":"a4208abc-dbfe-4568-8697-4fdbc1bef5c9","savedPayload":{"position":{"x":17869.228538567775,"y":19802.465509445017},"targetPosition":{"x":18029.029545585065,"y":19477.32356517798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"deaaf4ec-9352-40b6-af9a-8541a73a5e13"}}}],"outputDatasetFolders":[],"id":"86d9d925-de8e-4e76-b08c-2b6fb2303d37","savedPayload":{"position":{"x":17801.784087408556,"y":19330.246277778948},"targetPosition":{"x":17905.918461338348,"y":18840.838894147102},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Resistances and Supports Multi-Period-Daily","config":"{\"mainUtility\": \"Self Reference\"}","id":"c8e28e76-f11d-493e-8961-6c26a1eed57d","savedPayload":{"position":{"x":18023.272062902986,"y":19869.953783527057},"targetPosition":{"x":17773.61953260993,"y":19436.724916519095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"3842d7ea-292c-438c-af35-f5e6a6c68105"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"56bc0c89-e012-47b1-9e33-3ed4fdc3aa52","savedPayload":{"position":{"x":17736.453791451717,"y":19790.958547052887},"targetPosition":{"x":17773.61953260993,"y":19436.724916519095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\"mainUtility\": \"Market Starting Point\"}","id":"723d9197-6349-4499-9dd4-f6443cba19be","savedPayload":{"position":{"x":17535.19349117183,"y":19701.564367015257},"targetPosition":{"x":17773.61953260993,"y":19436.724916519095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"1e51570a-18ba-4d61-8fc2-4019acc2ffeb","savedPayload":{"position":{"x":17425.14171627106,"y":19510.76908973245},"targetPosition":{"x":17773.61953260993,"y":19436.724916519095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"bf0382d1-1529-4cb0-8c9c-39659093d9e8","savedPayload":{"position":{"x":17571.122411180117,"y":19212.418462224465},"targetPosition":{"x":17905.918461338348,"y":18840.838894147102},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"3842d7ea-292c-438c-af35-f5e6a6c68105","savedPayload":{"position":{"x":17430.250341420648,"y":18995.364583846913},"targetPosition":{"x":17905.918461338348,"y":18840.838894147102},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"ab23ac12-59f4-42a2-86f3-5c32619f4c6e","savedPayload":{"position":{"x":17416.722870508336,"y":18737.185648653536},"targetPosition":{"x":17905.918461338348,"y":18840.838894147102},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"7e2fdde9-8b64-44a3-85f1-10c3935bd3e3","savedPayload":{"position":{"x":17534.35790582143,"y":18506.619122453205},"targetPosition":{"x":17905.918461338348,"y":18840.838894147102},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"be19d91b-9337-4f84-96b3-f4e54ea12df5","savedPayload":{"position":{"x":18531.023003078324,"y":19167.987009830915},"targetPosition":{"x":18667.220153000188,"y":18900.685052574405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Resistances","config":"{ \n\"codeName\": \"Resistances\",\n \"singularVariableName\": \"resistance\",\n \"pluralVariableName\": \"resistances\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"\n{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"44e905fc-719f-453b-a567-fd5e3bfcae91","savedPayload":{"position":{"x":18231.06946248137,"y":19327.210654091105},"targetPosition":{"x":18266.267217115423,"y":19104.9807774572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }\n","id":"f4530d48-3239-4ab0-8c4d-d611cd55fde3","savedPayload":{"position":{"x":18107.16819134845,"y":19264.079803224173},"targetPosition":{"x":18266.267217115423,"y":19104.9807774572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"8fc59f80-7313-43a0-be1f-3601c653253f","savedPayload":{"position":{"x":17474.69497569393,"y":20592.257410463462},"targetPosition":{"x":17442.24588732255,"y":20143.428872306777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"4db89c62-71d4-4add-8a8a-3fd37b230993","savedPayload":{"position":{"x":17442.24588732255,"y":20143.428872306777},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"8cd95902-f17d-49c6-947f-b574dab41637","savedPayload":{"position":{"x":17360.154323727897,"y":20595.662305423175},"targetPosition":{"x":17365.88545267853,"y":20145.69880227992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ca4c0849-7e58-4dee-958a-7b9567c9bc22","savedPayload":{"position":{"x":17365.88545267853,"y":20145.69880227992},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Rate Resistance","config":"{\n \"codeName\": \"rateResistance\"\n}","formula":{"type":"Formula","code":"variable.resistance.rate","id":"3ead495c-b3d7-4232-bd44-a0201833230e","savedPayload":{"position":{"x":17245.737550508115,"y":20589.34120832978},"targetPosition":{"x":17289.60760386534,"y":20141.48473755099},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a198ddb9-bfdc-4ba5-8772-6ddb98a1151d","savedPayload":{"position":{"x":17289.60760386534,"y":20141.48473755099},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Period Resistance","config":"{\n \"codeName\": \"periodResistance\"\n}","formula":{"type":"Formula","code":"variable.resistance.period","id":"5ad98412-3b69-4eba-b1ea-6aa86e0db304","savedPayload":{"position":{"x":17132.26903150749,"y":20573.33966283268},"targetPosition":{"x":17213.96192453159,"y":20130.817040552924},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"561ab821-c7be-4df8-abb4-3d1a5421b27b","savedPayload":{"position":{"x":17213.96192453159,"y":20130.817040552924},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Type Resistance","config":"{\n \"codeName\": \"typeResistance\",\n \"isString\": true,\n \"possibleValues\": [\"Resistance\", \"Support\"]\n}","formula":{"type":"Formula","code":"variable.resistance.type","id":"2d379184-f16b-4c87-8ed4-a0c57d1e2837","savedPayload":{"position":{"x":17020.566310005546,"y":20547.772960433853},"targetPosition":{"x":17139.493443530297,"y":20113.77257228704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"7cdcd891-d5e4-4237-9189-8ad7691d41ac","savedPayload":{"position":{"x":17139.493443530297,"y":20113.77257228704},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 1 Rate","config":"{ \n\"codeName\": \"resistance1Rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance1Rate","id":"b3da6d1a-38f0-4b52-88eb-926d32db8bf3","savedPayload":{"position":{"x":16911.434206670365,"y":20512.82530980995},"targetPosition":{"x":17066.73870797351,"y":20090.474138537767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"bea03586-2505-4e03-9a2b-3a9477955e66","savedPayload":{"position":{"x":17066.73870797351,"y":20090.474138537767},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 1 Period","config":"{ \n\"codeName\": \"resistance1Period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance1Period","id":"292c00a5-59ff-4075-a386-6b5222b26019","savedPayload":{"position":{"x":16805.659020807238,"y":20468.74850958453},"targetPosition":{"x":16996.221917398092,"y":20061.089605054156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b8872bec-843c-41cb-a42a-9da8248dc514","savedPayload":{"position":{"x":16996.221917398092,"y":20061.089605054156},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 2 Rate","config":"{ \n\"codeName\": \"resistance2Rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance2Rate","id":"f9904c9a-9244-4d2d-a5b6-22600493c059","savedPayload":{"position":{"x":16704.002865054135,"y":20415.860134113238},"targetPosition":{"x":16928.451146896023,"y":20025.830688073296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"33f9cf94-552f-418d-b93a-8d073def39e7","savedPayload":{"position":{"x":16928.451146896023,"y":20025.830688073296},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 2 Period","config":"{ \n\"codeName\": \"resistance2Period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance2Period","id":"4b08a91c-42f9-4354-b197-a6a84d08d0cb","savedPayload":{"position":{"x":16607.19817434271,"y":20354.541245353284},"targetPosition":{"x":16863.91468642174,"y":19984.951428899993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e67af800-29c1-49fc-9162-13b8a750bfbf","savedPayload":{"position":{"x":16863.91468642174,"y":19984.951428899993},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 3 Rate","config":"{ \n\"codeName\": \"resistance3Rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance3Rate","id":"69de03a4-e0a2-4136-8353-20c7a61cf4e5","savedPayload":{"position":{"x":16515.942428687806,"y":20285.233647303296},"targetPosition":{"x":16803.0775226518,"y":19938.746363533333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"688458ca-7c03-4ba9-a09f-97c556e5bbae","savedPayload":{"position":{"x":16803.0775226518,"y":19938.746363533333},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 3 Period","config":"{ \n\"codeName\": \"resistance3Period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance3Period","id":"12621061-eba5-477c-add4-85a431de92a4","savedPayload":{"position":{"x":16430.89312782799,"y":20208.436702795407},"targetPosition":{"x":16746.37798874526,"y":19887.548400528074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3be3022d-d812-4570-8d01-849a104da943","savedPayload":{"position":{"x":16746.37798874526,"y":19887.548400528074},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 4 Rate","config":"{ \n\"codeName\": \"resistance4Rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance4Rate","id":"acd8a299-32f4-4646-9acf-f679612e7ff7","savedPayload":{"position":{"x":16352.66305392486,"y":20124.703735574596},"targetPosition":{"x":16694.224606143172,"y":19831.726422380867},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"97f41f84-75e6-4b28-a948-6971fa6a3c95","savedPayload":{"position":{"x":16694.224606143172,"y":19831.726422380867},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 4 Period","config":"{ \n\"codeName\": \"resistance4Period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance4Period","id":"0dcb8ce8-61a4-4acc-a78b-8323d2d265af","savedPayload":{"position":{"x":16281.815856453519,"y":20034.638043588428},"targetPosition":{"x":16646.99314116228,"y":19771.68262772342},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b23829c6-2cac-4cbe-bf10-0dff088077ba","savedPayload":{"position":{"x":16646.99314116228,"y":19771.68262772342},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 5 Rate","config":"{ \n\"codeName\": \"resistance5Rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance5Rate","id":"8ca891d5-65e6-4b57-840f-355241255c69","savedPayload":{"position":{"x":16218.861991095215,"y":19938.8885522115},"targetPosition":{"x":16605.023897590076,"y":19707.84963347214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e7a2bbe6-f265-4069-8d11-377fba99a6c3","savedPayload":{"position":{"x":16605.023897590076,"y":19707.84963347214},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 5 Period","config":"{ \n\"codeName\": \"resistance5Period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance5Period","id":"a862b407-8962-4b48-8add-169cdd893269","savedPayload":{"position":{"x":16164.255041892437,"y":19838.145138723296},"targetPosition":{"x":16568.619264788224,"y":19640.687357813335},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"30bb7e73-32f0-4cbb-bc41-eb3bdc086718","savedPayload":{"position":{"x":16568.619264788224,"y":19640.687357813335},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 1 Bounce 1","config":"{ \n\"codeName\": \"resistance1Bounce1\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance1Bounce1","id":"2238f0b3-c9e0-45b2-ab8e-66b4ce2ff98e","savedPayload":{"position":{"x":16118.388453165504,"y":19733.133661726515},"targetPosition":{"x":16538.04153897027,"y":19570.679706482148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c111cf47-76d4-44d5-9c39-60f72eca4226","savedPayload":{"position":{"x":16538.04153897027,"y":19570.679706482148},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 1 Bounce 2","config":"{ \n\"codeName\": \"resistance1Bounce2\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance1Bounce2","id":"5de72a19-6f28-4e45-ab8c-532f77ddffbb","savedPayload":{"position":{"x":16081.592694737226,"y":19624.610731319255},"targetPosition":{"x":16513.511033351417,"y":19498.33108621064},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9018b3af-c080-48b4-82c6-8489268c0690","savedPayload":{"position":{"x":16513.511033351417,"y":19498.33108621064},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 1 Bounce 3","config":"{ \n\"codeName\": \"resistance1Bounce3\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance1Bounce3","id":"ce754586-45d8-44d3-b6df-4abd1303671c","savedPayload":{"position":{"x":16054.132880890253,"y":19513.3582577019},"targetPosition":{"x":16495.204490786768,"y":19424.162770465737},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0b7458a1-dd88-4b0a-91b7-b92df6263fb4","savedPayload":{"position":{"x":16495.204490786768,"y":19424.162770465737},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 1 Bounce 5","config":"{ \n\"codeName\": \"resistance1Bounce5\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance1Bounce5","id":"4520275c-befa-4070-8b21-9b741381ff87","savedPayload":{"position":{"x":16036.206860212587,"y":19400.177817496206},"targetPosition":{"x":16483.25381033499,"y":19348.70914366194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f0479991-f060-44bf-8ac5-5b895362f3ef","savedPayload":{"position":{"x":16483.25381033499,"y":19348.70914366194},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 1 Bounce 10","config":"{ \n\"codeName\": \"resistance1Bounce10\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance1Bounce10","id":"2185c09e-8439-4776-9cb8-503d08e2eaed","savedPayload":{"position":{"x":16027.943790093992,"y":19285.88487836738},"targetPosition":{"x":16477.745096922594,"y":19272.51385090939},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"33826a2e-6432-4a0c-accb-d3a930a1dd73","savedPayload":{"position":{"x":16477.745096922594,"y":19272.51385090939},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 1 Bounce All","config":"{ \n\"codeName\": \"resistance1BounceAll\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance1BounceAll","id":"81fabb3a-9c41-41e9-b09e-f168ca8c7032","savedPayload":{"position":{"x":16029.403206144018,"y":19171.302923560856},"targetPosition":{"x":16478.718040955944,"y":19196.125881038373},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"99647cd5-b683-4014-a213-d24fa859d561","savedPayload":{"position":{"x":16478.718040955944,"y":19196.125881038373},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 2 Bounce 1","config":"{ \n\"codeName\": \"resistance2Bounce1\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance2Bounce1","id":"c810907a-f21c-4163-9e8e-8a884e8aa0f7","savedPayload":{"position":{"x":16040.574593236573,"y":19057.257518686656},"targetPosition":{"x":16486.16563235098,"y":19120.09561112224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d93c9b19-9366-444c-b1e2-40c0d7f5685d","savedPayload":{"position":{"x":16486.16563235098,"y":19120.09561112224},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 2 Bounce 2","config":"{ \n\"codeName\": \"resistance2Bounce2\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance2Bounce2","id":"348406a5-5031-4393-becb-19c4f325b698","savedPayload":{"position":{"x":16061.37746127168,"y":18944.570363500254},"targetPosition":{"x":16500.034211041053,"y":19044.970840997972},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0458195f-bd6e-474e-8387-0e15f4730aef","savedPayload":{"position":{"x":16500.034211041053,"y":19044.970840997972},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 2 Bounce 3","config":"{ \n\"codeName\": \"resistance2Bounce3\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance2Bounce3","id":"eebbde09-23ce-4403-b792-17c9fd5da771","savedPayload":{"position":{"x":16091.661925108438,"y":18834.05337153698},"targetPosition":{"x":16520.22385359889,"y":18971.292846355787},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9b56c44a-4141-4a6c-8b97-345cd1fc5ff3","savedPayload":{"position":{"x":16520.22385359889,"y":18971.292846355787},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 2 Bounce 5","config":"{ \n\"codeName\": \"resistance2Bounce5\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance2Bounce5","id":"6b64ca08-f049-4a3b-97a3-91eb11d07f70","savedPayload":{"position":{"x":16131.209784490937,"y":18726.502820256414},"targetPosition":{"x":16546.589093187224,"y":18899.592478835413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"fb3c325e-8229-4879-9a16-d0b00b12b527","savedPayload":{"position":{"x":16546.589093187224,"y":18899.592478835413},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 2 Bounce 10","config":"{ \n\"codeName\": \"resistance2Bounce10\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance2Bounce10","id":"eae97d09-1001-4c26-9337-ba15de4b6b16","savedPayload":{"position":{"x":16179.736096186089,"y":18622.69361384506},"targetPosition":{"x":16578.93996765066,"y":18830.38634122784},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"bdeb35a8-ff0d-4441-8507-595bf5152fdb","savedPayload":{"position":{"x":16578.93996765066,"y":18830.38634122784},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 2 Bounce All","config":"{ \n\"codeName\": \"resistance2BounceAll\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance2BounceAll","id":"8f31479b-9788-4b26-9e29-17b021e080bc","savedPayload":{"position":{"x":16236.891227006156,"y":18523.373700013883},"targetPosition":{"x":16617.04338819737,"y":18764.17306534039},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f762cc91-2102-4f76-81d0-47ebc238f7b2","savedPayload":{"position":{"x":16617.04338819737,"y":18764.17306534039},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 3 Bounce 1","config":"{ \n\"codeName\": \"resistance3Bounce1\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance3Bounce1","id":"dc591f82-09c1-4a97-9571-db4dea91848a","savedPayload":{"position":{"x":16302.263372923873,"y":18429.258681017953},"targetPosition":{"x":16660.62481880918,"y":18701.429719343105},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"108588b4-799b-4a53-880c-09e6241a0d83","savedPayload":{"position":{"x":16660.62481880918,"y":18701.429719343105},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 3 Bounce 2","config":"{ \n\"codeName\": \"resistance3Bounce2\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance3Bounce2","id":"99fdd4d2-2681-45c5-a10c-b5a26d9146f5","savedPayload":{"position":{"x":16375.381526129897,"y":18341.02665772578},"targetPosition":{"x":16709.370254279864,"y":18642.608370481656},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cc680268-6a77-4bf3-8fb6-d52fe13c501c","savedPayload":{"position":{"x":16709.370254279864,"y":18642.608370481656},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 3 Bounce 3","config":"{ \n\"codeName\": \"resistance3Bounce3\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance3Bounce3","id":"d9cfaabe-04b9-4b3a-8143-f5ef50ac58ed","savedPayload":{"position":{"x":16455.718868654887,"y":18259.31334388701},"targetPosition":{"x":16762.928482629857,"y":18588.132827922476},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"31034bc5-b30a-4073-ad24-968a1f879551","savedPayload":{"position":{"x":16762.928482629857,"y":18588.132827922476},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 3 Bounce 5","config":"{ \n\"codeName\": \"resistance3Bounce5\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance3Bounce5","id":"db83ae1b-24e1-460f-bea8-f7273ca83e26","savedPayload":{"position":{"x":16542.696568105024,"y":18184.70748580031},"targetPosition":{"x":16820.913615596615,"y":18538.39558919801},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ebb1a278-c6a4-4834-8fae-486ccd553308","savedPayload":{"position":{"x":16820.913615596615,"y":18538.39558919801},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 3 Bounce 10","config":"{ \n\"codeName\": \"resistance3Bounce10\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance3Bounce10","id":"570566fa-85ca-4603-aad1-36275eb97f39","savedPayload":{"position":{"x":16635.687948162675,"y":18117.746620382786},"targetPosition":{"x":16882.90786896838,"y":18493.755012252994},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"80df4b28-5835-43dc-a7a8-6e84f9d57525","savedPayload":{"position":{"x":16882.90786896838,"y":18493.755012252994},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 3 Bounce All","config":"{ \n\"codeName\": \"resistance3BounceAll\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance3BounceAll","id":"e3da0929-67a0-46ca-83b5-526873922999","savedPayload":{"position":{"x":16734.02300380364,"y":18058.91320220417},"targetPosition":{"x":16948.464572729026,"y":18454.53273346725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"096eb127-6766-4d53-a365-12bf9c50c540","savedPayload":{"position":{"x":16948.464572729026,"y":18454.53273346725},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support Resistance Zone","config":"{ \n\"codeName\": \"supportResistanceZone\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.supportResistanceZone","id":"9f06c41a-3f69-409f-b0a8-03a32014f95e","savedPayload":{"position":{"x":16836.993228698677,"y":18008.63112739061},"targetPosition":{"x":17017.111389325717,"y":18421.01135025821},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"7b4e7478-e4c0-4664-a95e-8afddd3b245c","savedPayload":{"position":{"x":17017.111389325717,"y":18421.01135025821},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 4 Bounce 1","config":"{ \n\"codeName\": \"resistance4Bounce1\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance4Bounce1","id":"bbceb956-d606-4ee1-86cb-30d3c9e4d16e","savedPayload":{"position":{"x":16943.856720017855,"y":17967.262679443345},"targetPosition":{"x":17088.353716871836,"y":18393.432384960033},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c6eace47-c896-4784-9693-6e9d8b678ae4","savedPayload":{"position":{"x":17088.353716871836,"y":18393.432384960033},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Resistance 5 Bounce 1","config":"{ \n\"codeName\": \"resistance5Bounce1\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.resistance5Bounce1","id":"335496af-0d73-49cf-bc2e-88237434d4a6","savedPayload":{"position":{"x":17053.843523857464,"y":17935.10591897779},"targetPosition":{"x":17161.67825276491,"y":18371.994544649664},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8f735c80-9a12-4061-ab17-7a733f941173","savedPayload":{"position":{"x":17161.67825276491,"y":18371.994544649664},"targetPosition":{"x":17377.347710579797,"y":19245.77179599341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dbfa5564-4cfd-4bec-8748-c0dc7b1afd98","savedPayload":{"position":{"x":17377.347710579797,"y":19245.77179599341},"targetPosition":{"x":18266.267217115423,"y":19104.9807774572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"\n\nlet candle = record.current\nlet previousCandle = record.previous\n\nvariable.supportResistanceZone = calculateSupportResistanceZone()\n\ndeleteResistances(candle.max)\nincreasePeriods()\n\nvariable.resistance = {}\n\nvariable.resistance.rate = 0\nvariable.resistance.period = 0\nvariable.resistance.type = ''\n\nif (previousCandle !== undefined) {\n\n let previousPreviousCandle = record.previous.previous\n\n if (previousPreviousCandle !== undefined) {\n\n if (previousCandle.max > previousPreviousCandle.max && previousCandle.max > candle.max) {\n variable.resistance.rate = previousCandle.max\n variable.resistance.period = 0\n variable.resistance.type = 'Resistance'\n increaseResistancesBounces(variable.resistance.rate)\n rememberResistance(variable.resistance.rate)\n }\n }\n}\n\nsetClosestResistances()\n\nfunction deleteResistances(rate) {\n\n let max\n\n for (let i = 0; i < variable.resistances.length; i++) {\n let currenRecord = variable.resistances[i]\n let currentRate = currenRecord[0]\n\n if (rate >= currentRate + currentRate * variable.supportResistanceZone / 2 / 100) { // It must go through the support / resistance zone around the current rate value\n max = i\n }\n }\n if (max !== undefined) {\n variable.resistances.splice(0, max + 1)\n }\n}\n\nfunction increasePeriods() {\n\n for (let i = 0; i < variable.resistances.length; i++) {\n let currenRecord = variable.resistances[i]\n currenRecord[1] = currenRecord[1] + 1\n }\n}\n\nfunction setClosestResistances() {\n let record\n\n record = variable.resistances[0]\n if (record === undefined) { record = [0, 0, 0, 0, 0, 0, 0, 0] }\n variable.resistance1Rate = record[0]\n variable.resistance1Period = record[1]\n variable.resistance1Bounce1 = record[2]\n variable.resistance1Bounce2 = record[3]\n variable.resistance1Bounce3 = record[4]\n variable.resistance1Bounce5 = record[5]\n variable.resistance1Bounce10 = record[6]\n variable.resistance1BounceAll = record[7]\n\n record = variable.resistances[1]\n if (record === undefined) { record = [0, 0, 0, 0, 0, 0, 0, 0] }\n variable.resistance2Rate = record[0]\n variable.resistance2Period = record[1]\n variable.resistance2Bounce1 = record[2]\n variable.resistance2Bounce2 = record[3]\n variable.resistance2Bounce3 = record[4]\n variable.resistance2Bounce5 = record[5]\n variable.resistance2Bounce10 = record[6]\n variable.resistance2BounceAll = record[7]\n\n record = variable.resistances[2]\n if (record === undefined) { record = [0, 0, 0, 0, 0, 0, 0, 0] }\n variable.resistance3Rate = record[0]\n variable.resistance3Period = record[1]\n variable.resistance3Bounce1 = record[2]\n variable.resistance3Bounce2 = record[3]\n variable.resistance3Bounce3 = record[4]\n variable.resistance3Bounce5 = record[5]\n variable.resistance3Bounce10 = record[6]\n variable.resistance3BounceAll = record[7]\n\n record = variable.resistances[3]\n if (record === undefined) { record = [0, 0, 0, 0, 0, 0, 0, 0] }\n variable.resistance4Rate = record[0]\n variable.resistance4Period = record[1]\n variable.resistance4Bounce1 = record[2]\n\n record = variable.resistances[4]\n if (record === undefined) { record = [0, 0, 0, 0, 0, 0, 0, 0] }\n variable.resistance5Rate = record[0]\n variable.resistance5Period = record[1]\n variable.resistance5Bounce1 = record[2]\n\n}\n\nfunction rememberResistance(rate) {\n if (variable.resistances.length === 0) {\n variable.resistances.push([rate, 1, 0, 0, 0, 0, 0, 0])\n return\n }\n for (let i = 0; i < variable.resistances.length; i++) {\n let currenRecord = variable.resistances[i]\n let currentRate = currenRecord[0]\n\n if (rate > currentRate - currentRate * variable.supportResistanceZone / 2 / 100 && rate < currentRate + currentRate * variable.supportResistanceZone / 2 / 100) {\n // We are not going to remember this new level since it is absorved by this existing one.\n return\n }\n\n if (rate < currentRate) {\n variable.resistances.splice(i, 0, [rate, 1, 0, 0, 0, 0, 0, 0])\n return\n }\n\n if (i === variable.resistances.length - 1) {\n variable.resistances.push([rate, 1, 0, 0, 0, 0, 0, 0])\n return\n }\n }\n}\n\nfunction increaseResistancesBounces(rate) {\n\n for (let i = 0; i < variable.resistances.length; i++) {\n let currenRecord = variable.resistances[i]\n let currentRate = currenRecord[0]\n let percentage = 100 - rate * 100 / currentRate\n\n if (percentage <= variable.supportResistanceZone / 2 * 1) {\n currenRecord[2] = currenRecord[2] + 1\n }\n\n if (percentage <= variable.supportResistanceZone / 2 * 2) {\n currenRecord[3] = currenRecord[3] + 1\n }\n\n if (percentage <= variable.supportResistanceZone / 2 * 3) {\n currenRecord[4] = currenRecord[4] + 1\n }\n\n if (percentage <= variable.supportResistanceZone / 2 * 5) {\n currenRecord[5] = currenRecord[5] + 1\n }\n\n if (percentage <= variable.supportResistanceZone / 2 * 10) {\n currenRecord[6] = currenRecord[6] + 1\n }\n\n currenRecord[7] = currenRecord[7] + 1\n }\n}\n\nfunction calculateSupportResistanceZone() {\n /* \n The variable % is a percentage we will use for support and resistance based on the time frame.\n We will fix the % for 1 minute candles and for 24 hs candle and the use the formula to obtain\n y on a line by knowing 2 points of the line as described here: https://en.wikipedia.org/wiki/Line_(geometry)\n */\n\n let x0 = system.ONE_MIN_IN_MILISECONDS\n let y0 = 0.1 // At one min, we will consider the resistance / support zone to be 0.1% resistance \n let x1 = system.ONE_DAY_IN_MILISECONDS\n let y1 = 4 // At one day, we will consider the resistance / support zone to be 4% resistance\n\n let x = system.timeFrame // This is the current time frame being calculated\n let y = (x - x0) * (y1 - y0) / (x1 - x0) + y0\n\n return y\n\n}","id":"1c051e71-b2ff-4b5e-9239-98cca169e8fe","savedPayload":{"position":{"x":17625.624328842827,"y":18909.27265414781},"targetPosition":{"x":17845.707539007934,"y":18956.052784581807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"27aac2c1-d423-475c-86ae-84041aa2f3f0","savedPayload":{"position":{"x":17845.707539007934,"y":18956.052784581807},"targetPosition":{"x":18065.79074917304,"y":19002.832915015802},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"variable.resistances = []","id":"fdefa569-f171-4d85-8761-d732ebf64ea1","savedPayload":{"position":{"x":17731.375577708215,"y":18701.724142154315},"targetPosition":{"x":17898.583163440628,"y":18852.27852858506},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fc16fb34-f72b-4da5-ade1-7598d51a8fbe","savedPayload":{"position":{"x":17898.583163440628,"y":18852.27852858506},"targetPosition":{"x":18065.79074917304,"y":19002.832915015802},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a8703574-5d20-4fe2-a8e9-d01de4a958a9","savedPayload":{"position":{"x":18065.79074917304,"y":19002.832915015802},"targetPosition":{"x":18266.267217115423,"y":19104.9807774572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7a734501-a0fb-4305-803e-7e95d477c513","savedPayload":{"position":{"x":18266.267217115423,"y":19104.9807774572},"targetPosition":{"x":18667.220153000188,"y":18900.685052574405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Resistances","id":"156b4fa7-7f8f-4464-8ddb-6eb6123bc5c3"}}},{"type":"Product Definition","name":"Supports","config":"{ \n\"codeName\": \"Supports\",\n \"singularVariableName\": \"support\",\n \"pluralVariableName\": \"supports\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"\n{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"4a1bd251-76ed-4530-8723-08e41d50f12d","savedPayload":{"position":{"x":17536.99462759608,"y":18080.28032686648},"targetPosition":{"x":17941.462665530053,"y":18080.282674424147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"deaaf4ec-9352-40b6-af9a-8541a73a5e13","savedPayload":{"position":{"x":17614.598590336267,"y":17842.401696444565},"targetPosition":{"x":17941.462665530053,"y":18080.282674424147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"7cf0c803-eb36-4ada-930f-d129bdffb558","savedPayload":{"position":{"x":16699.410586060014,"y":16894.682051479966},"targetPosition":{"x":17060.18218429674,"y":16806.978688096704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"500e7345-95eb-4430-8171-32caa2356bdf","savedPayload":{"position":{"x":17060.18218429674,"y":16806.978688096704},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"ecbd13b3-2af2-45a5-800c-a34fe73e0db6","savedPayload":{"position":{"x":16561.005060637555,"y":16723.887826857106},"targetPosition":{"x":16929.063553628344,"y":16633.9701363075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a44b1626-282b-49d2-9ad1-cd5c81cc9f4a","savedPayload":{"position":{"x":16929.063553628344,"y":16633.9701363075},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Rate Support","config":"{\n \"codeName\": \"rateSupport\"\n}","formula":{"type":"Formula","code":"variable.support.rate","id":"14075730-a865-48f7-9f44-5c2d201ed16d","savedPayload":{"position":{"x":16737.67283603187,"y":16762.76260140626},"targetPosition":{"x":17096.920675785997,"y":16748.7944722687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b2612e72-07b1-4756-834a-6db765bd386c","savedPayload":{"position":{"x":17096.920675785997,"y":16748.7944722687},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Period Support","config":"{\n \"codeName\": \"periodSupport\"\n}","formula":{"type":"Formula","code":"variable.support.period","id":"a47c1c1f-8e5e-4e03-9177-33fbf3f5d5a7","savedPayload":{"position":{"x":16743.760548868693,"y":16633.888089167787},"targetPosition":{"x":17112.274332967983,"y":16671.713998265506},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bd719e1d-c639-4577-b0f1-89663028daa3","savedPayload":{"position":{"x":17112.274332967983,"y":16671.713998265506},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Type Support","config":"{\n \"codeName\": \"typeSupport\",\n \"isString\": true,\n \"possibleValues\": [\"Resistance\", \"Support\"]\n}","formula":{"type":"Formula","code":"variable.support.type","id":"18bf2427-ca89-4840-ba97-c9187b76da8c","savedPayload":{"position":{"x":16575.636622381313,"y":16549.42688223863},"targetPosition":{"x":16952.085007969035,"y":16583.491850511753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"005b24fe-a5d4-47b7-aa13-03c2aa091d8a","savedPayload":{"position":{"x":16952.085007969035,"y":16583.491850511753},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 1 Rate","config":"{ \n\"codeName\": \"support1Rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support1Rate","id":"40e08fb6-52ff-4f0a-99a6-989f5bc81610","savedPayload":{"position":{"x":16771.799321468894,"y":16509.026139497306},"targetPosition":{"x":17139.33508415793,"y":16593.13594872236},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f7755d99-afae-4dfe-a429-5de300b3a64a","savedPayload":{"position":{"x":17139.33508415793,"y":16593.13594872236},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 1 Period","config":"{ \n\"codeName\": \"support1Period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support1Period","id":"c65fb3e0-42b1-4de7-9d71-613919f6a7ec","savedPayload":{"position":{"x":16609.251985858526,"y":16417.402175473166},"targetPosition":{"x":16973.66520344222,"y":16515.249461623156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"78fb954c-336d-4a3d-8724-65786fcf8cbf","savedPayload":{"position":{"x":16973.66520344222,"y":16515.249461623156},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 2 Rate","config":"{ \n\"codeName\": \"support2Rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support2Rate","id":"0ce65da3-57d2-4161-89aa-68bf1802c52a","savedPayload":{"position":{"x":16828.398813478074,"y":16374.134344540102},"targetPosition":{"x":17162.491618076954,"y":16524.294250221334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5d52e50a-ccad-4487-aebb-ac4b8fbecb1e","savedPayload":{"position":{"x":17162.491618076954,"y":16524.294250221334},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 2 Period","config":"{ \n\"codeName\": \"support2Period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support2Period","id":"28425604-1922-47d0-9479-c53c56923197","savedPayload":{"position":{"x":16653.90454365993,"y":16314.09490734007},"targetPosition":{"x":16999.926067680943,"y":16435.369935440584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fa4c6abd-7eee-4f94-b2b6-65e638c5f1c1","savedPayload":{"position":{"x":16999.926067680943,"y":16435.369935440584},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 3 Rate","config":"{ \n\"codeName\": \"support3Rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support3Rate","id":"ab99a0da-1377-4cf4-986c-197e52b4c696","savedPayload":{"position":{"x":16697.830341049306,"y":16195.586932199438},"targetPosition":{"x":17194.240060217435,"y":16474.609069727747},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7b87217d-8e2a-425a-a1e1-d5d0a09a98de","savedPayload":{"position":{"x":17194.240060217435,"y":16474.609069727747},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 3 Period","config":"{ \n\"codeName\": \"support3Period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support3Period","id":"052e5b14-17d6-45f9-b680-388146cb6852","savedPayload":{"position":{"x":16903.09339489036,"y":16313.684153989841},"targetPosition":{"x":17032.2962171601,"y":16366.604379297627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"aa81f2c7-4fb7-4ce8-a52c-9ced275a240b","savedPayload":{"position":{"x":17032.2962171601,"y":16366.604379297627},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 4 Rate","config":"{ \n\"codeName\": \"support4Rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support4Rate","id":"d7409aeb-b96f-4591-abc6-94c3feae3243","savedPayload":{"position":{"x":16815.029416251313,"y":15996.527698293292},"targetPosition":{"x":17298.26549427805,"y":16293.784552044413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0b188be8-ca50-4b70-b54c-01bee5c8fe6e","savedPayload":{"position":{"x":17298.26549427805,"y":16293.784552044413},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 4 Period","config":"{ \n\"codeName\": \"support4Period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support4Period","id":"44d44f24-2c72-4679-8eac-3c571073eb5b","savedPayload":{"position":{"x":16906.688465807696,"y":16187.2615201181},"targetPosition":{"x":17062.490493922764,"y":16393.73813714418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bd577b4c-73a5-4ce1-ba77-30dee0f2d456","savedPayload":{"position":{"x":17062.490493922764,"y":16393.73813714418},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 5 Rate","config":"{ \n\"codeName\": \"support5Rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support5Rate","id":"362400a8-620f-4a50-ac69-ca970d2c8e2c","savedPayload":{"position":{"x":16933.368069158187,"y":15968.558159035925},"targetPosition":{"x":17234.11451934844,"y":16372.171289653463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6a84dce6-0b33-4acd-8eef-ec00e8c1f565","savedPayload":{"position":{"x":17234.11451934844,"y":16372.171289653463},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 5 Period","config":"{ \n\"codeName\": \"support5Period\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support5Period","id":"a3c54d4a-d24f-48d2-9bd6-8c97e72988d6","savedPayload":{"position":{"x":17002.91758531391,"y":16068.697626709505},"targetPosition":{"x":17132.17042602376,"y":16292.027697887277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"aad90b32-0fc6-42e6-97ad-92369d92c75d","savedPayload":{"position":{"x":17132.17042602376,"y":16292.027697887277},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 1 Bounce 1","config":"{ \n\"codeName\": \"support1Bounce1\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support1Bounce1","id":"f8588e9b-1b98-4d42-9c9e-87a1ccbf5f85","savedPayload":{"position":{"x":16964.184033837093,"y":15860.636021331899},"targetPosition":{"x":17076.76778335479,"y":16019.783977597664},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"b01a5c8f-7c91-497d-b859-14a28ed2dab0","savedPayload":{"position":{"x":17076.76778335479,"y":16019.783977597664},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 1 Bounce 2","config":"{ \n\"codeName\": \"support1Bounce2\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support1Bounce2","id":"5ced6adc-834d-42d3-8fda-922e22c010b3","savedPayload":{"position":{"x":17049.857074016774,"y":15810.401968511705},"targetPosition":{"x":17140.723173503506,"y":15972.39262832407},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"237bb47a-cad5-4d17-8082-4a668a520c0f","savedPayload":{"position":{"x":17140.723173503506,"y":15972.39262832407},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 1 Bounce 3","config":"{ \n\"codeName\": \"support1Bounce3\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support1Bounce3","id":"b4699add-3195-4db4-8bd7-9a9afbf47bfe","savedPayload":{"position":{"x":17147.989484750513,"y":15747.204092721178},"targetPosition":{"x":17213.930276296232,"y":15966.638082768493},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"7ab00eae-5fff-41cb-a438-2e938663d10b","savedPayload":{"position":{"x":17213.930276296232,"y":15966.638082768493},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 1 Bounce 5","config":"{ \n\"codeName\": \"support1Bounce5\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support1Bounce5","id":"a447aee8-c957-4bc8-b2ee-8e90b69820f1","savedPayload":{"position":{"x":17258.212455328507,"y":15799.566681135659},"targetPosition":{"x":17286.044677866925,"y":15859.578891595946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"e9f2282a-5328-4765-9e6a-e388f22b0664","savedPayload":{"position":{"x":17286.044677866925,"y":15859.578891595946},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 1 Bounce 10","config":"{ \n\"codeName\": \"support1Bounce10\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support1Bounce10","id":"ccb5af69-8ba1-4050-8e5c-d7bb6d7ca7e6","savedPayload":{"position":{"x":17317.78062212343,"y":15655.144885036752},"targetPosition":{"x":17355.549905172225,"y":15992.938368924019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"bff9046e-7f89-4bf1-94fa-374623c25270","savedPayload":{"position":{"x":17355.549905172225,"y":15992.938368924019},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 1 Bounce All","config":"{ \n\"codeName\": \"support1BounceAll\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support1BounceAll","id":"db228fdf-d598-4e15-ac14-ee5f9abc9f04","savedPayload":{"position":{"x":17382.470711116377,"y":15772.385513603766},"targetPosition":{"x":17387.179728991672,"y":15873.072684703362},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"92fe7b52-2018-4a57-9d5a-68146cb40679","savedPayload":{"position":{"x":17387.179728991672,"y":15873.072684703362},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 2 Bounce 1","config":"{ \n\"codeName\": \"support2Bounce1\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support2Bounce1","id":"668ef50d-cc9c-472d-8f1e-01501af5dcf5","savedPayload":{"position":{"x":17458.36843801888,"y":15671.051676192334},"targetPosition":{"x":17467.767515079955,"y":15955.716125338498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"1dfa6ecc-7354-4ae2-b82c-3b67c1dc9714","savedPayload":{"position":{"x":17467.767515079955,"y":15955.716125338498},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 2 Bounce 2","config":"{ \n\"codeName\": \"support2Bounce2\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support2Bounce2","id":"879626cc-4c25-4a48-9664-b09a8ef0898b","savedPayload":{"position":{"x":17531.98122981742,"y":15757.830028020562},"targetPosition":{"x":17549.565857503923,"y":15840.821860504817},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"2ac63aa9-1097-4384-b9d9-a09591216b46","savedPayload":{"position":{"x":17549.565857503923,"y":15840.821860504817},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 2 Bounce 3","config":"{ \n\"codeName\": \"support2Bounce3\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support2Bounce3","id":"6d35756c-cbf6-4dbb-9e0e-87eec91ae9c7","savedPayload":{"position":{"x":17634.693588452512,"y":15680.618875839353},"targetPosition":{"x":17581.85621933036,"y":15978.946158413253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"0f78e402-d6d9-47c8-a71f-ba19d31fdaa9","savedPayload":{"position":{"x":17581.85621933036,"y":15978.946158413253},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 2 Bounce 5","config":"{ \n\"codeName\": \"support2Bounce5\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support2Bounce5","id":"7ea5cc0c-062a-4ab1-bc29-0cfef7646609","savedPayload":{"position":{"x":17682.452717217257,"y":15783.849045533225},"targetPosition":{"x":17657.2997663091,"y":15880.009053701842},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"65e72b1c-36bb-4242-9cea-d0fa1ef8aacc","savedPayload":{"position":{"x":17657.2997663091,"y":15880.009053701842},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 2 Bounce 10","config":"{ \n\"codeName\": \"support2Bounce10\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support2Bounce10","id":"c2e95035-bc39-4a60-bc3d-816d78ec154d","savedPayload":{"position":{"x":17789.130201586664,"y":15714.555014946032},"targetPosition":{"x":17698.058555663938,"y":15991.44497520382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"f8bdb4d7-0a2a-4730-9bd1-a77c3eacb76b","savedPayload":{"position":{"x":17698.058555663938,"y":15991.44497520382},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 2 Bounce All","config":"{ \n\"codeName\": \"support2BounceAll\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support2BounceAll","id":"467b8765-e0cd-449b-8773-5eaf03de28b7","savedPayload":{"position":{"x":17827.51317104185,"y":15829.555160924563},"targetPosition":{"x":17807.449618869057,"y":15914.004864617234},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"2fda2cca-b8bc-4b85-919a-f8df88913ec4","savedPayload":{"position":{"x":17807.449618869057,"y":15914.004864617234},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 3 Bounce 1","config":"{ \n\"codeName\": \"support3Bounce1\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support3Bounce1","id":"77a3826e-5aa8-4f72-b389-964cd68e7b74","savedPayload":{"position":{"x":17960.034106929892,"y":15776.234924390212},"targetPosition":{"x":17805.358016098613,"y":16052.101086730861},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"7add9106-d78b-4ba4-b08b-6251d16edde3","savedPayload":{"position":{"x":17805.358016098613,"y":16052.101086730861},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 3 Bounce 2","config":"{ \n\"codeName\": \"support3Bounce2\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support3Bounce2","id":"6cc16e19-c604-46e8-9bbb-0d03e52e34aa","savedPayload":{"position":{"x":17961.481468341015,"y":15898.365617956357},"targetPosition":{"x":17917.19358116479,"y":15980.445172256494},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"eb85b0d0-36b0-4c43-bbb6-3946c0e44075","savedPayload":{"position":{"x":17917.19358116479,"y":15980.445172256494},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 3 Bounce 3","config":"{ \n\"codeName\": \"support3Bounce3\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support3Bounce3","id":"d680f9ce-a7d0-4a1b-86ad-a03b3edf9469","savedPayload":{"position":{"x":18087.495261273616,"y":15871.76717226345},"targetPosition":{"x":17904.220091223604,"y":16111.890570767093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"32259491-a337-4c85-9ae8-b296c401c80b","savedPayload":{"position":{"x":17904.220091223604,"y":16111.890570767093},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 3 Bounce 5","config":"{ \n\"codeName\": \"support3Bounce5\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support3Bounce5","id":"0131d473-e06b-4082-b349-4368a71c15b8","savedPayload":{"position":{"x":18086.7446303984,"y":15990.344352610828},"targetPosition":{"x":18029.3591647715,"y":16063.405584382244},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"917cfbe5-6374-4170-b28d-e9d9f7920503","savedPayload":{"position":{"x":18029.3591647715,"y":16063.405584382244},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 3 Bounce 10","config":"{ \n\"codeName\": \"support3Bounce10\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support3Bounce10","id":"58020873-bc14-436c-ab34-70ea0c165e75","savedPayload":{"position":{"x":18222.957952996265,"y":15991.551250765657},"targetPosition":{"x":17990.021280006873,"y":16189.311547572057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"5d70fe41-e6ce-42db-a5c0-12dcaa35a724","savedPayload":{"position":{"x":17990.021280006873,"y":16189.311547572057},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 3 Bounce All","config":"{ \n\"codeName\": \"support3BounceAll\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support3BounceAll","id":"5d24f8e3-9f2f-4d48-9c8e-d8a11a6dc019","savedPayload":{"position":{"x":18209.935337898147,"y":16114.359019087147},"targetPosition":{"x":18115.818601832227,"y":16193.115379147208},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"79faaac2-1e37-4667-a4fc-0bdb696cde15","savedPayload":{"position":{"x":18115.818601832227,"y":16193.115379147208},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support Resistance Zone","config":"{ \n\"codeName\": \"supportResistanceZone\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.supportResistanceZone","id":"5f2c5c5d-b624-4642-b235-ce65d442e721","savedPayload":{"position":{"x":17946.563365528742,"y":16354.70448027642},"targetPosition":{"x":17837.155062101087,"y":16424.601340813664},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"8405cbdf-a97b-40c8-9e4d-1b5187c7304b","savedPayload":{"position":{"x":17837.155062101087,"y":16424.601340813664},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 4 Bounce 1","config":"{ \n\"codeName\": \"support4Bounce1\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support4Bounce1","id":"c6a343f3-b85c-460d-b8d9-59c4bc638215","savedPayload":{"position":{"x":18314.990523690925,"y":16189.097344078176},"targetPosition":{"x":18125.606997144114,"y":16285.894220533399},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"65d9c0e2-d16d-4702-99af-bba32a73e82b","savedPayload":{"position":{"x":18125.606997144114,"y":16285.894220533399},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Support 5 Bounce 1","config":"{ \n\"codeName\": \"support5Bounce1\",\n\"isString\": false,\n\"isCalculated\": false\n}","formula":{"type":"Formula","name":"New Formula","code":"variable.support5Bounce1","id":"b715565a-3502-464a-bd5e-e29bb7c8f7fc","savedPayload":{"position":{"x":18352.26803726474,"y":16334.748798838878},"targetPosition":{"x":18190.81324102373,"y":16402.201537252313},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"04cf3b6f-3549-4459-9628-1435764305ca","savedPayload":{"position":{"x":18190.81324102373,"y":16402.201537252313},"targetPosition":{"x":17478.726708638387,"y":16655.044628940333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a2958a95-82c5-480d-a552-69ff3a01cade","savedPayload":{"position":{"x":17478.68584992769,"y":16655.055630158833},"targetPosition":{"x":17941.462665530053,"y":18080.282674424147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"\n\nlet candle = record.current\nlet previousCandle = record.previous\n\nvariable.supportResistanceZone = calculateSupportResistanceZone()\n\ndeleteSupports(candle.min)\nincreasePeriods()\n\nvariable.support = {}\n\nvariable.support.rate = 0\nvariable.support.period = 0\nvariable.support.type = ''\n\nif (previousCandle !== undefined) {\n\n let previousPreviousCandle = record.previous.previous\n\n if (previousPreviousCandle !== undefined) {\n\n if (previousCandle.min < previousPreviousCandle.min && previousCandle.min < candle.min) {\n variable.support.rate = previousCandle.min\n variable.support.period = 0\n variable.support.type = 'Support'\n increaseSupportsBounces(variable.support.rate)\n rememberSupports(variable.support.rate)\n }\n }\n}\n\nsetClosestSupports()\n\nfunction deleteSupports(rate) {\n\n let max\n\n for (let i = 0; i < variable.supports.length; i++) {\n let currenRecord = variable.supports[i]\n let currentRate = currenRecord[0]\n\n if (rate <= currentRate - currentRate * variable.supportResistanceZone / 2 / 100) { // It must go through the support / resistance zone around the current rate value\n max = i\n }\n }\n if (max !== undefined) {\n variable.supports.splice(0, max + 1)\n }\n}\n\nfunction increasePeriods() {\n\n for (let i = 0; i < variable.supports.length; i++) {\n let currenRecord = variable.supports[i]\n currenRecord[1] = currenRecord[1] + 1\n }\n}\n\nfunction setClosestSupports() {\n let record\n\n record = variable.supports[0]\n if (record === undefined) { record = [0, 0, 0, 0, 0, 0, 0, 0] }\n variable.support1Rate = record[0]\n variable.support1Period = record[1]\n variable.support1Bounce1 = record[2]\n variable.support1Bounce2 = record[3]\n variable.support1Bounce3 = record[4]\n variable.support1Bounce5 = record[5]\n variable.support1Bounce10 = record[6]\n variable.support1BounceAll = record[7]\n\n record = variable.supports[1]\n if (record === undefined) { record = [0, 0, 0, 0, 0, 0, 0, 0] }\n variable.support2Rate = record[0]\n variable.support2Period = record[1]\n variable.support2Bounce1 = record[2]\n variable.support2Bounce2 = record[3]\n variable.support2Bounce3 = record[4]\n variable.support2Bounce5 = record[5]\n variable.support2Bounce10 = record[6]\n variable.support2BounceAll = record[7]\n\n record = variable.supports[2]\n if (record === undefined) { record = [0, 0, 0, 0, 0, 0, 0, 0] }\n variable.support3Rate = record[0]\n variable.support3Period = record[1]\n variable.support3Bounce1 = record[2]\n variable.support3Bounce2 = record[3]\n variable.support3Bounce3 = record[4]\n variable.support3Bounce5 = record[5]\n variable.support3Bounce10 = record[6]\n variable.support3BounceAll = record[7]\n\n record = variable.supports[3]\n if (record === undefined) { record = [0, 0, 0, 0, 0, 0, 0, 0] }\n variable.support4Rate = record[0]\n variable.support4Period = record[1]\n variable.support4Bounce1 = record[2]\n\n record = variable.supports[4]\n if (record === undefined) { record = [0, 0, 0, 0, 0, 0, 0, 0] }\n variable.support5Rate = record[0]\n variable.support5Period = record[1]\n variable.support5Bounce1 = record[2]\n\n}\n\n\nfunction rememberSupports(rate) {\n if (variable.supports.length === 0) {\n variable.supports.push([rate, 1, 0, 0, 0, 0, 0, 0])\n return\n }\n for (let i = 0; i < variable.supports.length; i++) {\n let currenRecord = variable.supports[i]\n let currentRate = currenRecord[0]\n\n if (rate > currentRate - currentRate * variable.supportResistanceZone / 2 / 100 && rate < currentRate + currentRate * variable.supportResistanceZone / 2 / 100) {\n // We are not going to remember this new level since it is absorved by this existing one.\n return\n }\n\n if (rate > currentRate) {\n variable.supports.splice(i, 0, [rate, 1, 0, 0, 0, 0, 0, 0])\n return\n }\n\n if (i === variable.supports.length - 1) {\n variable.supports.push([rate, 1, 0, 0, 0, 0, 0, 0])\n return\n }\n }\n}\n\nfunction increaseSupportsBounces(rate) {\n\n for (let i = 0; i < variable.supports.length; i++) {\n let currenRecord = variable.supports[i]\n let currentRate = currenRecord[0]\n let percentage = rate * 100 / currentRate - 100\n\n if (percentage <= variable.supportResistanceZone / 2 * 1) {\n currenRecord[2] = currenRecord[2] + 1\n }\n\n if (percentage <= variable.supportResistanceZone / 2 * 2) {\n currenRecord[3] = currenRecord[3] + 1\n }\n\n if (percentage <= variable.supportResistanceZone / 2 * 3) {\n currenRecord[4] = currenRecord[4] + 1\n }\n\n if (percentage <= variable.supportResistanceZone / 2 * 5) {\n currenRecord[5] = currenRecord[5] + 1\n }\n\n if (percentage <= variable.supportResistanceZone / 2 * 10) {\n currenRecord[6] = currenRecord[6] + 1\n }\n\n currenRecord[7] = currenRecord[7] + 1\n }\n}\n\nfunction calculateSupportResistanceZone() {\n /* \n The variable % is a percentage we will use for support and resistance based on the time frame.\n We will fix the % for 1 minute candles and for 24 hs candle and the use the formula to obtain\n y on a line by knowing 2 points of the line as described here: https://en.wikipedia.org/wiki/Line_(geometry)\n */\n\n let x0 = system.ONE_MIN_IN_MILISECONDS\n let y0 = 0.1 // At one min, we will consider the resistance / support zone to be 0.1% resistance \n let x1 = system.ONE_DAY_IN_MILISECONDS\n let y1 = 4 // At one day, we will consider the resistance / support zone to be 4% resistance\n\n let x = system.timeFrame // This is the current time frame being calculated\n let y = (x - x0) * (y1 - y0) / (x1 - x0) + y0\n\n return y\n\n}","id":"2f38e534-5b92-4ded-9c74-1a8c1fef392c","savedPayload":{"position":{"x":18211.663474380242,"y":16620.596057047802},"targetPosition":{"x":18192.03121054525,"y":16994.87764957636},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4f6dbb7b-b13f-45a9-ba9e-e1c9f06970d6","savedPayload":{"position":{"x":18192.03121054525,"y":16994.87764957636},"targetPosition":{"x":18172.556839602163,"y":17368.997667091895},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"variable.supports = []","id":"a62efae4-3818-4048-ad13-bfb7c4bd22d9","savedPayload":{"position":{"x":18580.97180837835,"y":16740.212716805923},"targetPosition":{"x":18376.82231923708,"y":17054.54804921604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"793f079f-9623-4e8c-bd38-8dbd351caf8f","savedPayload":{"position":{"x":18376.82231923708,"y":17054.54804921604},"targetPosition":{"x":18172.556839602163,"y":17368.997667091895},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"3d26c2d9-7dd2-4796-91b4-768026944d66","savedPayload":{"position":{"x":18172.556839602163,"y":17368.997667091895},"targetPosition":{"x":17941.462665530053,"y":18080.282674424147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bc3c43de-6312-47d4-ae3d-0c95c1b039e0","savedPayload":{"position":{"x":18519.066901910915,"y":18877.219882818372},"targetPosition":{"x":18667.220153000188,"y":18900.685052574405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Supports","id":"1a104c65-6470-4694-a39e-4663f15e490c"}}}],"id":"c037980d-d455-41a0-b058-2d7849ddf582","savedPayload":{"position":{"x":18667.220153000188,"y":18900.685052574405},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Fees Band","config":"{ \n \"codeName\": \"Fees-Band\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{ \n \"codeName\": \"Multi-Period-Market\", \n \"normalWaitTime\": 0, \n \"retryWaitTime\": 10000, \n \"framework\": { \n \"name\": \"Multi-Period-Market\" \n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Fees Band 0.2","id":"addb000e-ee23-4ea2-becd-10513978f9e9","savedPayload":{"position":{"x":17824.015439374325,"y":19037.4786815928},"targetPosition":{"x":17819.484602389603,"y":18812.524305071205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"9c699a57-f0cf-434c-8ef8-40aac182200e"}}}],"outputDatasetFolders":[],"id":"d1a16312-6cf6-49b2-9ec9-63820952ec59","savedPayload":{"position":{"x":17819.484602389603,"y":18812.524305071205},"targetPosition":{"x":17814.95376540488,"y":18587.569928549612},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Fees Band Multi-Period-Market","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","id":"14fc9c86-f37f-4ff6-ad5a-c371f0846186","savedPayload":{"position":{"x":17681.53003392889,"y":19008.27280534723},"targetPosition":{"x":17706.400397073263,"y":18784.651551802162},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"408908d1-0f78-454e-b4ba-935c59e4f1fd"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\n \"mainUtility\": \"Market Ending Point\"\n}","id":"cfc81326-b7dd-43ae-8d00-325a1a03a30e","savedPayload":{"position":{"x":17597.847028741646,"y":18981.733175054713},"targetPosition":{"x":17706.400397073263,"y":18784.651551802162},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"aae52694-9764-42ea-968b-8256c7e1733b","savedPayload":{"position":{"x":17530.69028984415,"y":18925.189654171358},"targetPosition":{"x":17706.400397073263,"y":18784.651551802162},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"c5895135-9bd9-4d0b-a50e-7bfa33e806c3","savedPayload":{"position":{"x":17706.400397073263,"y":18784.651551802162},"targetPosition":{"x":17814.95376540488,"y":18587.569928549612},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"408908d1-0f78-454e-b4ba-935c59e4f1fd","savedPayload":{"position":{"x":17622.402979137056,"y":18703.970936739584},"targetPosition":{"x":17814.95376540488,"y":18587.569928549612},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"517c78ab-154c-4d72-a671-6ceaf7d7daa4","savedPayload":{"position":{"x":17589.999388883287,"y":18592.100765534335},"targetPosition":{"x":17814.95376540488,"y":18587.569928549612},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"d2c5852c-7223-4d9d-bbe0-0d7b4109e7e1","savedPayload":{"position":{"x":17617.87214215233,"y":18479.016560217995},"targetPosition":{"x":17814.95376540488,"y":18587.569928549612},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8c97a3c7-8333-4b7a-bba3-c1f50edb1771","savedPayload":{"position":{"x":18489.38329789324,"y":19078.521907681356},"targetPosition":{"x":18604.188327602766,"y":18801.35804792797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{ \n \"codeName\": \"Multi-Period-Daily\", \n \"normalWaitTime\": 0, \n \"retryWaitTime\": 10000, \n \"framework\": { \n \"name\": \"Multi-Period-Daily\" \n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily Fees Band 0.2","id":"f97f4159-4225-449c-b3cf-e309829385ff","savedPayload":{"position":{"x":17477.316683672525,"y":18741.86399719966},"targetPosition":{"x":17633.179663212184,"y":18579.5934465473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"2dd03ed7-736e-4959-ad8e-8108e59b8796"}}}],"outputDatasetFolders":[],"id":"169c266e-2c8b-46fd-9123-2f0cf3dbee75","savedPayload":{"position":{"x":17643.85218735615,"y":18881.40873406994},"targetPosition":{"x":17756.35218735615,"y":18686.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Fees Band Multi-Period-Daily","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","id":"4369e75e-d3e2-4540-a37a-62a8bc6f5156","savedPayload":{"position":{"x":17438.952688626272,"y":18987.75389600616},"targetPosition":{"x":17561.49647150465,"y":18799.05301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"44063861-0fab-49a8-ad15-fc3c4dcbc63e"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\n \"mainUtility\": \"Market Ending Point\"\n}","id":"9a1ec693-82b2-4ce3-b3dc-b57a75ce8972","savedPayload":{"position":{"x":17386.638630176833,"y":18940.650106204655},"targetPosition":{"x":17561.49647150465,"y":18799.05301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\n \"mainUtility\": \"Market Starting Point\"\n}","id":"3f758280-c446-4122-96bc-530b4bb6d1dc","savedPayload":{"position":{"x":17351.440875542783,"y":18879.685806866135},"targetPosition":{"x":17561.49647150465,"y":18799.05301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"753cc3b9-56a8-49fd-bb60-5220e8c68b76","savedPayload":{"position":{"x":17336.804826184874,"y":18810.828608373104},"targetPosition":{"x":17561.49647150465,"y":18799.05301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"f3a27f58-27c0-4693-a83c-743a30cd14d1","savedPayload":{"position":{"x":17561.49647150465,"y":18799.05301821844},"targetPosition":{"x":17756.35218735615,"y":18686.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"44063861-0fab-49a8-ad15-fc3c4dcbc63e","savedPayload":{"position":{"x":17531.35218735615,"y":18686.55301821844},"targetPosition":{"x":17756.35218735615,"y":18686.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"b35ae9ae-9ffc-48d0-8261-3dc4614198c0","savedPayload":{"position":{"x":17561.49647150465,"y":18574.05301821844},"targetPosition":{"x":17756.35218735615,"y":18686.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1e9595e3-f4f7-4d71-89a6-34398c6ba768","savedPayload":{"position":{"x":17643.85218735615,"y":18491.69730236694},"targetPosition":{"x":17756.35218735615,"y":18686.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2ab4b651-67c8-4b4b-bdce-96aad4dff1dc","savedPayload":{"position":{"x":18327.02446784938,"y":18916.1630776375},"targetPosition":{"x":18604.188327602766,"y":18801.35804792797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Fees Band 0.2","config":"{ \n \"codeName\": \"Fees-Band-0.2\", \n \"singularVariableName\": \"feesBand02\", \n \"pluralVariableName\": \"feesBand02s\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"9c699a57-f0cf-434c-8ef8-40aac182200e","savedPayload":{"position":{"x":18071.232418543153,"y":18843.30258763323},"targetPosition":{"x":18327.02446784938,"y":18686.553018218445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"2dd03ed7-736e-4959-ad8e-8108e59b8796","savedPayload":{"position":{"x":18027.94926772944,"y":18663.01528950009},"targetPosition":{"x":18327.02446784938,"y":18686.553018218445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"4b6ed335-f5cf-49fa-aba7-6dfe1d1b6bfb","savedPayload":{"position":{"x":17270.21859342365,"y":18337.0746534422},"targetPosition":{"x":17495.161946285716,"y":18332.026088975643},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e2d5157a-34cf-43fd-a83b-d4cca5a82748","savedPayload":{"position":{"x":17495.161946285716,"y":18332.026088975643},"targetPosition":{"x":17720.10529914778,"y":18326.977524509086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"cc285267-5578-4d94-981e-55663b745029","savedPayload":{"position":{"x":17310.390403151312,"y":18140.87619727415},"targetPosition":{"x":17515.247851149546,"y":18233.926860891617},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5e905c5f-8ad5-4cdf-a3e7-2c0dfc0541fa","savedPayload":{"position":{"x":17515.247851149546,"y":18233.926860891617},"targetPosition":{"x":17720.10529914778,"y":18326.977524509086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Upper Band","config":"{\n \"codeName\": \"beginUpperBand\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.beginUpperBand","id":"8ec7c074-e8d2-4fd5-a702-be3f8245ea8b","savedPayload":{"position":{"x":17431.71127285452,"y":17981.537391347978},"targetPosition":{"x":17575.90828600115,"y":18154.257457928532},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dcbd6bca-eed6-4d4c-a7c3-1ee9b98aeb21","savedPayload":{"position":{"x":17575.90828600115,"y":18154.257457928532},"targetPosition":{"x":17720.10529914778,"y":18326.977524509086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Lower Band","config":"{\n \"codeName\": \"beginLowerBand\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.beginLowerBand","id":"73490418-babd-4748-9bde-bd5bdc287bf1","savedPayload":{"position":{"x":17610.15211638573,"y":17890.617240339576},"targetPosition":{"x":17665.128707766755,"y":18108.79738242433},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"06d379ef-d9c1-4a7c-858e-4be0fa504f49","savedPayload":{"position":{"x":17665.128707766755,"y":18108.79738242433},"targetPosition":{"x":17720.10529914778,"y":18326.977524509086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Upper Band","config":"{\n \"codeName\": \"endUpperBand\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.endUpperBand","id":"52ca2981-9a3c-4c9c-84e9-bdb421727d84","savedPayload":{"position":{"x":17810.370536250255,"y":17886.123595218633},"targetPosition":{"x":17765.237917699018,"y":18106.55055986386},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"67983f61-20a2-44e1-856b-ae182bab35ea","savedPayload":{"position":{"x":17765.237917699018,"y":18106.55055986386},"targetPosition":{"x":17720.10529914778,"y":18326.977524509086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Lower Band","config":"{\n \"codeName\": \"endLowerBand\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.endLowerBand","id":"22edfaa2-acbc-4a0b-87a2-88607426b5f3","savedPayload":{"position":{"x":17992.710818876152,"y":17968.946477512283},"targetPosition":{"x":17856.408059011967,"y":18147.962001010685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5d5bda91-d33c-46c3-a669-eafc9dab4fe1","savedPayload":{"position":{"x":17856.408059011967,"y":18147.962001010685},"targetPosition":{"x":17720.10529914778,"y":18326.977524509086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"13be8616-22a4-4c9a-bba6-8dd346168aa2","savedPayload":{"position":{"x":18098.902678169372,"y":18491.71860371939},"targetPosition":{"x":18327.02446784938,"y":18686.553018218445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"let close_1 = 0\nlet close_2 = 0\nlet close_3 = 0\nlet close_4 = 0\nlet close_5 = 0\n\nclose_1 = record.current.close\nif (record.previous !== undefined) {\n close_2 = record.previous.close\n if (record.previous.previous !== undefined) {\n close_3 = record.previous.previous.close\n if (record.previous.previous.previous !== undefined) {\n close_4 = record.previous.previous.previous.close\n if (record.previous.previous.previous.previous !== undefined) {\n close_5 = record.previous.previous.previous.previous.close\n } else {\n if (variable.lastMovingAverage !== undefined) {\n close_5 = variable.lastMovingAverage\n } \n }\n } else {\n if (variable.lastMovingAverage !== undefined) {\n close_4 = variable.lastMovingAverage\n } \n }\n } else {\n if (variable.lastMovingAverage !== undefined) {\n close_3 = variable.lastMovingAverage\n } \n }\n} else {\n if (variable.lastMovingAverage !== undefined) {\n close_2 = variable.lastMovingAverage\n } \n}\n\nlet movingAverage = (close_1 + close_2 + close_3 + close_4 + close_5) / 5\n\nif (variable.lastMovingAverage !== undefined) {\n variable.beginUpperBand = variable.lastMovingAverage + variable.lastMovingAverage * 0.1 / 100\n variable.beginLowerBand = variable.lastMovingAverage - variable.lastMovingAverage * 0.1 / 100\n} else {\n variable.beginUpperBand = movingAverage + movingAverage * 0.1 / 100\n variable.beginLowerBand = movingAverage - movingAverage * 0.1 / 100 \n}\n\nvariable.endUpperBand = movingAverage + movingAverage * 0.1 / 100\nvariable.endLowerBand = movingAverage - movingAverage * 0.1 / 100\n\nvariable.lastMovingAverage = movingAverage\n","id":"cb903e7a-ffec-4487-8d03-b26f1a2a684b","savedPayload":{"position":{"x":18116.92364037906,"y":17811.420089860538},"targetPosition":{"x":18186.957249535833,"y":18103.13106597984},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"644bb1a1-b38d-4a9e-9787-8328d8e612fd","savedPayload":{"position":{"x":18186.957249535833,"y":18103.13106597984},"targetPosition":{"x":18256.990858692607,"y":18394.842042099142},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e189d182-e8a2-4591-9ecd-e4056f8a686b","savedPayload":{"position":{"x":18256.990858692607,"y":18394.842042099142},"targetPosition":{"x":18327.02446784938,"y":18686.553018218445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d6a14ed7-606d-40b9-b663-07ee04927460","savedPayload":{"position":{"x":18327.02446784938,"y":18686.553018218445},"targetPosition":{"x":18604.188327602766,"y":18801.35804792797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Fees Band","id":"eccd3713-e5c8-450c-bfb8-f8821fc429df"}}}],"id":"bb1b6bf2-4071-4617-af61-dad20ce3c51d","savedPayload":{"position":{"x":18602.188327602766,"y":18803.35804792797},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Volume Analysis","config":"{ \n \"codeName\": \"Volume-Analysis\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{ \n \"codeName\": \"Multi-Period-Market\", \n \"normalWaitTime\": 0, \n \"retryWaitTime\": 10000, \n \"framework\": { \n \"name\": \"Multi-Period-Market\" \n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Volume Analysis","id":"ada228be-9705-4819-8c20-fe5c005e1078","savedPayload":{"position":{"x":18367.70831049815,"y":19386.748942330363},"targetPosition":{"x":18352.007523625267,"y":19087.160081903992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"1d4df142-34c0-4439-a532-208c56cbb349"}}}],"outputDatasetFolders":[],"id":"0599cb81-fedd-4387-bbe9-f866ca303b03","savedPayload":{"position":{"x":18352.007523625267,"y":19087.160081903992},"targetPosition":{"x":18336.306736752384,"y":18787.57122147762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Volume Analysis Multi-Period-Market","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","id":"d77afa0b-be9f-4468-9a75-2a2ce510947c","savedPayload":{"position":{"x":18200.10958683052,"y":19354.87317873413},"targetPosition":{"x":18200.10958683052,"y":19054.87317873413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"d37487d0-abfc-4be1-94dd-150e81bcf2a7"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\n \"mainUtility\": \"Market Ending Point\"\n}","id":"fa22875f-ee65-4e82-bbc2-66234e5883fc","savedPayload":{"position":{"x":18107.404488518037,"y":19340.190133622677},"targetPosition":{"x":18200.10958683052,"y":19054.87317873413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"71ca9c05-b0c2-48bb-8f5c-39b0e61ae586","savedPayload":{"position":{"x":18023.774011142777,"y":19297.578277046614},"targetPosition":{"x":18200.10958683052,"y":19054.87317873413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}},{"type":"Data Dependency","name":"Volumes Multi-Period-Market","id":"571feaf7-7669-40ce-9375-388e3251f124","savedPayload":{"position":{"x":17957.404488518037,"y":19231.208754421874},"targetPosition":{"x":18200.10958683052,"y":19054.87317873413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"9bf0483c-4825-4a46-9cf4-1b5262579fc1"}}}],"dataMineDataDependencies":[],"id":"9d15c349-fee5-45cb-89ed-204d0c5bc330","savedPayload":{"position":{"x":18200.10958683052,"y":19054.87317873413},"targetPosition":{"x":18336.306736752384,"y":18787.57122147762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"d37487d0-abfc-4be1-94dd-150e81bcf2a7","savedPayload":{"position":{"x":18084.705566368757,"y":18950.96293198213},"targetPosition":{"x":18336.306736752384,"y":18787.57122147762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"fc4aafb9-8da5-493c-85e7-1f45264b0c05","savedPayload":{"position":{"x":18036.717876326013,"y":18803.272008350505},"targetPosition":{"x":18336.306736752384,"y":18787.57122147762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"854d9512-497f-4c5f-9f68-22db0c2a4933","savedPayload":{"position":{"x":18069.004779495874,"y":18651.374071555758},"targetPosition":{"x":18336.306736752384,"y":18787.57122147762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2f434c96-d55d-40b8-b58c-51146f1bce5b","savedPayload":{"position":{"x":18367.220153000188,"y":18900.685052574405},"targetPosition":{"x":18579.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{ \n \"codeName\": \"Multi-Period-Daily\", \n \"normalWaitTime\": 0, \n \"retryWaitTime\": 10000, \n \"framework\": { \n \"name\": \"Multi-Period-Daily\" \n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily Volume Analysis","id":"29f46d50-8684-4bee-9a4a-156811d47d36","savedPayload":{"position":{"x":17190.316683672525,"y":18740.36399719966},"targetPosition":{"x":17346.179663212184,"y":18578.0934465473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"cccbe688-75e9-405c-a087-8c1bb953430f"}}}],"outputDatasetFolders":[],"id":"7b559f39-f888-49d6-948a-a31af2810209","savedPayload":{"position":{"x":18093.72444500821,"y":18784.749451371004},"targetPosition":{"x":18294.46362691587,"y":18561.806003727786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Volume Analysis Multi-Period-Daily","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","id":"d3ed5c3a-d516-4f41-95fe-160786e233ae","savedPayload":{"position":{"x":17808.407490119665,"y":18877.454549683487},"targetPosition":{"x":18009.146672027324,"y":18654.51110204027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"8a54d9d3-c038-4e08-ad86-267e9a7f0403"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\n \"mainUtility\": \"Market Ending Point\"\n}","id":"27fad487-f5c4-441f-8d1e-8f399d1809af","savedPayload":{"position":{"x":17757.545501643697,"y":18817.902812544777},"targetPosition":{"x":18009.146672027324,"y":18654.51110204027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\n \"mainUtility\": \"Market Starting Point\"\n}","id":"5a7aecb7-ded0-469f-a013-09e7eb74a590","savedPayload":{"position":{"x":17723.82971713878,"y":18747.216200352752},"targetPosition":{"x":18009.146672027324,"y":18654.51110204027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"346a0595-7994-4d22-8e7f-be93b4088cbd","savedPayload":{"position":{"x":17709.557811600953,"y":18670.211888913153},"targetPosition":{"x":18009.146672027324,"y":18654.51110204027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}},{"type":"Data Dependency","name":"Volumes Multi-Period-Daily","id":"4a026f3a-d8d8-44d3-b058-3a71af0d4b14","savedPayload":{"position":{"x":17715.702391807183,"y":18592.137594794942},"targetPosition":{"x":18009.146672027324,"y":18654.51110204027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"2e683057-f911-4105-bc77-16f2706d1915"}}}],"dataMineDataDependencies":[],"id":"80465e4d-83cc-4ec2-b5f5-b2774502b29a","savedPayload":{"position":{"x":18009.146672027324,"y":18654.51110204027},"targetPosition":{"x":18294.46362691587,"y":18561.806003727786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"8a54d9d3-c038-4e08-ad86-267e9a7f0403","savedPayload":{"position":{"x":18001.019346695728,"y":18499.43249648246},"targetPosition":{"x":18294.46362691587,"y":18561.806003727786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"d4706947-b55b-4341-b70b-0b45f14e7912","savedPayload":{"position":{"x":18071.52017927265,"y":18361.066821820128},"targetPosition":{"x":18294.46362691587,"y":18561.806003727786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"14125000-f67f-44d5-8fa6-c9b8fd3ab307","savedPayload":{"position":{"x":18201.758528603386,"y":18276.48904883924},"targetPosition":{"x":18294.46362691587,"y":18561.806003727786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6909e701-0c06-46b5-8a26-c5603dadfac6","savedPayload":{"position":{"x":18279.35218735615,"y":18688.55301821844},"targetPosition":{"x":18579.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Volume Analysis","config":"{ \n \"codeName\": \"Volume-Analysis\", \n \"singularVariableName\": \"volumeAnalysi\", \n \"pluralVariableName\": \"volumeAnalysis\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"1d4df142-34c0-4439-a532-208c56cbb349","savedPayload":{"position":{"x":18070.913650821647,"y":18523.351323374547},"targetPosition":{"x":18367.220153000188,"y":18476.420983862477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"cccbe688-75e9-405c-a087-8c1bb953430f","savedPayload":{"position":{"x":18099.918195743678,"y":18340.223833940614},"targetPosition":{"x":18367.220153000188,"y":18476.420983862477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"8b359ad9-7e1f-473e-b10d-33113db1e121","savedPayload":{"position":{"x":17641.33196087227,"y":18319.864115625478},"targetPosition":{"x":17936.177481975297,"y":18264.491571115723},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"53da0251-b700-4e23-ad9b-1027d589be74","savedPayload":{"position":{"x":17936.177481975297,"y":18264.491571115723},"targetPosition":{"x":18231.023003078324,"y":18209.119026605968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"fbb6f75d-cae4-407c-abe8-51b6689bbfe9","savedPayload":{"position":{"x":17634.018094391107,"y":18149.2429963153},"targetPosition":{"x":17932.520548734716,"y":18179.181011460634},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8d63f4fe-6351-4919-add0-ca9efde3d534","savedPayload":{"position":{"x":17932.520548734716,"y":18179.181011460634},"targetPosition":{"x":18231.023003078324,"y":18209.119026605968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Buy Volume","config":"{\n \"codeName\": \"buyVolume\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.buyVolume","id":"100d6a11-107c-43ab-bdf5-4ea8d8dd1e26","savedPayload":{"position":{"x":17675.070015086883,"y":17983.472676882808},"targetPosition":{"x":17953.046509082604,"y":18096.295851744388},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"93e7007f-cd7b-4d8a-b855-2859d61cea0d","savedPayload":{"position":{"x":17953.046509082604,"y":18096.295851744388},"targetPosition":{"x":18231.023003078324,"y":18209.119026605968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Sell Volume","config":"{\n \"codeName\": \"sellVolume\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sellVolume","id":"1e0ed9c8-eacd-4fa4-b2b1-2c7c46fa0001","savedPayload":{"position":{"x":17761.161940489994,"y":17835.982882734377},"targetPosition":{"x":17996.09247178416,"y":18022.550954670172},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ff32ed4c-4774-4daa-9682-40102a11274d","savedPayload":{"position":{"x":17996.09247178416,"y":18022.550954670172},"targetPosition":{"x":18231.023003078324,"y":18209.119026605968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Buy SMA 20","config":"{\n \"codeName\": \"buySMA20\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.buySMA20","id":"61268785-244d-445d-85be-0c58958d3d45","savedPayload":{"position":{"x":17885.319214812673,"y":17718.722359836323},"targetPosition":{"x":18058.1711089455,"y":17963.920693221145},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1a12d3f4-013a-4427-bda8-4dbceaaaa62a","savedPayload":{"position":{"x":18058.1711089455,"y":17963.920693221145},"targetPosition":{"x":18231.023003078324,"y":18209.119026605968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Sell SMA 20","config":"{\n \"codeName\": \"sellSMA20\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sellSMA20","id":"c77ea447-8be1-45e4-a494-4322504b8357","savedPayload":{"position":{"x":18037.483354081047,"y":17641.190858378675},"targetPosition":{"x":18134.253178579685,"y":17925.15494249232},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a3edb3ce-5c43-42b1-9d9e-510ac34fef96","savedPayload":{"position":{"x":18134.253178579685,"y":17925.15494249232},"targetPosition":{"x":18231.023003078324,"y":18209.119026605968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Buy SMA 200","config":"{\n \"codeName\": \"buySMA200\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.buySMA200","id":"2f085466-3ba8-4309-ba9b-3243b4dd2253","savedPayload":{"position":{"x":18205.326924686564,"y":17609.66951951193},"targetPosition":{"x":18218.174963882444,"y":17909.394273058948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"543e8253-2bd3-4e74-8f5f-58a974b76f01","savedPayload":{"position":{"x":18218.174963882444,"y":17909.394273058948},"targetPosition":{"x":18231.023003078324,"y":18209.119026605968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Sell SMA 200","config":"{\n \"codeName\": \"sellSMA200\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sellSMA200","id":"24094c85-8ace-40f9-94b8-f93aa96435dc","savedPayload":{"position":{"x":18375.252238742916,"y":17626.712014646455},"targetPosition":{"x":18303.13762091062,"y":17917.91552062621},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a8457135-b96c-4e31-9ada-8c4b0affc3d7","savedPayload":{"position":{"x":18303.13762091062,"y":17917.91552062621},"targetPosition":{"x":18231.023003078324,"y":18209.119026605968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Buy Force","config":"{\n \"codeName\": \"buyVolume\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.buyForce","id":"f71139b5-222d-411f-90e8-882d09274234","savedPayload":{"position":{"x":18533.492957890023,"y":17690.937662182074},"targetPosition":{"x":18382.257980484173,"y":17950.02834439402},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6e7aeead-72db-47cc-ace5-c02c6cf43524","savedPayload":{"position":{"x":18382.257980484173,"y":17950.02834439402},"targetPosition":{"x":18231.023003078324,"y":18209.119026605968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Sell Force","config":"{\n \"codeName\": \"buyVolume\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sellForce","id":"73653b55-41f8-47d2-9c72-8e4cedc94742","savedPayload":{"position":{"x":18667.22936015637,"y":17797.143282120076},"targetPosition":{"x":18449.126181617346,"y":18003.13115436302},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"79c4e8b2-7306-4d23-8dbb-045446aab18b","savedPayload":{"position":{"x":18449.126181617346,"y":18003.13115436302},"targetPosition":{"x":18231.023003078324,"y":18209.119026605968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8bf7c8ae-818d-4d95-9aa1-553a95300cb4","savedPayload":{"position":{"x":18231.023003078324,"y":18209.119026605968},"targetPosition":{"x":18367.220153000188,"y":18476.420983862477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"let candle = record.current // This is the primary dependency\nlet volume = getElement('volumes', candle) // Here I get the volume bar corresponding to the current candle\nlet totalVolume = volume.buy + volume.sell // Candles Volumes split the volume received from the exchange evenly betwen buy and sell because it does not know how much of it there is.\n\nvariable.buyVolume = 0\nvariable.sellVolume = 0\n\n/* \nWe will estimate a buy volume or sell volume proportional to the distance from \nthe open to the max and min of the candle.\n*/\nlet distanceOpenMax = candle.max - candle.open\nlet distanceOpenMin = candle.open - candle.min\nlet distanceMaxMin = candle.max - candle.min\n\nvariable.buyVolume = totalVolume * distanceOpenMax * 100 / distanceMaxMin\nvariable.sellVolume = totalVolume * distanceOpenMin * 100 / distanceMaxMin\n\nlet totalBuy\nlet totalSell\nlet totalNonZero\n/* Maintain the 20 periods moving averages. */\nvariable.last20Buy.splice(0, 1)\nvariable.last20Buy.push(variable.buyVolume)\ntotalBuy = 0\ntotalNonZero = 0\nfor (let i = 0; i < variable.last20Buy.length; i++) {\n let value = variable.last20Buy[i]\n if (value > 0) {\n totalBuy = totalBuy + value\n totalNonZero++\n }\n}\nvariable.buySMA20 = totalBuy / totalNonZero\n\nvariable.last20Sell.splice(0, 1)\nvariable.last20Sell.push(variable.sellVolume)\ntotalSell = 0\ntotalNonZero = 0\nfor (let i = 0; i < variable.last20Sell.length; i++) {\n let value = variable.last20Sell[i]\n if (value > 0) {\n totalSell = totalSell + value\n totalNonZero++\n }\n}\nvariable.sellSMA20 = totalSell / totalNonZero\n\n/* Maintain the 200 periods moving averages. */\nvariable.last200Buy.splice(0, 1)\nvariable.last200Buy.push(variable.buyVolume)\ntotalBuy = 0\ntotalNonZero = 0\nfor (let i = 0; i < variable.last200Buy.length; i++) {\n let value = variable.last200Buy[i]\n if (value > 0) {\n totalBuy = totalBuy + value\n totalNonZero++\n }\n}\nvariable.buySMA200 = totalBuy / totalNonZero\n\nvariable.last200Sell.splice(0, 1)\nvariable.last200Sell.push(variable.sellVolume)\ntotalSell = 0\ntotalNonZero = 0\nfor (let i = 0; i < variable.last200Sell.length; i++) {\n let value = variable.last200Sell[i]\n if (value > 0) {\n totalSell = totalSell + value\n totalNonZero++\n }\n}\nvariable.sellSMA200 = totalSell / totalNonZero\n\n/* Finaly we compute how many times the 200 moving average the volume is */\nvariable.buyForce = Math.trunc(variable.buyVolume / variable.buySMA200)\nvariable.sellForce = Math.trunc(variable.sellVolume / variable.sellSMA200)\n\n\n","id":"6f413c35-7c25-424f-9dc8-3d33dff86ce6","savedPayload":{"position":{"x":18351.433414551662,"y":17583.401344462975},"targetPosition":{"x":18382.79195353196,"y":17881.757913073456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c6058142-fc90-4f02-a7e3-bbfb43fb4ed4","savedPayload":{"position":{"x":18382.79195353196,"y":17881.757913073456},"targetPosition":{"x":18414.150492512257,"y":18180.114481683937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"variable.last20Buy = []\nvariable.last20Sell = []\nvariable.last200Buy = []\nvariable.last200Sell = []\n\nfor (let i = 0; i < 20; i++) {\n variable.last20Buy.push(0)\n variable.last20Sell.push(0)\n}\n\nfor (let i = 0; i < 200; i++) {\n variable.last200Buy.push(0)\n variable.last200Sell.push(0)\n}\n","id":"82d96645-b54f-4d88-88ff-6020fd834848","savedPayload":{"position":{"x":18658.192478357734,"y":17631.987207098377},"targetPosition":{"x":18536.171485434996,"y":17906.050844391157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f1445d37-c8ee-423e-aff4-90764923bdd4","savedPayload":{"position":{"x":18536.171485434996,"y":17906.050844391157},"targetPosition":{"x":18414.150492512257,"y":18180.114481683937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e5040263-0081-47ba-8574-fa4e5be4dc38","savedPayload":{"position":{"x":18414.150492512257,"y":18180.114481683937},"targetPosition":{"x":18367.220153000188,"y":18476.420983862477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c10f698e-1ed4-48a6-9c2d-344bcba5ca35","savedPayload":{"position":{"x":18367.220153000188,"y":18476.420983862477},"targetPosition":{"x":18579.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Volume Analysis","id":"77bf098c-c563-4855-9738-3443a324365c"}}}],"id":"de906bef-f516-4cd1-84ab-c75517cc767b","savedPayload":{"position":{"x":18579.35218735615,"y":18688.55301821844},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"plotters":[{"type":"Plotter","name":"Plotters Candles Volumes","config":"{\n\"codeName\": \"PlottersCandlesVolumes\"\n}","modules":[{"type":"Plotter Module","name":"Candles","config":"{\n\"codeName\": \"Candles\",\n\"isLegacy\": true,\n\"icon\": \"layer-candles\"\n}","panels":[{"type":"Plotter Panel","name":"New Plotter Panel","config":"{ \n\"codeName\": \"CandlePanel\" ,\n\"isLegacy\": true\n}","panelData":[],"id":"9336f4e6-d56b-4ed4-819d-0bb762ba1fdd","savedPayload":{"position":{"x":17696.84751934299,"y":18486.627271703706},"targetPosition":{"x":18096.697643704378,"y":18486.63670885975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0aed75a3-fee8-4ddc-97ff-b6768e6f12a3","savedPayload":{"position":{"x":18096.697643704378,"y":18486.63670885975},"targetPosition":{"x":18534.74651536602,"y":18486.633965043242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Volumes","config":"{\n\"codeName\": \"Volumes\",\n\"isLegacy\": true,\n\"icon\": \"layer-volume\"\n}","panels":[{"type":"Plotter Panel","name":"New Plotter Panel","config":"{ \n\"codeName\": \"VolumePanel\" ,\n\"isLegacy\": true\n}","panelData":[],"id":"42dbd098-4550-44a0-987f-54a28dd5f40b","savedPayload":{"position":{"x":18115.819148242663,"y":17761.146660225102},"targetPosition":{"x":18315.620991059444,"y":18107.19510870052},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a6177fb7-51d1-4b7c-bcbb-04861a5bf0c1","savedPayload":{"position":{"x":18315.620991059444,"y":18107.19510870052},"targetPosition":{"x":18534.74651536602,"y":18486.633965043242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e4347543-21b5-4274-b690-e6b3b5899862","savedPayload":{"position":{"x":18602.188327602766,"y":18573.747988508916},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},{"type":"Plotter","name":"Plotters Bollinger Bands","config":"{\n\"codeName\" : \"PlottersBollingerBands\"\n}","modules":[{"type":"Plotter Module","name":"Percentage B","config":"{\n\t\"codeName\": \"Percentage Bandwidth\",\n \"icon\": \"layer-oscilator\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin Previous Value","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.value","id":"ad85e84e-166f-41c7-bc08-b6a50ca4524d","savedPayload":{"position":{"x":18545.478882888063,"y":15021.666037334766},"targetPosition":{"x":18314.755780980428,"y":15395.231152130485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"534c2cd4-d020-43cf-9284-433a57fdcfce","savedPayload":{"position":{"x":18314.755780980428,"y":15395.231152130485},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Value","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.value","id":"1e029480-c6d7-4455-9ae9-5677b99752de","savedPayload":{"position":{"x":18808.115757454616,"y":15286.431434289378},"targetPosition":{"x":18443.01015276532,"y":15523.262395936657},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5b05abcc-76cf-4f9d-82e5-671ab7471678","savedPayload":{"position":{"x":18443.01015276532,"y":15523.262395936657},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin Previous MA","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.movingAverage","id":"7bafa19b-086c-41cf-b2e4-a41485841f4c","savedPayload":{"position":{"x":18937.922801643243,"y":15624.49169808991},"targetPosition":{"x":18507.96968309221,"y":15692.322227599285},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0993c95f-2054-48d8-9977-2d4eb24dabf7","savedPayload":{"position":{"x":18507.96968309221,"y":15692.322227599285},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End MA","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.movingAverage","id":"412d8820-facc-4065-a235-d35d86c3b569","savedPayload":{"position":{"x":18918.930127869105,"y":15985.360550912848},"targetPosition":{"x":18498.47850402864,"y":15872.892623408701},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"35bdf97d-abf8-4f1e-922c-d853e6980b0c","savedPayload":{"position":{"x":18498.47850402864,"y":15872.892623408701},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Being Previous Bandwidth","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.bandwidth * 250","id":"cbd72abc-e6c4-44d6-bd58-1bab7c0b2960","savedPayload":{"position":{"x":18655.660755217454,"y":16252.944226406587},"targetPosition":{"x":18416.195057601537,"y":16034.300513607752},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"943da81e-c0ca-4213-ba8a-5dbafd3ead18","savedPayload":{"position":{"x":18416.195057601537,"y":16034.300513607752},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Bandwidth","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.bandwidth * 250","id":"6ac14886-32ee-490f-a600-4f704458f24e","savedPayload":{"position":{"x":18472.755583531576,"y":16536.1736637859},"targetPosition":{"x":18275.375694986004,"y":16148.329847586352},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cdf38478-d5d4-410e-98fd-14b7b74bfd8b","savedPayload":{"position":{"x":18275.375694986004,"y":16148.329847586352},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"54cece5b-472f-4c86-b6b6-83342e2890f7","savedPayload":{"position":{"x":18122.871825512608,"y":16629.936727147364},"targetPosition":{"x":18100.367404085348,"y":16195.233011798142},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8e21c88b-bfb7-41dd-9cbe-678d5dc4fc54","savedPayload":{"position":{"x":18100.367404085348,"y":16195.233011798142},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"1572cfc8-0318-43b5-8405-a04cc00cbd16","savedPayload":{"position":{"x":17765.687885695195,"y":16573.27847523917},"targetPosition":{"x":17921.717030001797,"y":16166.890138229115},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"75670aaa-849d-4156-af74-61a25ce49713","savedPayload":{"position":{"x":17921.717030001797,"y":16166.890138229115},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 30","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 30","id":"6039db7e-9c71-4906-b999-3d7848989c5a","savedPayload":{"position":{"x":17461.866420177117,"y":16375.980633158873},"targetPosition":{"x":17769.757815001652,"y":16068.20867704773},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ffea0ed5-39b4-4c14-b1fc-2164a6e189fd","savedPayload":{"position":{"x":17769.757815001652,"y":16068.20867704773},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 30","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 30","id":"89393793-42d5-4dea-bca5-aee8f3349659","savedPayload":{"position":{"x":17264.55751903746,"y":16072.1685645361},"targetPosition":{"x":17671.07349858534,"y":15916.253669696809},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4bc7f337-74a7-42b7-89b7-9d4edc10fca5","savedPayload":{"position":{"x":17671.07349858534,"y":15916.253669696809},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 70","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 70","id":"c616cf49-abaf-490e-a3b7-f978442c8b4a","savedPayload":{"position":{"x":17207.87502457219,"y":15714.99136120428},"targetPosition":{"x":17642.7287344203,"y":15737.615877278511},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"827e424f-3036-4645-9246-94b4bb0ebaea","savedPayload":{"position":{"x":17642.7287344203,"y":15737.615877278511},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 70","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 70","id":"d3003e73-9318-4282-a293-d61c0d98bd4b","savedPayload":{"position":{"x":17301.60057121593,"y":15365.110934348344},"targetPosition":{"x":17689.607068632664,"y":15562.644027068349},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"84bdd434-48af-4f4a-8f14-62df15022d05","savedPayload":{"position":{"x":17689.607068632664,"y":15562.644027068349},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 100","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 100","id":"8d13712b-3f9e-424e-b85c-e6794ce39ca9","savedPayload":{"position":{"x":17196.352589630114,"y":16577.157904501102},"targetPosition":{"x":17452.06034831803,"y":16743.21646463255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ec589261-f564-4ad0-b866-8c63b8a15150","savedPayload":{"position":{"x":17803.56020597385,"y":15422.04340658767},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 100","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 100","id":"8c06033c-c2b7-42a7-b509-e45a1b7edf42","savedPayload":{"position":{"x":17375.65098674305,"y":16397.859507388166},"targetPosition":{"x":17541.709546874503,"y":16653.567266076083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8949ce4a-bdad-47c2-a85f-0728ed7f9746","savedPayload":{"position":{"x":17965.31316505051,"y":15340.199292004392},"targetPosition":{"x":18077.840070442548,"y":15760.237460916263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9388e24f-4147-4878-8754-b6f6b8807813","savedPayload":{"position":{"x":18077.840070442548,"y":15760.237460916263},"targetPosition":{"x":18213.749754128177,"y":14902.328179385053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Area From 0 to 30","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n }\n}","id":"05578d4b-01e3-42fc-a4dd-b473414f467d","savedPayload":{"position":{"x":18082.91270630445,"y":16546.740205735805},"targetPosition":{"x":17778.43401127021,"y":16562.69725798155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"14810299-01f6-443c-8bbf-de8450c9efd6","savedPayload":{"position":{"x":17778.43401127021,"y":16562.69725798155},"targetPosition":{"x":17473.955316235966,"y":16578.65431022729},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 0","id":"d8eda99d-df16-4e21-b621-6f547914c461","savedPayload":{"position":{"x":17572.036329596143,"y":16880.516630355378},"targetPosition":{"x":17473.955316235966,"y":16578.65431022729},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 0","id":"8e21c88b-bfb7-41dd-9cbe-678d5dc4fc54"}}},{"type":"Polygon Vertex","name":"End 0","id":"3a844186-fa2d-45e3-9453-d11750bafb51","savedPayload":{"position":{"x":17220.021105603977,"y":16763.148313566904},"targetPosition":{"x":17473.955316235966,"y":16578.65431022729},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 0","id":"75670aaa-849d-4156-af74-61a25ce49713"}}},{"type":"Polygon Vertex","name":"End 30","id":"95d52cc3-0a06-4181-bcd7-1e65b41194d8","savedPayload":{"position":{"x":17223.70570796832,"y":16396.837327204164},"targetPosition":{"x":17473.955316235966,"y":16578.65431022729},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 30","id":"4bc7f337-74a7-42b7-89b7-9d4edc10fca5"}}},{"type":"Polygon Vertex","name":"Begin 30","id":"a65fe0bd-5517-45b2-ac29-16bd198653a5","savedPayload":{"position":{"x":17559.30252758968,"y":16315.982602900158},"targetPosition":{"x":17473.955316235966,"y":16578.65431022729},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 30","id":"ffea0ed5-39b4-4c14-b1fc-2164a6e189fd"}}}],"id":"d76f185f-5219-4f0b-adb3-9a339b0468c6","savedPayload":{"position":{"x":17905.518916710633,"y":15209.806826668022},"targetPosition":{"x":18213.749754128177,"y":14902.328179385053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Area From 30 to 70","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n }\n}","id":"2bdd38d2-0e04-4760-a8e7-af12d8a3baa7","savedPayload":{"position":{"x":17852.126157580933,"y":16777.526754459323},"targetPosition":{"x":17596.418398893016,"y":16611.468194327874},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"de6f5e6b-a281-4d29-af86-72f7a545257d","savedPayload":{"position":{"x":17596.418398893016,"y":16611.468194327874},"targetPosition":{"x":17340.7106402051,"y":16445.409634196425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 30","id":"e9bfd52e-bc47-469f-8187-4e79d79ba866","savedPayload":{"position":{"x":17433.657575409765,"y":16731.47088650673},"targetPosition":{"x":17340.7106402051,"y":16445.409634196425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 30","id":"ffea0ed5-39b4-4c14-b1fc-2164a6e189fd"}}},{"type":"Polygon Vertex","name":"End 30","id":"f562f71b-2e79-4fa0-a9d5-e1d5c4ba12b4","savedPayload":{"position":{"x":17108.05833441109,"y":16614.44142859428},"targetPosition":{"x":17340.7106402051,"y":16445.409634196425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 30","id":"4bc7f337-74a7-42b7-89b7-9d4edc10fca5"}}},{"type":"Polygon Vertex","name":"End 70","id":"3c79161c-e899-4147-bd75-21805b23f76f","savedPayload":{"position":{"x":17093.09937838169,"y":16265.509522068647},"targetPosition":{"x":17340.7106402051,"y":16445.409634196425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 70","id":"84bdd434-48af-4f4a-8f14-62df15022d05"}}},{"type":"Polygon Vertex","name":"Begin 70","id":"4cd041c2-e445-46eb-99bf-c3ceee94f101","savedPayload":{"position":{"x":17433.327707682904,"y":16160.363610358529},"targetPosition":{"x":17340.7106402051,"y":16445.409634196425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 70","id":"827e424f-3036-4645-9246-94b4bb0ebaea"}}}],"id":"1a7969dd-af18-4e44-b4c9-96dd2be57f7c","savedPayload":{"position":{"x":17783.159675307194,"y":14970.09210222645},"targetPosition":{"x":18213.749754128177,"y":14902.328179385053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Area From 70 to 100","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n }\n}","id":"b34d9e0e-ed4a-4b99-8e29-b7ed66a3658e","savedPayload":{"position":{"x":17529.762987823306,"y":16828.584064682633},"targetPosition":{"x":17420.49783811344,"y":16543.938618021333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"2c35b477-500f-4c85-867f-630e2105278f","savedPayload":{"position":{"x":17420.49783811344,"y":16543.938618021333},"targetPosition":{"x":17311.232688403572,"y":16259.293171360036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 70","id":"1777fb76-c1e2-415d-a517-2e365401490c","savedPayload":{"position":{"x":17406.367476395826,"y":16552.087942176448},"targetPosition":{"x":17311.232688403572,"y":16259.293171360036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 70","id":"827e424f-3036-4645-9246-94b4bb0ebaea"}}},{"type":"Polygon Vertex","name":"End 70","id":"4652d8cf-d922-44a3-b8cf-c6d329883ca0","savedPayload":{"position":{"x":17079.458614295025,"y":16427.68689308896},"targetPosition":{"x":17311.232688403572,"y":16259.293171360036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 70","id":"84bdd434-48af-4f4a-8f14-62df15022d05"}}},{"type":"Polygon Vertex","name":"End 100","id":"ef3e750e-8380-40a2-830b-3f364960e44e","savedPayload":{"position":{"x":17060.40316648419,"y":16077.054856406348},"targetPosition":{"x":17311.232688403572,"y":16259.293171360036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 100","id":"8949ce4a-bdad-47c2-a85f-0728ed7f9746"}}},{"type":"Polygon Vertex","name":"Begin 100","id":"c8905f10-3c25-4fec-978a-ef356c0ad395","savedPayload":{"position":{"x":17408.56406397446,"y":15959.737999114905},"targetPosition":{"x":17311.232688403572,"y":16259.293171360036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 100","id":"ec589261-f564-4ad0-b866-8c63b8a15150"}}}],"id":"cb1bcd11-0fb0-4377-bff2-dee4630e0f3f","savedPayload":{"position":{"x":17825.337733513057,"y":14704.353741948498},"targetPosition":{"x":18213.749754128177,"y":14902.328179385053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 30","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n }\n}","id":"3f69a3f7-af79-47a2-9e0b-17524fc986d8","savedPayload":{"position":{"x":16965.592207225018,"y":16522.583913931543},"targetPosition":{"x":17181.18662186293,"y":16306.989499293632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"30e98617-1cfd-4fa7-814c-a5898caac0da","savedPayload":{"position":{"x":17181.18662186293,"y":16306.989499293632},"targetPosition":{"x":17396.781036500844,"y":16091.395084655718},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 30","id":"2f5d4ab1-0d70-4baa-988a-2b7077e7b1e6","savedPayload":{"position":{"x":17239.434324854523,"y":16363.927583631037},"targetPosition":{"x":17396.781036500844,"y":16091.395084655718},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 30","id":"ffea0ed5-39b4-4c14-b1fc-2164a6e189fd"}}},{"type":"Polygon Vertex","name":"End 30","id":"b23626ca-e521-4fad-9a8b-8c9f30711de7","savedPayload":{"position":{"x":17255.067061136615,"y":15845.939279182305},"targetPosition":{"x":17396.781036500844,"y":16091.395084655718},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 30","id":"4bc7f337-74a7-42b7-89b7-9d4edc10fca5"}}}],"id":"857043cc-f467-44d2-89eb-2e73f35f638d","savedPayload":{"position":{"x":18015.89517193423,"y":14513.839130876158},"targetPosition":{"x":18213.749754128177,"y":14902.328179385053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 30","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n }\n}","id":"9e67e8dc-0a07-4d57-be52-6023ff9087da","savedPayload":{"position":{"x":16962.393597734794,"y":16101.239392425643},"targetPosition":{"x":17263.536360469974,"y":16053.543064492045},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"767e0eba-ad98-49a9-a08d-58b5ebfaf655","savedPayload":{"position":{"x":17263.536360469974,"y":16053.543064492045},"targetPosition":{"x":17564.679123205162,"y":16005.846736558447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End 70","id":"9bed0cf3-56c3-4508-88c8-5dede6e574df","savedPayload":{"position":{"x":17408.262320450798,"y":16276.768586086482},"targetPosition":{"x":17564.679123205162,"y":16005.846736558447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 70","id":"84bdd434-48af-4f4a-8f14-62df15022d05"}}},{"type":"Polygon Vertex","name":"Begin 70","id":"1ce29315-82a5-4b62-8e85-be087a037d73","savedPayload":{"position":{"x":17407.958506446437,"y":15734.398665738809},"targetPosition":{"x":17564.679123205162,"y":16005.846736558447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 70","id":"827e424f-3036-4645-9246-94b4bb0ebaea"}}}],"id":"984a1917-1d81-4142-a50f-269a18a07c9d","savedPayload":{"position":{"x":18281.739366968068,"y":14471.69801559204},"targetPosition":{"x":18213.749754128177,"y":14902.328179385053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Bandwidth","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 2,\n \"lineDash\": [2,2],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n }\n}","id":"ccb32f55-1b5e-4813-b614-0581593434a7","savedPayload":{"position":{"x":17207.46596417423,"y":15758.484418554388},"targetPosition":{"x":17479.13077510789,"y":15896.90455345718},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"57a26967-b019-4352-9d9d-cc10668837c4","savedPayload":{"position":{"x":17479.13077510789,"y":15896.90455345718},"targetPosition":{"x":17750.79558604155,"y":16035.324688359971},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Being Previous Bandwidth","id":"0d8a9c6b-b0e6-4ce1-b1ad-71bd2a506a55","savedPayload":{"position":{"x":17615.070273979938,"y":16270.407824723829},"targetPosition":{"x":17750.79558604155,"y":16035.324688359971},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Being Previous Bandwidth","id":"943da81e-c0ca-4213-ba8a-5dbafd3ead18"}}},{"type":"Polygon Vertex","name":"End Bandwidth","id":"38f87d68-5678-46bd-9e26-45b8a8ee75f1","savedPayload":{"position":{"x":17607.018584120346,"y":15786.295616072519},"targetPosition":{"x":17750.79558604155,"y":16035.324688359971},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bandwidth","id":"cdf38478-d5d4-410e-98fd-14b7b74bfd8b"}}}],"id":"0f7a4004-177c-4412-b0ef-2608f3c13da6","savedPayload":{"position":{"x":18521.846404426193,"y":14594.020965957381},"targetPosition":{"x":18213.749754128177,"y":14902.328179385053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Value","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.85,\n \"lineWidth\": 2.25,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"6e43dca6-e750-49ff-b025-2a76185e5914","savedPayload":{"position":{"x":17607.199992266833,"y":15625.239742523518},"targetPosition":{"x":17745.620127169626,"y":15896.904553457178},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"56c0efd0-d13a-4c29-98f2-d27cb6071099","savedPayload":{"position":{"x":17745.620127169626,"y":15896.904553457178},"targetPosition":{"x":17884.04026207242,"y":16168.569364390838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Previous Value","id":"68e8f2a3-54ee-4fb7-abd2-add6496c08e0","savedPayload":{"position":{"x":17728.375082528684,"y":16438.18936432991},"targetPosition":{"x":17884.04026207242,"y":16168.569364390838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Previous Value","id":"534c2cd4-d020-43cf-9284-433a57fdcfce"}}},{"type":"Polygon Vertex","name":"End Value","id":"a01aa765-6bd5-49d7-afbe-44d543191f76","savedPayload":{"position":{"x":17725.517725578262,"y":15894.000277038263},"targetPosition":{"x":17884.04026207242,"y":16168.569364390838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Value","id":"5b05abcc-76cf-4f9d-82e5-671ab7471678"}}}],"id":"4598a671-83b9-4460-9e65-175df73eba71","savedPayload":{"position":{"x":18644.2512936641,"y":14833.9961630349},"targetPosition":{"x":18213.749754128177,"y":14902.328179385053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Moving Average","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.55,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"544bf8f4-dfd5-4cd7-aba3-a47f6b477da8","savedPayload":{"position":{"x":17724.265423079836,"y":15861.665451466723},"targetPosition":{"x":17961.214541807538,"y":16053.543064492043},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.previous.movingAverage > record.movingAverage","style":{"type":"Style","name":"New Style","config":"{\n \"opacity\": 0.55,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n}","id":"c89114e1-7181-4091-8c2d-0301a8b00478","savedPayload":{"position":{"x":18530.505435130133,"y":15835.012765072313},"targetPosition":{"x":18245.859988468837,"y":15944.277914782178},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"12891c27-2ec5-4a56-892e-1d29a277d5da","savedPayload":{"position":{"x":18245.859988468837,"y":15944.277914782178},"targetPosition":{"x":17961.214541807538,"y":16053.543064492043},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c9847967-ecf5-4f6a-9fe7-2759ca4795b6","savedPayload":{"position":{"x":17961.214541807538,"y":16053.543064492043},"targetPosition":{"x":17913.51821387394,"y":16354.685827227227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"a"}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Previous MA","id":"81660820-6035-481b-a909-9e89e145d61f","savedPayload":{"position":{"x":17759.83767542101,"y":16620.868327962246},"targetPosition":{"x":17913.51821387394,"y":16354.685827227227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Previous MA","id":"0993c95f-2054-48d8-9977-2d4eb24dabf7"}}},{"type":"Polygon Vertex","name":"End MA","id":"2d18f4cf-e5d4-4bde-9a69-85b87c410125","savedPayload":{"position":{"x":17754.357115157527,"y":16079.010717661913},"targetPosition":{"x":17913.51821387394,"y":16354.685827227227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End MA","id":"35bdf97d-abf8-4f1e-922c-d853e6980b0c"}}}],"id":"69c19382-ed5b-48d1-9249-426a8e1e4e51","savedPayload":{"position":{"x":18605.163169421285,"y":15104.25799030341},"targetPosition":{"x":18213.749754128177,"y":14902.328179385053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"da344cd9-3c37-449a-b5be-6c65814f8562","savedPayload":{"position":{"x":18213.749754128177,"y":14902.328179385053},"targetPosition":{"x":18999.629395054435,"y":16445.60473545489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"%B Panel","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"%B Value","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.value","id":"c6ca5acc-cc3d-4802-8627-d3461747e731","savedPayload":{"position":{"x":18728.702940016236,"y":13000.534277442845},"targetPosition":{"x":18894.56424079351,"y":14145.377004494465},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d34065b9-ce7c-4971-8270-d0819da6b188","savedPayload":{"position":{"x":18894.56424079351,"y":14145.377004494465},"targetPosition":{"x":19060.437696933004,"y":15290.358760967492},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Bandwidth","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.bandwidth","id":"5193f538-5133-4561-a9e4-939cfa4d9af9","savedPayload":{"position":{"x":19181.367009246984,"y":12979.80704935833},"targetPosition":{"x":19120.95385583555,"y":14135.025615067221},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ba215bbb-99c2-4433-83f8-47f2b00ee378","savedPayload":{"position":{"x":19120.95385583555,"y":14135.025615067221},"targetPosition":{"x":19060.437696933004,"y":15290.358760967492},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Moving Average","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.movingAverage","id":"d721b3b0-ffe7-459f-b146-954073605f0e","savedPayload":{"position":{"x":19630.00363757383,"y":13047.922923761722},"targetPosition":{"x":19345.32987806297,"y":14169.113535072656},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8705ee2c-1bd8-4e90-b841-d2864f83f14b","savedPayload":{"position":{"x":19345.32987806297,"y":14169.113535072656},"targetPosition":{"x":19060.437696933004,"y":15290.358760967492},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"36548f31-d96c-4c80-b923-dea5dd5b56c7","savedPayload":{"position":{"x":19060.437696933004,"y":15290.358760967492},"targetPosition":{"x":18999.629395054435,"y":16445.60473545489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"06b2f3f6-b138-415f-8974-31c22a930f92","savedPayload":{"position":{"x":18302.0010907256,"y":18120.862337337472},"targetPosition":{"x":18681.51705866605,"y":18339.922829266656},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Bollinger Bands","config":"{\n\"codeName\": \"BollingerBands\",\n\"isLegacy\": true,\n\"icon\": \"layer-bands\"\n}","panels":[{"type":"Plotter Panel","name":"New Plotter Panel","config":"{ \n\"codeName\": \"BollingerBandsPanel\" ,\n\"isLegacy\": true\n}","panelData":[],"id":"de7b7008-6f66-4d7d-96dd-1aa7b1ede335","savedPayload":{"position":{"x":18681.315340805675,"y":17502.038435354378},"targetPosition":{"x":18681.35211316975,"y":17901.853220973506},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a11bfdf8-595c-4b50-b259-6a9f777d0ea8","savedPayload":{"position":{"x":18681.35211316975,"y":17901.853220973506},"targetPosition":{"x":18681.51705866605,"y":18339.922829266656},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"abd0f050-2f42-4c50-81a9-ffb0d6442cef","savedPayload":{"position":{"x":18667.220153000188,"y":18476.420983862477},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Plotters Bollinger Channels","config":"{\n\"codeName\" : \"Plotter Bollinger Channels\"\n}","modules":[{"type":"Plotter Module","name":"Bollinger Channels Objects","config":"{\n\"codeName\": \"Bollinger-Channels-Objects\",\n \"icon\": \"layer-trends\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"New Point","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.firstMovingAverage - record.firstDeviation","id":"8117b381-e9c7-41e3-8a51-ed49a1ca6868","savedPayload":{"position":{"x":17287.642224172876,"y":15960.3036159057},"targetPosition":{"x":17599.312984914002,"y":16022.760231993172},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9be61e7d-ae1e-4b39-9ebf-27285a5a67a9","savedPayload":{"position":{"x":17599.312984914002,"y":16022.760231993172},"targetPosition":{"x":17921.081543844703,"y":16047.895419851315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"New Point","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.lastMovingAverage - record.lastDeviation","id":"69cb3498-4e18-458a-b48e-e65c98b183be","savedPayload":{"position":{"x":17287.776760363224,"y":15827.806846400135},"targetPosition":{"x":17585.542817374393,"y":15938.497076473794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f87b3204-8901-4774-afcb-b4e5394e255d","savedPayload":{"position":{"x":17585.542817374393,"y":15938.497076473794},"targetPosition":{"x":17921.081543844703,"y":16047.895419851315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"New Point","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.lastMovingAverage + record.lastDeviation","id":"4c7b46d8-f76b-4039-af87-345c3f72a0a4","savedPayload":{"position":{"x":17459.921233062218,"y":15729.508935089088},"targetPosition":{"x":17736.20757538695,"y":15886.321092349795},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5ce82101-6f77-4f54-bef5-d97edae6d44b","savedPayload":{"position":{"x":17736.20757538695,"y":15886.321092349795},"targetPosition":{"x":17921.081543844703,"y":16047.895419851315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"New Point","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.firstMovingAverage + record.lastDeviation","id":"89e5dbc2-33ed-42b9-9b9b-376097e04aff","savedPayload":{"position":{"x":17379.32364254802,"y":15620.767305832034},"targetPosition":{"x":17628.797326310385,"y":15817.317808363388},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"45dbe6c3-9433-4b6d-8aa5-691cf6eba8a1","savedPayload":{"position":{"x":17628.797326310385,"y":15817.317808363388},"targetPosition":{"x":17921.081543844703,"y":16047.895419851315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"703b0e1b-e2d6-457a-95d6-7b6516b2f772","savedPayload":{"position":{"x":17921.081543844703,"y":16047.895419851315},"targetPosition":{"x":18496.294401729676,"y":16314.83542882676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"New Polygon","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"09105647-a665-4fb4-910d-49bcf90eb91e","savedPayload":{"position":{"x":17540.146854642277,"y":14806.347930685106},"targetPosition":{"x":18056.21598731423,"y":15177.760108077046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.direction === 'Side'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.LIGHT\"\n}","id":"ad17706f-09f0-4424-b5f3-b66fb2c76160","savedPayload":{"position":{"x":17151.721331086643,"y":14280.59833201751},"targetPosition":{"x":17598.21047240923,"y":14731.144349417309},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3975ecc2-db5b-4cab-a9ab-9e13b2da3015","savedPayload":{"position":{"x":17598.21047240923,"y":14731.144349417309},"targetPosition":{"x":18056.21598731423,"y":15177.760108077046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.direction === 'Up'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR. GREEN\"\n}","id":"0b263642-8fc7-4fdc-a915-9480c8493e68","savedPayload":{"position":{"x":17281.191730237282,"y":14166.635270025714},"targetPosition":{"x":17664.994224214883,"y":14671.763338538225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e218ed70-9da7-43c5-9c23-9e010e08b5b5","savedPayload":{"position":{"x":17664.994224214883,"y":14671.763338538225},"targetPosition":{"x":18056.21598731423,"y":15177.760108077046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.direction === 'Down'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n}","id":"ce3abe3f-eb38-4e0f-94bb-9c397ed78f49","savedPayload":{"position":{"x":17422.25270014268,"y":14072.01400172028},"targetPosition":{"x":17736.61221552927,"y":14622.818390740997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"251d5031-13f9-493b-aa35-126f5221bb21","savedPayload":{"position":{"x":17736.61221552927,"y":14622.818390740997},"targetPosition":{"x":18056.21598731423,"y":15177.760108077046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"atMousePosition === true","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.1\n}","id":"2ea26fbc-74c5-4fb5-b64f-c4c7b289003c","savedPayload":{"position":{"x":17624.094341269396,"y":14022.70216450926},"targetPosition":{"x":17864.098140684546,"y":14609.87766824623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8a0f9c00-67be-47fa-9cde-ec6c499c9bec","savedPayload":{"position":{"x":17864.098140684546,"y":14609.87766824623},"targetPosition":{"x":18056.21598731423,"y":15177.760108077046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f2d2ac14-9859-4228-81d9-280c639c1b37","savedPayload":{"position":{"x":18056.21598731423,"y":15177.760108077046},"targetPosition":{"x":18440.022151979312,"y":15682.230003457562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}","id":"d85d9603-7ff2-4d45-aa58-9b8ebe23a65f","savedPayload":{"position":{"x":17951.356126833678,"y":14875.576558928491},"targetPosition":{"x":18178.767367766446,"y":15104.660163629645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.direction === 'Side'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK\"\n}","id":"d09de0b4-f477-42e9-a944-6bde9a9a68dd","savedPayload":{"position":{"x":17833.592662225696,"y":14486.078343744604},"targetPosition":{"x":17995.865459028333,"y":14801.174377064697},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"08167019-4685-45ca-8572-74706f2fb971","savedPayload":{"position":{"x":17995.865459028333,"y":14801.174377064697},"targetPosition":{"x":18178.767367766446,"y":15104.660163629645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.direction === 'Up'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\"\n}","id":"ebab2c53-c230-4622-a5d1-a3e0bd1d4139","savedPayload":{"position":{"x":18036.08951149458,"y":14563.51503935586},"targetPosition":{"x":18143.515020633582,"y":14862.509991029734},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5b721945-b84b-4e19-a7db-777bc1c1fee1","savedPayload":{"position":{"x":18143.515020633582,"y":14862.509991029734},"targetPosition":{"x":18178.767367766446,"y":15104.660163629645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.direction === 'Down'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n}","id":"8bef9d11-9184-420e-a841-97a19f6a160b","savedPayload":{"position":{"x":18049.622336779496,"y":14426.845029720846},"targetPosition":{"x":18108.95822924535,"y":14739.585717268857},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a530140d-d0bb-4989-8ca8-d9846adbc91d","savedPayload":{"position":{"x":18108.95822924535,"y":14739.585717268857},"targetPosition":{"x":18178.767367766446,"y":15104.660163629645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"add24099-1310-4e86-99fc-9db01a272b6e","savedPayload":{"position":{"x":18178.767367766446,"y":15104.660163629645},"targetPosition":{"x":18440.022151979312,"y":15682.230003457562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"New Point","id":"7be4c16d-772a-4750-9735-09d3d9e16037","savedPayload":{"position":{"x":18314.017617835256,"y":15060.666240237037},"targetPosition":{"x":18440.022151979312,"y":15682.230003457562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"New Point","id":"9be61e7d-ae1e-4b39-9ebf-27285a5a67a9"}}},{"type":"Polygon Vertex","name":"New Point","id":"1a592de1-eb28-41eb-8ddb-b22e5034be53","savedPayload":{"position":{"x":18455.33952476974,"y":15048.115251217785},"targetPosition":{"x":18440.022151979312,"y":15682.230003457562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"New Point","id":"f87b3204-8901-4774-afcb-b4e5394e255d"}}},{"type":"Polygon Vertex","name":"New Point","id":"e90a30b1-cd5d-4331-bf74-7cfd4242db34","savedPayload":{"position":{"x":18596.012058059874,"y":15067.340892489414},"targetPosition":{"x":18440.022151979312,"y":15682.230003457562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"New Point","id":"5ce82101-6f77-4f54-bef5-d97edae6d44b"}}},{"type":"Polygon Vertex","name":"New Point","id":"ae4311e5-a02d-46d7-a41c-79e6945f9f21","savedPayload":{"position":{"x":18729.002573971153,"y":15117.407592716574},"targetPosition":{"x":18440.022151979312,"y":15682.230003457562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"New Point","id":"45dbe6c3-9433-4b6d-8aa5-691cf6eba8a1"}}}],"id":"6e21446c-93e7-44ad-814d-3cd2fa8f8baf","savedPayload":{"position":{"x":18440.022151979312,"y":15682.230003457562},"targetPosition":{"x":18496.294401729676,"y":16314.83542882676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"0b08f6f6-2317-42fb-ab3a-db8957d76dfa","savedPayload":{"position":{"x":18496.294401729676,"y":16314.83542882676},"targetPosition":{"x":18860.879582593865,"y":16833.496984165897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"o"}}},"panels":[{"type":"Plotter Panel","name":"Bollinger Channels Objects","config":"{ \n\"codeName\": \"Bollinger Channels Objects\"\n}","panelData":[{"type":"Panel Data","name":"Direction","config":"{\n \n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.direction","id":"479f9520-4cad-4fe3-a2fc-c7f48d93344d","savedPayload":{"position":{"x":18539.372387164076,"y":15805.139878649514},"targetPosition":{"x":18623.6239822188,"y":15939.274033455491},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"24fefe09-fa8d-4904-9c6c-9c775d3866d0","savedPayload":{"position":{"x":18623.6239822188,"y":15939.274033455491},"targetPosition":{"x":18805.105369490375,"y":16202.172033911998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Total Periods","config":"{\n \n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.period","id":"69b5e792-b174-4046-9219-786da4601f58","savedPayload":{"position":{"x":18681.846012628193,"y":15735.371034626938},"targetPosition":{"x":18720.197026062095,"y":15889.681881599787},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e79b5734-072e-4432-91d5-8f41eef59b26","savedPayload":{"position":{"x":18720.197026062095,"y":15889.681881599787},"targetPosition":{"x":18805.105369490375,"y":16202.172033911998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"First Moving Average","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.firstMovingAverage","id":"b6818aef-a3dc-4d78-9684-46f1ddbf234a","savedPayload":{"position":{"x":18836.00631209217,"y":15718.72570271403},"targetPosition":{"x":18824.87490011158,"y":15877.578159773782},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"75fe02cd-776b-45cb-a965-ecbfac163ad4","savedPayload":{"position":{"x":18824.87490011158,"y":15877.578159773782},"targetPosition":{"x":18805.105369490375,"y":16202.172033911998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Last Moving Average","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.lastMovingAverage","id":"25d5ce35-768a-4f5b-b541-65dfdcf77414","savedPayload":{"position":{"x":19007.623779986217,"y":15767.421851491643},"targetPosition":{"x":18947.93119757564,"y":15915.004401300304},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c5af78de-d153-4002-b6df-79a1fd009100","savedPayload":{"position":{"x":18947.93119757564,"y":15915.004401300304},"targetPosition":{"x":18805.105369490375,"y":16202.172033911998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"09c8f781-3e54-4bed-bd9a-83e8179fdd66","savedPayload":{"position":{"x":18805.105369490375,"y":16202.172033911998},"targetPosition":{"x":18860.879582593865,"y":16833.496984165897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"52881346-3e4b-45e0-92d2-af130d381b8e","savedPayload":{"position":{"x":18681.854460820614,"y":17896.207265853114},"targetPosition":{"x":18881.4717712538,"y":18286.525033205115},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Bollinger Sub Channels Objects","config":"{\n\"codeName\": \"Bollinger-Sub-Channels-Objects\",\n\"icon\": \"layer-trends\"\n}","javascriptCode":{"type":"Javascript Code","code":"/* Definition of the points we are going to use while drawing */\nlet point1\nlet point2\nlet point3\nlet point4\n\npoint1 = {\n x: record.begin,\n y: record.firstMovingAverage - record.firstDeviation\n}\n\npoint2 = {\n x: record.end,\n y: record.lastMovingAverage - record.lastDeviation\n}\n\npoint3 = {\n x: record.end,\n y: record.lastMovingAverage + record.lastDeviation\n}\n\npoint4 = {\n x: record.begin,\n y: record.firstMovingAverage + record.firstDeviation\n}\n\n/* Contributing to Auto-Scale*/\ncoordinateSystem.reportYValue(record.firstMovingAverage - record.firstDeviation)\ncoordinateSystem.reportYValue(record.lastMovingAverage - record.lastDeviation)\ncoordinateSystem.reportYValue(record.lastMovingAverage + record.lastDeviation)\ncoordinateSystem.reportYValue(record.firstMovingAverage + record.firstDeviation)\n\n/*\nThe information we store in files is independent from the charing system and its coordinate systems.\nThat means that the first thing we allways need to do is to trasform these points to the coordinate system of the timeline.\n*/\npoint1 = coordinateSystem.transformThisPoint(point1)\npoint2 = coordinateSystem.transformThisPoint(point2)\npoint3 = coordinateSystem.transformThisPoint(point3)\npoint4 = coordinateSystem.transformThisPoint(point4)\n\n/*\nThe browser canvas object does not care about our timeline and its coordinate system. In order to draw on a html canvas we\nneed the points to be converted into the canvas coordinate system.\nNext we transform again to the screen coordinate system.\n*/\npoint1 = transformThisPoint(point1, thisObject.container)\npoint2 = transformThisPoint(point2, thisObject.container)\npoint3 = transformThisPoint(point3, thisObject.container)\npoint4 = transformThisPoint(point4, thisObject.container)\n\n/* We make sure the points do not fall outside the canvas.chartingSpace.viewport visible area. This step allways need to be done. */\npoint1 = canvas.chartingSpace.viewport.fitIntoVisibleArea(point1)\npoint2 = canvas.chartingSpace.viewport.fitIntoVisibleArea(point2)\npoint3 = canvas.chartingSpace.viewport.fitIntoVisibleArea(point3)\npoint4 = canvas.chartingSpace.viewport.fitIntoVisibleArea(point4)\n\npoint1 = thisObject.fitFunction(point1);\npoint2 = thisObject.fitFunction(point2);\npoint3 = thisObject.fitFunction(point3);\npoint4 = thisObject.fitFunction(point4);\n\n/*\nNow that we have our 4 points as coordinates of the actual screen (or html canvas object), we can actaully start drawing.\nFirst we are going to draw the shape backgound.\n*/\nbrowserCanvasContext.beginPath()\n\nbrowserCanvasContext.moveTo(point1.x, point1.y)\nbrowserCanvasContext.lineTo(point2.x, point2.y)\nbrowserCanvasContext.lineTo(point3.x, point3.y)\nbrowserCanvasContext.lineTo(point4.x, point4.y)\n\nbrowserCanvasContext.closePath()\n\nlet opacity = '0.25' // The backgound will be quite transparent. Possible values goes from 0..1\n\n/* Depending on the direction of the channel, we use a different color for the border lines. */\nif (record.direction === 'Side') { browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.DARK + ', ' + opacity + ')' }\nif (record.direction === 'Up') { browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.PATINATED_TURQUOISE + ', ' + opacity + ')' }\nif (record.direction === 'Down') { browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.RED + ', ' + opacity + ')' }\n\nswitch (record.slope) {\n case 'Side': {\n opacity = '0.1';\n break;\n }\n case 'Gentle': {\n opacity = '0.1';\n break;\n }\n case 'Medium': {\n opacity = '0.15';\n break;\n }\n case 'Steep': {\n opacity = '0.2';\n break;\n }\n case 'Extreme': {\n opacity = '0.25';\n break;\n }\n}\n\n/* Depending on the direction of the channel, we use a different color for the background. */\nif (record.direction === 'Side' || record.slope === 'Side') { browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.LIGHT + ', ' + opacity + ')'; }\nif (record.direction === 'Up') { browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.GREEN + ', ' + opacity + ')' }\nif (record.direction === 'Down') { browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.RUSTED_RED + ', ' + opacity + ')' }\n\n/* If the mouse is positioned in betwheen the begining and ending of our object, we can opt for changing the color of that specific object. */\nif (atMousePosition) {\n browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', 0.1)'\n}\n\nbrowserCanvasContext.fill() // This is what actually apply the previous instructions on the html canvas object of the browser.\n\n/* Second we are going to draw the shape borders. */\nbrowserCanvasContext.beginPath()\n\nbrowserCanvasContext.moveTo(point1.x, point1.y)\nbrowserCanvasContext.lineTo(point2.x, point2.y)\nbrowserCanvasContext.lineTo(point3.x, point3.y)\nbrowserCanvasContext.lineTo(point4.x, point4.y)\n\nbrowserCanvasContext.closePath()\n\nbrowserCanvasContext.lineWidth = 1 // We use 1 as standard line width\nbrowserCanvasContext.setLineDash([0, 0]) // We do not want dashed lines in this case.\nbrowserCanvasContext.stroke() // This actually draw the borders of our shape.","id":"63406674-a797-430a-96c7-e5bcacb286bc","savedPayload":{"position":{"x":19303.020295186147,"y":16239.527610232179},"targetPosition":{"x":19368.967325736696,"y":16865.30107172941},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"panels":[{"type":"Plotter Panel","name":"Bollinger Sub Channels Objects","config":"{ \n\"codeName\": \"Bollinger Sub Channels Objects\"\n}","panelData":[{"type":"Panel Data","name":"Direction","config":"{\n \n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.direction","id":"f1793208-a0a5-49a5-a21c-88f848563433","savedPayload":{"position":{"x":19564.37005370875,"y":15820.400336125926},"targetPosition":{"x":19581.14181537817,"y":15977.321895048712},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"029cc150-77ee-44eb-b52b-4c83f0d79e6a","savedPayload":{"position":{"x":19581.14181537817,"y":15977.321895048712},"targetPosition":{"x":19624.751286136787,"y":16290.705224194367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Total Periods","config":"{\n \n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.period","id":"f09cfc38-2f4e-4f5f-b6fe-3f8255657081","savedPayload":{"position":{"x":19694.104650487036,"y":15819.083826572523},"targetPosition":{"x":19669.620757672536,"y":15975.078678640386},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6020f40d-2141-4f21-b4ae-3a4f32073eda","savedPayload":{"position":{"x":19669.620757672536,"y":15975.078678640386},"targetPosition":{"x":19624.751286136787,"y":16290.705224194367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"First Moving Average","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.firstMovingAverage","id":"be429ff9-1656-4db6-8ddb-758ca900d6f0","savedPayload":{"position":{"x":19817.775533190426,"y":15854.29854174326},"targetPosition":{"x":19753.622712933662,"y":15998.586986695265},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ab7f25ee-dad0-4b3e-80b1-a9fcffde8424","savedPayload":{"position":{"x":19753.622712933662,"y":15998.586986695265},"targetPosition":{"x":19624.751286136787,"y":16290.705224194367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Last Moving Average","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.lastMovingAverage","id":"5501c8e2-7406-453a-9cae-75f8628e321f","savedPayload":{"position":{"x":19924.119864577977,"y":15918.713046440656},"targetPosition":{"x":19824.668579010937,"y":16041.328338089223},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e0df05de-65cf-45da-a0b5-ee6ce21b4ed8","savedPayload":{"position":{"x":19824.668579010937,"y":16041.328338089223},"targetPosition":{"x":19624.751286136787,"y":16290.705224194367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Slope","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.slope","id":"567bc3e1-3a15-43f1-9bf4-625c7ad1cad8","savedPayload":{"position":{"x":20019.74824136928,"y":16027.740388783783},"targetPosition":{"x":19891.942761923045,"y":16120.22583623621},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c6f2ce73-44ac-4515-bcc3-b394fa3a66e4","savedPayload":{"position":{"x":19891.942761923045,"y":16120.22583623621},"targetPosition":{"x":19624.751286136787,"y":16290.705224194367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8ce4c7ca-3496-4df8-9d57-335d40cc77a0","savedPayload":{"position":{"x":19624.751286136787,"y":16290.705224194367},"targetPosition":{"x":19368.967325736696,"y":16865.30107172941},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f8c4b699-1f40-4832-b427-68da3341daa8","savedPayload":{"position":{"x":18812.85739189229,"y":17853.720107004225},"targetPosition":{"x":18881.4717712538,"y":18286.525033205115},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"x"}}},{"type":"Plotter Module","name":"Bollinger Channels","config":"{\n\"codeName\": \"Bollinger-Channels\",\n \"icon\": \"layer-trends\"\n}","panels":[{"type":"Plotter Panel","name":"Bollinger Channels","config":"{ \n\"codeName\": \"Bollinger Channels\"\n}","panelData":[{"type":"Panel Data","name":"Direction","config":"{\n \n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.direction","id":"f1bb6cde-263f-4582-aeef-8e0bed99d53f","savedPayload":{"position":{"x":19939.79724193654,"y":15903.478421702597},"targetPosition":{"x":19907.23684309855,"y":16057.688630726074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b7afdb03-dc66-4f9a-b3c7-e8886521b7cc","savedPayload":{"position":{"x":19907.23684309855,"y":16057.688630726074},"targetPosition":{"x":19842.07664955603,"y":16365.698292939625},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period","config":"{\n \n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.period","id":"991dd9e3-c5d0-4a61-953a-81b3ee218695","savedPayload":{"position":{"x":20158.121945712468,"y":16014.661252755728},"targetPosition":{"x":20052.720745511615,"y":16131.799896972812},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"1fbd683b-9294-456f-9464-97d887a49cdc","savedPayload":{"position":{"x":20052.720745511615,"y":16131.799896972812},"targetPosition":{"x":19842.07664955603,"y":16365.698292939625},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"abb4f289-c374-43e0-b8dc-d586d8e3328e","savedPayload":{"position":{"x":19842.07664955603,"y":16365.698292939625},"targetPosition":{"x":19556.615203857928,"y":16926.231628146696},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a045ea45-c8ff-49a5-86cd-5d38cd3e6d22","savedPayload":{"position":{"x":18949.939713788986,"y":17853.781889793205},"targetPosition":{"x":18881.4717712538,"y":18286.525033205115},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Bollinger Sub Channels","config":"{\n\"codeName\": \"Bollinger-Sub-Channels\",\n\"icon\": \"layer-trends\"\n}","panels":[{"type":"Plotter Panel","name":"Bollinger Sub Channels","config":"{ \n\"codeName\": \"Bollinger Sub Channels\"\n}","panelData":[{"type":"Panel Data","name":"Direction","config":"{\n \n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.direction","id":"6b969637-0945-4ae4-970c-49f8fd940fd2","savedPayload":{"position":{"x":20341.685178831736,"y":16161.557782958249},"targetPosition":{"x":20281.37581434154,"y":16307.291794113838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"67136278-2bc4-4814-b71a-0fd87c85b422","savedPayload":{"position":{"x":20281.37581434154,"y":16307.291794113838},"targetPosition":{"x":20161.152568648147,"y":16598.115056105074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period","config":"{\n \n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.period","id":"0e6dcc09-7f32-431f-ab15-08764e0ad29b","savedPayload":{"position":{"x":20495.439989176695,"y":16264.154326736854},"targetPosition":{"x":20383.777420698414,"y":16375.58740385329},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"24f260af-1679-444e-9d08-17f39b3af2a8","savedPayload":{"position":{"x":20383.777420698414,"y":16375.58740385329},"targetPosition":{"x":20161.152568648147,"y":16598.115056105074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Slope","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.slope","id":"bd4510b2-1062-4142-81b7-207b292d36c6","savedPayload":{"position":{"x":20598.14841557013,"y":16418.27277401673},"targetPosition":{"x":20452.18081035182,"y":16478.31593617826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c520fa0d-f783-4f91-8951-d83cfe470522","savedPayload":{"position":{"x":20452.18081035182,"y":16478.31593617826},"targetPosition":{"x":20161.152568648147,"y":16598.115056105074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1beae26c-7235-46ef-a732-1d0c9f18dda5","savedPayload":{"position":{"x":20161.152568648147,"y":16598.115056105074},"targetPosition":{"x":19716.419161527025,"y":17042.487992248072},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"88bdc751-5a1d-499d-a4ba-888dbcf6dc7a","savedPayload":{"position":{"x":19080.734799678354,"y":17896.360366936333},"targetPosition":{"x":18881.4717712538,"y":18286.525033205115},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"343f37be-cc77-4513-a296-7925edfcf0c4","savedPayload":{"position":{"x":18764.547157646626,"y":18411.389158465056},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Plotter Candles Channels","config":"{\n\"codeName\" : \"Candles Channels\"\n}","modules":[{"type":"Plotter Module","name":"Candles Channels","config":"{ \n\"codeName\": \"Candles Channels\",\n\"icon\": \"layer-trends\"\n}","panels":[{"type":"Plotter Panel","name":"Candles Channels","config":"{ \n\"codeName\": \"Candles Channels\"\n}","panelData":[{"type":"Panel Data","name":"Direction","config":"{\n \n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.direction","id":"34e4348e-6bc2-4626-8d84-070efa8e81e2","savedPayload":{"position":{"x":20568.54130593636,"y":16961.412466270413},"targetPosition":{"x":20528.20149355021,"y":17052.934179082127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"eeb8fe38-bb85-441a-933f-d44fc990d037","savedPayload":{"position":{"x":20528.20149355021,"y":17052.934179082127},"targetPosition":{"x":20476.242609069093,"y":17197.316492668164},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period","config":"{\n \n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.period","id":"facfde0d-c82e-40f5-9659-2b844def9ddd","savedPayload":{"position":{"x":20687.676692098386,"y":17057.60196222462},"targetPosition":{"x":20605.924217170104,"y":17117.04514129341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"7991ff70-72ba-44e0-a980-75f0b13672b5","savedPayload":{"position":{"x":20605.924217170104,"y":17117.04514129341},"targetPosition":{"x":20476.242609069093,"y":17197.316492668164},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d21f5c62-0455-4671-89c1-f9d96a75f349","savedPayload":{"position":{"x":20476.242609069093,"y":17197.316492668164},"targetPosition":{"x":20224.56064513682,"y":17508.176243384365},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"864f26cb-b191-47c1-801e-57bb2436294e","savedPayload":{"position":{"x":19194.511792829053,"y":17916.837952548256},"targetPosition":{"x":19081.549434475768,"y":18340.03673774104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Candles Channels Objects","config":"{ \n\"codeName\": \"Candles Channels Objects\",\n\"icon\": \"layer-trends\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"First Min","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.firstMin","id":"35f51e5f-816b-4067-9c32-b6a95aae79a3","savedPayload":{"position":{"x":21222.959098204938,"y":16270.32616179364},"targetPosition":{"x":21168.763294349388,"y":16565.417386119025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"91a70976-e9d9-4d8e-9f83-719cab4d1497","savedPayload":{"position":{"x":21168.763294349388,"y":16565.417386119025},"targetPosition":{"x":21140.18409613746,"y":16867.123962314337},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Last Min","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.lastMin","id":"f4c70158-779d-4ea9-a50c-1610ded698f5","savedPayload":{"position":{"x":21333.695363815106,"y":16285.168643961057},"targetPosition":{"x":21233.69766815812,"y":16568.184135316125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"588627dd-bbc9-4ca5-b413-52dd000e6f30","savedPayload":{"position":{"x":21233.69766815812,"y":16568.184135316125},"targetPosition":{"x":21140.18409613746,"y":16867.123962314337},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Last Max","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.lastMax","id":"02969b43-c942-49a2-a50c-3b11f20dc61c","savedPayload":{"position":{"x":21414.103456644352,"y":16350.29813857878},"targetPosition":{"x":21270.901326461633,"y":16613.85878821496},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"eb4d4b7c-cb3c-4855-8016-88a4df1b667b","savedPayload":{"position":{"x":21270.901326461633,"y":16613.85878821496},"targetPosition":{"x":21140.18409613746,"y":16867.123962314337},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"First Max","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.firstMax","id":"6a44702b-c381-4dc2-beaa-005d5dfc7e59","savedPayload":{"position":{"x":21550.42159144824,"y":16404.592956103872},"targetPosition":{"x":21367.701015349616,"y":16642.541639618965},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7cf30b7b-b68a-46e4-9c89-65fa7859be97","savedPayload":{"position":{"x":21367.701015349616,"y":16642.541639618965},"targetPosition":{"x":21140.18409613746,"y":16867.123962314337},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cfed2fd2-3791-4c86-ac53-f248831fa7a1","savedPayload":{"position":{"x":21140.18409613746,"y":16867.123962314337},"targetPosition":{"x":20896.751324321594,"y":17414.29036203038},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"New Polygon","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"e06b5939-31b9-477b-81a2-1aaf3475144e","savedPayload":{"position":{"x":22314.429152158955,"y":16494.83922791383},"targetPosition":{"x":21963.720156764764,"y":16981.633018380417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.direction === 'Side'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.LIGHT\"\n}","id":"8bf6a1ad-69e9-44ff-8e3a-4f70fe523572","savedPayload":{"position":{"x":22798.85627924806,"y":16119.161555059402},"targetPosition":{"x":22380.097352273442,"y":16547.687075253765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"76a1c12f-0b87-40c2-9dae-6768884a5076","savedPayload":{"position":{"x":22380.097352273442,"y":16547.687075253765},"targetPosition":{"x":21963.720156764764,"y":16981.633018380417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.direction === 'Up'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR. GREEN\"\n}","id":"a57b9ead-b4b8-40e3-82df-1461cad237c0","savedPayload":{"position":{"x":22906.527101895856,"y":16237.6433016223},"targetPosition":{"x":22435.316069671015,"y":16607.736792819782},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d3d09c74-7274-4fce-8413-815c1ad546ee","savedPayload":{"position":{"x":22435.316069671015,"y":16607.736792819782},"targetPosition":{"x":21963.720156764764,"y":16981.633018380417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.direction === 'Down'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n}","id":"2f1ff3f4-94a9-4a3d-b290-fbde30b79e7e","savedPayload":{"position":{"x":22996.562132442978,"y":16368.311334676344},"targetPosition":{"x":22481.016652079506,"y":16673.67218834078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"75f374ef-accc-444d-856f-ba01eba29ced","savedPayload":{"position":{"x":22481.016652079506,"y":16673.67218834078},"targetPosition":{"x":21963.720156764764,"y":16981.633018380417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"atMousePosition === true","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.1\n}","id":"4361ea11-4004-44d7-a94c-9bf27aa75a64","savedPayload":{"position":{"x":23047.5194071637,"y":16517.582560848976},"targetPosition":{"x":22496.493049154877,"y":16752.886474463718},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"db98a447-4c7f-43bd-9b9f-d94978b05e14","savedPayload":{"position":{"x":22496.493049154877,"y":16752.886474463718},"targetPosition":{"x":21963.720156764764,"y":16981.633018380417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a7862bd3-6421-4855-86aa-6b2f86b9dde2","savedPayload":{"position":{"x":21963.720156764764,"y":16981.633018380417},"targetPosition":{"x":21492.910803445477,"y":17351.825870474648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}","id":"702d82d3-6978-4c3e-8ffc-cd6f33318efd","savedPayload":{"position":{"x":22252.94034648427,"y":16886.25158254186},"targetPosition":{"x":22034.47188805625,"y":17096.132027250533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.direction === 'Side'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK\"\n}","id":"875f9634-88be-4f74-8adc-bb6b5b284a96","savedPayload":{"position":{"x":22589.117051801808,"y":16789.05712917824},"targetPosition":{"x":22300.715822394646,"y":16930.6598592077},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6a9f57c4-7ce6-45b3-a2c2-82ff785f32e4","savedPayload":{"position":{"x":22300.715822394646,"y":16930.6598592077},"targetPosition":{"x":22034.47188805625,"y":17096.132027250533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.direction === 'Up'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\"\n}","id":"3bbfe7c5-b635-4b18-94b5-06ac68408de9","savedPayload":{"position":{"x":22577.059744356255,"y":16889.4918436275},"targetPosition":{"x":22297.04352643356,"y":16990.831415660978},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b99aaa3f-25d7-4570-b689-60eb4200b42c","savedPayload":{"position":{"x":22297.04352643356,"y":16990.831415660978},"targetPosition":{"x":22034.47188805625,"y":17096.132027250533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.direction === 'Down'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n}","id":"897c7976-49b7-401c-a3f0-5d5a5f4edfca","savedPayload":{"position":{"x":22649.100656070597,"y":17012.825948394704},"targetPosition":{"x":22355.264615482927,"y":17073.65259904647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"06096ed6-281e-4075-a709-2fd07c18fa9c","savedPayload":{"position":{"x":22355.264615482927,"y":17073.65259904647},"targetPosition":{"x":22034.47188805625,"y":17096.132027250533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7c42653b-6268-4c6b-ab1c-522e044bc761","savedPayload":{"position":{"x":22034.47188805625,"y":17096.132027250533},"targetPosition":{"x":21492.910803445477,"y":17351.825870474648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"First Min","id":"67773b40-e975-42a8-b994-b94ff359cc52","savedPayload":{"position":{"x":22077.99264246352,"y":17223.27823926194},"targetPosition":{"x":21492.910803445477,"y":17351.825870474648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"First Min","id":"91a70976-e9d9-4d8e-9f83-719cab4d1497"}}},{"type":"Polygon Vertex","name":"Last Min","id":"edd79469-619d-4723-b678-1c415b3ebecb","savedPayload":{"position":{"x":22092.067557411334,"y":17356.542827614492},"targetPosition":{"x":21492.910803445477,"y":17351.825870474648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Last Min","id":"588627dd-bbc9-4ca5-b413-52dd000e6f30"}}},{"type":"Polygon Vertex","name":"Last Max","id":"5a204cef-fd62-4c53-af97-79f9963f70cb","savedPayload":{"position":{"x":22076.03717932826,"y":17489.73496799267},"targetPosition":{"x":21492.910803445477,"y":17351.825870474648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Last Max","id":"eb4d4b7c-cb3c-4855-8016-88a4df1b667b"}}},{"type":"Polygon Vertex","name":"First Max","id":"32e5e2d7-3818-4e0c-b36f-712da90e4025","savedPayload":{"position":{"x":22030.672597468863,"y":17616.119753426563},"targetPosition":{"x":21492.910803445477,"y":17351.825870474648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"First Max","id":"7cf30b7b-b68a-46e4-9c89-65fa7859be97"}}}],"id":"5383ea8f-c9ed-463e-a7d4-dc5cb6c40dff","savedPayload":{"position":{"x":21492.910803445477,"y":17351.825870474648},"targetPosition":{"x":20896.751324321594,"y":17414.29036203038},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"9651d021-d2af-4172-bc8f-7265407cf181","savedPayload":{"position":{"x":20896.751324321594,"y":17414.29036203038},"targetPosition":{"x":20412.098477690823,"y":17766.3138615241},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"o"}}},"panels":[{"type":"Plotter Panel","name":"Candles Channels Objects","config":"{ \n\"codeName\": \"Candles Channels Objects\"\n}","panelData":[{"type":"Panel Data","name":"Direction","config":"{\n \n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.direction","id":"daf86ccc-bbf4-4a18-bcd8-583ded1b98a7","savedPayload":{"position":{"x":20959.102872950258,"y":18110.63321910131},"targetPosition":{"x":20867.354482504958,"y":18070.12231043034},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"73bc1fd7-799b-4b19-98fa-856575b9ad33","savedPayload":{"position":{"x":20867.354482504958,"y":18070.12231043034},"targetPosition":{"x":20723.01880280734,"y":18018.112726711614},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Total Periods","config":"{\n \n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.period","id":"32edb120-129e-4734-bfd1-224213e3e8f8","savedPayload":{"position":{"x":20862.809774577865,"y":18229.698065830442},"targetPosition":{"x":20803.2456896746,"y":18148.01929567359},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6384ead6-8afc-490a-a6db-055b7b622877","savedPayload":{"position":{"x":20803.2456896746,"y":18148.01929567359},"targetPosition":{"x":20723.01880280734,"y":18018.112726711614},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8b63674c-b728-4a00-8b3c-331d7ba2a93b","savedPayload":{"position":{"x":20723.01880280734,"y":18018.112726711614},"targetPosition":{"x":20412.098477690823,"y":17766.3138615241},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7aa1e889-ae4f-4945-b0e5-9ad87ded05a5","savedPayload":{"position":{"x":19391.362552895152,"y":18030.375775940265},"targetPosition":{"x":19081.549434475768,"y":18340.03673774104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7c38b69d-fabc-4ca6-b35e-6fef6f1d8b13","savedPayload":{"position":{"x":18879.35218735615,"y":18388.55301821844},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Resistances And Supports","config":"{ \n\"codeName\": \"Resistances-And-Supports\"\n}","modules":[{"type":"Plotter Module","name":"Resistances","config":"{ \n\"codeName\": \"Resistances-And-Supports\",\n\"icon\": \"layer-resistance\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"Base Resistance","points":[{"type":"Point","name":"Base Left","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin - (record.end - record.begin)\ny = record.rateResistance","id":"5781a245-e686-4b11-a000-2fa096a32d87","savedPayload":{"position":{"x":22114.20609856361,"y":9283.016584236704},"targetPosition":{"x":22812.751206132474,"y":8665.952422536484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6e8169a3-28a2-412f-8100-577c4a9a97bb","savedPayload":{"position":{"x":22812.751206132474,"y":8665.952422536484},"targetPosition":{"x":23511.31739944706,"y":8048.857009265341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Base Right","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end- (record.end - record.begin)\ny = record.rateResistance","id":"5a15539d-b94c-4110-a165-9a3bb5fc4fed","savedPayload":{"position":{"x":21684.188605084826,"y":8418.978407826498},"targetPosition":{"x":22597.718516726527,"y":8233.912401697156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b23883d4-d592-4d0a-822e-82165e22598f","savedPayload":{"position":{"x":22597.718516726527,"y":8233.912401697156},"targetPosition":{"x":23511.31739944706,"y":8048.857009265341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8da1ef7b-5f0a-477b-9179-2c09c2fbdeb8","savedPayload":{"position":{"x":18282.646893021287,"y":18253.966306860424},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Resistance Levels","points":[{"type":"Point","name":"Begin 1","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance1Rate","id":"3c34f0a9-1a8e-4452-803c-ea488111c3a5","savedPayload":{"position":{"x":24013.1308567527,"y":10723.932064632736},"targetPosition":{"x":23857.483402210182,"y":10113.98720248982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2a3a3e15-93dd-43f0-95f7-ae2ed478607f","savedPayload":{"position":{"x":23857.483402210182,"y":10113.98720248982},"targetPosition":{"x":23696.135311427966,"y":9504.3391650838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 1","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance1Rate","id":"d1968565-ac35-4c42-9760-2b46f17bae96","savedPayload":{"position":{"x":23833.499802286657,"y":10757.195090271402},"targetPosition":{"x":23766.339599576128,"y":10131.308099194302},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fe77f4a2-627c-4f27-9d4c-2dab9ddd8926","savedPayload":{"position":{"x":23766.339599576128,"y":10131.308099194302},"targetPosition":{"x":23696.135311427966,"y":9504.3391650838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 2","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance2Rate","id":"fe7ad1f2-d9b5-4e47-af1c-7d29b86e1a0a","savedPayload":{"position":{"x":23652.57811084114,"y":10764.174520559154},"targetPosition":{"x":23674.95545013847,"y":10135.112600724482},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"71ddeaf4-849d-4973-9b6a-a2ddcaccb86d","savedPayload":{"position":{"x":23674.95545013847,"y":10135.112600724482},"targetPosition":{"x":23696.135311427966,"y":9504.3391650838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 2","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance2Rate","id":"992d9a81-4292-4943-bc67-c6ce84ed7e3a","savedPayload":{"position":{"x":23472.956189631375,"y":10744.984171527083},"targetPosition":{"x":23584.65629391293,"y":10125.58226062798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"19746197-9ebc-4af8-b4ba-8217fa0eba77","savedPayload":{"position":{"x":23584.65629391293,"y":10125.58226062798},"targetPosition":{"x":23696.135311427966,"y":9504.3391650838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 3","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance3Rate","id":"c29b8386-bb00-4b15-92ee-fa280c7b721f","savedPayload":{"position":{"x":23298.19891569173,"y":10700.402039336974},"targetPosition":{"x":23496.965923146854,"y":10103.301501761869},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"febd94d0-09c7-40c5-b7b2-552ca2cca2b9","savedPayload":{"position":{"x":23496.965923146854,"y":10103.301501761869},"targetPosition":{"x":23696.135311427966,"y":9504.3391650838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 3","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance3Rate","id":"ff8a40a3-ebed-4e5a-854b-2ca20f2bc441","savedPayload":{"position":{"x":23131.79801915564,"y":10631.521524818045},"targetPosition":{"x":23413.52252072894,"y":10068.748701193052},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7003801a-ea76-43e2-a013-72e6d41aff5c","savedPayload":{"position":{"x":23413.52252072894,"y":10068.748701193052},"targetPosition":{"x":23696.135311427966,"y":9504.3391650838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 4","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance4Rate","id":"f927d491-29ca-4b19-aa80-c413e4148b38","savedPayload":{"position":{"x":22976.963800779242,"y":10539.650742889562},"targetPosition":{"x":23335.949742799425,"y":10022.659813748309},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"12059a23-6280-499c-8ebc-f8c0de0e5647","savedPayload":{"position":{"x":23335.949742799425,"y":10022.659813748309},"targetPosition":{"x":23696.135311427966,"y":9504.3391650838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 4","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance4Rate","id":"8a5e95cc-9871-49e8-a610-bff6fc2883a4","savedPayload":{"position":{"x":22836.792248807316,"y":10426.697362224682},"targetPosition":{"x":23265.734688043212,"y":9966.04741756012},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2e5e4668-102d-4d9a-addc-9b154e7889a9","savedPayload":{"position":{"x":23265.734688043212,"y":9966.04741756012},"targetPosition":{"x":23696.135311427966,"y":9504.3391650838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 5","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance5Rate","id":"ac834b1e-4605-456b-8861-2fcf9f2eb9db","savedPayload":{"position":{"x":22714.197990553068,"y":10294.844292986516},"targetPosition":{"x":23204.394136089,"y":9899.959477738505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1cebdfa8-d6f3-44fb-bf7e-0f8bfaeff946","savedPayload":{"position":{"x":23204.394136089,"y":9899.959477738505},"targetPosition":{"x":23696.135311427966,"y":9504.3391650838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 5","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance5Rate","id":"b8fc5e20-494e-471d-8f0e-97d42a64094b","savedPayload":{"position":{"x":22606.449802463572,"y":10136.38386156201},"targetPosition":{"x":23147.930389242305,"y":9815.422059810682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bbc97ad3-5c93-460f-8463-127d21e3dca4","savedPayload":{"position":{"x":23147.930389242305,"y":9815.422059810682},"targetPosition":{"x":23696.135311427966,"y":9504.3391650838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d0075edc-e3f2-4d8f-84ba-900c9b431782","savedPayload":{"position":{"x":18228.036264080663,"y":18203.554489509657},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Resistance Zone 1","points":[{"type":"Point","name":"Begin - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance1Rate - record.resistance1Rate * record.supportResistanceZone / 2 / 100","id":"a86b7e96-ad20-45e9-85f9-811c71852651","savedPayload":{"position":{"x":22862.201976697703,"y":8211.250127262583},"targetPosition":{"x":23049.00238171864,"y":8070.345100307168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0c275c7e-5012-454c-8772-a3c2f1621567","savedPayload":{"position":{"x":23049.00238171864,"y":8070.345100307168},"targetPosition":{"x":23422.022867420623,"y":7789.011170850505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance1Rate - record.resistance1Rate * record.supportResistanceZone / 2 / 100","id":"39fdd36d-0413-47d2-92d9-3257837c89de","savedPayload":{"position":{"x":22743.0493163952,"y":8042.198262106242},"targetPosition":{"x":22975.723292346134,"y":7958.168657175891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e4ca8d91-e86c-4b97-b327-a1a631b28ade","savedPayload":{"position":{"x":22975.723292346134,"y":7958.168657175891},"targetPosition":{"x":23422.022867420623,"y":7789.011170850505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance1Rate + record.resistance1Rate * record.supportResistanceZone / 2 / 100","id":"e9e224f5-1483-4d72-97f7-13cbd566ce75","savedPayload":{"position":{"x":22724.694861006807,"y":7847.686878776539},"targetPosition":{"x":22947.813716234177,"y":7813.291751210991},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"1614af55-2a6c-40a5-9339-958d2944f719","savedPayload":{"position":{"x":22947.813716234177,"y":7813.291751210991},"targetPosition":{"x":23422.022867420623,"y":7789.011170850505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance1Rate + record.resistance1Rate * record.supportResistanceZone / 2 / 100","id":"552f846f-64f1-4d31-b37d-2da573c20b7f","savedPayload":{"position":{"x":22777.9083656073,"y":7578.283897480603},"targetPosition":{"x":22999.073082742685,"y":7646.680945240682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e6764b3a-2fdb-4df1-abde-1f6e9fca5a27","savedPayload":{"position":{"x":22999.073082742685,"y":7646.680945240682},"targetPosition":{"x":23422.022867420623,"y":7789.011170850505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1db48443-fc08-4f05-bf9e-4be80c377fe2","savedPayload":{"position":{"x":18182.467965361306,"y":18144.841609545198},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Resistance Zone 2","points":[{"type":"Point","name":"Begin - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance2Rate - record.resistance2Rate * record.supportResistanceZone / 2 / 100","id":"31533409-bde7-41ad-b252-1c80e8874519","savedPayload":{"position":{"x":22817.20990236402,"y":8081.642682793237},"targetPosition":{"x":23015.29121881963,"y":7957.14177004327},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"055d64bb-b823-4593-b606-4f0a35ac620a","savedPayload":{"position":{"x":23015.29121881963,"y":7957.14177004327},"targetPosition":{"x":23410.86134805867,"y":7708.5316340853315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance2Rate - record.resistance2Rate * record.supportResistanceZone / 2 / 100","id":"ab6b9bed-1420-4c4f-b572-73274d1beeff","savedPayload":{"position":{"x":22712.716640064395,"y":7900.549240987641},"targetPosition":{"x":22952.494879881684,"y":7836.3454450579375},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6d8e2772-7475-406d-b048-4599982d04e2","savedPayload":{"position":{"x":22952.494879881684,"y":7836.3454450579375},"targetPosition":{"x":23410.86134805867,"y":7708.5316340853315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance2Rate + record.resistance2Rate * record.supportResistanceZone / 2 / 100","id":"54021cad-c5f9-4756-94a4-6216e9e0bcf7","savedPayload":{"position":{"x":22711.61363775503,"y":7709.234190968904},"targetPosition":{"x":22939.12802943186,"y":7692.9893998088555},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d3cc8bbf-1f3e-49bc-9331-5e498064cb88","savedPayload":{"position":{"x":22939.12802943186,"y":7692.9893998088555},"targetPosition":{"x":23410.86134805867,"y":7708.5316340853315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance2Rate + record.resistance2Rate * record.supportResistanceZone / 2 / 100","id":"e44758af-409b-4797-ac44-0cdc0928dfa4","savedPayload":{"position":{"x":22787.192182154045,"y":7446.98633030049},"targetPosition":{"x":22997.058417247077,"y":7532.577896005389},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e2c53993-70fa-48f0-96b0-3c73a3baa50f","savedPayload":{"position":{"x":22997.058417247077,"y":7532.577896005389},"targetPosition":{"x":23410.86134805867,"y":7708.5316340853315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2881845a-2d94-42f8-bffd-12b8f0674dc6","savedPayload":{"position":{"x":18147.18498126459,"y":18079.429201279425},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Resistance Zone 3","points":[{"type":"Point","name":"Begin - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance3Rate - record.resistance3Rate * record.supportResistanceZone / 2 / 100","id":"b863599f-a422-4d49-be0c-5962371d571d","savedPayload":{"position":{"x":22786.889541350585,"y":7953.235426666454},"targetPosition":{"x":22994.714259427165,"y":7846.164701089102},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e18fe7d1-bb71-4228-89ad-6eef714ec53f","savedPayload":{"position":{"x":22994.714259427165,"y":7846.164701089102},"targetPosition":{"x":23409.66925211863,"y":7632.397506800638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance3Rate - record.resistance3Rate * record.supportResistanceZone / 2 / 100","id":"aa5baeac-1910-4f48-a6c2-b3ffb7293d4a","savedPayload":{"position":{"x":22717.915953152733,"y":7744.629091844334},"targetPosition":{"x":22948.83950661652,"y":7707.228064169429},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"30f76ba8-3516-4b19-bb42-ae4613d5ce10","savedPayload":{"position":{"x":22948.83950661652,"y":7707.228064169429},"targetPosition":{"x":23409.66925211863,"y":7632.397506800638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance3Rate + record.resistance3Rate * record.supportResistanceZone / 2 / 100","id":"a6a1afe8-e380-4979-ba63-703903bc50db","savedPayload":{"position":{"x":22716.89088367613,"y":7525.78430392422},"targetPosition":{"x":22948.22051987807,"y":7561.333574748388},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"fc07018f-23a9-46dc-bb6a-f6ddac68be6c","savedPayload":{"position":{"x":22948.22051987807,"y":7561.333574748388},"targetPosition":{"x":23409.66925211863,"y":7632.397506800638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance3Rate + record.resistance3Rate * record.supportResistanceZone / 2 / 100","id":"84cba419-b3e2-4cfc-9c32-69a2a56aa550","savedPayload":{"position":{"x":22784.175807176285,"y":7316.4095252522875},"targetPosition":{"x":22992.88379921562,"y":7421.901820520607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d4105484-8b89-48f5-af7f-964d2e541120","savedPayload":{"position":{"x":22992.88379921562,"y":7421.901820520607},"targetPosition":{"x":23409.66925211863,"y":7632.397506800638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a833c73a-2d81-40b3-9d44-3388046804ce","savedPayload":{"position":{"x":18123.149739620792,"y":18009.101544692407},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Resistance Zone 4","points":[{"type":"Point","name":"Begin - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance4Rate - record.resistance4Rate * record.supportResistanceZone / 2 / 100","id":"02bf9b17-6651-4e71-bef8-8bb2ba8fe6b3","savedPayload":{"position":{"x":22762.63853600429,"y":7816.66829715428},"targetPosition":{"x":22978.884734423293,"y":7727.635692733591},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"79408eb2-e914-4f85-96c6-0baa918f5f91","savedPayload":{"position":{"x":22978.884734423293,"y":7727.635692733591},"targetPosition":{"x":23410.77496067369,"y":7549.718184325453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance4Rate - record.resistance4Rate * record.supportResistanceZone / 2 / 100","id":"64545435-1cc4-4cd5-9c6e-700f76fb976d","savedPayload":{"position":{"x":22711.752439530548,"y":7602.984747319489},"targetPosition":{"x":22945.009847357313,"y":7585.244392821164},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9479606b-5668-40a4-8e34-40976668e11b","savedPayload":{"position":{"x":22945.009847357313,"y":7585.244392821164},"targetPosition":{"x":23410.77496067369,"y":7549.718184325453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance4Rate + record.resistance4Rate * record.supportResistanceZone / 2 / 100","id":"fc0e0a28-306b-42cc-95b2-d0264ca224b3","savedPayload":{"position":{"x":22729.467592549147,"y":7384.626684131934},"targetPosition":{"x":22956.817619924146,"y":7439.685497548577},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"09f1f62c-723a-4588-ae76-d195aa1cb276","savedPayload":{"position":{"x":22956.817619924146,"y":7439.685497548577},"targetPosition":{"x":23410.77496067369,"y":7549.718184325453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance4Rate + record.resistance4Rate * record.supportResistanceZone / 2 / 100","id":"1a8ba3fb-7c20-4c56-a7e5-e9bb8ab8b00b","savedPayload":{"position":{"x":22814.040808088997,"y":7181.933938536505},"targetPosition":{"x":23013.142225038315,"y":7304.617907795377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"98ef8287-1ef2-498f-ae25-580a148f8fae","savedPayload":{"position":{"x":23013.142225038315,"y":7304.617907795377},"targetPosition":{"x":23410.77496067369,"y":7549.718184325453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"10d84102-de4a-4f5e-b511-8d948b16c186","savedPayload":{"position":{"x":18111.017859166765,"y":17935.776994925316},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Resistance Zone 5","points":[{"type":"Point","name":"Begin - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance5Rate - record.resistance5Rate * record.supportResistanceZone / 2 / 100","id":"8fff05a9-9d0e-4dcb-ba56-15e7758ed61e","savedPayload":{"position":{"x":22751.725823178353,"y":7681.988287868161},"targetPosition":{"x":22974.75412937916,"y":7611.623891257932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8ae90185-2a00-4958-95c1-83aa4b6402ee","savedPayload":{"position":{"x":22974.75412937916,"y":7611.623891257932},"targetPosition":{"x":23420.216861152734,"y":7470.990431882484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance5Rate - record.resistance5Rate * record.supportResistanceZone / 2 / 100","id":"d1499c5d-5a9b-428a-abfe-d05d946bbfff","savedPayload":{"position":{"x":22719.16302333062,"y":7465.206719885565},"targetPosition":{"x":22953.091709043,"y":7467.098997934359},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"1f76e686-6537-4818-a4c8-f70dc4ec3c4f","savedPayload":{"position":{"x":22953.091709043,"y":7467.098997934359},"targetPosition":{"x":23420.216861152734,"y":7470.990431882484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.resistance5Rate + record.resistance5Rate * record.supportResistanceZone / 2 / 100","id":"e54f3a16-7835-487d-8b09-6dc517bda1d9","savedPayload":{"position":{"x":22755.366777463107,"y":7248.695078006392},"targetPosition":{"x":22977.21680041965,"y":7322.843873028295},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"72bab256-b619-4bb5-b188-e3da6d412f2f","savedPayload":{"position":{"x":22977.21680041965,"y":7322.843873028295},"targetPosition":{"x":23420.216861152734,"y":7470.990431882484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.resistance5Rate + record.resistance5Rate * record.supportResistanceZone / 2 / 100","id":"d5530e82-a1fb-4108-ac6e-ada9fe0b161b","savedPayload":{"position":{"x":22856.810826606954,"y":7053.909610455719},"targetPosition":{"x":23044.786687500604,"y":7193.04292493732},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ee66793e-1c2d-4a17-8c0c-f086656eb0a6","savedPayload":{"position":{"x":23044.786687500604,"y":7193.04292493732},"targetPosition":{"x":23420.216861152734,"y":7470.990431882484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e6120640-850a-4f6f-a55a-b3e7dbca6ab5","savedPayload":{"position":{"x":18111.12026597584,"y":17861.455654552963},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Resistance Line 1","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.resistance1Rate > 0","id":"2a6b550a-7631-4e45-b740-9c46586d71a3","savedPayload":{"position":{"x":17673.496884144442,"y":17781.964500384594},"targetPosition":{"x":18123.45416665721,"y":17788.164815999437},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [1,5],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"8f2da42d-c563-4db6-b431-78520c3c282e","savedPayload":{"position":{"x":17236.55892936232,"y":17635.139203556173},"targetPosition":{"x":17680.006548009766,"y":17711.652009777805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"ab5ed6ec-35cf-4709-b14d-548495163c99","savedPayload":{"position":{"x":17680.006548009766,"y":17711.652009777805},"targetPosition":{"x":18123.45416665721,"y":17788.164815999437},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 1","id":"366d0b55-988c-4995-8dcb-8738605be64b","savedPayload":{"position":{"x":17697.435363964458,"y":17643.22351839164},"targetPosition":{"x":18123.45416665721,"y":17788.164815999437},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 1","id":"2a3a3e15-93dd-43f0-95f7-ae2ed478607f"}}},{"type":"Polygon Vertex","name":"End 1","id":"7f2cb9ed-59bc-4f03-bf33-f34ca52db445","savedPayload":{"position":{"x":17725.35417671679,"y":17578.363962785163},"targetPosition":{"x":18123.45416665721,"y":17788.164815999437},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 1","id":"fe77f4a2-627c-4f27-9d4c-2dab9ddd8926"}}}],"id":"0c38b25a-d207-430e-ae5a-9ba55227c974","savedPayload":{"position":{"x":18123.45416665721,"y":17788.164815999437},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Resistance Line 2","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.resistance2Rate > 0","id":"27b432e9-4988-4457-8e68-13a06a1341fb","savedPayload":{"position":{"x":22803.988328589665,"y":8935.415641950529},"targetPosition":{"x":23388.201768387997,"y":8698.530457150158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [1,5],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TURQUOISE\"\n }\n}","id":"500b1402-adbe-46d7-9410-92a9cc84b492","savedPayload":{"position":{"x":22160.04614825201,"y":8983.685693475927},"targetPosition":{"x":22774.123958320004,"y":8841.108075313043},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"c1565617-e60a-4688-bcaf-061fb5ef8f02","savedPayload":{"position":{"x":22774.123958320004,"y":8841.108075313043},"targetPosition":{"x":23388.201768387997,"y":8698.530457150158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 2","id":"b06bed94-85e8-4405-8372-fa5af8fa10f4","savedPayload":{"position":{"x":22759.380221741623,"y":8743.289774528403},"targetPosition":{"x":23388.201768387997,"y":8698.530457150158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 2","id":"71ddeaf4-849d-4973-9b6a-a2ddcaccb86d"}}},{"type":"Polygon Vertex","name":"End 2","id":"a6ad0c69-98e2-459a-a5e4-28b863e7e679","savedPayload":{"position":{"x":22760.12015858074,"y":8644.369350802252},"targetPosition":{"x":23388.201768387997,"y":8698.530457150158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 2","id":"19746197-9ebc-4af8-b4ba-8217fa0eba77"}}}],"id":"532beef7-8d2e-4899-9c99-850db799d9a2","savedPayload":{"position":{"x":18147.683124552383,"y":17717.903662285513},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Resistance Line 3","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.resistance3Rate > 0","id":"6532e5e3-4b6f-4f9b-a52f-f42d588109aa","savedPayload":{"position":{"x":22768.170261291874,"y":8751.745068683631},"targetPosition":{"x":23381.16442442569,"y":8604.57819067511},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [1,5],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n }\n}","id":"f0c15419-ec71-4bfd-8be7-14b5f7ab6213","savedPayload":{"position":{"x":22124.226105199596,"y":8703.501381771472},"targetPosition":{"x":22752.695264812643,"y":8654.039786223291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"3122acb4-11b4-4b42-801d-e6f0f3bc88f5","savedPayload":{"position":{"x":22752.695264812643,"y":8654.039786223291},"targetPosition":{"x":23381.16442442569,"y":8604.57819067511},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 3","id":"86879433-37a4-4d4c-94b2-f56509927833","savedPayload":{"position":{"x":22752.695264812643,"y":8555.11659512693},"targetPosition":{"x":23381.16442442569,"y":8604.57819067511},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 3","id":"febd94d0-09c7-40c5-b7b2-552ca2cca2b9"}}},{"type":"Polygon Vertex","name":"End 3","id":"ced94fbd-8b64-45a4-af9d-fb2366e9c08f","savedPayload":{"position":{"x":22768.170261291874,"y":8457.41131266659},"targetPosition":{"x":23381.16442442569,"y":8604.57819067511},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 3","id":"7003801a-ea76-43e2-a013-72e6d41aff5c"}}}],"id":"9eb7ed64-8225-41de-ab73-3297d19e1529","savedPayload":{"position":{"x":18183.14623685015,"y":17652.588734527355},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Resistance Line 4","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.resistance4Rate > 0","id":"2c5d8280-e687-4ab6-8dc4-a37d33dac54c","savedPayload":{"position":{"x":22760.132616229323,"y":8564.783963601774},"targetPosition":{"x":23388.21422603658,"y":8510.622857253868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [1,5],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n }\n}","id":"981c71a0-44f8-40a7-935b-de7a0d29c125","savedPayload":{"position":{"x":22130.571132743833,"y":8421.104222497379},"targetPosition":{"x":22759.392679390206,"y":8465.863539875623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"66da2fbe-77f0-47ba-b520-cd646ffbc4bf","savedPayload":{"position":{"x":22759.392679390206,"y":8465.863539875623},"targetPosition":{"x":23388.21422603658,"y":8510.622857253868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 4","id":"2b0a1310-20d6-45cd-a05b-ed8cbddcbb81","savedPayload":{"position":{"x":22774.136415968587,"y":8368.045239090983},"targetPosition":{"x":23388.21422603658,"y":8510.622857253868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 4","id":"12059a23-6280-499c-8ebc-f8c0de0e5647"}}},{"type":"Polygon Vertex","name":"End 4","id":"db596f4f-6410-4250-a837-dad5cd2d61e8","savedPayload":{"position":{"x":22804.000786238248,"y":8273.737672453497},"targetPosition":{"x":23388.21422603658,"y":8510.622857253868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 4","id":"2e5e4668-102d-4d9a-addc-9b154e7889a9"}}}],"id":"b8b29e5a-49aa-45cb-b6f3-0ba78dd97899","savedPayload":{"position":{"x":18228.876162292458,"y":17594.00165369089},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Resistance Line 5","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.resistance5Rate > 0","id":"d29fe2ec-f038-419b-a308-caa26a5a8185","savedPayload":{"position":{"x":22780.04752793479,"y":8378.707033101417},"targetPosition":{"x":23409.186279126006,"y":8418.761568031401},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [1,5],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"2fb5a769-94e1-480d-9e37-e95b3e6d2391","savedPayload":{"position":{"x":22178.93208027812,"y":8142.800805797433},"targetPosition":{"x":22794.059179702064,"y":8280.781186914417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"5c4e3fb7-482b-4830-b279-ce65f5dde542","savedPayload":{"position":{"x":22794.059179702064,"y":8280.781186914417},"targetPosition":{"x":23409.186279126006,"y":8418.761568031401},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 5","id":"94bd59ac-0e4f-4f0c-a8fc-98dda2d4f485","savedPayload":{"position":{"x":22823.217302146953,"y":8186.252875641148},"targetPosition":{"x":23409.186279126006,"y":8418.761568031401},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 5","id":"1cebdfa8-d6f3-44fb-bf7e-0f8bfaeff946"}}},{"type":"Polygon Vertex","name":"End 5","id":"890c39f7-712c-4b93-849a-cd652f600124","savedPayload":{"position":{"x":22866.803925524608,"y":8097.449700026638},"targetPosition":{"x":23409.186279126006,"y":8418.761568031401},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 5","id":"bbc97ad3-5c93-460f-8463-127d21e3dca4"}}}],"id":"0582dc0b-1512-4762-8340-aabeadad6643","savedPayload":{"position":{"x":18283.625507722267,"y":17543.740522616223},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Resistance Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.typeResistance=== 'Resistance'","id":"ea67ee97-0c26-4369-969a-4b207c45acf2","savedPayload":{"position":{"x":17975.747877866546,"y":17247.27249561409},"targetPosition":{"x":18345.90085371714,"y":17503.176333938078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0,\n \"paletteColor\": \"UI_COLOR.DARK\"\n }\n}","id":"65722c8b-1977-4cfa-ba63-c2cc7434891b","savedPayload":{"position":{"x":17755.623129374217,"y":16826.34003393568},"targetPosition":{"x":18072.943088976284,"y":17145.413760898813},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.typeResistance=== 'Resistance'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK\",\n \"opacity\": 0.5\n}","id":"8322fb8f-d018-4855-a288-20ca625c95a3","savedPayload":{"position":{"x":17625.092715282804,"y":16364.753756298469},"targetPosition":{"x":17849.017902129544,"y":16755.08375859864},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ad690e4e-7590-4b4d-960e-97510c4fce0d","savedPayload":{"position":{"x":17849.017902129544,"y":16755.08375859864},"targetPosition":{"x":18072.943088976284,"y":17145.413760898813},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c3e776eb-ac3c-49a1-b8bb-0a3b37dcff10","savedPayload":{"position":{"x":18072.943088976284,"y":17145.413760898813},"targetPosition":{"x":18345.90085371714,"y":17503.176333938078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Base Left","id":"b6a079f5-8719-4beb-93c5-ae45a48f6bc4","savedPayload":{"position":{"x":18196.85730790743,"y":17078.57531951104},"targetPosition":{"x":18345.90085371714,"y":17503.176333938078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Base Left","id":"6e8169a3-28a2-412f-8100-577c4a9a97bb"}}},{"type":"Polygon Vertex","name":"Base Right","id":"d43b33c2-6d6c-4552-85b6-07300acc05c4","savedPayload":{"position":{"x":18335.360947549878,"y":17053.29978378461},"targetPosition":{"x":18345.90085371714,"y":17503.176333938078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Base Right","id":"b23883d4-d592-4d0a-822e-82165e22598f"}}}],"id":"c62d156c-4686-45a4-af42-283999dd1200","savedPayload":{"position":{"x":18345.90085371714,"y":17503.176333938078},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Resistance Zone 1","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.resistance1Bounce1 > 0","id":"f4fdf8db-0009-4053-acdd-90f790ef2dc1","savedPayload":{"position":{"x":18064.232070890484,"y":17190.290241104427},"targetPosition":{"x":18414.00349117805,"y":17473.415572980644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"678098f3-5628-4c48-baac-daaaa46f7cb6","savedPayload":{"position":{"x":17725.897209817354,"y":17304.795913425714},"targetPosition":{"x":18136.002883932008,"y":17119.55732117516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.resistance1Bounce1 > 1","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 0.2\n}","id":"34b995fd-453d-47b9-8967-3d283ce8c5c9","savedPayload":{"position":{"x":17250.964393296505,"y":17282.979688351865},"targetPosition":{"x":17693.483638614256,"y":17201.268504763513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e9625315-0f08-473d-ae16-972cf0dacef6","savedPayload":{"position":{"x":17693.483638614256,"y":17201.268504763513},"targetPosition":{"x":18136.002883932008,"y":17119.55732117516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance1Bounce1 > 2","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.2\n}","id":"9c07eec3-733b-415a-9eb2-75bdbb926913","savedPayload":{"position":{"x":17237.572470982028,"y":17066.427357063287},"targetPosition":{"x":17686.787677457018,"y":17092.992339119224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2e9532be-e479-4863-a652-2db78d854596","savedPayload":{"position":{"x":17686.787677457018,"y":17092.992339119224},"targetPosition":{"x":18136.002883932008,"y":17119.55732117516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance1Bounce1 > 3","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.2\n}","id":"055dcb1d-7351-4348-ba05-d69e35f1e5c9","savedPayload":{"position":{"x":17276.394058606522,"y":16852.962746169324},"targetPosition":{"x":17706.198471269265,"y":16986.260033672243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"13ae1317-69bb-4a8a-aaa0-170868016d4a","savedPayload":{"position":{"x":17706.198471269265,"y":16986.260033672243},"targetPosition":{"x":18136.002883932008,"y":17119.55732117516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance1Bounce1 > 4","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.2\n}","id":"1274e868-d24c-4722-9cfb-a390e63afea4","savedPayload":{"position":{"x":17365.17298660799,"y":16654.991642942856},"targetPosition":{"x":17750.58793527,"y":16887.27448205901},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ee88e538-166d-4c03-b284-d2723f8683f0","savedPayload":{"position":{"x":17750.58793527,"y":16887.27448205901},"targetPosition":{"x":18136.002883932008,"y":17119.55732117516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance1Bounce1 > 5","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.4\n}","id":"c5639eed-1b4a-4374-a8ad-300810a6da68","savedPayload":{"position":{"x":17498.74974638925,"y":16484.019408307715},"targetPosition":{"x":17817.37631516063,"y":16801.78836474144},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b84e5eee-04d8-4bfe-b252-409df978d9d9","savedPayload":{"position":{"x":17817.37631516063,"y":16801.78836474144},"targetPosition":{"x":18136.002883932008,"y":17119.55732117516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance1Bounce1 > 6","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.6\n}","id":"f74b513c-4691-4213-85ec-a8aac88886be","savedPayload":{"position":{"x":17669.361342203592,"y":16349.982327082107},"targetPosition":{"x":17902.6821130678,"y":16734.769824128634},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"632d8000-8cd3-467a-96a2-08d3ae5e41fd","savedPayload":{"position":{"x":17902.6821130678,"y":16734.769824128634},"targetPosition":{"x":18136.002883932008,"y":17119.55732117516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance1Bounce1 > 7","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.8\n}","id":"e1f8e239-dc70-4be6-9b94-b386891c430e","savedPayload":{"position":{"x":17867.0924482502,"y":16260.6701472219},"targetPosition":{"x":18001.547666091104,"y":16690.11373419853},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d7fd86f0-d41f-4d5d-88f8-de219a3013f5","savedPayload":{"position":{"x":18001.547666091104,"y":16690.11373419853},"targetPosition":{"x":18136.002883932008,"y":17119.55732117516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance1Bounce1 > 8","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1\n}","id":"44c15485-4140-4f89-8491-e39df8a6acec","savedPayload":{"position":{"x":18080.451651368967,"y":16221.27336798401},"targetPosition":{"x":18108.227267650487,"y":16670.415344579586},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b8325b61-74f5-4dde-aae5-1a37ca079b8d","savedPayload":{"position":{"x":18108.227267650487,"y":16670.415344579586},"targetPosition":{"x":18136.002883932008,"y":17119.55732117516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance1Bounce1 > 9","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.6\n}","id":"9b3a94b1-ff98-459e-83ed-72b1fef97aa8","savedPayload":{"position":{"x":18297.039290203786,"y":16234.081586976266},"targetPosition":{"x":18216.521087067897,"y":16676.819454075714},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2488848e-b074-47d4-b275-8e7617c2c70e","savedPayload":{"position":{"x":18216.521087067897,"y":16676.819454075714},"targetPosition":{"x":18136.002883932008,"y":17119.55732117516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance1Bounce1 > 10","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.8\n}","id":"29599f5b-8578-4e95-88e0-db6f3c0e4d1a","savedPayload":{"position":{"x":18504.26807844961,"y":16298.35043706683},"targetPosition":{"x":18320.13548119081,"y":16708.953879120996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"396818ff-9a7d-4d0c-be13-67f36f687bb8","savedPayload":{"position":{"x":18320.13548119081,"y":16708.953879120996},"targetPosition":{"x":18136.002883932008,"y":17119.55732117516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance1Bounce1 > 11","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1\n}","id":"4c01cb73-1bcc-4719-9a6a-0593899023a5","savedPayload":{"position":{"x":18690.094632179585,"y":16410.344846296204},"targetPosition":{"x":18413.048758055796,"y":16764.951083735683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"373bc7b9-3547-4690-a965-e98a2c32b388","savedPayload":{"position":{"x":18413.048758055796,"y":16764.951083735683},"targetPosition":{"x":18136.002883932008,"y":17119.55732117516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2cd93655-284b-4e59-9959-749211d0c13b","savedPayload":{"position":{"x":18136.002883932008,"y":17119.55732117516},"targetPosition":{"x":18414.00349117805,"y":17473.415572980644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin - Zone Resistance","id":"61265cbf-c690-4531-8e1c-63012f033dec","savedPayload":{"position":{"x":18221.713808250293,"y":17066.568331574803},"targetPosition":{"x":18414.00349117805,"y":17473.415572980644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin - Zone Resistance","id":"0c275c7e-5012-454c-8772-a3c2f1621567"}}},{"type":"Polygon Vertex","name":"End - Zone Resistance","id":"d86b1af1-cc3b-4953-8e11-715de1e47305","savedPayload":{"position":{"x":18317.066940202363,"y":17033.980361504666},"targetPosition":{"x":18414.00349117805,"y":17473.415572980644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End - Zone Resistance","id":"e4ca8d91-e86c-4b97-b327-a1a631b28ade"}}},{"type":"Polygon Vertex","name":"End + Zone Resistance","id":"0a2d374a-1bef-4db3-9259-5fe2d4a4352f","savedPayload":{"position":{"x":18417.280875592143,"y":17023.42750785958},"targetPosition":{"x":18414.00349117805,"y":17473.415572980644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End + Zone Resistance","id":"e6764b3a-2fdb-4df1-abde-1f6e9fca5a27"}}},{"type":"Polygon Vertex","name":"Begin + Zone Resistance","id":"f22ffe77-c62c-4cc1-9c27-35e5a3831104","savedPayload":{"position":{"x":18517.330469242235,"y":17035.43893478618},"targetPosition":{"x":18414.00349117805,"y":17473.415572980644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin + Zone Resistance","id":"1614af55-2a6c-40a5-9339-958d2944f719"}}}],"id":"ca9666cf-e40b-46af-902d-050c1956b702","savedPayload":{"position":{"x":18414.00349117805,"y":17473.415572980644},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Resistance Zone 2","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.resistance2Bounce1 > 0","id":"8e52a153-4da1-4d25-9070-a9cab7901642","savedPayload":{"position":{"x":18187.675661675785,"y":17118.43568073243},"targetPosition":{"x":18486.075757685387,"y":17455.270035722326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"0d2e9e03-1e4b-406a-8807-a56b112e4bf9","savedPayload":{"position":{"x":17835.108232900573,"y":17175.69155709424},"targetPosition":{"x":18270.109870348813,"y":17060.480553204205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.resistance2Bounce1 > 1","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 0.2\n}","id":"909e78e1-4f46-48a0-b49f-d448973a5321","savedPayload":{"position":{"x":17370.24371359585,"y":17076.001504548945},"targetPosition":{"x":17820.17679197233,"y":17068.241028876575},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"eb9bc072-5c45-4901-8cce-f2c26a2f4505","savedPayload":{"position":{"x":17820.17679197233,"y":17068.241028876575},"targetPosition":{"x":18270.109870348813,"y":17060.480553204205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance2Bounce1 > 2","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.2\n}","id":"ca020c35-f86f-4b23-a952-ac6dbb8b1826","savedPayload":{"position":{"x":17392.67778188945,"y":16860.19842683782},"targetPosition":{"x":17831.393826119132,"y":16960.33949002101},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b5c6aa09-4166-4c94-9967-b91524c21464","savedPayload":{"position":{"x":17831.393826119132,"y":16960.33949002101},"targetPosition":{"x":18270.109870348813,"y":17060.480553204205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance2Bounce1 > 3","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.2\n}","id":"36071756-7d18-4da4-a70c-51f4c463ebba","savedPayload":{"position":{"x":17466.105013828437,"y":16656.0350183152},"targetPosition":{"x":17868.107442088625,"y":16858.257785759703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fa8a71d2-4cc4-4fbe-a186-dcae6715bdae","savedPayload":{"position":{"x":17868.107442088625,"y":16858.257785759703},"targetPosition":{"x":18270.109870348813,"y":17060.480553204205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance2Bounce1 > 4","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.2\n}","id":"1fd4231d-7109-4078-a500-e8392f75f443","savedPayload":{"position":{"x":17586.25808558965,"y":16475.376514180633},"targetPosition":{"x":17928.18397796923,"y":16767.92853369242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"44d57144-5dce-4b2a-aca2-2a2fb6cce4f5","savedPayload":{"position":{"x":17928.18397796923,"y":16767.92853369242},"targetPosition":{"x":18270.109870348813,"y":17060.480553204205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance2Bounce1 > 5","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.4\n}","id":"dc876bc9-5380-4127-9091-b9d1855127e2","savedPayload":{"position":{"x":17746.154137380956,"y":16328.722130027458},"targetPosition":{"x":18008.132003864885,"y":16694.60134161583},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7ec7f8db-d303-479e-970d-11b1c6b585f8","savedPayload":{"position":{"x":18008.132003864885,"y":16694.60134161583},"targetPosition":{"x":18270.109870348813,"y":17060.480553204205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance2Bounce1 > 6","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.6\n}","id":"0d4b045a-d31d-486e-b211-251eb97727e9","savedPayload":{"position":{"x":17936.500591870765,"y":16224.594885595678},"targetPosition":{"x":18103.30523110979,"y":16642.53771939994},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"78b93dc0-b51e-4e70-bf86-469ed1dc8b32","savedPayload":{"position":{"x":18103.30523110979,"y":16642.53771939994},"targetPosition":{"x":18270.109870348813,"y":17060.480553204205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance2Bounce1 > 7","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.8\n}","id":"a5f88045-13c6-4a79-a26d-808cbae1be55","savedPayload":{"position":{"x":18146.235205005327,"y":16169.046277844525},"targetPosition":{"x":18208.17253767707,"y":16614.763415524365},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a094ed80-7548-488d-a6f7-b58b39c43d74","savedPayload":{"position":{"x":18208.17253767707,"y":16614.763415524365},"targetPosition":{"x":18270.109870348813,"y":17060.480553204205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance2Bounce1 > 8","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1\n}","id":"5b2cf624-f0bf-4576-97e9-4caad311ced1","savedPayload":{"position":{"x":18363.168963423563,"y":16165.304589945526},"targetPosition":{"x":18316.639416886188,"y":16612.892571574866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c76ac126-507c-4794-9ad4-b3541a1dae4a","savedPayload":{"position":{"x":18316.639416886188,"y":16612.892571574866},"targetPosition":{"x":18270.109870348813,"y":17060.480553204205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance2Bounce1 > 9","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.6\n}","id":"e177aa7b-44e6-46b7-9ba4-411fd4eb32a2","savedPayload":{"position":{"x":18574.694465608332,"y":16213.587275198888},"targetPosition":{"x":18422.402167978573,"y":16637.033914201547},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"94a8abfe-1c08-434a-b735-acc9eee52ea9","savedPayload":{"position":{"x":18422.402167978573,"y":16637.033914201547},"targetPosition":{"x":18270.109870348813,"y":17060.480553204205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance2Bounce1 > 10","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.8\n}","id":"88b78d7f-b935-4e2b-b7d2-fbe5c877a950","savedPayload":{"position":{"x":18768.518618236583,"y":16311.088319438104},"targetPosition":{"x":18519.3142442927,"y":16685.784436321155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"731a3134-805c-432a-8ee4-44ae04ccaeb0","savedPayload":{"position":{"x":18519.3142442927,"y":16685.784436321155},"targetPosition":{"x":18270.109870348813,"y":17060.480553204205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance2Bounce1 > 11","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1\n}","id":"c843d74e-15ee-4fed-aafd-20c51853dea4","savedPayload":{"position":{"x":18933.377066079676,"y":16452.141316373873},"targetPosition":{"x":18601.743468214245,"y":16756.31093478904},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"70790586-ea1f-44b7-bffd-891d0eb5629a","savedPayload":{"position":{"x":18601.743468214245,"y":16756.31093478904},"targetPosition":{"x":18270.109870348813,"y":17060.480553204205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6f9d86e1-164c-4ea4-992d-2917fda244ac","savedPayload":{"position":{"x":18270.109870348813,"y":17060.480553204205},"targetPosition":{"x":18486.075757685387,"y":17455.270035722326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin - Zone Resistance","id":"496ec3db-d47e-478d-be79-a266a0f1ee4b","savedPayload":{"position":{"x":18363.37351040791,"y":17022.321818826753},"targetPosition":{"x":18486.075757685387,"y":17455.270035722326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin - Zone Resistance","id":"055d64bb-b823-4593-b606-4f0a35ac620a"}}},{"type":"Polygon Vertex","name":"End - Zone Resistance","id":"92e88ed6-dfb5-4d69-b739-2596eabe9562","savedPayload":{"position":{"x":18462.789953505464,"y":17005.872915878757},"targetPosition":{"x":18486.075757685387,"y":17455.270035722326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End - Zone Resistance","id":"6d8e2772-7475-406d-b048-4599982d04e2"}}},{"type":"Polygon Vertex","name":"End + Zone Resistance","id":"06940067-8e78-4652-80bb-53a20db38d36","savedPayload":{"position":{"x":18563.374044057648,"y":17011.958661038672},"targetPosition":{"x":18486.075757685387,"y":17455.270035722326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End + Zone Resistance","id":"e2c53993-70fa-48f0-96b0-3c73a3baa50f"}}},{"type":"Polygon Vertex","name":"Begin + Zone Resistance","id":"44754c48-5c48-4911-8782-729f29d1b01e","savedPayload":{"position":{"x":18660.08207576159,"y":17040.273889632314},"targetPosition":{"x":18486.075757685387,"y":17455.270035722326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin + Zone Resistance","id":"d3cc8bbf-1f3e-49bc-9331-5e498064cb88"}}}],"id":"3032c972-5916-496b-9aec-fb9f49a9237f","savedPayload":{"position":{"x":18486.075757685387,"y":17455.270035722326},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Resistance Zone 3","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.resistance3Bounce1 > 0","id":"1c336053-c230-4ad3-ab58-4b85d364a707","savedPayload":{"position":{"x":18321.262514703714,"y":17067.87927015657},"targetPosition":{"x":18560.151709687205,"y":17449.23468511765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"e7bdfc4c-a887-4a47-9402-e3be2aa390fa","savedPayload":{"position":{"x":17964.079638608713,"y":17066.323559506684},"targetPosition":{"x":18412.11152868559,"y":17024.282799830613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.resistance3Bounce1 > 1","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 0.2\n}","id":"65f80810-1132-493b-86c5-b7ac04fb2e1b","savedPayload":{"position":{"x":17521.963708795378,"y":16891.478964250808},"targetPosition":{"x":17967.037618740484,"y":16957.88088204071},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"af73149e-c55e-4cd1-8008-a4a0e0dc4bce","savedPayload":{"position":{"x":17967.037618740484,"y":16957.88088204071},"targetPosition":{"x":18412.11152868559,"y":17024.282799830613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance3Bounce1 > 2","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.2\n}","id":"1fe17781-8019-412d-bce7-e4015502c1dc","savedPayload":{"position":{"x":17579.611824795265,"y":16682.31168552046},"targetPosition":{"x":17995.861676740427,"y":16853.297242675537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"66a99f55-071a-4c17-8a4c-0a3ca27b49c5","savedPayload":{"position":{"x":17995.861676740427,"y":16853.297242675537},"targetPosition":{"x":18412.11152868559,"y":17024.282799830613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance3Bounce1 > 3","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.2\n}","id":"68425fb0-290a-4f0a-bc37-0afacae35c6f","savedPayload":{"position":{"x":17685.641797571963,"y":16493.018524939394},"targetPosition":{"x":18048.876663128776,"y":16758.650662385004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a8b5a03e-3f6c-4e73-893f-a2ead5f90bc4","savedPayload":{"position":{"x":18048.876663128776,"y":16758.650662385004},"targetPosition":{"x":18412.11152868559,"y":17024.282799830613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance3Bounce1 > 4","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.2\n}","id":"3fa93e36-a9e8-49db-830d-bdceda8dd236","savedPayload":{"position":{"x":17833.891550510943,"y":16334.60051294794},"targetPosition":{"x":18123.001539598266,"y":16679.441656389277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"78bcd2f8-69b6-46ae-a646-d9584ec851f6","savedPayload":{"position":{"x":18123.001539598266,"y":16679.441656389277},"targetPosition":{"x":18412.11152868559,"y":17024.282799830613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance3Bounce1 > 5","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.4\n}","id":"2d5b8980-b779-4c09-a2ba-eec5e1ec4ac3","savedPayload":{"position":{"x":18015.74534683734,"y":16216.264328576992},"targetPosition":{"x":18213.928437761464,"y":16620.273564203802},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8aaddafc-5dcf-43a1-a4ad-2c2ecd043e2f","savedPayload":{"position":{"x":18213.928437761464,"y":16620.273564203802},"targetPosition":{"x":18412.11152868559,"y":17024.282799830613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance3Bounce1 > 6","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.6\n}","id":"f9981061-43b5-4e21-a886-d87c223ffdc3","savedPayload":{"position":{"x":18220.634504920297,"y":16144.887240727663},"targetPosition":{"x":18316.373016802943,"y":16584.585020279137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ab07d12e-f9cf-4d09-9fb3-b91ce3d0888b","savedPayload":{"position":{"x":18316.373016802943,"y":16584.585020279137},"targetPosition":{"x":18412.11152868559,"y":17024.282799830613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance3Bounce1 > 7","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.8\n}","id":"777654df-f75f-4334-b3a4-7a21904f3d71","savedPayload":{"position":{"x":18436.651611633843,"y":16124.617426300601},"targetPosition":{"x":18424.381570159716,"y":16574.450113065606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"839f62b1-f81f-4488-9b16-ae1b6ac067d1","savedPayload":{"position":{"x":18424.381570159716,"y":16574.450113065606},"targetPosition":{"x":18412.11152868559,"y":17024.282799830613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance3Bounce1 > 8","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1\n}","id":"3b0ddd27-6b5b-42c5-b7cd-29c12de70616","savedPayload":{"position":{"x":18651.242537926,"y":16156.63289323253},"targetPosition":{"x":18531.677033305794,"y":16590.45784653157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1d523fad-3f28-47d5-acaf-830a447aa2e8","savedPayload":{"position":{"x":18531.677033305794,"y":16590.45784653157},"targetPosition":{"x":18412.11152868559,"y":17024.282799830613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance3Bounce1 > 9","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.6\n}","id":"e8427a08-b22b-4d45-9261-62b73a8ab865","savedPayload":{"position":{"x":18851.936039166958,"y":16239.073018956846},"targetPosition":{"x":18632.023783926274,"y":16631.67790939373},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"51849845-cea5-4b51-9b06-14db6d2af55c","savedPayload":{"position":{"x":18632.023783926274,"y":16631.67790939373},"targetPosition":{"x":18412.11152868559,"y":17024.282799830613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance3Bounce1 > 10","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.8\n}","id":"9b5fb0b3-6e28-41b0-8134-752a98b6b9b0","savedPayload":{"position":{"x":19027.068538555784,"y":16367.146683024122},"targetPosition":{"x":18719.590033620687,"y":16695.714741427368},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"55ccd473-ac0c-4724-bfb9-2643edd7d674","savedPayload":{"position":{"x":18719.590033620687,"y":16695.714741427368},"targetPosition":{"x":18412.11152868559,"y":17024.282799830613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance3Bounce1 > 11","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1\n}","id":"090df02b-08db-48c7-aa8e-915be9ab8265","savedPayload":{"position":{"x":19166.461971808738,"y":16533.4107096076},"targetPosition":{"x":18789.286750247164,"y":16778.846754719107},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1bac95a9-f98b-413c-9cb6-66e64391abae","savedPayload":{"position":{"x":18789.286750247164,"y":16778.846754719107},"targetPosition":{"x":18412.11152868559,"y":17024.282799830613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4b1db531-9768-4f0c-85e9-6f6f03685281","savedPayload":{"position":{"x":18412.11152868559,"y":17024.282799830613},"targetPosition":{"x":18560.151709687205,"y":17449.23468511765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin - Zone Resistance","id":"a5770e2d-61db-4f56-ab84-0892dad59567","savedPayload":{"position":{"x":18510.38389550485,"y":17001.995191477487},"targetPosition":{"x":18560.151709687205,"y":17449.23468511765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin - Zone Resistance","id":"e18fe7d1-bb71-4228-89ad-6eef714ec53f"}}},{"type":"Polygon Vertex","name":"End - Zone Resistance","id":"c122c5b3-0024-426a-9965-e1e78daec055","savedPayload":{"position":{"x":18611.15182833951,"y":17002.134038844968},"targetPosition":{"x":18560.151709687205,"y":17449.23468511765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End - Zone Resistance","id":"30f76ba8-3516-4b19-bb42-ae4613d5ce10"}}},{"type":"Polygon Vertex","name":"End + Zone Resistance","id":"66a2a41d-c2d3-424b-a5ad-cf339cb4d20f","savedPayload":{"position":{"x":18709.36240226699,"y":17024.692379546275},"targetPosition":{"x":18560.151709687205,"y":17449.23468511765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End + Zone Resistance","id":"d4105484-8b89-48f5-af7f-964d2e541120"}}},{"type":"Polygon Vertex","name":"Begin + Zone Resistance","id":"c050df08-5b55-49ec-91e2-19bc9e16fe91","savedPayload":{"position":{"x":18800.090929018927,"y":17068.539044183213},"targetPosition":{"x":18560.151709687205,"y":17449.23468511765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin + Zone Resistance","id":"fc07018f-23a9-46dc-bb6a-f6ddac68be6c"}}}],"id":"753efd9a-f48d-4826-89ac-7f046667a26c","savedPayload":{"position":{"x":18560.151709687205,"y":17449.23468511765},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Resistance Zone 4","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.resistance4Bounce1 > 0","id":"0931fce8-e103-4a66-b479-207e0662359e","savedPayload":{"position":{"x":18461.34872885861,"y":17040.000056466626},"targetPosition":{"x":18634.210748314497,"y":17455.474149798127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"03da2d32-5673-4d64-b99a-1b7dd6df2fe6","savedPayload":{"position":{"x":18109.29342319743,"y":16979.675194536136},"targetPosition":{"x":18558.134423873616,"y":17011.951441405912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.resistance4Bounce1 > 1","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 0.2\n}","id":"6913a704-6ff8-4978-bba2-2a0acf0d8672","savedPayload":{"position":{"x":17701.985852930582,"y":16734.445361342423},"targetPosition":{"x":18130.0601384021,"y":16873.198401374168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"aad10167-a2b9-4055-90a6-e094f118e5d6","savedPayload":{"position":{"x":18130.0601384021,"y":16873.198401374168},"targetPosition":{"x":18558.134423873616,"y":17011.951441405912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance4Bounce1 > 2","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.2\n}","id":"b930f4ad-fcba-439d-864d-20082c52ed4e","savedPayload":{"position":{"x":17793.275526309702,"y":16537.619419698214},"targetPosition":{"x":18175.70497509166,"y":16774.785430552063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7cc16cba-79d9-4ebb-af5e-2e9f19e4faaa","savedPayload":{"position":{"x":18175.70497509166,"y":16774.785430552063},"targetPosition":{"x":18558.134423873616,"y":17011.951441405912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance4Bounce1 > 3","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.2\n}","id":"9532bb2f-ad66-44dd-a5e4-58848c302734","savedPayload":{"position":{"x":17929.016018666265,"y":16368.359931028908},"targetPosition":{"x":18243.57522126994,"y":16690.15568621741},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ce42776f-7050-49de-9d8c-9a616656e668","savedPayload":{"position":{"x":18243.57522126994,"y":16690.15568621741},"targetPosition":{"x":18558.134423873616,"y":17011.951441405912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance4Bounce1 > 4","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.2\n}","id":"342c81eb-3f45-4f5c-afdf-51dc77db3926","savedPayload":{"position":{"x":18101.318585981116,"y":16236.50364158276},"targetPosition":{"x":18329.726504927366,"y":16624.227541494336},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"970ed430-5c9c-4d26-bb87-a8a5a8dc0498","savedPayload":{"position":{"x":18329.726504927366,"y":16624.227541494336},"targetPosition":{"x":18558.134423873616,"y":17011.951441405912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance4Bounce1 > 5","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.4\n}","id":"d60fc74e-067a-4b1a-80f9-8f298c70c256","savedPayload":{"position":{"x":18300.169629336266,"y":16149.713559624262},"targetPosition":{"x":18429.15202660494,"y":16580.832500515087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d647e933-5853-4c85-9f38-7734330f63bf","savedPayload":{"position":{"x":18429.15202660494,"y":16580.832500515087},"targetPosition":{"x":18558.134423873616,"y":17011.951441405912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance4Bounce1 > 6","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.6\n}","id":"80b842ae-273d-4398-b18e-8820ff04911b","savedPayload":{"position":{"x":18514.01264888606,"y":16113.033609247741},"targetPosition":{"x":18536.073536379838,"y":16562.492525326827},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"133d0702-17ee-4271-ae5b-f246b0817695","savedPayload":{"position":{"x":18536.073536379838,"y":16562.492525326827},"targetPosition":{"x":18558.134423873616,"y":17011.951441405912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance4Bounce1 > 7","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.8\n}","id":"a78374c3-ee33-4150-aece-843122eb04d8","savedPayload":{"position":{"x":18730.419865622,"y":16128.595495842876},"targetPosition":{"x":18644.277144747808,"y":16570.273468624393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"eb6649aa-3dc5-4e46-a147-7ee698f9f8e0","savedPayload":{"position":{"x":18644.277144747808,"y":16570.273468624393},"targetPosition":{"x":18558.134423873616,"y":17011.951441405912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance4Bounce1 > 8","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1\n}","id":"ad7af22b-223f-4c23-819c-2515e5ab7274","savedPayload":{"position":{"x":18936.814478715623,"y":16195.49481912592},"targetPosition":{"x":18747.47445129462,"y":16603.723130265917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7301cf1f-91d4-4d0a-8486-c4c9cd816dc4","savedPayload":{"position":{"x":18747.47445129462,"y":16603.723130265917},"targetPosition":{"x":18558.134423873616,"y":17011.951441405912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance4Bounce1 > 9","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.6\n}","id":"835e1082-9b76-4d13-aba3-6c2419878c99","savedPayload":{"position":{"x":19121.20158346782,"y":16309.843633596804},"targetPosition":{"x":18839.66800367072,"y":16660.897537501358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"eac5c80e-8e70-41e7-abe8-5da4d4a8d944","savedPayload":{"position":{"x":18839.66800367072,"y":16660.897537501358},"targetPosition":{"x":18558.134423873616,"y":17011.951441405912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance4Bounce1 > 10","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.8\n}","id":"2db96f60-f66f-4706-a8f7-ccae83d23d4a","savedPayload":{"position":{"x":19272.86527157026,"y":16464.99640179951},"targetPosition":{"x":18915.499847721938,"y":16738.473921602712},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dec0fb37-e4e6-4e00-8a6f-a60a44708a66","savedPayload":{"position":{"x":18915.499847721938,"y":16738.473921602712},"targetPosition":{"x":18558.134423873616,"y":17011.951441405912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance4Bounce1 > 11","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1\n}","id":"2bb56777-1ea8-4227-acaf-578f3872f00d","savedPayload":{"position":{"x":19382.99140074549,"y":16651.936208803465},"targetPosition":{"x":18970.562912309553,"y":16831.94382510469},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9ffc117c-9495-407c-9aed-1b6ef6ba210a","savedPayload":{"position":{"x":18970.562912309553,"y":16831.94382510469},"targetPosition":{"x":18558.134423873616,"y":17011.951441405912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d181f92f-7c33-429e-9f32-13afcadaac04","savedPayload":{"position":{"x":18558.134423873616,"y":17011.951441405912},"targetPosition":{"x":18634.210748314497,"y":17455.474149798127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin - Zone Resistance","id":"9edd9a7b-2d22-45b3-b481-b8ac59d25f32","savedPayload":{"position":{"x":18658.73490346315,"y":17006.142906933528},"targetPosition":{"x":18634.210748314497,"y":17455.474149798127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin - Zone Resistance","id":"79408eb2-e914-4f85-96c6-0baa918f5f91"}}},{"type":"Polygon Vertex","name":"End - Zone Resistance","id":"40a3e87b-ccb4-4c11-9553-a1934ffe3397","savedPayload":{"position":{"x":18758.10563950958,"y":17022.86571722225},"targetPosition":{"x":18634.210748314497,"y":17455.474149798127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End - Zone Resistance","id":"9479606b-5668-40a4-8e34-40976668e11b"}}},{"type":"Polygon Vertex","name":"End + Zone Resistance","id":"d985e769-5063-49f1-825a-8c469bebb1fc","savedPayload":{"position":{"x":18851.263768371475,"y":17061.28132073582},"targetPosition":{"x":18634.210748314497,"y":17455.474149798127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End + Zone Resistance","id":"98ef8287-1ef2-498f-ae25-580a148f8fae"}}},{"type":"Polygon Vertex","name":"Begin + Zone Resistance","id":"3d630c8d-3820-4190-adcf-cc372272af3f","savedPayload":{"position":{"x":18933.53795247323,"y":17119.463398704484},"targetPosition":{"x":18634.210748314497,"y":17455.474149798127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin + Zone Resistance","id":"09f1f62c-723a-4588-ae76-d195aa1cb276"}}}],"id":"0fb57b23-fb5d-429c-bc75-84008becc00e","savedPayload":{"position":{"x":18634.210748314497,"y":17455.474149798127},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Resistance Zone 5","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.resistance5Bounce1 > 0","id":"082cf5a1-8c77-42c1-a19e-def34f93c0c3","savedPayload":{"position":{"x":18604.113117395835,"y":17035.558511936375},"targetPosition":{"x":18706.23273605101,"y":17473.81823343234},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"50abec57-e340-4709-9f4c-9fae0b30a09a","savedPayload":{"position":{"x":18266.788533167215,"y":16918.110003703565},"targetPosition":{"x":18704.19543198543,"y":17023.822845242477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.resistance5Bounce1 > 1","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 0.2\n}","id":"15f87ebf-d18f-4e4f-93aa-545c0bbf36ab","savedPayload":{"position":{"x":17905.399611192148,"y":16609.184163155067},"targetPosition":{"x":18304.79752158879,"y":16816.503504198772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"468bd43d-c2d6-4597-b1a5-6a401b0fe336","savedPayload":{"position":{"x":18304.79752158879,"y":16816.503504198772},"targetPosition":{"x":18704.19543198543,"y":17023.822845242477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance5Bounce1 > 2","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.2\n}","id":"2a0d3dfc-d790-4eb4-9951-389ad56d9a10","savedPayload":{"position":{"x":18027.84069763513,"y":16430.068457198115},"targetPosition":{"x":18366.01806481028,"y":16726.945651220296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6247696c-f48e-41fb-aef2-e051ead37498","savedPayload":{"position":{"x":18366.01806481028,"y":16726.945651220296},"targetPosition":{"x":18704.19543198543,"y":17023.822845242477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance5Bounce1 > 3","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.2\n}","id":"c4c3fb3e-85a5-4f01-ad3f-b86d52b965b3","savedPayload":{"position":{"x":18189.589062789124,"y":16285.459598064914},"targetPosition":{"x":18446.892247387277,"y":16654.641221653696},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6bc50b65-7c74-440e-8a08-e1d28540dff8","savedPayload":{"position":{"x":18446.892247387277,"y":16654.641221653696},"targetPosition":{"x":18704.19543198543,"y":17023.822845242477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance5Bounce1 > 4","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.2\n}","id":"1ba3d543-f241-4ce5-85f1-98579b075881","savedPayload":{"position":{"x":18381.244479602767,"y":16183.761727016472},"targetPosition":{"x":18542.7199557941,"y":16603.792286129476},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"edbd4422-89b8-4074-8ea5-994d62142496","savedPayload":{"position":{"x":18542.7199557941,"y":16603.792286129476},"targetPosition":{"x":18704.19543198543,"y":17023.822845242477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance5Bounce1 > 5","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.4\n}","id":"d91e1d41-dcc5-4992-aff7-eba6f8aae36a","savedPayload":{"position":{"x":18591.668631889934,"y":16130.885154661399},"targetPosition":{"x":18647.932031937682,"y":16577.353999951938},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b46b6072-5682-463b-abec-ba1b8433d5c1","savedPayload":{"position":{"x":18647.932031937682,"y":16577.353999951938},"targetPosition":{"x":18704.19543198543,"y":17023.822845242477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance5Bounce1 > 6","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.6\n}","id":"d39d125f-5ebd-4dc3-97b5-e34f6835342e","savedPayload":{"position":{"x":18808.632432780378,"y":16129.902875186457},"targetPosition":{"x":18756.413932382904,"y":16576.862860214467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"95087207-6903-418b-87b1-91574b8bf084","savedPayload":{"position":{"x":18756.413932382904,"y":16576.862860214467},"targetPosition":{"x":18704.19543198543,"y":17023.822845242477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance5Bounce1 > 7","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.8\n}","id":"0275cc41-3916-47b3-a2a0-70dca25d0db0","savedPayload":{"position":{"x":19019.526734797673,"y":16180.871975104286},"targetPosition":{"x":18861.86108339155,"y":16602.34741017338},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"39aa9f71-a813-4da9-b937-eb9dc298b483","savedPayload":{"position":{"x":18861.86108339155,"y":16602.34741017338},"targetPosition":{"x":18704.19543198543,"y":17023.822845242477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance5Bounce1 > 8","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1\n}","id":"4f0b8341-c2cb-4cad-8d3d-cd3543a4ace9","savedPayload":{"position":{"x":19212.095127678174,"y":16280.830315592804},"targetPosition":{"x":18958.145279831802,"y":16652.32658041764},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7593aaba-e315-4982-8fa1-ffca6ef48e2f","savedPayload":{"position":{"x":18958.145279831802,"y":16652.32658041764},"targetPosition":{"x":18704.19543198543,"y":17023.822845242477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance5Bounce1 > 9","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.6\n}","id":"e62a0cfa-f94a-4cf9-bafe-7af99b6a2e7d","savedPayload":{"position":{"x":19375.146236385288,"y":16423.9686812366},"targetPosition":{"x":19039.67083418536,"y":16723.89576323954},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b8728df0-cd33-4ffd-b6c2-240efc3b1e23","savedPayload":{"position":{"x":19039.67083418536,"y":16723.89576323954},"targetPosition":{"x":18704.19543198543,"y":17023.822845242477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance5Bounce1 > 10","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.8\n}","id":"02ad3590-953f-4dfe-92e7-6376926da1a4","savedPayload":{"position":{"x":19499.20412314762,"y":16601.96839051125},"targetPosition":{"x":19101.699777566526,"y":16812.895617876864},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8daaa494-c0c7-4be8-932f-5e4186bc4164","savedPayload":{"position":{"x":19101.699777566526,"y":16812.895617876864},"targetPosition":{"x":18704.19543198543,"y":17023.822845242477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.resistance5Bounce1 > 11","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1\n}","id":"5cc087f1-293f-40f8-832f-a5003ddf7ce2","savedPayload":{"position":{"x":19577.058994518626,"y":16804.48474731632},"targetPosition":{"x":19140.627213252028,"y":16914.1537962794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0a80e57e-0552-42b6-a9c3-8fbbfe38a615","savedPayload":{"position":{"x":19140.627213252028,"y":16914.1537962794},"targetPosition":{"x":18704.19543198543,"y":17023.822845242477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2db093f9-9a3d-4633-afc3-47d7b7a1ba43","savedPayload":{"position":{"x":18704.19543198543,"y":17023.822845242477},"targetPosition":{"x":18706.23273605101,"y":17473.81823343234},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin - Zone Resistance","id":"9b24e6a9-06da-4deb-8710-91d5bd430b2c","savedPayload":{"position":{"x":18804.379905507918,"y":17034.651826329522},"targetPosition":{"x":18706.23273605101,"y":17473.81823343234},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin - Zone Resistance","id":"8ae90185-2a00-4958-95c1-83aa4b6402ee"}}},{"type":"Polygon Vertex","name":"End - Zone Resistance","id":"31685577-64d9-4165-8f22-9ee5687950d5","savedPayload":{"position":{"x":18899.642870126947,"y":17067.502444867918},"targetPosition":{"x":18706.23273605101,"y":17473.81823343234},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End - Zone Resistance","id":"1f76e686-6537-4818-a4c8-f70dc4ec3c4f"}}},{"type":"Polygon Vertex","name":"End + Zone Resistance","id":"60b0dc5b-992a-4c56-baed-99f61db77df2","savedPayload":{"position":{"x":18985.207443013023,"y":17120.72743367191},"targetPosition":{"x":18706.23273605101,"y":17473.81823343234},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End + Zone Resistance","id":"ee66793e-1c2d-4a17-8c0c-f086656eb0a6"}}},{"type":"Polygon Vertex","name":"Begin + Zone Resistance","id":"3381e89f-ca2d-4f2a-808d-6dd705b6da98","savedPayload":{"position":{"x":19056.78305919509,"y":17191.65786955467},"targetPosition":{"x":18706.23273605101,"y":17473.81823343234},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin + Zone Resistance","id":"72bab256-b619-4bb5-b188-e3da6d412f2f"}}}],"id":"550e31bb-a95f-4fad-bfbb-b42aae7dc5d3","savedPayload":{"position":{"x":18706.23273605101,"y":17473.81823343234},"targetPosition":{"x":18559.53165870178,"y":17899.23425793609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"706e4ed7-a497-41a4-a9b0-28f07c4c3b69","savedPayload":{"position":{"x":18559.53165870178,"y":17899.23425793609},"targetPosition":{"x":18954.999359399666,"y":18113.955700052913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Resistance Bounces","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Level 1 ZONE","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance1Bounce1","id":"19e11730-5eb7-4185-8d37-0ff69d6124ad","savedPayload":{"position":{"x":24789.98324380965,"y":6785.553294432173},"targetPosition":{"x":24932.845152383063,"y":6970.600687194404},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"efea3cfd-0f4a-4ae0-9370-33474500839b","savedPayload":{"position":{"x":24932.845152383063,"y":6970.600687194404},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 1 @ 2 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance1Bounce2","id":"271bbb18-0632-42ad-82c4-c4212c705df2","savedPayload":{"position":{"x":24952.01449391244,"y":6680.600834120359},"targetPosition":{"x":25062.470152465296,"y":6886.638718944952},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"928c418e-3c43-4207-b50d-23bad01797e1","savedPayload":{"position":{"x":25062.470152465296,"y":6886.638718944952},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 1 @ 3 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance1Bounce3","id":"a8976927-0aa4-40ea-86d7-027862c25e8e","savedPayload":{"position":{"x":25129.110456159782,"y":6603.749255795217},"targetPosition":{"x":25204.146922263168,"y":6825.157456284839},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"fa920c04-f22d-4664-ba32-da5b20c08547","savedPayload":{"position":{"x":25204.146922263168,"y":6825.157456284839},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 1 @ 5 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance1Bounce5","id":"20cbe22e-edd4-4907-97a7-845941d2c1dd","savedPayload":{"position":{"x":25316.44041435628,"y":6557.094870176349},"targetPosition":{"x":25354.010888820365,"y":6787.833947789744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"af681228-ea92-40fa-ad2b-52dd554054e4","savedPayload":{"position":{"x":25354.010888820365,"y":6787.833947789744},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 1 @ 10 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance1Bounce10","id":"7763bf76-320a-46eb-b178-96d26ce2397a","savedPayload":{"position":{"x":25508.894495575092,"y":6541.910287284528},"targetPosition":{"x":25507.974153795414,"y":6775.686281476287},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"b51a6189-7b10-413f-b7ac-774c1d3101b0","savedPayload":{"position":{"x":25507.974153795414,"y":6775.686281476287},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 1 @ All","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance1BounceAll","id":"485706b2-81af-4cea-8073-be49adbfb553","savedPayload":{"position":{"x":25701.223054170918,"y":6558.60970295779},"targetPosition":{"x":25661.837000672076,"y":6789.045814014898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"696352b4-4de4-42a0-9262-cc44f98ad112","savedPayload":{"position":{"x":25661.837000672076,"y":6789.045814014898},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 2 ZONE","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance2Bounce1","id":"5b9eb49c-20c0-4635-90b4-f67412864b48","savedPayload":{"position":{"x":25888.179868428397,"y":6606.737600668696},"targetPosition":{"x":25811.40245207806,"y":6827.548132183622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"33f2c959-9c62-4372-b925-a4cb4caed593","savedPayload":{"position":{"x":25811.40245207806,"y":6827.548132183622},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 2 @ 2 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance2Bounce2","id":"3e974257-e6e9-4b40-b1df-24c9ecc00ad1","savedPayload":{"position":{"x":26064.66524381462,"y":6684.9811768277605},"targetPosition":{"x":25952.590752387037,"y":6890.142993110873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"0b9de83a-dc2c-4031-a516-4410130e45e4","savedPayload":{"position":{"x":25952.590752387037,"y":6890.142993110873},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 2 @ 3 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance2Bounce3","id":"3c98c74a-5f60-4493-9c7d-398b6c84ce7d","savedPayload":{"position":{"x":26225.865119352096,"y":6791.206150643142},"targetPosition":{"x":26081.55065281702,"y":6975.122972163179},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"e318ca5e-f179-42c4-a81e-d267697a9d4f","savedPayload":{"position":{"x":26081.55065281702,"y":6975.122972163179},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 2 @ 5 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance2Bounce5","id":"79505072-1808-46e6-95be-3676d263ade3","savedPayload":{"position":{"x":26367.38238265287,"y":6922.5149817369975},"targetPosition":{"x":26194.76446345764,"y":7080.170037038263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"41586c08-f8d7-4786-8659-fdd065c250f1","savedPayload":{"position":{"x":26194.76446345764,"y":7080.170037038263},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 2 @ 10 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance2Bounce10","id":"506022c0-8f3e-48c2-a0b6-8f1dc42f31c1","savedPayload":{"position":{"x":26485.35681168208,"y":7075.325907493664},"targetPosition":{"x":26289.144006681006,"y":7202.4187776435965},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"4e44fa84-0ff5-414c-ba9c-37444ff4c34b","savedPayload":{"position":{"x":26289.144006681006,"y":7202.4187776435965},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 2 @ All","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance2BounceAll","id":"3267f58b-c446-4ca9-a0c1-614b28dd45da","savedPayload":{"position":{"x":26576.57037155218,"y":7245.470644206852},"targetPosition":{"x":26362.11485457709,"y":7338.534567014147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"1a91ff9b-6df8-4e5a-8369-f962e2cf0939","savedPayload":{"position":{"x":26362.11485457709,"y":7338.534567014147},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 3 ZONE","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance3Bounce1","id":"b8fefe16-88c8-46c7-aff6-f1f6a82a2235","savedPayload":{"position":{"x":26638.534994125926,"y":7428.30808699325},"targetPosition":{"x":26411.68655263608,"y":7484.804521243265},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"82c0551b-691c-4d7f-8380-9dcab27af775","savedPayload":{"position":{"x":26411.68655263608,"y":7484.804521243265},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 3 @ 2 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance3Bounce2","id":"c750976a-b090-4018-98c4-5b435b20586c","savedPayload":{"position":{"x":26669.560446029216,"y":7618.850907035288},"targetPosition":{"x":26436.506914158716,"y":7637.238777276896},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"726070ae-bc63-4509-a421-164dfb43a1ec","savedPayload":{"position":{"x":26436.506914158716,"y":7637.238777276896},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 3 @ 3 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance3Bounce3","id":"69d28461-7ed2-448f-a240-5bcbe67477d4","savedPayload":{"position":{"x":26668.80043381145,"y":7811.901592910283},"targetPosition":{"x":26435.898904384503,"y":7791.679325976892},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"07b0eac7-9674-4894-813b-6750063b7c77","savedPayload":{"position":{"x":26435.898904384503,"y":7791.679325976892},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 3 @ 5 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance3Bounce5","id":"67145f61-12a8-4ebd-a4c3-4ea001b8d0e8","savedPayload":{"position":{"x":26636.275688624726,"y":8002.194225153138},"targetPosition":{"x":26409.879108235124,"y":7943.913431771176},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"1a5e3bc0-ea93-49fd-a4e3-47734fd92d8a","savedPayload":{"position":{"x":26409.879108235124,"y":7943.913431771176},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 3 @ 10 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance3Bounce10","id":"cd167fdb-412f-4319-b2e6-9f181d0d8255","savedPayload":{"position":{"x":26572.87340073205,"y":8184.53811681214},"targetPosition":{"x":26359.157277920982,"y":8089.788545098378},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"6064d4e0-e627-4f14-8d25-9f7634703aa2","savedPayload":{"position":{"x":26359.157277920982,"y":8089.788545098378},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 3 @ All","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance3BounceAll","id":"0b609743-af25-4879-af19-a29fe6b69c70","savedPayload":{"position":{"x":26480.32301926971,"y":8353.959401857885},"targetPosition":{"x":26285.116972751108,"y":8225.325573134973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"04d4d459-e942-407a-9fdf-7a010a610e3a","savedPayload":{"position":{"x":26285.116972751108,"y":8225.325573134973},"targetPosition":{"x":25504.29278667671,"y":7710.790258243326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ae66154f-2772-495c-a77b-1989dba9a3e7","savedPayload":{"position":{"x":18825.846030357177,"y":17843.180114747956},"targetPosition":{"x":18954.999359399666,"y":18113.955700052913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Resistance Levels","config":"{ \n\"codeName\": \"Resistances Rates & Periods\"\n}","panelData":[{"type":"Panel Data","name":"Rate 1","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance1Rate","id":"bc06940a-6869-473e-9c2b-51e2c842595d","savedPayload":{"position":{"x":23402.652480641485,"y":6165.808546951855},"targetPosition":{"x":24065.92851230107,"y":6819.980888849994},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6128b932-f039-4825-aff3-9b000b167e1b","savedPayload":{"position":{"x":24065.92851230107,"y":6819.980888849994},"targetPosition":{"x":24729.524656551253,"y":7473.910371957571},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period 1","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance1Period","id":"c32e2d59-7d5b-49b7-b094-4d3cb9110cf0","savedPayload":{"position":{"x":23602.623058144225,"y":5990.027181639252},"targetPosition":{"x":24165.983754612833,"y":6732.001139905176},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"99549259-ee7d-4cc2-9539-4e6fc71685fe","savedPayload":{"position":{"x":24165.983754612833,"y":6732.001139905176},"targetPosition":{"x":24729.524656551253,"y":7473.910371957571},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Rate 2","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance2Rate","id":"a6a4f0a8-8c28-4044-8a6c-5d4570b7e2d4","savedPayload":{"position":{"x":23825.411376922722,"y":5844.65111826482},"targetPosition":{"x":24277.409365063173,"y":6659.281822478833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fdb40161-0479-4dc2-8597-6a07de70a255","savedPayload":{"position":{"x":24277.409365063173,"y":6659.281822478833},"targetPosition":{"x":24729.524656551253,"y":7473.910371957571},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period 2","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance2Period","id":"7db005db-700c-4b6c-8778-754f72c74872","savedPayload":{"position":{"x":24066.573731892586,"y":5732.498572286655},"targetPosition":{"x":24398.025541122286,"y":6603.1846371404645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c2ae4875-3ec7-43a4-903d-3e60f9c44e97","savedPayload":{"position":{"x":24398.025541122286,"y":6603.1846371404645},"targetPosition":{"x":24729.524656551253,"y":7473.910371957571},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Rate 3","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance3Rate","id":"d845f56a-ff31-412a-8a32-0b579d044f09","savedPayload":{"position":{"x":24321.263372448277,"y":5655.815109802395},"targetPosition":{"x":24525.381822744628,"y":6564.839141955126},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"098554ac-043a-43c1-a87c-09bec4bbd3af","savedPayload":{"position":{"x":24525.381822744628,"y":6564.839141955126},"targetPosition":{"x":24729.524656551253,"y":7473.910371957571},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period 3","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance3Period","id":"92d8b4e1-da71-47b1-9501-e693f9e76290","savedPayload":{"position":{"x":24584.2716847018,"y":5616.177153296828},"targetPosition":{"x":24656.89529413411,"y":6545.016766522994},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bb93a05d-7b62-4a48-9fbd-e6f47a8bd962","savedPayload":{"position":{"x":24656.89529413411,"y":6545.016766522994},"targetPosition":{"x":24729.524656551253,"y":7473.910371957571},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Rate 4","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance4Rate","id":"654cbecf-716f-4df3-a49a-816c0607ea25","savedPayload":{"position":{"x":24849.629016182702,"y":5614.382559126916},"targetPosition":{"x":24789.60596027019,"y":6544.119957006159},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dfb65955-2b62-485a-adc3-78dab8ed4602","savedPayload":{"position":{"x":24789.60596027019,"y":6544.119957006159},"targetPosition":{"x":24729.524656551253,"y":7473.910371957571},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period 4","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance4Period","id":"32e7a536-bc8a-4e1d-b5ae-2f495604218e","savedPayload":{"position":{"x":25113.152564143515,"y":5650.46980035962},"targetPosition":{"x":24921.39746555529,"y":6562.172893159583},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c5d75ff9-cee7-4d53-ac2c-81c6f5ee5f28","savedPayload":{"position":{"x":24921.39746555529,"y":6562.172893159583},"targetPosition":{"x":24729.524656551253,"y":7473.910371957571},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Rate 5","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance5Rate","id":"f4ba1f5e-7fc6-4afa-8cc9-7588c9dd63eb","savedPayload":{"position":{"x":25368.893389800298,"y":5723.719396054287},"targetPosition":{"x":25049.307109085836,"y":6598.817669168045},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"57a7830b-b73c-4332-81d2-8fd13a6f2666","savedPayload":{"position":{"x":25049.307109085836,"y":6598.817669168045},"targetPosition":{"x":24729.524656551253,"y":7473.910371957571},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period 5","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.resistance5Period","id":"aa5f5bdc-b7c9-4480-a31a-aecd9d050335","savedPayload":{"position":{"x":25611.79781804385,"y":5832.74460655656},"targetPosition":{"x":25170.854623729858,"y":6653.392358358297},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"94b8ef36-ab61-481b-94e2-59c12afa224a","savedPayload":{"position":{"x":25170.854623729858,"y":6653.392358358297},"targetPosition":{"x":24729.524656551253,"y":7473.910371957571},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dfd9d091-e377-4ece-be8c-5916271e161b","savedPayload":{"position":{"x":19009.67001704731,"y":17818.979227783726},"targetPosition":{"x":18954.999359399666,"y":18113.955700052913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Resistance Zone Sizes","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Zone * 1","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.supportResistanceZone","id":"d6cb0538-10ab-4849-8966-1e5e4071140e","savedPayload":{"position":{"x":25785.427513582068,"y":9349.469501150506},"targetPosition":{"x":25669.629287811484,"y":9332.31966127461},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"65b668fb-93ae-465b-b8cd-4bb809d1133b","savedPayload":{"position":{"x":25669.629287811484,"y":9332.31966127461},"targetPosition":{"x":25208.325005047252,"y":9263.159200410752},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Zone * 2","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.supportResistanceZone * 2","id":"0b1d7b11-e52c-4174-bdf1-7073e0ca3cdd","savedPayload":{"position":{"x":25664.671470668553,"y":9626.74958976385},"targetPosition":{"x":25573.074104613337,"y":9553.852901839355},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"4c85c218-3b93-4066-9f5a-502c6185f65b","savedPayload":{"position":{"x":25573.074104613337,"y":9553.852901839355},"targetPosition":{"x":25208.325005047252,"y":9263.159200410752},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Zone * 3","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.supportResistanceZone * 3","id":"a736e939-3c77-474a-811a-5415d69645d2","savedPayload":{"position":{"x":25421.51442831306,"y":9806.306272699123},"targetPosition":{"x":25378.737486172922,"y":9697.327628552763},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"3207cf58-21a5-46a5-859b-09097ae163cc","savedPayload":{"position":{"x":25378.737486172922,"y":9697.327628552763},"targetPosition":{"x":25208.325005047252,"y":9263.159200410752},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Zone * 5","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.supportResistanceZone * 5","id":"29bf1a3e-b2a3-4f4d-aa89-cb399a82b956","savedPayload":{"position":{"x":25121.810978565438,"y":9840.11189533685},"targetPosition":{"x":25139.01768938619,"y":9724.35269577409},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"4c83cdb9-4a58-455f-ac1a-f945a002d59d","savedPayload":{"position":{"x":25139.01768938619,"y":9724.35269577409},"targetPosition":{"x":25208.325005047252,"y":9263.159200410752},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Zone * 10","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.supportResistanceZone * 10","id":"3d9c734f-8270-4a2e-9bc8-a2b44ba14c67","savedPayload":{"position":{"x":24844.798801719404,"y":9718.951885142826},"targetPosition":{"x":24917.59675792558,"y":9627.62527330801},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"13dac5fd-938e-4c10-a9bc-3a81bfa60c4f","savedPayload":{"position":{"x":24917.59675792558,"y":9627.62527330801},"targetPosition":{"x":25208.325005047252,"y":9263.159200410752},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5341a87b-52b4-455d-b8f6-d1cbc4102fb1","savedPayload":{"position":{"x":19172.61167070335,"y":17907.449327344788},"targetPosition":{"x":18954.999359399666,"y":18113.955700052913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"156b4fa7-7f8f-4464-8ddb-6eb6123bc5c3","savedPayload":{"position":{"x":18954.999359399666,"y":18113.955700052913},"targetPosition":{"x":18994.15721706568,"y":18411.389158465056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Supports","config":"{ \n\"codeName\": \"Resistances-And-Supports\",\n\"icon\": \"layer-support\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"Base Support","points":[{"type":"Point","name":"Base Left","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin - (record.end - record.begin)\ny = record.rateSupport","id":"8bb830a6-b8f7-45c5-9f5e-b32b13680bff","savedPayload":{"position":{"x":22005.525731022088,"y":9744.793231879943},"targetPosition":{"x":22781.489251153667,"y":9228.67398394475},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c3182836-3d36-45b4-8384-d4ecf78ebcc0","savedPayload":{"position":{"x":22781.489251153667,"y":9228.67398394475},"targetPosition":{"x":23557.49123240532,"y":8712.514063231194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Base Right","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end- (record.end - record.begin)\ny = record.rateSupport","id":"a8ca9f48-585e-4f2d-adb4-e4909bdf4791","savedPayload":{"position":{"x":21697.190442117895,"y":8830.34565009053},"targetPosition":{"x":22627.302552951227,"y":8771.42246415238},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"beb7e536-5af8-4b52-8194-8053bf181c4a","savedPayload":{"position":{"x":22627.302552951227,"y":8771.42246415238},"targetPosition":{"x":23557.49123240532,"y":8712.514063231194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f84691c4-7a7e-4dba-bd93-82443b0b1f22","savedPayload":{"position":{"x":18927.21056883054,"y":17887.248054577743},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Support Levels","points":[{"type":"Point","name":"Begin 1","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support1Rate","id":"09444c80-7a46-4b7a-8c68-5e01e88e589d","savedPayload":{"position":{"x":23944.57767050824,"y":11854.482786265573},"targetPosition":{"x":23780.174006868183,"y":10936.21265760778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d621b89c-3082-47ed-836e-7a98d611df2b","savedPayload":{"position":{"x":23780.174006868183,"y":10936.21265760778},"targetPosition":{"x":23615.760101426054,"y":10017.84135803557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 1","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support1Rate","id":"67cb9789-cfe5-40e4-95c8-9b979a1fab14","savedPayload":{"position":{"x":23679.755746831128,"y":11882.60161151117},"targetPosition":{"x":23647.690265121455,"y":10950.267153648349},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bed52b2e-acb6-4b21-90de-8fd08dcd5d34","savedPayload":{"position":{"x":23647.690265121455,"y":10950.267153648349},"targetPosition":{"x":23615.760101426054,"y":10017.84135803557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 2","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support2Rate","id":"03925809-b409-4894-bfda-530b1a0459d1","savedPayload":{"position":{"x":23377.753811231774,"y":11894.885786221335},"targetPosition":{"x":23514.837600532424,"y":10945.333976248292},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"95e33e9a-7524-4efa-b431-7b4532cf947b","savedPayload":{"position":{"x":23514.837600532424,"y":10945.333976248292},"targetPosition":{"x":23615.760101426054,"y":10017.84135803557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 2","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support2Rate","id":"a62f6b4c-385c-478a-93c1-859aa0474043","savedPayload":{"position":{"x":23151.965615788995,"y":11825.080550700666},"targetPosition":{"x":23383.87962861463,"y":10921.51775405988},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"636187fb-4abe-4524-a3e2-c5930abb7b15","savedPayload":{"position":{"x":23383.87962861463,"y":10921.51775405988},"targetPosition":{"x":23615.760101426054,"y":10017.84135803557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 3","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support3Rate","id":"7212b514-8bde-4ae1-a992-fb4071aa8488","savedPayload":{"position":{"x":22899.611111221864,"y":11740.694369243236},"targetPosition":{"x":23257.714593704655,"y":10879.330507701045},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"85f4f1ed-4b3d-4381-af30-a85e4bfd6dd7","savedPayload":{"position":{"x":23257.714593704655,"y":10879.330507701045},"targetPosition":{"x":23615.760101426054,"y":10017.84135803557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 3","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support3Rate","id":"a9fc5970-796f-4544-87ca-00348ed4046a","savedPayload":{"position":{"x":22662.23456273253,"y":11621.248270142389},"targetPosition":{"x":23139.288943454198,"y":10819.629955352988},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9fc5841d-ba9c-4ae6-a445-d609b0e947dd","savedPayload":{"position":{"x":23139.288943454198,"y":10819.629955352988},"targetPosition":{"x":23615.760101426054,"y":10017.84135803557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 4","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support4Rate","id":"118ccc56-a5b5-4920-a501-4189b994d311","savedPayload":{"position":{"x":22453.178304816698,"y":11426.431460734637},"targetPosition":{"x":23039.44164320069,"y":10700.907044891488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e69a3f5b-dcde-4d4a-8ac7-87616ebf68f3","savedPayload":{"position":{"x":23039.44164320069,"y":10700.907044891488},"targetPosition":{"x":23615.760101426054,"y":10017.84135803557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 4","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support4Rate","id":"ebba1443-0bea-488a-96eb-296a71982003","savedPayload":{"position":{"x":22248.166279780355,"y":11286.932013141362},"targetPosition":{"x":22931.759124841177,"y":10652.225525873111},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1832f8f2-ac4a-4e1f-94ff-c29c18a350d7","savedPayload":{"position":{"x":22931.759124841177,"y":10652.225525873111},"targetPosition":{"x":23615.760101426054,"y":10017.84135803557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 5","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support5Rate","id":"423203ac-08c7-48d8-a842-2b604424d7fb","savedPayload":{"position":{"x":22081.587151342213,"y":11079.555840628385},"targetPosition":{"x":22848.55413713599,"y":10548.622253893142},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"aa501f2a-8d27-40af-aaea-58bc7c5f42db","savedPayload":{"position":{"x":22848.55413713599,"y":10548.622253893142},"targetPosition":{"x":23615.760101426054,"y":10017.84135803557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 5","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support5Rate","id":"7e6b4f5d-ef8e-4dd6-bc79-4df9a7bed772","savedPayload":{"position":{"x":21946.02484239402,"y":10850.254347177015},"targetPosition":{"x":22780.766683019592,"y":10433.929304196705},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6aa7f5e1-5987-4619-8ec7-39a424d7734a","savedPayload":{"position":{"x":22780.766683019592,"y":10433.929304196705},"targetPosition":{"x":23615.760101426054,"y":10017.84135803557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"97155ce8-2969-4d0a-8626-1205a45a0ada","savedPayload":{"position":{"x":18938.112302168134,"y":17838.914654141336},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Support Zone 1","points":[{"type":"Point","name":"Begin - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support1Rate - record.support1Rate * record.supportResistanceZone / 2 / 100","id":"37e59f5d-ac15-478b-8d47-f834a01baa5b","savedPayload":{"position":{"x":22350.415504733937,"y":8667.725443016196},"targetPosition":{"x":22578.610192862092,"y":8616.451498141789},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"99a2940d-3e17-43dc-82ae-6bfd948adaf5","savedPayload":{"position":{"x":22578.610192862092,"y":8616.451498141789},"targetPosition":{"x":23034.324465401984,"y":8513.965582582136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support1Rate - record.support1Rate * record.supportResistanceZone / 2 / 100","id":"79ea9f9a-e251-47d9-ac57-a549e0e31dd5","savedPayload":{"position":{"x":22336.173931246434,"y":8448.937046737065},"targetPosition":{"x":22569.049068199838,"y":8470.617127337653},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"fbd722bf-0f89-46e6-9933-2ce46f906efa","savedPayload":{"position":{"x":22569.049068199838,"y":8470.617127337653},"targetPosition":{"x":23034.324465401984,"y":8513.965582582136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support1Rate + record.support1Rate * record.supportResistanceZone / 2 / 100","id":"14e3bbb5-81e4-4016-866f-6b7bd9772d27","savedPayload":{"position":{"x":22390.536398596636,"y":8236.258046120369},"targetPosition":{"x":22605.38224429456,"y":8328.913345376663},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c112aca0-14de-4cc3-9e05-20b28aed8dd2","savedPayload":{"position":{"x":22605.38224429456,"y":8328.913345376663},"targetPosition":{"x":23034.324465401984,"y":8513.965582582136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support1Rate + record.support1Rate * record.supportResistanceZone / 2 / 100","id":"90cb47a2-5e59-4c6b-b160-0c9df8ba924d","savedPayload":{"position":{"x":22507.997951086356,"y":8050.67539189195},"targetPosition":{"x":22683.6147042578,"y":8205.257082724589},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"bef0f6c3-3a0d-4c72-a2df-7714001aeb59","savedPayload":{"position":{"x":22683.6147042578,"y":8205.257082724589},"targetPosition":{"x":23034.324465401984,"y":8513.965582582136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"70ec5d22-e80f-4a61-b20e-ed94be657d01","savedPayload":{"position":{"x":18956.82076631406,"y":17793.03482462105},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Support Zone 2","points":[{"type":"Point","name":"Begin - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support2Rate - record.support2Rate * record.supportResistanceZone / 2 / 100","id":"2a58f164-97fc-4550-b028-d35ef0900bcc","savedPayload":{"position":{"x":22237.17797300179,"y":8369.843453405316},"targetPosition":{"x":22468.863383464904,"y":8338.154432154693},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c3c04eac-b594-45bd-9306-c615bdf6f960","savedPayload":{"position":{"x":22468.863383464904,"y":8338.154432154693},"targetPosition":{"x":22931.646932340664,"y":8274.76697423093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support2Rate - record.support2Rate * record.supportResistanceZone / 2 / 100","id":"f77871dc-1447-4dc9-8c31-ea23dbd0a485","savedPayload":{"position":{"x":22241.757485942566,"y":8150.64093975554},"targetPosition":{"x":22471.906142391894,"y":8192.023870030407},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"afd0cabf-291e-464f-82f9-5a17f55afd09","savedPayload":{"position":{"x":22471.906142391894,"y":8192.023870030407},"targetPosition":{"x":22931.646932340664,"y":8274.76697423093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support2Rate + record.support2Rate * record.supportResistanceZone / 2 / 100","id":"ec1b5181-9ba5-43b5-8ece-8f4c21ef4202","savedPayload":{"position":{"x":22313.965488065485,"y":7943.377877245793},"targetPosition":{"x":22520.071918549012,"y":8053.929182541061},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cdd44658-8050-41fa-8a8f-82677b9a149b","savedPayload":{"position":{"x":22520.071918549012,"y":8053.929182541061},"targetPosition":{"x":22931.646932340664,"y":8274.76697423093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support2Rate + record.support2Rate * record.supportResistanceZone / 2 / 100","id":"ed068681-8ff2-4d6b-a448-b23473de9729","savedPayload":{"position":{"x":22446.782857096932,"y":7768.493715259553},"targetPosition":{"x":22608.536449822237,"y":7937.374709887046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"827e511d-aebc-49a2-86de-8869ef2a11b5","savedPayload":{"position":{"x":22608.536449822237,"y":7937.374709887046},"targetPosition":{"x":22931.646932340664,"y":8274.76697423093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a339b25e-ffc5-4c3c-84d3-f27b72414868","savedPayload":{"position":{"x":18982.82564313574,"y":17750.860048166407},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Support Zone 3","points":[{"type":"Point","name":"Begin - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support3Rate - record.support3Rate * record.supportResistanceZone / 2 / 100","id":"eacddf75-c7b4-47a1-a099-68e8fcc7f84d","savedPayload":{"position":{"x":22885.839534156687,"y":8070.192962811262},"targetPosition":{"x":23119.44785873425,"y":8058.324063612088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"765f38a2-4cba-49fd-8c86-dd51c8e215db","savedPayload":{"position":{"x":23119.44785873425,"y":8058.324063612088},"targetPosition":{"x":23586.00439745008,"y":8034.488172763839},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support3Rate - record.support3Rate * record.supportResistanceZone / 2 / 100","id":"0bff84b6-e263-4c4b-ae96-a7ef1ef6bd3c","savedPayload":{"position":{"x":22909.062325054903,"y":7852.212296327264},"targetPosition":{"x":23134.959257477538,"y":7913.007956869462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"615e7f76-5ca1-4d42-84f6-0129a2eea01c","savedPayload":{"position":{"x":23134.959257477538,"y":7913.007956869462},"targetPosition":{"x":23586.00439745008,"y":8034.488172763839},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support3Rate + record.support3Rate * record.supportResistanceZone / 2 / 100","id":"6d7cb8d5-bcc9-4a40-adbc-84f31327e14d","savedPayload":{"position":{"x":22998.6714722819,"y":7651.80297531816},"targetPosition":{"x":23194.670147820976,"y":7779.488671059743},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cf270516-0d12-45be-834a-c0024b840b3c","savedPayload":{"position":{"x":23194.670147820976,"y":7779.488671059743},"targetPosition":{"x":23586.00439745008,"y":8034.488172763839},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support3Rate + record.support3Rate * record.supportResistanceZone / 2 / 100","id":"958558ab-3e1b-40b1-bebe-0a7ef60ab54d","savedPayload":{"position":{"x":23145.882597422555,"y":7488.83198742221},"targetPosition":{"x":23292.72388552337,"y":7670.880535149921},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"dd6e16bd-9458-47f8-bce8-856baa66a2d3","savedPayload":{"position":{"x":23292.72388552337,"y":7670.880535149921},"targetPosition":{"x":23586.00439745008,"y":8034.488172763839},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"84a9a192-bc61-4080-855b-9cc491fd71fe","savedPayload":{"position":{"x":19015.417587383134,"y":17713.54074273765},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Support Zone 4","points":[{"type":"Point","name":"Begin - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support4Rate - record.support4Rate * record.supportResistanceZone / 2 / 100","id":"97800a02-901d-46ef-9174-b40d1fbeb396","savedPayload":{"position":{"x":23492.906009771767,"y":7137.104432828727},"targetPosition":{"x":23677.29103283157,"y":7280.9742710306955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8a3f2434-8ab8-44aa-931f-f0aa0bed6310","savedPayload":{"position":{"x":23677.29103283157,"y":7280.9742710306955},"targetPosition":{"x":24045.438694160093,"y":7568.374820670971},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support4Rate - record.support4Rate * record.supportResistanceZone / 2 / 100","id":"bcf5f895-aee0-4e65-b4d6-291f37c6708f","savedPayload":{"position":{"x":23653.533082324408,"y":6987.259868470931},"targetPosition":{"x":23784.35071924742,"y":7181.176340979468},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"13dd9d54-d74f-4863-9e86-88b79c9ebe2b","savedPayload":{"position":{"x":23784.35071924742,"y":7181.176340979468},"targetPosition":{"x":24045.438694160093,"y":7568.374820670971},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support4Rate + record.support4Rate * record.supportResistanceZone / 2 / 100","id":"25dce519-15a1-4420-a05b-49257bfb8995","savedPayload":{"position":{"x":23852.48742340411,"y":6894.706068796566},"targetPosition":{"x":23916.904251129083,"y":7119.587872330534},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6ae4a3ec-2a81-4bae-ae75-3ced2c5cd1cd","savedPayload":{"position":{"x":23916.904251129083,"y":7119.587872330534},"targetPosition":{"x":24045.438694160093,"y":7568.374820670971},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support4Rate + record.support4Rate * record.supportResistanceZone / 2 / 100","id":"11d60ea2-9963-46dc-a7c1-953cf8e06e4a","savedPayload":{"position":{"x":24069.859464600384,"y":6867.718511763622},"targetPosition":{"x":24061.763122051907,"y":7101.505534293173},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"73ecbfa9-1e21-4c80-8f17-6eff316dc2d5","savedPayload":{"position":{"x":24061.763122051907,"y":7101.505534293173},"targetPosition":{"x":24045.438694160093,"y":7568.374820670971},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e1efc35b-b8ca-4abb-bfcc-2b18747ad690","savedPayload":{"position":{"x":19053.70757577803,"y":17682.09488170271},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Support Zone 5","points":[{"type":"Point","name":"Begin - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support5Rate - record.support5Rate * record.supportResistanceZone / 2 / 100","id":"3a397c6e-4bcc-464b-8dda-084c9083d8ac","savedPayload":{"position":{"x":23556.13823722282,"y":7090.698107309524},"targetPosition":{"x":23732.48488514783,"y":7244.358460063202},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f1da5793-706f-4884-af96-51be961434e8","savedPayload":{"position":{"x":23732.48488514783,"y":7244.358460063202},"targetPosition":{"x":24084.438760467197,"y":7551.191866803906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End - Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support5Rate - record.support5Rate * record.supportResistanceZone / 2 / 100","id":"bb8bdab3-a9c1-4288-aa35-3836872c0879","savedPayload":{"position":{"x":23724.67645878617,"y":6949.786711685946},"targetPosition":{"x":23844.805296235514,"y":7150.544541868501},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ca37a88a-7a07-40c8-99ac-f8b8ff2d5d4d","savedPayload":{"position":{"x":23844.805296235514,"y":7150.544541868501},"targetPosition":{"x":24084.438760467197,"y":7551.191866803906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.support5Rate + record.support5Rate * record.supportResistanceZone / 2 / 100","id":"3331746d-bc53-41a4-990f-5eb061c90f71","savedPayload":{"position":{"x":23928.22583168194,"y":6867.910113749787},"targetPosition":{"x":23980.354432851916,"y":7096.012578426997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e1833970-01d0-4715-ad2d-9e717510fd30","savedPayload":{"position":{"x":23980.354432851916,"y":7096.012578426997},"targetPosition":{"x":24084.438760467197,"y":7551.191866803906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End + Zone Resistance","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.support5Rate + record.support5Rate * record.supportResistanceZone / 2 / 100","id":"39bc39ce-251f-4b18-8979-503e0ff9ccf2","savedPayload":{"position":{"x":24146.817507990614,"y":6852.847135777271},"targetPosition":{"x":24126.06200651955,"y":7085.891657975346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"15092839-5205-4e95-b729-0ed82fcfe928","savedPayload":{"position":{"x":24126.06200651955,"y":7085.891657975346},"targetPosition":{"x":24084.438760467197,"y":7551.191866803906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fc8b9272-d199-4b95-b168-a8da25c5b86b","savedPayload":{"position":{"x":19096.651157251563,"y":17657.380226177378},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Support Line 1","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.support1Rate > 0","id":"e5678d95-7929-42d1-8eb2-ba51b0572876","savedPayload":{"position":{"x":22925.67707561487,"y":8986.288047722448},"targetPosition":{"x":23541.81904810893,"y":9119.663471808117},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [1,5],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"1b1df2b6-4914-4feb-a4f7-c8f512b9782d","savedPayload":{"position":{"x":22366.435589574296,"y":8663.425089513543},"targetPosition":{"x":22954.127318841613,"y":8891.54428066083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"c7501b66-ee83-48ae-8985-758803465027","savedPayload":{"position":{"x":22954.127318841613,"y":8891.54428066083},"targetPosition":{"x":23541.81904810893,"y":9119.663471808117},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 1","id":"7df5f6a2-5785-4f8d-a580-1b389606d6e9","savedPayload":{"position":{"x":22997.04848287994,"y":8802.417565169446},"targetPosition":{"x":23541.81904810893,"y":9119.663471808117},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 1","id":"d621b89c-3082-47ed-836e-7a98d611df2b"}}},{"type":"Polygon Vertex","name":"End 1","id":"78cc5e46-abcc-4801-9115-a66e8ac81704","savedPayload":{"position":{"x":23053.38370622406,"y":8721.102496778309},"targetPosition":{"x":23541.81904810893,"y":9119.663471808117},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 1","id":"bed52b2e-acb6-4b21-90de-8fd08dcd5d34"}}}],"id":"8baf5a5e-fde5-4405-aea2-035bfa3872c1","savedPayload":{"position":{"x":19143.076942846703,"y":17640.070927538083},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Support Line 2","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.support2Rate > 0","id":"0ae326f3-874b-47bb-9064-2e04fa2e38eb","savedPayload":{"position":{"x":22999.574366531968,"y":8814.351278703847},"targetPosition":{"x":23588.955966807313,"y":9038.068205367377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [1,5],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TURQUOISE\"\n }\n}","id":"b09aa70a-6823-45fb-aa40-9ebf5df20f73","savedPayload":{"position":{"x":22494.699372786898,"y":8411.743814561427},"targetPosition":{"x":23041.827669797105,"y":8724.906009964401},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"87204e2e-e562-426d-aed8-5ead73ef48f7","savedPayload":{"position":{"x":23041.827669797105,"y":8724.906009964401},"targetPosition":{"x":23588.955966807313,"y":9038.068205367377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 2","id":"787fc2c9-a2c4-447e-b7ab-fa46c78b9653","savedPayload":{"position":{"x":23097.553087549346,"y":8643.171833801518},"targetPosition":{"x":23588.955966807313,"y":9038.068205367377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 2","id":"95e33e9a-7524-4efa-b431-7b4532cf947b"}}},{"type":"Polygon Vertex","name":"End 2","id":"3e493a72-7315-4688-93f2-54973cdba641","savedPayload":{"position":{"x":23165.37847506157,"y":8571.161316892503},"targetPosition":{"x":23588.955966807313,"y":9038.068205367377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 2","id":"636187fb-4abe-4524-a3e2-c5930abb7b15"}}}],"id":"baca2e09-2b91-4b8b-9176-e758bfcb4258","savedPayload":{"position":{"x":19191.7185581554,"y":17630.639138329738},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Support Line 3","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.support3Rate > 0","id":"07949760-a5fe-4a9c-a3e7-85628f7703ad","savedPayload":{"position":{"x":23098.222084798883,"y":8655.350783994067},"targetPosition":{"x":23647.67750182914,"y":8964.411746774891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [1,5],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n }\n}","id":"25eef631-4528-4acd-b69c-26a6d97436fb","savedPayload":{"position":{"x":22658.991656428767,"y":8181.992399378264},"targetPosition":{"x":23153.334579128954,"y":8573.202073076576},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"66ae3554-cec4-4591-a346-32f09e0212ab","savedPayload":{"position":{"x":23153.334579128954,"y":8573.202073076576},"targetPosition":{"x":23647.67750182914,"y":8964.411746774891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 3","id":"b5b6232d-dde2-49f8-854d-722a4cbf9f01","savedPayload":{"position":{"x":23220.619436846002,"y":8500.68624267601},"targetPosition":{"x":23647.67750182914,"y":8964.411746774891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 3","id":"85f4f1ed-4b3d-4381-af30-a85e4bfd6dd7"}}},{"type":"Polygon Vertex","name":"End 3","id":"0ff2207e-8476-4417-acb7-e799b37e48ee","savedPayload":{"position":{"x":23298.419881447393,"y":8439.58887320307},"targetPosition":{"x":23647.67750182914,"y":8964.411746774891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 3","id":"9fc5841d-ba9c-4ae6-a445-d609b0e947dd"}}}],"id":"fbe179c2-99ac-44f0-952c-c9ebb205b252","savedPayload":{"position":{"x":19241.249186711262,"y":17629.3421331751},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Support Line 4","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.support4Rate > 0","id":"38995b73-26f1-4211-81b1-4bc4500c9715","savedPayload":{"position":{"x":23219.51408345215,"y":8512.811361494301},"targetPosition":{"x":23716.769391168607,"y":8900.312449191762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [1,5],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n }\n}","id":"0e256852-2fcc-44db-b917-47ac825583c9","savedPayload":{"position":{"x":22855.73990242034,"y":7979.276100516253},"targetPosition":{"x":23286.254646794474,"y":8439.794274854008},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"8dcde804-7625-49ec-95ea-938eaf512aa6","savedPayload":{"position":{"x":23286.254646794474,"y":8439.794274854008},"targetPosition":{"x":23716.769391168607,"y":8900.312449191762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 4","id":"f0498624-74bb-4833-8113-f5570e7078f8","savedPayload":{"position":{"x":23363.59591193981,"y":8378.116674038103},"targetPosition":{"x":23716.769391168607,"y":8900.312449191762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 4","id":"e69a3f5b-dcde-4d4a-8ac7-87616ebf68f3"}}},{"type":"Polygon Vertex","name":"End 4","id":"1f0b03df-f4f7-4a58-80c5-6690c44859fb","savedPayload":{"position":{"x":23449.633480259337,"y":8329.2972662749},"targetPosition":{"x":23716.769391168607,"y":8900.312449191762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 4","id":"1832f8f2-ac4a-4e1f-94ff-c29c18a350d7"}}}],"id":"764238be-83c1-4523-a7a8-8f8245651b61","savedPayload":{"position":{"x":19290.317762083996,"y":17636.215290993754},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Support Line 5","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.support5Rate > 0","id":"d6c0fe91-6372-42e7-b594-2effc21b9086","savedPayload":{"position":{"x":23360.664656460503,"y":8389.944796595759},"targetPosition":{"x":23794.611992978436,"y":8847.229875236966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [1,5],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"7d618b16-acc1-481e-a9a1-a5fe7702098b","savedPayload":{"position":{"x":23080.472836852514,"y":7808.150955345232},"targetPosition":{"x":23437.542414915475,"y":8327.6904152911},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"1ed4cfc8-ac56-40de-9fc0-038c38385637","savedPayload":{"position":{"x":23437.542414915475,"y":8327.6904152911},"targetPosition":{"x":23794.611992978436,"y":8847.229875236966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 5","id":"841fe68b-d131-4a9e-8968-0fdd36967327","savedPayload":{"position":{"x":23523.212411428347,"y":8278.228819742919},"targetPosition":{"x":23794.611992978436,"y":8847.229875236966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 5","id":"aa501f2a-8d27-40af-aaea-58bc7c5f42db"}}},{"type":"Polygon Vertex","name":"End 5","id":"212c5989-a35a-42a2-b0e5-2427d138c950","savedPayload":{"position":{"x":23615.565166362554,"y":8242.777918587239},"targetPosition":{"x":23794.611992978436,"y":8847.229875236966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 5","id":"6aa7f5e1-5987-4619-8ec7-39a424d7734a"}}}],"id":"96977063-3da0-4745-9c71-782818e4a157","savedPayload":{"position":{"x":19337.58582144967,"y":17651.071129957385},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Support Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.typeSupport=== 'Support'","id":"056d896f-1067-4317-92af-3d201055435d","savedPayload":{"position":{"x":24539.417309534718,"y":6602.758943849875},"targetPosition":{"x":24707.80260502205,"y":7519.208723145777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0,\n \"paletteColor\": \"UI_COLOR.DARK\"\n }\n}","id":"068045f8-ddda-41c1-92b4-2d42f9e9608d","savedPayload":{"position":{"x":24831.823393195347,"y":5664.046564955249},"targetPosition":{"x":24830.705384033194,"y":6595.572469877323},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.typeSupport=== 'Support'","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK\",\n \"opacity\": 0.5\n}","id":"05143777-f193-4148-95f6-ea719e452836","savedPayload":{"position":{"x":25315.361446872794,"y":4796.804541246717},"targetPosition":{"x":25073.080454964704,"y":5696.161205794715},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"73181d20-e10c-44c4-b54c-2504b7474582","savedPayload":{"position":{"x":25073.080454964704,"y":5696.161205794715},"targetPosition":{"x":24830.705384033194,"y":6595.572469877323},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"40d55683-c8d8-407f-9fe3-f13a713fc79d","savedPayload":{"position":{"x":24830.705384033194,"y":6595.572469877323},"targetPosition":{"x":24707.80260502205,"y":7519.208723145777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Base Left","id":"362ecc6e-b0b5-456d-b727-f97b1bd60f5e","savedPayload":{"position":{"x":25110.202743207024,"y":6678.89206188562},"targetPosition":{"x":24707.80260502205,"y":7519.208723145777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Base Left","id":"c3182836-3d36-45b4-8384-d4ecf78ebcc0"}}},{"type":"Polygon Vertex","name":"Base Right","id":"63d2fd83-f7a5-4267-a416-7a5ff9e163fc","savedPayload":{"position":{"x":25350.18465769287,"y":6844.450240987945},"targetPosition":{"x":24707.80260502205,"y":7519.208723145777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Base Right","id":"beb7e536-5af8-4b52-8194-8053bf181c4a"}}}],"id":"b4567b9b-e1e1-463b-bf64-ab3e25bcbced","savedPayload":{"position":{"x":19381.76401536741,"y":17673.504421505353},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Support Zone 1","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.support1Bounce1 > 0","id":"b5bd335d-555f-4cf5-a870-84130fccdf43","savedPayload":{"position":{"x":19468.519291015058,"y":17406.587509640183},"targetPosition":{"x":19421.64727787111,"y":17702.903243923454},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"56f2b454-13f9-44ac-9714-9169421c3ab5","savedPayload":{"position":{"x":19289.631123252246,"y":17249.41834396381},"targetPosition":{"x":19533.280565723962,"y":17424.446767893245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.support1Bounce1 > 1","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 0.2\n}","id":"bf1ec91e-798c-4f93-bfb3-d89c15f94b3e","savedPayload":{"position":{"x":19143.915787831054,"y":16967.94367947389},"targetPosition":{"x":19338.59817677751,"y":17196.195223683568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"369f0304-059f-4776-b557-4bd973c8ebed","savedPayload":{"position":{"x":19338.59817677751,"y":17196.195223683568},"targetPosition":{"x":19533.280565723962,"y":17424.446767893245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support1Bounce1 > 2","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.2\n}","id":"0245085a-a486-4195-ba1b-259323a5e8a5","savedPayload":{"position":{"x":19264.478360489327,"y":16888.027739091132},"targetPosition":{"x":19398.879463106645,"y":17156.23725349219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3014da4a-245e-47bb-b1c4-690199dae1de","savedPayload":{"position":{"x":19398.879463106645,"y":17156.23725349219},"targetPosition":{"x":19533.280565723962,"y":17424.446767893245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support1Bounce1 > 3","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.2\n}","id":"43cecedf-d860-49a4-96fe-9df0d1ddf168","savedPayload":{"position":{"x":19400.66274025958,"y":16839.286522858518},"targetPosition":{"x":19466.97165299177,"y":17131.86664537588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ec472c0f-1f89-4700-8727-ef9439a38cea","savedPayload":{"position":{"x":19466.97165299177,"y":17131.86664537588},"targetPosition":{"x":19533.280565723962,"y":17424.446767893245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support1Bounce1 > 4","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.2\n}","id":"f4a644bc-9041-4f3a-9a8e-9e028d229848","savedPayload":{"position":{"x":19544.554385999643,"y":16824.55269309638},"targetPosition":{"x":19538.917475861803,"y":17124.499730494812},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"787cc836-17ba-4215-9fee-bb95a8faaae7","savedPayload":{"position":{"x":19538.917475861803,"y":17124.499730494812},"targetPosition":{"x":19533.280565723962,"y":17424.446767893245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support1Bounce1 > 5","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.4\n}","id":"f9a74516-d1e2-4856-9a22-4478cdca1820","savedPayload":{"position":{"x":19687.79083828395,"y":16844.682526435183},"targetPosition":{"x":19610.535702003956,"y":17134.564647164214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"26987001-a080-4d7c-86d2-d7962d00f6d1","savedPayload":{"position":{"x":19610.535702003956,"y":17134.564647164214},"targetPosition":{"x":19533.280565723962,"y":17424.446767893245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support1Bounce1 > 6","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.6\n}","id":"55e75ea7-2000-4205-bf6c-8c11a5275b2f","savedPayload":{"position":{"x":19822.047715149052,"y":16898.506150130266},"targetPosition":{"x":19677.664140436507,"y":17161.476459011756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a3eda536-af6e-4f5f-bb22-656d6b39bebc","savedPayload":{"position":{"x":19677.664140436507,"y":17161.476459011756},"targetPosition":{"x":19533.280565723962,"y":17424.446767893245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support1Bounce1 > 7","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.8\n}","id":"7b0919e6-f6bc-41bb-b622-526bb07e47a6","savedPayload":{"position":{"x":19939.522494915454,"y":16982.895530813363},"targetPosition":{"x":19736.40153031971,"y":17203.671149353304},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c028550f-7cfc-4396-9cd0-c3fcdece2fe5","savedPayload":{"position":{"x":19736.40153031971,"y":17203.671149353304},"targetPosition":{"x":19533.280565723962,"y":17424.446767893245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support1Bounce1 > 8","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1\n}","id":"b9e4b31f-f89c-42d0-8354-120ebdc6d77f","savedPayload":{"position":{"x":20033.387970386586,"y":17092.94626442211},"targetPosition":{"x":19783.334268055274,"y":17258.696516157677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"11201d66-b0d7-4bd4-8c18-7b64130a5a90","savedPayload":{"position":{"x":19783.334268055274,"y":17258.696516157677},"targetPosition":{"x":19533.280565723962,"y":17424.446767893245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support1Bounce1 > 9","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.6\n}","id":"82aa4a80-1427-44c3-b120-1d9fab15f7e1","savedPayload":{"position":{"x":20098.189021315167,"y":17222.26260233729},"targetPosition":{"x":19815.734793519565,"y":17323.354685115268},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9a635365-7b91-4391-9bb0-85cfee5834b3","savedPayload":{"position":{"x":19815.734793519565,"y":17323.354685115268},"targetPosition":{"x":19533.280565723962,"y":17424.446767893245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support1Bounce1 > 10","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.8\n}","id":"4bde1691-62af-4346-947e-080566ff50bd","savedPayload":{"position":{"x":20130.15964616348,"y":17363.329149045047},"targetPosition":{"x":19831.72010594372,"y":17393.887958469146},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"079b7df2-d09b-42c1-9ecc-2bd9fc5e9254","savedPayload":{"position":{"x":19831.72010594372,"y":17393.887958469146},"targetPosition":{"x":19533.280565723962,"y":17424.446767893245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support1Bounce1 > 11","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1\n}","id":"bbb57f56-8fe2-4df4-9655-7f5e55b002f9","savedPayload":{"position":{"x":20127.44182842383,"y":17507.947629606748},"targetPosition":{"x":19830.361197073897,"y":17466.197198749996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ca5d32e3-e0ab-4eff-9628-dbb733efdc25","savedPayload":{"position":{"x":19830.361197073897,"y":17466.197198749996},"targetPosition":{"x":19533.280565723962,"y":17424.446767893245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f57c1875-5b81-4ad3-a305-10c63f3f1c58","savedPayload":{"position":{"x":19533.280565723962,"y":17424.446767893245},"targetPosition":{"x":19421.64727787111,"y":17702.903243923454},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin - Zone Resistance","id":"ba9a2688-0072-44cc-8a9a-968ecfaf7bf3","savedPayload":{"position":{"x":19592.44408123991,"y":17456.268996587445},"targetPosition":{"x":19421.64727787111,"y":17702.903243923454},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin - Zone Resistance","id":"99a2940d-3e17-43dc-82ae-6bfd948adaf5"}}},{"type":"Polygon Vertex","name":"End - Zone Resistance","id":"4f693d5f-4a81-4dd4-b408-a9b01aa92b16","savedPayload":{"position":{"x":19643.043131849605,"y":17500.458496298004},"targetPosition":{"x":19421.64727787111,"y":17702.903243923454},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End - Zone Resistance","id":"fbd722bf-0f89-46e6-9933-2ce46f906efa"}}},{"type":"Polygon Vertex","name":"End + Zone Resistance","id":"4daa243a-7b3c-438d-b721-34db4423fe57","savedPayload":{"position":{"x":19682.54046987224,"y":17554.799420990148},"targetPosition":{"x":19421.64727787111,"y":17702.903243923454},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End + Zone Resistance","id":"bef0f6c3-3a0d-4c72-a2df-7714001aeb59"}}},{"type":"Polygon Vertex","name":"Begin + Zone Resistance","id":"76f18b23-1e2e-4234-995e-0af0e8b0ea33","savedPayload":{"position":{"x":19708.955533852844,"y":17616.566889791873},"targetPosition":{"x":19421.64727787111,"y":17702.903243923454},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin + Zone Resistance","id":"c112aca0-14de-4cc3-9e05-20b28aed8dd2"}}}],"id":"d4705ff6-d94b-4f94-8fd0-9215cf9844ad","savedPayload":{"position":{"x":19421.64727787111,"y":17702.903243923454},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Support Zone 2","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.support2Bounce1 > 0","id":"6c4c67af-9468-47f7-b51a-b79b93a2d251","savedPayload":{"position":{"x":19551.152404383432,"y":17453.906179885817},"targetPosition":{"x":19456.14769752757,"y":17738.465673973136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"a50dcbd3-d699-44cf-a9f2-58d88a7ee84b","savedPayload":{"position":{"x":19400.573232494848,"y":17269.436572095557},"targetPosition":{"x":19612.09088242045,"y":17482.181216610883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.support2Bounce1 > 1","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 0.2\n}","id":"e1af646c-9718-461e-9b49-565c1c972f1e","savedPayload":{"position":{"x":19303.17447139916,"y":16967.81689922317},"targetPosition":{"x":19457.632676909805,"y":17224.999057917026},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"110cf71c-ed22-41e1-8ad6-a1bf36d645ed","savedPayload":{"position":{"x":19457.632676909805,"y":17224.999057917026},"targetPosition":{"x":19612.09088242045,"y":17482.181216610883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support2Bounce1 > 2","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.2\n}","id":"1058548a-13b4-4a58-9b33-d0aebfd91caa","savedPayload":{"position":{"x":19435.246459172162,"y":16908.83485535446},"targetPosition":{"x":19523.668670796305,"y":17195.50803598267},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"52bd90e4-a17b-4890-b825-0b52f27b2c4d","savedPayload":{"position":{"x":19523.668670796305,"y":17195.50803598267},"targetPosition":{"x":19612.09088242045,"y":17482.181216610883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support2Bounce1 > 3","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.2\n}","id":"a8f6da8e-f165-4a12-983f-ef8a97327020","savedPayload":{"position":{"x":19577.59600202103,"y":16883.17361797274},"targetPosition":{"x":19594.84344222074,"y":17182.677417291812},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"47385aa9-0c34-4751-95bb-21858278cb38","savedPayload":{"position":{"x":19594.84344222074,"y":17182.677417291812},"targetPosition":{"x":19612.09088242045,"y":17482.181216610883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support2Bounce1 > 4","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.2\n}","id":"d9af1bcb-8bc7-4769-a529-9838c89427fa","savedPayload":{"position":{"x":19721.950261934926,"y":16892.324524919848},"targetPosition":{"x":19667.020572177687,"y":17187.252870765366},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ded9c2c3-27b0-482f-a30f-950ef8749323","savedPayload":{"position":{"x":19667.020572177687,"y":17187.252870765366},"targetPosition":{"x":19612.09088242045,"y":17482.181216610883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support2Bounce1 > 5","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.4\n}","id":"a0d2dd1f-91ef-4687-98a0-a5a01e852281","savedPayload":{"position":{"x":19859.919894034032,"y":16935.755758746196},"targetPosition":{"x":19736.00538822724,"y":17208.96848767854},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a9acf6d3-26d8-431e-bbba-4f6420852018","savedPayload":{"position":{"x":19736.00538822724,"y":17208.96848767854},"targetPosition":{"x":19612.09088242045,"y":17482.181216610883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support2Bounce1 > 6","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.6\n}","id":"93ec8d12-8654-45cc-9239-7b0bbbd22cd0","savedPayload":{"position":{"x":19983.486604799964,"y":17010.943254007918},"targetPosition":{"x":19797.788743610206,"y":17246.5622353094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4fa39625-af25-4f04-a5e7-e92e5e0eba1d","savedPayload":{"position":{"x":19797.788743610206,"y":17246.5622353094},"targetPosition":{"x":19612.09088242045,"y":17482.181216610883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support2Bounce1 > 7","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.8\n}","id":"032131bf-e21c-4bd2-ac78-2d7734ab4225","savedPayload":{"position":{"x":20085.469146149724,"y":17113.517386775817},"targetPosition":{"x":19848.780014285087,"y":17297.84930169335},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"62862dc4-aad1-4ef9-b295-7c59bc879cda","savedPayload":{"position":{"x":19848.780014285087,"y":17297.84930169335},"targetPosition":{"x":19612.09088242045,"y":17482.181216610883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support2Bounce1 > 8","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1\n}","id":"e1a38cbf-808e-47f3-af28-faa275e82913","savedPayload":{"position":{"x":20159.940663471516,"y":17237.516921295242},"targetPosition":{"x":19886.015772945982,"y":17359.849068953063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3dbc7e95-34b0-4d83-a7e8-caf0028b681f","savedPayload":{"position":{"x":19886.015772945982,"y":17359.849068953063},"targetPosition":{"x":19612.09088242045,"y":17482.181216610883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support2Bounce1 > 9","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.6\n}","id":"7f50ebb2-5ead-4674-b471-360ac903cbd1","savedPayload":{"position":{"x":20202.573142871548,"y":17375.735455339873},"targetPosition":{"x":19907.332012646,"y":17428.958335975378},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"da7f2571-7735-4eaa-bb9e-ecc31babe8fc","savedPayload":{"position":{"x":19907.332012646,"y":17428.958335975378},"targetPosition":{"x":19612.09088242045,"y":17482.181216610883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support2Bounce1 > 10","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.8\n}","id":"6aaeedbe-c4d7-46a6-96c5-0f6970c4be89","savedPayload":{"position":{"x":20210.888939609842,"y":17520.140230114983},"targetPosition":{"x":19911.489911015145,"y":17501.160723362933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a06c3c37-a556-472b-90bb-25d9bf66b34f","savedPayload":{"position":{"x":19911.489911015145,"y":17501.160723362933},"targetPosition":{"x":19612.09088242045,"y":17482.181216610883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support2Bounce1 > 11","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1\n}","id":"561e0e03-b5e4-4b7e-a606-2053b174544a","savedPayload":{"position":{"x":20184.404769806675,"y":17662.338965000632},"targetPosition":{"x":19898.247826113562,"y":17572.260090805757},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"980dd97a-6ccf-45d3-9ddd-464b406af3d8","savedPayload":{"position":{"x":19898.247826113562,"y":17572.260090805757},"targetPosition":{"x":19612.09088242045,"y":17482.181216610883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8708e97c-7c5f-45c3-bb04-4cdb69f35d2a","savedPayload":{"position":{"x":19612.09088242045,"y":17482.181216610883},"targetPosition":{"x":19456.14769752757,"y":17738.465673973136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin - Zone Resistance","id":"4a490153-7666-425a-94db-a3407072e08d","savedPayload":{"position":{"x":19665.209718004906,"y":17523.307426178788},"targetPosition":{"x":19456.14769752757,"y":17738.465673973136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin - Zone Resistance","id":"c3c04eac-b594-45bd-9306-c615bdf6f960"}}},{"type":"Polygon Vertex","name":"End - Zone Resistance","id":"bb165791-a19f-42c9-99fd-f55009e98305","savedPayload":{"position":{"x":19707.845310915654,"y":17575.222568713703},"targetPosition":{"x":19456.14769752757,"y":17738.465673973136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End - Zone Resistance","id":"afd0cabf-291e-464f-82f9-5a17f55afd09"}}},{"type":"Polygon Vertex","name":"End + Zone Resistance","id":"ec5ae905-f05e-4f65-b5a2-8423bd220ec3","savedPayload":{"position":{"x":19737.85973449342,"y":17635.323402190174},"targetPosition":{"x":19456.14769752757,"y":17738.465673973136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End + Zone Resistance","id":"827e511d-aebc-49a2-86de-8869ef2a11b5"}}},{"type":"Polygon Vertex","name":"Begin + Zone Resistance","id":"558801bf-b8f7-4caa-93c2-312ae077baff","savedPayload":{"position":{"x":19753.747940210695,"y":17700.596219858457},"targetPosition":{"x":19456.14769752757,"y":17738.465673973136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin + Zone Resistance","id":"cdd44658-8050-41fa-8a8f-82677b9a149b"}}}],"id":"40c0fced-4d4b-476f-becb-4201ccb21c2f","savedPayload":{"position":{"x":19456.14769752757,"y":17738.465673973136},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Support Zone 3","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.support3Bounce1 > 0","id":"677b5709-c562-4782-b8db-e5301a57aeab","savedPayload":{"position":{"x":19624.87011264798,"y":17514.180448583065},"targetPosition":{"x":19484.32419282444,"y":17779.221661266973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"d915645d-778e-46cd-be7c-9205cde4a151","savedPayload":{"position":{"x":19506.707343912138,"y":17307.442248703068},"targetPosition":{"x":19680.32355118701,"y":17552.099994485798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.support3Bounce1 > 1","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 0.2\n}","id":"88e66929-008b-44f9-8836-1555529a886c","savedPayload":{"position":{"x":19460.281941445024,"y":16993.90496586036},"targetPosition":{"x":19570.302746316018,"y":17273.00248017308},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8024c736-7b70-4f68-9cd7-d8f250cc5da0","savedPayload":{"position":{"x":19570.302746316018,"y":17273.00248017308},"targetPosition":{"x":19680.32355118701,"y":17552.099994485798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support3Bounce1 > 2","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.2\n}","id":"dfc32a91-65d3-4e33-8120-e88b82c065ed","savedPayload":{"position":{"x":19600.26076479228,"y":16957.465694907718},"targetPosition":{"x":19640.292157989647,"y":17254.782844696758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1cb52d9c-92a1-4ea3-8925-1addc66bc0db","savedPayload":{"position":{"x":19640.292157989647,"y":17254.782844696758},"targetPosition":{"x":19680.32355118701,"y":17552.099994485798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support3Bounce1 > 3","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.2\n}","id":"a5f79b1b-8f2e-4796-b074-08d4266f66ef","savedPayload":{"position":{"x":19744.89254626841,"y":16955.58440803882},"targetPosition":{"x":19712.60804872771,"y":17253.84220126231},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"45e75d66-4aac-484c-942a-f8318f6e9179","savedPayload":{"position":{"x":19712.60804872771,"y":17253.84220126231},"targetPosition":{"x":19680.32355118701,"y":17552.099994485798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support3Bounce1 > 4","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.2\n}","id":"d1ec8f71-dd0c-4de4-b253-d9f80019a5dc","savedPayload":{"position":{"x":19885.771812449162,"y":16988.37043880829},"targetPosition":{"x":19783.047681818087,"y":17270.235216647045},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"25eb0205-21fc-4b8f-9dfd-06521be651e3","savedPayload":{"position":{"x":19783.047681818087,"y":17270.235216647045},"targetPosition":{"x":19680.32355118701,"y":17552.099994485798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support3Bounce1 > 5","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.4\n}","id":"9139ee33-0888-47ca-8409-3dab12aeb215","savedPayload":{"position":{"x":20014.711172459396,"y":17053.91838228017},"targetPosition":{"x":19847.517361823204,"y":17303.009188382985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a9cb240b-9c72-4f63-97cb-e96c9de9056e","savedPayload":{"position":{"x":19847.517361823204,"y":17303.009188382985},"targetPosition":{"x":19680.32355118701,"y":17552.099994485798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support3Bounce1 > 6","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.6\n}","id":"37d2335d-1d62-4b51-a447-0de74026f077","savedPayload":{"position":{"x":20124.21713937083,"y":17148.418830236966},"targetPosition":{"x":19902.27034527892,"y":17350.25941236138},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"21e67adf-b609-4620-88ac-5f83fb548d1c","savedPayload":{"position":{"x":19902.27034527892,"y":17350.25941236138},"targetPosition":{"x":19680.32355118701,"y":17552.099994485798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support3Bounce1 > 7","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.8\n}","id":"bc7b72e5-ccc9-4836-a8ff-f3e2cfbce33b","savedPayload":{"position":{"x":20207.925624424566,"y":17266.379760138567},"targetPosition":{"x":19944.12458780579,"y":17409.239877312182},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"620ca150-1755-4a08-8279-9540cab4d22c","savedPayload":{"position":{"x":19944.12458780579,"y":17409.239877312182},"targetPosition":{"x":19680.32355118701,"y":17552.099994485798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support3Bounce1 > 8","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1\n}","id":"72241449-0948-4815-8d2b-d13d53c2d3e3","savedPayload":{"position":{"x":20260.971794737237,"y":17400.945711509637},"targetPosition":{"x":19970.647672962124,"y":17476.522852997718},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e9311367-87a5-40a0-90ba-560154520098","savedPayload":{"position":{"x":19970.647672962124,"y":17476.522852997718},"targetPosition":{"x":19680.32355118701,"y":17552.099994485798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support3Bounce1 > 9","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.6\n}","id":"db418ffb-8e5d-4e3e-815f-daaf5b18dead","savedPayload":{"position":{"x":20280.27279970526,"y":17544.29620038382},"targetPosition":{"x":19980.298175446136,"y":17548.198097434808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"349ab36a-f489-4737-810c-de215405546f","savedPayload":{"position":{"x":19980.298175446136,"y":17548.198097434808},"targetPosition":{"x":19680.32355118701,"y":17552.099994485798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support3Bounce1 > 10","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.8\n}","id":"18cbc1ae-04b1-4950-b2ca-ebf928c2cf89","savedPayload":{"position":{"x":20264.706935076192,"y":17688.10021740557},"targetPosition":{"x":19972.515243131602,"y":17620.100105945683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8e79dddb-47f4-4e90-8917-0002eac04b6b","savedPayload":{"position":{"x":19972.515243131602,"y":17620.100105945683},"targetPosition":{"x":19680.32355118701,"y":17552.099994485798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support3Bounce1 > 11","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1\n}","id":"bccbf11b-3740-4519-9811-1fa1d7eef10f","savedPayload":{"position":{"x":20215.17883232266,"y":17824.00039581192},"targetPosition":{"x":19947.751191754836,"y":17688.05019514886},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9cdb42b3-d922-40d0-9643-5b1ddc9125a4","savedPayload":{"position":{"x":19947.751191754836,"y":17688.05019514886},"targetPosition":{"x":19680.32355118701,"y":17552.099994485798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b8a6b5be-21fa-4e43-a687-d20a2149cb2f","savedPayload":{"position":{"x":19680.32355118701,"y":17552.099994485798},"targetPosition":{"x":19484.32419282444,"y":17779.221661266973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin - Zone Resistance","id":"d2da5bdd-6b2e-4284-af0f-1caaec186399","savedPayload":{"position":{"x":19725.948763475702,"y":17601.408369138422},"targetPosition":{"x":19484.32419282444,"y":17779.221661266973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin - Zone Resistance","id":"765f38a2-4cba-49fd-8c86-dd51c8e215db"}}},{"type":"Polygon Vertex","name":"End - Zone Resistance","id":"ea5e5b65-da6f-49b3-89c2-d7fa902069c7","savedPayload":{"position":{"x":19759.457910855595,"y":17659.633044742022},"targetPosition":{"x":19484.32419282444,"y":17779.221661266973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End - Zone Resistance","id":"615e7f76-5ca1-4d42-84f6-0129a2eea01c"}}},{"type":"Polygon Vertex","name":"End + Zone Resistance","id":"d0aca66f-f495-4355-b75e-b5f11c39cfc7","savedPayload":{"position":{"x":19779.17070475505,"y":17723.854392936755},"targetPosition":{"x":19484.32419282444,"y":17779.221661266973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End + Zone Resistance","id":"dd6e16bd-9458-47f8-bce8-856baa66a2d3"}}},{"type":"Polygon Vertex","name":"Begin + Zone Resistance","id":"d05af5c5-9b11-4c9f-be10-b189ef3163fb","savedPayload":{"position":{"x":19784.098663374494,"y":17790.852087159146},"targetPosition":{"x":19484.32419282444,"y":17779.221661266973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin + Zone Resistance","id":"cf270516-0d12-45be-834a-c0024b840b3c"}}}],"id":"dfa786b7-df65-4c51-b088-dd550ae0c5df","savedPayload":{"position":{"x":19484.32419282444,"y":17779.221661266973},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Support Zone 4","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.support4Bounce1 > 0","id":"e751bdf0-0b5a-4063-84af-ea10f0e47a21","savedPayload":{"position":{"x":19687.661588894964,"y":17585.766190805167},"targetPosition":{"x":19505.408182420666,"y":17824.05948871452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"251e1404-86d3-4985-8e43-486cc1d6867e","savedPayload":{"position":{"x":19605.138395615628,"y":17362.398678001886},"targetPosition":{"x":19736.117362688994,"y":17632.295899522214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.support4Bounce1 > 1","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 0.2\n}","id":"bffe3c87-6a71-4824-8446-5f070847eca1","savedPayload":{"position":{"x":19610.9527157344,"y":17045.49626493411},"targetPosition":{"x":19673.535039211696,"y":17338.896082228162},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a7c57b61-1430-462d-8869-3bb85750888d","savedPayload":{"position":{"x":19673.535039211696,"y":17338.896082228162},"targetPosition":{"x":19736.117362688994,"y":17632.295899522214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support4Bounce1 > 2","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.2\n}","id":"f42177ce-d5a0-4226-8e34-b771cb3ed2fd","savedPayload":{"position":{"x":19755.020117252556,"y":17032.593735219045},"targetPosition":{"x":19745.568739970775,"y":17332.44481737063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dacf8a6e-f8c0-4c0e-9b70-25b69f62fe1a","savedPayload":{"position":{"x":19745.568739970775,"y":17332.44481737063},"targetPosition":{"x":19736.117362688994,"y":17632.295899522214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support4Bounce1 > 3","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.2\n}","id":"2b6ddd44-b538-437b-b367-f8e4c5a42e8a","savedPayload":{"position":{"x":19897.988959384194,"y":17054.5437154646},"targetPosition":{"x":19817.053161036594,"y":17343.419807493407},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b4b1adb4-b1e3-450e-8fbb-267cf539096f","savedPayload":{"position":{"x":19817.053161036594,"y":17343.419807493407},"targetPosition":{"x":19736.117362688994,"y":17632.295899522214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support4Bounce1 > 4","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.2\n}","id":"07471740-91b1-4b7a-bdf2-9d9000ca954d","savedPayload":{"position":{"x":20031.55041269523,"y":17110.070552603844},"targetPosition":{"x":19883.83388769211,"y":17371.18322606303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b2157982-6f42-4894-b0dc-f54c76e26599","savedPayload":{"position":{"x":19883.83388769211,"y":17371.18322606303},"targetPosition":{"x":19736.117362688994,"y":17632.295899522214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support4Bounce1 > 5","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.4\n}","id":"66b9ff42-57a7-4e1a-90f8-88b9b48815a8","savedPayload":{"position":{"x":20147.94237099534,"y":17195.94722869408},"targetPosition":{"x":19942.029866842167,"y":17414.121564108147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0ed11a98-f701-4fb3-bfbd-b85a77c75f77","savedPayload":{"position":{"x":19942.029866842167,"y":17414.121564108147},"targetPosition":{"x":19736.117362688994,"y":17632.295899522214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support4Bounce1 > 6","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.6\n}","id":"609e711b-56c4-422f-8923-ada3996f8918","savedPayload":{"position":{"x":20240.40055673568,"y":17307.18290346997},"targetPosition":{"x":19988.258959712337,"y":17469.739401496092},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f729b19a-9c9f-4989-90d0-0b98bc32b3b7","savedPayload":{"position":{"x":19988.258959712337,"y":17469.739401496092},"targetPosition":{"x":19736.117362688994,"y":17632.295899522214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support4Bounce1 > 7","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.8\n}","id":"f6080a9c-0a1f-4ee8-a798-ac58f005709d","savedPayload":{"position":{"x":20303.551636232864,"y":17437.312963838755},"targetPosition":{"x":20019.83449946093,"y":17534.804431680484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7ccc66c2-8828-422b-97e1-12e68712370d","savedPayload":{"position":{"x":20019.83449946093,"y":17534.804431680484},"targetPosition":{"x":19736.117362688994,"y":17632.295899522214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support4Bounce1 > 8","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1\n}","id":"54310033-693e-4fe0-972e-b49accb8da77","savedPayload":{"position":{"x":20333.725498291336,"y":17578.774723695322},"targetPosition":{"x":20034.921430490165,"y":17605.535311608768},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8a0d9b37-3bd7-4661-a28d-986595d5b68c","savedPayload":{"position":{"x":20034.921430490165,"y":17605.535311608768},"targetPosition":{"x":19736.117362688994,"y":17632.295899522214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support4Bounce1 > 9","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.6\n}","id":"eab6472b-f317-4781-94d1-3d7d0a9db088","savedPayload":{"position":{"x":20329.168547725792,"y":17723.346939749397},"targetPosition":{"x":20032.642955207393,"y":17677.821419635806},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"694fbf14-504d-42e9-a147-58bffbb1b360","savedPayload":{"position":{"x":20032.642955207393,"y":17677.821419635806},"targetPosition":{"x":19736.117362688994,"y":17632.295899522214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support4Bounce1 > 10","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.8\n}","id":"25858bf4-0cc5-48ef-857b-76a094552764","savedPayload":{"position":{"x":20290.145617939255,"y":17862.627600302534},"targetPosition":{"x":20013.131490314125,"y":17747.461749912374},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"768cec8a-5e96-48b0-adc2-2a0c78439daf","savedPayload":{"position":{"x":20013.131490314125,"y":17747.461749912374},"targetPosition":{"x":19736.117362688994,"y":17632.295899522214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support4Bounce1 > 11","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1\n}","id":"914bef52-f072-49f8-878e-70fb2ec7b266","savedPayload":{"position":{"x":20218.92457976834,"y":17988.52221962798},"targetPosition":{"x":19977.520971228667,"y":17810.409059575097},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"edea1467-c5a4-4cc2-8c4c-cf03700c57a8","savedPayload":{"position":{"x":19977.520971228667,"y":17810.409059575097},"targetPosition":{"x":19736.117362688994,"y":17632.295899522214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"20788642-ead1-4b31-abca-6877c0b3d548","savedPayload":{"position":{"x":19736.117362688994,"y":17632.295899522214},"targetPosition":{"x":19505.408182420666,"y":17824.05948871452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin - Zone Resistance","id":"1fc429c5-f3e3-4cbc-b3c7-fa2b8be4b650","savedPayload":{"position":{"x":19773.004414826737,"y":17688.441435336375},"targetPosition":{"x":19505.408182420666,"y":17824.05948871452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin - Zone Resistance","id":"8a3f2434-8ab8-44aa-931f-f0aa0bed6310"}}},{"type":"Polygon Vertex","name":"End - Zone Resistance","id":"54aebf2a-bfb4-4a58-9a4d-12ae422638e0","savedPayload":{"position":{"x":19796.47307448708,"y":17751.387426638594},"targetPosition":{"x":19505.408182420666,"y":17824.05948871452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End - Zone Resistance","id":"13dd9d54-d74f-4863-9e86-88b79c9ebe2b"}}},{"type":"Polygon Vertex","name":"End + Zone Resistance","id":"006283cf-eb63-4341-8c76-b9ed8707c013","savedPayload":{"position":{"x":19805.34652507807,"y":17817.977498585402},"targetPosition":{"x":19505.408182420666,"y":17824.05948871452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End + Zone Resistance","id":"73ecbfa9-1e21-4c80-8f17-6eff316dc2d5"}}},{"type":"Polygon Vertex","name":"Begin + Zone Resistance","id":"3a0c604a-2ba5-40a4-9cef-6f8bda916c1c","savedPayload":{"position":{"x":19799.17981473477,"y":17884.872546913462},"targetPosition":{"x":19505.408182420666,"y":17824.05948871452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin + Zone Resistance","id":"6ae4a3ec-2a81-4bae-ae75-3ced2c5cd1cd"}}}],"id":"c246d453-c21e-4977-a94c-395c8ddfcee1","savedPayload":{"position":{"x":19505.408182420666,"y":17824.05948871452},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Support Zone 5","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.support5Bounce1 > 0","id":"eeaae66c-8f4b-4bc0-912f-f80476486d24","savedPayload":{"position":{"x":19737.814045337527,"y":17666.710734114407},"targetPosition":{"x":19518.824550041918,"y":17871.756097266505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"7c2c5a70-1ccb-4b1e-89b9-93a35e3ff9bd","savedPayload":{"position":{"x":19693.18144510545,"y":17432.80679186147},"targetPosition":{"x":19777.95040719223,"y":17720.581396485868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.support5Bounce1 > 1","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 0.2\n}","id":"3503a74e-27ab-432d-b23b-384ea189b71c","savedPayload":{"position":{"x":19751.076888314066,"y":17121.18352029418},"targetPosition":{"x":19764.51364775315,"y":17420.882458390024},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b0eb4942-d207-41d7-baea-235288d4c3ba","savedPayload":{"position":{"x":19764.51364775315,"y":17420.882458390024},"targetPosition":{"x":19777.95040719223,"y":17720.581396485868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support5Bounce1 > 2","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.2\n}","id":"0014c98f-7ca4-42ce-a904-5358de2ae8cb","savedPayload":{"position":{"x":19895.303084845396,"y":17132.16967919292},"targetPosition":{"x":19836.626746018814,"y":17426.375537839394},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"17498492-0347-435c-b51c-471ec5dde3f5","savedPayload":{"position":{"x":19836.626746018814,"y":17426.375537839394},"targetPosition":{"x":19777.95040719223,"y":17720.581396485868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support5Bounce1 > 3","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.2\n}","id":"9d45d527-de65-4e27-a6eb-bebd02822ac4","savedPayload":{"position":{"x":20032.709170311155,"y":17177.35218831116},"targetPosition":{"x":19905.329788751693,"y":17448.966792398514},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"abc17a70-8a33-482c-98a1-1e9d8fb506d1","savedPayload":{"position":{"x":19905.329788751693,"y":17448.966792398514},"targetPosition":{"x":19777.95040719223,"y":17720.581396485868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support5Bounce1 > 4","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.2\n}","id":"095551e1-caff-4550-b6e3-e9fe57fdf87d","savedPayload":{"position":{"x":20155.309602474863,"y":17254.105204450687},"targetPosition":{"x":19966.630004833547,"y":17487.343300468277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6ce3a570-fffb-47b8-adbd-bb5e47ddce01","savedPayload":{"position":{"x":19966.630004833547,"y":17487.343300468277},"targetPosition":{"x":19777.95040719223,"y":17720.581396485868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support5Bounce1 > 5","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.4\n}","id":"eb84ebd8-a82a-49eb-a125-7b73255da111","savedPayload":{"position":{"x":20255.979289853614,"y":17357.96812129933},"targetPosition":{"x":20016.964848522923,"y":17539.2747588926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"af63db19-44f6-4044-a45e-b02db4d50245","savedPayload":{"position":{"x":20016.964848522923,"y":17539.2747588926},"targetPosition":{"x":19777.95040719223,"y":17720.581396485868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support5Bounce1 > 6","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.6\n}","id":"9804666d-4352-4e5d-b37c-85e9d2f2a060","savedPayload":{"position":{"x":20328.86767613637,"y":17482.90480365618},"targetPosition":{"x":20053.4090416643,"y":17601.743100071024},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4cd1a79d-2d39-4612-a7f7-d6fc395785a3","savedPayload":{"position":{"x":20053.4090416643,"y":17601.743100071024},"targetPosition":{"x":19777.95040719223,"y":17720.581396485868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support5Bounce1 > 7","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 0.8\n}","id":"e5eea939-7487-42d4-a1b7-7becb3ddf4ab","savedPayload":{"position":{"x":20369.73875325089,"y":17621.654385669033},"targetPosition":{"x":20073.84458022156,"y":17671.11789107745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0489d2e1-3816-4129-9bb6-c9624e283e96","savedPayload":{"position":{"x":20073.84458022156,"y":17671.11789107745},"targetPosition":{"x":19777.95040719223,"y":17720.581396485868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support5Bounce1 > 8","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1\n}","id":"32efd876-da55-4e6e-a4fe-bc3c06825c31","savedPayload":{"position":{"x":20376.217242755596,"y":17766.153245965514},"targetPosition":{"x":20077.083824973914,"y":17743.36732122569},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d85e2688-1a84-4349-b57c-87e2c28b6c74","savedPayload":{"position":{"x":20077.083824973914,"y":17743.36732122569},"targetPosition":{"x":19777.95040719223,"y":17720.581396485868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support5Bounce1 > 9","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.6\n}","id":"1b688d9a-3f2c-406d-9611-700096e746a7","savedPayload":{"position":{"x":20347.926638388828,"y":17908.003636017158},"targetPosition":{"x":20062.93852279053,"y":17814.292516251513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dddeb326-80d2-4698-b151-22fc5776db4a","savedPayload":{"position":{"x":20062.93852279053,"y":17814.292516251513},"targetPosition":{"x":19777.95040719223,"y":17720.581396485868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support5Bounce1 > 10","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.8\n}","id":"260cbf65-ecbe-495a-8e31-5e3bab3c44ff","savedPayload":{"position":{"x":20286.511087244213,"y":18038.96172675938},"targetPosition":{"x":20032.230747218222,"y":17879.771561622623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6817cd8b-baac-49cb-912e-c59d0fd08a74","savedPayload":{"position":{"x":20032.230747218222,"y":17879.771561622623},"targetPosition":{"x":19777.95040719223,"y":17720.581396485868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"record.support5Bounce1 > 11","style":{"type":"Style","name":"New Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1\n}","id":"c74a9428-2a15-465f-a320-6a1df372b6ec","savedPayload":{"position":{"x":20195.539837917833,"y":18151.416709971505},"targetPosition":{"x":19986.745122555032,"y":17935.999053228687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f56948e0-bcae-48d5-9460-1b3136a9f5ab","savedPayload":{"position":{"x":19986.745122555032,"y":17935.999053228687},"targetPosition":{"x":19777.95040719223,"y":17720.581396485868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c53fa25f-d13c-4bba-ad54-f63bc4ab370e","savedPayload":{"position":{"x":19777.95040719223,"y":17720.581396485868},"targetPosition":{"x":19518.824550041918,"y":17871.756097266505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin - Zone Resistance","id":"97ae8c75-04ed-4106-a8bc-860b928c801c","savedPayload":{"position":{"x":19805.09311655407,"y":17782.032589605045},"targetPosition":{"x":19518.824550041918,"y":17871.756097266505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin - Zone Resistance","id":"f1da5793-706f-4884-af96-51be961434e8"}}},{"type":"Polygon Vertex","name":"End - Zone Resistance","id":"ff09c05e-8165-4874-ab3e-6b4d536152f5","savedPayload":{"position":{"x":19817.881124637563,"y":17847.982894051107},"targetPosition":{"x":19518.824550041918,"y":17871.756097266505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End - Zone Resistance","id":"ca37a88a-7a07-40c8-99ac-f8b8ff2d5d4d"}}},{"type":"Polygon Vertex","name":"End + Zone Resistance","id":"d05060f1-47ba-4fb0-9cf1-112b43d7052d","savedPayload":{"position":{"x":19815.67318731932,"y":17915.125286174643},"targetPosition":{"x":19518.824550041918,"y":17871.756097266505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End + Zone Resistance","id":"15092839-5205-4e95-b729-0ed82fcfe928"}}},{"type":"Polygon Vertex","name":"Begin + Zone Resistance","id":"b45229f5-8479-4ece-a945-ffb00fd63b70","savedPayload":{"position":{"x":19798.580019796027,"y":17980.09296607236},"targetPosition":{"x":19518.824550041918,"y":17871.756097266505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin + Zone Resistance","id":"e1833970-01d0-4715-ad2d-9e717510fd30"}}}],"id":"be7397f9-5610-4d38-86ee-90c2dfceceef","savedPayload":{"position":{"x":19518.824550041918,"y":17871.756097266505},"targetPosition":{"x":19224.31013466069,"y":17928.86353226977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"6daa712b-9aa6-4363-a987-cbef7c95d404","savedPayload":{"position":{"x":19224.31013466069,"y":17928.86353226977},"targetPosition":{"x":19232.16321915305,"y":18228.760729762438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Support Levels","config":"{ \n\"codeName\": \"Resistances Rates & Periods\"\n}","panelData":[{"type":"Panel Data","name":"Rate 1","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support1Rate","id":"7e6ffb7b-700e-4870-be11-e85a42a4b1c4","savedPayload":{"position":{"x":24613.58960221857,"y":6539.129722912705},"targetPosition":{"x":24927.033841774104,"y":7416.388427101198},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"645eb939-2442-4527-b2a9-41dc9fe757a9","savedPayload":{"position":{"x":24927.033841774104,"y":7416.388427101198},"targetPosition":{"x":25241.314072590376,"y":8293.710675081185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period 1","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support1Period","id":"6c18d565-f06e-4461-93e0-5076f32d9599","savedPayload":{"position":{"x":24869.839935455115,"y":6467.496380393971},"targetPosition":{"x":25055.532840913795,"y":7380.680132527335},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"eb9da961-accc-4205-8ae9-4ca89af0cdc2","savedPayload":{"position":{"x":25055.532840913795,"y":7380.680132527335},"targetPosition":{"x":25241.314072590376,"y":8293.710675081185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Rate 2","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support2Rate","id":"6e0aeeb7-3c81-4ecf-b6f8-09bb8fe599b3","savedPayload":{"position":{"x":25133.50688051718,"y":6433.502132383175},"targetPosition":{"x":25187.46470737929,"y":7363.398218541542},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a3c3d8ed-b1c8-454d-91f6-a1f178f12baa","savedPayload":{"position":{"x":25187.46470737929,"y":7363.398218541542},"targetPosition":{"x":25241.314072590376,"y":8293.710675081185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period 2","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support2Period","id":"18e53d69-4c32-4e34-a1ae-c8017b851080","savedPayload":{"position":{"x":25399.156734558634,"y":6437.0331474485765},"targetPosition":{"x":25320.172008498568,"y":7365.2135812665165},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a43ed0c5-2a03-4c06-8ecf-464f323253ce","savedPayload":{"position":{"x":25320.172008498568,"y":7365.2135812665165},"targetPosition":{"x":25241.314072590376,"y":8293.710675081185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Rate 3","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support3Rate","id":"84073b24-07af-4253-91f0-1a3363515fea","savedPayload":{"position":{"x":25661.986532646846,"y":6478.57238067313},"targetPosition":{"x":25451.543695451433,"y":7386.228657508654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7ddd82f0-f22d-4b58-8c82-72da0faad6df","savedPayload":{"position":{"x":25451.543695451433,"y":7386.228657508654},"targetPosition":{"x":25241.314072590376,"y":8293.710675081185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period 3","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support3Period","id":"cb9423ad-6fc8-4cf8-996c-f6c3ca9d6423","savedPayload":{"position":{"x":25915.758477366653,"y":6556.770950305243},"targetPosition":{"x":25578.6432071165,"y":7425.126402975232},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d65c13d2-d9b5-426d-916c-fcb049ca684a","savedPayload":{"position":{"x":25578.6432071165,"y":7425.126402975232},"targetPosition":{"x":25241.314072590376,"y":8293.710675081185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Rate 4","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support4Rate","id":"3eefba37-d0b5-48c7-8930-2065d0370fd6","savedPayload":{"position":{"x":26156.04628110572,"y":6670.590784944205},"targetPosition":{"x":25698.723742346963,"y":7482.140896285667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cc6ea81e-db56-45ca-ad89-43e3cab97406","savedPayload":{"position":{"x":25698.723742346963,"y":7482.140896285667},"targetPosition":{"x":25241.314072590376,"y":8293.710675081185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period 4","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support4Period","id":"a39d8363-6920-4001-b0f2-0d194c34a7f2","savedPayload":{"position":{"x":26377.741672327204,"y":6817.149967936606},"targetPosition":{"x":25809.63105598516,"y":7555.4644383946525},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"99f78253-63c7-40f4-bc8a-7e37349ff6f6","savedPayload":{"position":{"x":25809.63105598516,"y":7555.4644383946525},"targetPosition":{"x":25241.314072590376,"y":8293.710675081185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Rate 5","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support5Rate","id":"344a9d6b-1f59-401c-8b50-97f740c8f141","savedPayload":{"position":{"x":26577.05369066106,"y":6994.279723829209},"targetPosition":{"x":25909.18661686745,"y":7644.064565549688},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f01c7994-93d3-46f2-9135-e25955247914","savedPayload":{"position":{"x":25909.18661686745,"y":7644.064565549688},"targetPosition":{"x":25241.314072590376,"y":8293.710675081185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Period 5","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support5Period","id":"27ddb6f4-212d-4220-82e7-04b4e3a45fd6","savedPayload":{"position":{"x":26748.803518582525,"y":7197.978749457786},"targetPosition":{"x":25995.1725593778,"y":7745.986241563563},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c2195d70-d9d9-4377-8909-adefddae101f","savedPayload":{"position":{"x":25995.1725593778,"y":7745.986241563563},"targetPosition":{"x":25241.314072590376,"y":8293.710675081185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"635f72c8-0556-46db-87cf-4c15449c1e70","savedPayload":{"position":{"x":19402.085090230503,"y":17981.522873175833},"targetPosition":{"x":19232.16321915305,"y":18228.760729762438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Support Bounces","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Level 1 ZONE","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support1Bounce1","id":"d13fcc7c-cc42-4496-ba29-dc8724b5fb29","savedPayload":{"position":{"x":25592.7085816305,"y":7703.696780478918},"targetPosition":{"x":25641.29807585158,"y":7932.335525170699},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"62364bde-b261-4f32-839d-ef2c3878c99f","savedPayload":{"position":{"x":25641.29807585158,"y":7932.335525170699},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 1 @ 2 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support1Bounce2","id":"b6e48da2-5f15-4a39-b91a-164c7f27926f","savedPayload":{"position":{"x":25784.096863339153,"y":7679.330561630911},"targetPosition":{"x":25794.227854082663,"y":7912.942880883342},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"cf514f7a-499b-48ac-90e9-f94e9808edd1","savedPayload":{"position":{"x":25794.227854082663,"y":7912.942880883342},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 1 @ 3 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support1Bounce3","id":"642b6ab0-0e00-4f24-9ade-b09618f11590","savedPayload":{"position":{"x":25976.12584821976,"y":7686.844698393443},"targetPosition":{"x":25947.855826346113,"y":7918.983371675397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"5bdd2b93-c16d-4580-b7f3-b330bb69092d","savedPayload":{"position":{"x":25947.855826346113,"y":7918.983371675397},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 1 @ 5 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support1Bounce5","id":"469287dc-1f38-42ce-975c-099fb1cd9f40","savedPayload":{"position":{"x":26164.766011079988,"y":7725.967735383221},"targetPosition":{"x":26098.621860841824,"y":7950.26846050255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"c2d2df4c-2b45-4840-82f8-c012a1743b02","savedPayload":{"position":{"x":26098.621860841824,"y":7950.26846050255},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 1 @ 10 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support1Bounce10","id":"19caf103-9282-4809-b7c6-a069ad289a2c","savedPayload":{"position":{"x":26344.361311569315,"y":7795.610425488152},"targetPosition":{"x":26242.162502220697,"y":8005.940147161997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"79e1a09f-925e-48b6-85c2-a22026e04dac","savedPayload":{"position":{"x":26242.162502220697,"y":8005.940147161997},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 1 @ All","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support1BounceAll","id":"f19ab711-2207-4110-9d97-06477cfeb543","savedPayload":{"position":{"x":26510.02807648726,"y":7893.864605723988},"targetPosition":{"x":26374.57273869894,"y":8084.4772428055185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"eefbe053-1588-40a7-ac65-228590b7046b","savedPayload":{"position":{"x":26374.57273869894,"y":8084.4772428055185},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 2 ZONE","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support2Bounce1","id":"08a5148e-4fe4-45bf-aa97-2e58a63a74ef","savedPayload":{"position":{"x":26657.254181042015,"y":8018.046396198204},"targetPosition":{"x":26492.245408414023,"y":8183.736239023881},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"fb6ade4e-292b-47b3-b20f-05fb859b98b4","savedPayload":{"position":{"x":26492.245408414023,"y":8183.736239023881},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 2 @ 2 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support2Bounce2","id":"c9b2a0ac-b81c-4fc7-8e1d-091853938587","savedPayload":{"position":{"x":26782.025996764438,"y":8164.7666405307045},"targetPosition":{"x":26591.972037969445,"y":8301.00945273805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"9a56c631-2c1c-4ae7-a194-89b346df3463","savedPayload":{"position":{"x":26591.972037969445,"y":8301.00945273805},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 2 @ 3 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support2Bounce3","id":"0373e364-a16d-4b51-b329-012a61b7ace6","savedPayload":{"position":{"x":26880.943211708996,"y":8330.02221409943},"targetPosition":{"x":26671.03346332039,"y":8433.097552108837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"30071839-72eb-494e-afc6-9a6ab94f9b70","savedPayload":{"position":{"x":26671.03346332039,"y":8433.097552108837},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 2 @ 5 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support2Bounce5","id":"a2473366-94ac-4849-b862-43428d6d0a98","savedPayload":{"position":{"x":26951.305286210467,"y":8509.303435661266},"targetPosition":{"x":26727.273410338054,"y":8576.39813381915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"8deff06c-f8bc-4726-9907-4b14d0254746","savedPayload":{"position":{"x":26727.273410338054,"y":8576.39813381915},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 2 @ 10 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support2Bounce10","id":"d4532f24-7d16-49af-a0ca-46e75a7c2f86","savedPayload":{"position":{"x":26991.195344450145,"y":8697.54636396874},"targetPosition":{"x":26759.15742958487,"y":8726.83791277624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"ebc42c04-3f1f-4236-8367-ce463bf2c90f","savedPayload":{"position":{"x":26759.15742958487,"y":8726.83791277624},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 2 @ All","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support2BounceAll","id":"6da34bd1-0980-452b-b6c8-89db0c82d5f5","savedPayload":{"position":{"x":26999.52827067479,"y":8889.497479787406},"targetPosition":{"x":26765.845613796242,"y":8880.36179605083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"f4a89e5c-6c86-4244-97c1-ad22ea7cd312","savedPayload":{"position":{"x":26765.845613796242,"y":8880.36179605083},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 3 ZONE","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support3Bounce1","id":"84bdb475-2001-4b44-8cf2-03dfd526b973","savedPayload":{"position":{"x":26976.09507463835,"y":9080.664514621621},"targetPosition":{"x":26747.26475287465,"y":9033.335425864776},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"b405e855-bb60-4161-93f2-9598d0622c20","savedPayload":{"position":{"x":26747.26475287465,"y":9033.335425864776},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 3 @ 2 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support3Bounce2","id":"5ad12a0a-2cae-46ed-b896-7e5db84d4f22","savedPayload":{"position":{"x":26921.35764656349,"y":9265.3720178719},"targetPosition":{"x":26703.519797071596,"y":9181.07407605425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"5edc75a9-9864-48d5-ae37-fa72c4aad2a9","savedPayload":{"position":{"x":26703.519797071596,"y":9181.07407605425},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 3 @ 3 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support3Bounce3","id":"a9b8e084-a12c-496c-95b1-d99be5ef8b0e","savedPayload":{"position":{"x":26837.138780844765,"y":9438.828799285839},"targetPosition":{"x":26636.03693269808,"y":9319.531929642259},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"d88536c7-cf92-48b1-8501-20b57d8d8a0a","savedPayload":{"position":{"x":26636.03693269808,"y":9319.531929642259},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 3 @ 5 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support3Bounce5","id":"8d5ba2b2-d7aa-44bf-861c-d584c25b2a6f","savedPayload":{"position":{"x":26725.559694078576,"y":9595.930452118837},"targetPosition":{"x":26546.886378359777,"y":9445.119974868325},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"4e750e36-67f4-41fc-b154-e516bc793142","savedPayload":{"position":{"x":26546.886378359777,"y":9445.119974868325},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 3 @ 10 %","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support3Bounce10","id":"01c3a535-80db-4473-9a07-0779645fd2aa","savedPayload":{"position":{"x":26589.46745435857,"y":9732.245132846527},"targetPosition":{"x":26438.14175931274,"y":9554.062223732932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"f8eeae14-9884-4912-9eee-161a8b911600","savedPayload":{"position":{"x":26438.14175931274,"y":9554.062223732932},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Level 3 @ All","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.support3BounceAll","id":"778b179e-29a7-4ab3-bbb6-ce81bb805cad","savedPayload":{"position":{"x":26432.57023185953,"y":9844.473587107896},"targetPosition":{"x":26312.823229791436,"y":9643.787390726153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"0a53817d-766f-49f1-b233-6cd6bdddd754","savedPayload":{"position":{"x":26312.823229791436,"y":9643.787390726153},"targetPosition":{"x":25834.6433978186,"y":8843.969788285925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7d34b4e7-0593-4b2a-8e4f-a06e6625f6d5","savedPayload":{"position":{"x":19514.955666480706,"y":18128.618671992306},"targetPosition":{"x":19232.16321915305,"y":18228.760729762438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Support Zone Sizes","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Zone * 1","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.supportResistanceZone","id":"799aebef-4e58-4e2c-ba9f-16ea325ac998","savedPayload":{"position":{"x":25883.65970192701,"y":10138.091268203187},"targetPosition":{"x":25767.861476156424,"y":10120.94142832729},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"f1f1c795-56fe-4091-804e-d4d472c9142c","savedPayload":{"position":{"x":25767.861476156424,"y":10120.94142832729},"targetPosition":{"x":25306.557193392193,"y":10051.780967463432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Zone * 2","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.supportResistanceZone * 2","id":"32b7a21a-d80c-4bbd-9782-7300dea36122","savedPayload":{"position":{"x":25762.903659013493,"y":10415.37135681653},"targetPosition":{"x":25671.306292958277,"y":10342.474668892035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"19bdcbf6-4979-4b04-ae57-cbe7517c04ea","savedPayload":{"position":{"x":25671.306292958277,"y":10342.474668892035},"targetPosition":{"x":25306.557193392193,"y":10051.780967463432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Zone * 3","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.supportResistanceZone * 3","id":"fbe0c934-822f-4d54-ad5a-d377b3611066","savedPayload":{"position":{"x":25519.746616658,"y":10594.928039751803},"targetPosition":{"x":25476.969674517863,"y":10485.949395605443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"3f670609-9458-4bb5-8ab5-cc6b36257377","savedPayload":{"position":{"x":25476.969674517863,"y":10485.949395605443},"targetPosition":{"x":25306.557193392193,"y":10051.780967463432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Zone * 5","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.supportResistanceZone * 5","id":"5feb8c45-b7d1-49cb-83b7-74518d752328","savedPayload":{"position":{"x":25220.04316691038,"y":10628.73366238953},"targetPosition":{"x":25237.24987773113,"y":10512.97446282677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"f4944a67-3321-49f2-9cfe-fa63ebaf74e1","savedPayload":{"position":{"x":25237.24987773113,"y":10512.97446282677},"targetPosition":{"x":25306.557193392193,"y":10051.780967463432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Zone * 10","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.supportResistanceZone * 10","id":"68e84fc5-33ac-4e6b-a7c5-688ced53e4a7","savedPayload":{"position":{"x":24943.030990064344,"y":10507.573652195506},"targetPosition":{"x":25015.82894627052,"y":10416.24704036069},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"7d9369a7-6fbb-4e97-b447-6620d98d3089","savedPayload":{"position":{"x":25015.82894627052,"y":10416.24704036069},"targetPosition":{"x":25306.557193392193,"y":10051.780967463432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"24739677-7e84-4013-81db-db4de744c467","savedPayload":{"position":{"x":19519.80913961351,"y":18313.965333173615},"targetPosition":{"x":19232.16321915305,"y":18228.760729762438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1a104c65-6470-4694-a39e-4663f15e490c","savedPayload":{"position":{"x":19232.16321915305,"y":18228.760729762438},"targetPosition":{"x":18994.15721706568,"y":18411.389158465056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0fd59bed-c28b-434c-801e-a2671e609f0d","savedPayload":{"position":{"x":18994.15721706568,"y":18411.389158465056},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Fees Band","config":"{ \n \"codeName\": \"Fees-Band\"\n}","modules":[{"type":"Plotter Module","name":"Fees Band","config":"{ \n \"codeName\": \"Module-Name\", \n \"icon\": \"band\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin Upper Band","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.beginUpperBand","id":"77e2cda7-d480-4c63-9ade-2223cf5866c4","savedPayload":{"position":{"x":19496.243670206797,"y":17998.586095666516},"targetPosition":{"x":19719.207366604584,"y":17968.383610857545},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b2e952c2-3a4a-4857-b329-08b1a7db3f92","savedPayload":{"position":{"x":19719.207366604584,"y":17968.383610857545},"targetPosition":{"x":19942.17106300237,"y":17938.181126048574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Upper Band","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.endUpperBand","id":"8adb9a33-c824-453b-a8bd-46e0503934bf","savedPayload":{"position":{"x":19545.90307366684,"y":17724.940227935727},"targetPosition":{"x":19744.037068334605,"y":17831.56067699215},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ff8660a3-65b0-4df3-b823-f0656537ea30","savedPayload":{"position":{"x":19744.037068334605,"y":17831.56067699215},"targetPosition":{"x":19942.17106300237,"y":17938.181126048574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin Lower Band","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.beginLowerBand","id":"16e335e4-11dd-4e86-93f6-46670d92aa65","savedPayload":{"position":{"x":19746.92338039947,"y":17532.74513549249},"targetPosition":{"x":19844.54722170092,"y":17735.46313077053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a5d52420-869d-4597-bbf8-27288030c2cb","savedPayload":{"position":{"x":19844.54722170092,"y":17735.46313077053},"targetPosition":{"x":19942.17106300237,"y":17938.181126048574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Lower Band","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.endLowerBand","id":"ee0c792c-0b87-448f-a86a-026997df426f","savedPayload":{"position":{"x":20022.52166566176,"y":17495.41281117919},"targetPosition":{"x":19982.346364332065,"y":17716.796968613882},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ad2678ac-2687-4a83-84f5-3447adab39e0","savedPayload":{"position":{"x":19982.346364332065,"y":17716.796968613882},"targetPosition":{"x":19942.17106300237,"y":17938.181126048574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8d7e9c7b-b8b1-4194-a81e-fb5ba2ee3c9d","savedPayload":{"position":{"x":19250.446333167532,"y":17913.959765228687},"targetPosition":{"x":19517.748290424042,"y":18050.15691515055},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"New Polygon","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.2\n }\n}","id":"7a0a39fb-3009-4c68-b5af-76ebfac5b5f4","savedPayload":{"position":{"x":19098.391053061932,"y":17376.258178342105},"targetPosition":{"x":19331.534841499022,"y":17565.054295657057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"67bb5ca8-09fc-4b35-9e01-53acbcde2f6d","savedPayload":{"position":{"x":19331.534841499022,"y":17565.054295657057},"targetPosition":{"x":19564.678629936112,"y":17753.85041297201},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Upper Band","id":"770ba99e-6809-491a-bdc2-3351fb82a848","savedPayload":{"position":{"x":19457.16824507252,"y":17473.77628502285},"targetPosition":{"x":19564.678629936112,"y":17753.85041297201},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Upper Band","id":"b2e952c2-3a4a-4857-b329-08b1a7db3f92"}}},{"type":"Polygon Vertex","name":"End Upper Band","id":"1f0c5a04-316d-46f3-9809-9e7b7f5c8d68","savedPayload":{"position":{"x":19611.60896944818,"y":17457.54391079347},"targetPosition":{"x":19564.678629936112,"y":17753.85041297201},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Upper Band","id":"ff8660a3-65b0-4df3-b823-f0656537ea30"}}},{"type":"Polygon Vertex","name":"End Lower Band","id":"784a2f26-c01b-4dd4-be3e-c19a67e51efb","savedPayload":{"position":{"x":19753.474747251064,"y":17520.70662453492},"targetPosition":{"x":19564.678629936112,"y":17753.85041297201},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Lower Band","id":"ad2678ac-2687-4a83-84f5-3447adab39e0"}}},{"type":"Polygon Vertex","name":"Begin Lower Band","id":"c5b96ae9-9650-461f-b480-e934eaed42b9","savedPayload":{"position":{"x":19844.75275788527,"y":17646.340028108418},"targetPosition":{"x":19564.678629936112,"y":17753.85041297201},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Lower Band","id":"a5d52420-869d-4597-bbf8-27288030c2cb"}}}],"id":"170768fe-218b-4efc-84b1-7fe4360c4bc6","savedPayload":{"position":{"x":19564.678629936112,"y":17753.85041297201},"targetPosition":{"x":19517.748290424042,"y":18050.15691515055},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Upper Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.5,\n \"lineWidth\": 0.2\n }\n}","id":"ef35f6f5-edb4-4e2b-ae3b-b12322a6eb01","savedPayload":{"position":{"x":20166.72594397807,"y":17517.816379013515},"targetPosition":{"x":19990.390368290326,"y":17760.521477325998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"c9a19eef-84bb-422d-befa-b7e893ef3813","savedPayload":{"position":{"x":19990.390368290326,"y":17760.521477325998},"targetPosition":{"x":19814.054792602583,"y":18003.22657563848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Upper Band","id":"0453f7d1-db79-436f-b0ab-27cd121aa058","savedPayload":{"position":{"x":20110.361294781123,"y":17956.29623612641},"targetPosition":{"x":19814.054792602583,"y":18003.22657563848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Upper Band","id":"b2e952c2-3a4a-4857-b329-08b1a7db3f92"}}},{"type":"Polygon Vertex","name":"End Upper Band","id":"41e230e4-78d4-43e9-85fb-e5ff01740d63","savedPayload":{"position":{"x":20056.759890915066,"y":18179.562151326223},"targetPosition":{"x":19814.054792602583,"y":18003.22657563848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Upper Band","id":"ff8660a3-65b0-4df3-b823-f0656537ea30"}}}],"id":"93a6b8eb-8c5d-4661-858f-9eb37058f104","savedPayload":{"position":{"x":19814.054792602583,"y":18003.22657563848},"targetPosition":{"x":19517.748290424042,"y":18050.15691515055},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Lower Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.5,\n \"lineWidth\": 0.2\n }\n}","id":"5f6e5be0-8b6e-4466-9bc2-a100671f5f74","savedPayload":{"position":{"x":20224.579350122996,"y":18502.869069032025},"targetPosition":{"x":19939.26239523445,"y":18410.163970719543},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"80bfd142-4af5-4242-9b49-314e88864a10","savedPayload":{"position":{"x":19939.26239523445,"y":18410.163970719543},"targetPosition":{"x":19653.945440345906,"y":18317.45887240706},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Lower Band","id":"032f51c9-feac-42c1-b0f2-091fcfd99402","savedPayload":{"position":{"x":19790.14259026777,"y":18584.76082966357},"targetPosition":{"x":19653.945440345906,"y":18317.45887240706},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Lower Band","id":"a5d52420-869d-4597-bbf8-27288030c2cb"}}},{"type":"Polygon Vertex","name":"End Lower Band","id":"af720143-1bb7-4f58-b8cb-b6af12c95b2a","savedPayload":{"position":{"x":19561.240342033423,"y":18602.775827295605},"targetPosition":{"x":19653.945440345906,"y":18317.45887240706},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Lower Band","id":"ad2678ac-2687-4a83-84f5-3447adab39e0"}}}],"id":"3ccd3764-3fbe-4da1-929f-4b349e4cc8fa","savedPayload":{"position":{"x":19653.945440345906,"y":18317.45887240706},"targetPosition":{"x":19517.748290424042,"y":18050.15691515055},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"6873036b-9a25-429f-bee6-bd16d1d41093","savedPayload":{"position":{"x":19517.748290424042,"y":18050.15691515055},"targetPosition":{"x":19305.61625606808,"y":18262.288949506514},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[],"id":"eccd3713-e5c8-450c-bfb8-f8821fc429df","savedPayload":{"position":{"x":19305.61625606808,"y":18262.288949506514},"targetPosition":{"x":19093.484221712115,"y":18474.420983862477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"31573886-3aa4-4a73-931c-db92ae11ebf9","savedPayload":{"position":{"x":19091.484221712115,"y":18476.420983862477},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Volume Analysis","config":"{ \n \"codeName\": \"Volume-Analysis\"\n}","modules":[{"type":"Plotter Module","name":"Volume Analysis","config":"{ \n \"codeName\": \"Volume-Analysis\", \n \"icon\": \"histogram\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"Buy Sell Volume","points":[{"type":"Point","name":"Begin Base","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"f8158da3-f5c3-4b74-81dc-2be3c0d22b45","savedPayload":{"position":{"x":19116.672128120863,"y":17859.65253234496},"targetPosition":{"x":19401.98908300941,"y":17952.357630657443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"faabcc21-5670-470c-bc77-c9aca70886b8","savedPayload":{"position":{"x":19401.98908300941,"y":17952.357630657443},"targetPosition":{"x":19687.306037897954,"y":18045.062728969926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Base","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"79b32fa6-3e60-4369-ba3c-3763342a672a","savedPayload":{"position":{"x":19231.062458537937,"y":17655.393899971816},"targetPosition":{"x":19459.184248217945,"y":17850.22831447087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0fff9bf4-08d1-4f44-bf79-dd08b42ff678","savedPayload":{"position":{"x":19459.184248217945,"y":17850.22831447087},"targetPosition":{"x":19687.306037897954,"y":18045.062728969926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin Buy","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.buyVolume","id":"1260a501-c3d7-42ee-b378-3fb0eafec069","savedPayload":{"position":{"x":19414.911738054227,"y":17510.458814456906},"targetPosition":{"x":19551.10888797609,"y":17777.760771713416},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7fdb6f4d-0f74-4631-aa4d-dd903d0229d3","savedPayload":{"position":{"x":19551.10888797609,"y":17777.760771713416},"targetPosition":{"x":19687.306037897954,"y":18045.062728969926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Buy","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end - (record.end - record.begin) / 2\ny = record.buyVolume","id":"ceec5884-2e1c-497b-b5d3-e8e782d1c3d8","savedPayload":{"position":{"x":19640.230580461244,"y":17446.912328730046},"targetPosition":{"x":19663.7683091796,"y":17745.987528849986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"604de182-f384-408e-9416-7d6f033e2647","savedPayload":{"position":{"x":19663.7683091796,"y":17745.987528849986},"targetPosition":{"x":19687.306037897954,"y":18045.062728969926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin Sell","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end - (record.end - record.begin) / 2\ny = record.sellVolume","id":"b54ab964-74cd-49d0-98a6-da48375d8525","savedPayload":{"position":{"x":19872.71623452292,"y":17474.428819192835},"targetPosition":{"x":19780.011136210436,"y":17759.74577408138},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"50689245-9b87-4751-ac97-fe322011a283","savedPayload":{"position":{"x":19780.011136210436,"y":17759.74577408138},"targetPosition":{"x":19687.306037897954,"y":18045.062728969926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Sell","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sellVolume","id":"fbc031e0-d43e-442b-97fe-5a9ad8eb6f9f","savedPayload":{"position":{"x":20076.974866896064,"y":17588.81914960991},"targetPosition":{"x":19882.14045239701,"y":17816.940939289918},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bff175f0-942f-4b80-a47d-4b3a81f8c02e","savedPayload":{"position":{"x":19882.14045239701,"y":17816.940939289918},"targetPosition":{"x":19687.306037897954,"y":18045.062728969926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Middle Base","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end - (record.end - record.begin) / 2\ny = 0","id":"8043c90f-b8a4-4b96-9d7e-c764dac32e1b","savedPayload":{"position":{"x":20221.909952410973,"y":17772.6684291262},"targetPosition":{"x":19954.607995154463,"y":17908.865579048063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"17046023-8100-436e-af2c-7800523e1b76","savedPayload":{"position":{"x":19954.607995154463,"y":17908.865579048063},"targetPosition":{"x":19687.306037897954,"y":18045.062728969926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9fc039fb-29b3-43cf-a68d-4e6e6e25a25a","savedPayload":{"position":{"x":19687.306037897954,"y":18045.062728969926},"targetPosition":{"x":19710.843766616308,"y":18344.137929089866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"SMA 20","points":[{"type":"Point","name":"Begin Buy SMA 20","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.buySMA20","id":"c25846dd-bf8e-4ab6-a76d-d0c5ac9d1273","savedPayload":{"position":{"x":19514.14965749627,"y":17553.389970724027},"targetPosition":{"x":19670.899226911053,"y":17809.182020030254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"00cca122-c5d1-4963-a4c5-0ef8402dad6e","savedPayload":{"position":{"x":19670.899226911053,"y":17809.182020030254},"targetPosition":{"x":19827.648796325837,"y":18064.97406933648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Buy SMA 20","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.buySMA20","id":"f6db70cc-ae4c-4d12-ac9f-cf0fc8a7738d","savedPayload":{"position":{"x":19874.724253762546,"y":17466.8236690966},"targetPosition":{"x":19851.18652504419,"y":17765.89886921654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a84d5f5a-955d-4108-babc-0a79f8963cb1","savedPayload":{"position":{"x":19851.18652504419,"y":17765.89886921654},"targetPosition":{"x":19827.648796325837,"y":18064.97406933648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin Sell SMA 20","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sellSMA20","id":"50905638-9a46-4835-bab4-5103a7c46fce","savedPayload":{"position":{"x":20217.317625323947,"y":17608.730489976464},"targetPosition":{"x":20022.483210824892,"y":17836.852279656472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fccd2ad5-d651-42be-aa67-3a96feac4ae3","savedPayload":{"position":{"x":20022.483210824892,"y":17836.852279656472},"targetPosition":{"x":19827.648796325837,"y":18064.97406933648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Sell SMA 20","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sellSMA20","id":"3f9f9ad0-2d4c-4036-a616-6307efea7537","savedPayload":{"position":{"x":20411.07074856444,"y":17924.906851022934},"targetPosition":{"x":20119.35977244514,"y":17994.940460179707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"85363ef9-6834-4124-885e-f78bc2516112","savedPayload":{"position":{"x":20119.35977244514,"y":17994.940460179707},"targetPosition":{"x":19827.648796325837,"y":18064.97406933648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7b48abfb-2e5a-4b7a-b0f6-ca827685589a","savedPayload":{"position":{"x":19780.87737577308,"y":18052.426952970563},"targetPosition":{"x":19710.843766616308,"y":18344.137929089866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"SMA 200","points":[{"type":"Point","name":"Begin Buy SMA 200","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.buySMA200","id":"3dd256fa-9944-4d7d-9831-e40dd3493b40","savedPayload":{"position":{"x":19639.98327661204,"y":17532.018160276868},"targetPosition":{"x":19754.788306321567,"y":17809.182020030254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ac42be50-d6da-4956-8c57-240970124355","savedPayload":{"position":{"x":19754.788306321567,"y":17809.182020030254},"targetPosition":{"x":19869.593336031092,"y":18086.34587978364},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Buy SMA 200","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.buySMA200","id":"37247409-4983-484d-b719-f9d82f3791b0","savedPayload":{"position":{"x":20009.66055434464,"y":17502.923927545035},"targetPosition":{"x":19939.626945187865,"y":17794.634903664337},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a0dd766d-5c5c-4ac1-96f4-6745501455a3","savedPayload":{"position":{"x":19939.626945187865,"y":17794.634903664337},"targetPosition":{"x":19869.593336031092,"y":18086.34587978364},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin Sell SMA 200","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sellSMA200","id":"fa086961-195a-4b30-b0b8-1045a2ae20b5","savedPayload":{"position":{"x":20325.836915391108,"y":17696.67705078553},"targetPosition":{"x":20097.7151257111,"y":17891.511465284584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"083d6c60-2cfa-4221-a98b-bc082201f194","savedPayload":{"position":{"x":20097.7151257111,"y":17891.511465284584},"targetPosition":{"x":19869.593336031092,"y":18086.34587978364},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Sell SMA 200","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sellSMA200","id":"3885decc-ccaa-4818-991b-ce6f1fa7e7aa","savedPayload":{"position":{"x":20467.74373627097,"y":18039.27042234693},"targetPosition":{"x":20168.66853615103,"y":18062.808151065285},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2df7e089-1967-4cd8-8e95-376f9aabd43a","savedPayload":{"position":{"x":20168.66853615103,"y":18062.808151065285},"targetPosition":{"x":19869.593336031092,"y":18086.34587978364},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c806e2e4-b5b2-4323-8d82-f73e79e923ac","savedPayload":{"position":{"x":19867.593336031092,"y":18088.34587978364},"targetPosition":{"x":19710.843766616308,"y":18344.137929089866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Buy Volume Bar","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.buySMA20 > record.buySMA200 && record.buyVolume > record.buySMA200","style":{"type":"Style","name":"New Style","config":"{\n \n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.8\n \n}","id":"87855af8-f080-4f1a-898e-5664b9bc1303","savedPayload":{"position":{"x":19698.884702023708,"y":17283.693132544533},"targetPosition":{"x":19791.58980033619,"y":17569.01008743308},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9ffc7ae4-c366-4588-a604-66f60277d0bd","savedPayload":{"position":{"x":19791.58980033619,"y":17569.01008743308},"targetPosition":{"x":19884.294898648674,"y":17854.327042321624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"!(record.buySMA20 > record.buySMA200 && record.buyVolume > record.buySMA200)","style":{"type":"Style","name":"New Style","config":"{\n \n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.2\n \n}","id":"03f1da8f-a211-4454-9bd2-4dacb04c4bdb","savedPayload":{"position":{"x":19852.893324902907,"y":17255.14932146888},"targetPosition":{"x":19868.59411177579,"y":17554.738181895253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4a78dced-32a2-4c26-a5f6-b1b4d9418cd1","savedPayload":{"position":{"x":19868.59411177579,"y":17554.738181895253},"targetPosition":{"x":19884.294898648674,"y":17854.327042321624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5ae67b38-f0c2-4fac-af8b-6716b4899bdf","savedPayload":{"position":{"x":19884.294898648674,"y":17854.327042321624},"targetPosition":{"x":19938.965556296316,"y":18149.30351459081},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Base","id":"7bf6e384-1001-4d1b-b96a-fbdacf74f79e","savedPayload":{"position":{"x":20039.107614066448,"y":17866.511067263156},"targetPosition":{"x":19938.965556296316,"y":18149.30351459081},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Base","id":"faabcc21-5670-470c-bc77-c9aca70886b8"}}},{"type":"Polygon Vertex","name":"Begin Buy","id":"cdf8e5eb-f2bb-4793-b90f-11fa2fba4c04","savedPayload":{"position":{"x":20167.087345976324,"y":17954.469100091756},"targetPosition":{"x":19938.965556296316,"y":18149.30351459081},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Buy","id":"7fdb6f4d-0f74-4631-aa4d-dd903d0229d3"}}},{"type":"Polygon Vertex","name":"End Buy","id":"53ea875f-63fe-4f33-84bf-fa8e000772fe","savedPayload":{"position":{"x":20233.942028565503,"y":18094.632856943168},"targetPosition":{"x":19938.965556296316,"y":18149.30351459081},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Buy","id":"604de182-f384-408e-9416-7d6f033e2647"}}},{"type":"Polygon Vertex","name":"Middle Base","id":"9f4d630e-28d8-44ef-a22c-5b706c0997d7","savedPayload":{"position":{"x":20221.75800362397,"y":18249.445572360943},"targetPosition":{"x":19938.965556296316,"y":18149.30351459081},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Middle Base","id":"17046023-8100-436e-af2c-7800523e1b76"}}}],"id":"11f192dc-eb4a-48ee-81cc-a484285bfe6f","savedPayload":{"position":{"x":19938.965556296316,"y":18149.30351459081},"targetPosition":{"x":19710.843766616308,"y":18344.137929089866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Sell Volume Bar","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.sellSMA20 > record.sellSMA200 && record.sellVolume > record.sellSMA200 ","style":{"type":"Style","name":"New Style","config":"{\n \n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.8\n \n}","id":"ffac30be-b78e-418a-b26b-c6071bc2d13f","savedPayload":{"position":{"x":20027.165484035708,"y":17331.899440968198},"targetPosition":{"x":20027.165484035708,"y":17631.899440968198},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e1d52b4a-09ee-451c-aa3d-62ce9f379fcb","savedPayload":{"position":{"x":20027.165484035708,"y":17631.899440968198},"targetPosition":{"x":20027.165484035708,"y":17931.899440968198},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Style Condition","name":"New Style Condition","code":"!( record.sellSMA20 > record.sellSMA200 && record.sellVolume > record.sellSMA200 ) ","style":{"type":"Style","name":"New Style","config":"{\n \n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.2\n \n}","id":"308a78ae-507a-4047-8231-162422d90173","savedPayload":{"position":{"x":20182.456911097222,"y":17352.343945194756},"targetPosition":{"x":20104.811197566465,"y":17642.121693081477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"71e76b74-39f0-4ed5-bd88-629b956ca6d1","savedPayload":{"position":{"x":20104.811197566465,"y":17642.121693081477},"targetPosition":{"x":20027.165484035708,"y":17931.899440968198},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"34b8d505-0245-4c5e-8ee9-c62beae9e648","savedPayload":{"position":{"x":20027.165484035708,"y":17931.899440968198},"targetPosition":{"x":19988.007626369694,"y":18229.33289938034},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Middle Base","id":"bdd19f84-69dc-41a8-87cd-5f0fbdafa195","savedPayload":{"position":{"x":20170.63605507231,"y":17991.32689729297},"targetPosition":{"x":19988.007626369694,"y":18229.33289938034},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Middle Base","id":"17046023-8100-436e-af2c-7800523e1b76"}}},{"type":"Polygon Vertex","name":"Begin Sell","id":"278692ec-1365-4bb2-895d-d07ed07edb24","savedPayload":{"position":{"x":20265.17148612308,"y":18114.527869670816},"targetPosition":{"x":19988.007626369694,"y":18229.33289938034},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Sell","id":"50689245-9b87-4751-ac97-fe322011a283"}}},{"type":"Polygon Vertex","name":"End Sell","id":"6d4b46a4-4d29-4ce9-a4cf-d9f79ef2c81d","savedPayload":{"position":{"x":20285.441084781836,"y":18268.490757046355},"targetPosition":{"x":19988.007626369694,"y":18229.33289938034},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Sell","id":"bff175f0-942f-4b80-a47d-4b3a81f8c02e"}}},{"type":"Polygon Vertex","name":"End Base","id":"1a32692b-f345-4ce8-b8f1-eb173a6e9b41","savedPayload":{"position":{"x":20226.013628457065,"y":18411.961328082958},"targetPosition":{"x":19988.007626369694,"y":18229.33289938034},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Base","id":"0fff9bf4-08d1-4f44-bf79-dd08b42ff678"}}}],"id":"480b24b1-8ee9-4018-86d1-362f149f7881","savedPayload":{"position":{"x":19988.007626369694,"y":18229.33289938034},"targetPosition":{"x":19710.843766616308,"y":18344.137929089866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Buy SMA 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 0.8\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 3,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"eca19f91-9766-4f13-bd9c-cc47432ad3f4","savedPayload":{"position":{"x":20590.007626369694,"y":18456.942958799395},"targetPosition":{"x":20290.007626369694,"y":18456.942958799395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"3f4f66f4-1e05-44b1-977e-4c803c0e57ee","savedPayload":{"position":{"x":20290.007626369694,"y":18456.942958799395},"targetPosition":{"x":19990.007626369694,"y":18456.942958799395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Buy SMA 20","id":"28f5910d-3e5c-462a-a933-59e4ebda9c6d","savedPayload":{"position":{"x":20267.17148612308,"y":18571.747988508923},"targetPosition":{"x":19990.007626369694,"y":18456.942958799395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Buy SMA 20","id":"00cca122-c5d1-4963-a4c5-0ef8402dad6e"}}},{"type":"Polygon Vertex","name":"End Buy SMA 20","id":"c4f28407-5fef-44af-867a-b4f5b66e8c8d","savedPayload":{"position":{"x":20202.139660725657,"y":18669.07499315536},"targetPosition":{"x":19990.007626369694,"y":18456.942958799395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Buy SMA 20","id":"a84d5f5a-955d-4108-babc-0a79f8963cb1"}}}],"id":"ec629e5c-341a-4cc3-8ebd-61327c596cbd","savedPayload":{"position":{"x":20009.918966736248,"y":18320.60020037151},"targetPosition":{"x":19710.843766616308,"y":18344.137929089866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Sell SMA 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 0.8\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 3,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n }\n}","id":"c4e9afdc-300c-4585-ad7b-a1e683f510a2","savedPayload":{"position":{"x":20479.303520479043,"y":18783.880022864887},"targetPosition":{"x":20202.139660725657,"y":18669.07499315536},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"84c664b3-de4c-4d33-a417-264a8992f606","savedPayload":{"position":{"x":20202.139660725657,"y":18669.07499315536},"targetPosition":{"x":19924.975800972272,"y":18554.26996344583},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Sell SMA 20","id":"86f37b93-cdb3-49cc-9366-1d04af87a68b","savedPayload":{"position":{"x":20137.107835328236,"y":18766.401997801793},"targetPosition":{"x":19924.975800972272,"y":18554.26996344583},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Sell SMA 20","id":"fccd2ad5-d651-42be-aa67-3a96feac4ae3"}}},{"type":"Polygon Vertex","name":"End Sell SMA 20","id":"df33d6c2-5652-4491-b635-f2a01a52b141","savedPayload":{"position":{"x":20039.780830681797,"y":18831.433823199215},"targetPosition":{"x":19924.975800972272,"y":18554.26996344583},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Sell SMA 20","id":"85363ef9-6834-4124-885e-f78bc2516112"}}}],"id":"b85ff160-cf73-452a-b824-58010659c377","savedPayload":{"position":{"x":20002.55474273561,"y":18414.17153824664},"targetPosition":{"x":19710.843766616308,"y":18344.137929089866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Buy SMA 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.8,\n \"lineWidth\": 0.5\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 3,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"5ad42bce-0be4-40af-af98-6bc1bd556929","savedPayload":{"position":{"x":20561.248820279616,"y":18592.74817752879},"targetPosition":{"x":20264.942318101075,"y":18545.81783801672},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"d49d4d35-54f2-47c9-be57-dcffa4293acd","savedPayload":{"position":{"x":20264.942318101075,"y":18545.81783801672},"targetPosition":{"x":19968.635815922535,"y":18498.88749850465},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Buy SMA 200","id":"0a8b1f9d-4b92-4ec2-988a-6ada06a6df19","savedPayload":{"position":{"x":20224.42786522876,"y":18655.637067919433},"targetPosition":{"x":19968.635815922535,"y":18498.88749850465},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Buy SMA 200","id":"ac42be50-d6da-4956-8c57-240970124355"}}},{"type":"Polygon Vertex","name":"End Buy SMA 200","id":"ab80d6af-82d4-41c6-b696-080c72f76a33","savedPayload":{"position":{"x":20144.971391610277,"y":18741.592596817132},"targetPosition":{"x":19968.635815922535,"y":18498.88749850465},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Buy SMA 200","id":"a0dd766d-5c5c-4ac1-96f4-6745501455a3"}}}],"id":"6b7e1de7-03c6-42e1-b965-83f3ed9f0c29","savedPayload":{"position":{"x":19966.635815922535,"y":18500.88749850465},"targetPosition":{"x":19710.843766616308,"y":18344.137929089866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Sell SMA 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.8,\n \"lineWidth\": 0.5\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 3,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n }\n}","id":"74783c70-c094-4816-95ac-7aacc5f233d3","savedPayload":{"position":{"x":20442.282095628383,"y":18842.6540186136},"targetPosition":{"x":20174.980138371873,"y":18706.456868691737},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"789febe0-ea41-4f50-b6a9-cd696081071b","savedPayload":{"position":{"x":20174.980138371873,"y":18706.456868691737},"targetPosition":{"x":19907.678181115363,"y":18570.259718769874},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Sell SMA 200","id":"732d98b7-9ea0-4d9a-bd60-192ae0440cb2","savedPayload":{"position":{"x":20102.51259561442,"y":18798.381508449882},"targetPosition":{"x":19907.678181115363,"y":18570.259718769874},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Sell SMA 200","id":"083d6c60-2cfa-4221-a98b-bc082201f194"}}},{"type":"Polygon Vertex","name":"End Sell SMA 200","id":"7441f304-e6bf-47b2-8d1d-f4689b0d6b30","savedPayload":{"position":{"x":20000.383279427846,"y":18855.57667365842},"targetPosition":{"x":19907.678181115363,"y":18570.259718769874},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Sell SMA 200","id":"2df7e089-1967-4cd8-8e95-376f9aabd43a"}}}],"id":"79bbc8bc-1138-4669-b0b3-9113cdde1353","savedPayload":{"position":{"x":19905.678181115363,"y":18572.259718769874},"targetPosition":{"x":19710.843766616308,"y":18344.137929089866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"df508a3b-c7ea-479a-8c29-1fe15c62f816","savedPayload":{"position":{"x":19710.843766616308,"y":18344.137929089866},"targetPosition":{"x":19433.679906862923,"y":18458.94295879939},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[],"id":"77bf098c-c563-4855-9738-3443a324365c","savedPayload":{"position":{"x":19433.679906862923,"y":18458.94295879939},"targetPosition":{"x":19156.516047109537,"y":18573.747988508916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"316fd407-d13c-49e6-bcf6-1f4ef7562e43","savedPayload":{"position":{"x":19156.516047109537,"y":18573.747988508916},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"35be7b1c-a0f7-4b5f-9ee1-8fb51595e959","savedPayload":{"position":{"x":18879.35218735615,"y":18688.55301821844},"targetPosition":{"x":18879.35218735615,"y":18688.55301821844},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"m"}}}
\ No newline at end of file
diff --git a/Plugins/Data-Mines/Samurai.json b/Plugins/Data-Mines/Samurai.json
deleted file mode 100644
index 6827c45ae..000000000
--- a/Plugins/Data-Mines/Samurai.json
+++ /dev/null
@@ -1 +0,0 @@
-{"type":"Data Mine","name":"Samurai","config":"{\n\"codeName\": \"Samurai\"\n}","sensorBots":[],"indicatorBots":[{"type":"Indicator Bot","name":"Candles Probabilities","config":"{\n\"codeName\": \"Candles-Probabilities\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Calculates SMAs for Time Frames of 01-hs and above.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\",\n \"startDate\": {\n },\n \"endDate\": {\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Candles Probabilities","id":"ab027b2e-4e02-4c71-8da5-6b43c37de20b","savedPayload":{"position":{"x":24441.807558180073,"y":11178.172754360203},"targetPosition":{"x":24757.91289199851,"y":11360.695699284031},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"85c67513-347a-4948-9121-dee04543fcff"}}}],"outputDatasetFolders":[],"id":"1a087bb8-af2f-4384-85dd-c86d4b39aeff","savedPayload":{"position":{"x":24740.813740813894,"y":11764.307395546577},"targetPosition":{"x":25087.495634870367,"y":11964.565651629404},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"09588f6b-2193-4c9e-bc33-2ac075e8e4f4","savedPayload":{"position":{"x":25757.82661988232,"y":10782.55282705661},"targetPosition":{"x":25863.974750655703,"y":11140.122654848603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"Candles Probabilities Multi-Period-Market","config":"{ \n\"mainUtility\": \"Self Reference|Market Starting Point|Market Ending Point\"\n}","id":"83721123-d178-4ab3-8d6f-da06e8416eb8","savedPayload":{"position":{"x":25902.870176218516,"y":10769.51496828574},"targetPosition":{"x":25863.974750655703,"y":11140.122654848603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"24ca1130-0386-4088-9417-48eb5d8ac96a"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"2cfeb861-3ce6-4f63-b974-acc395f744cc","savedPayload":{"position":{"x":26042.027883264192,"y":10813.091690317255},"targetPosition":{"x":25863.974750655703,"y":11140.122654848603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"08845d0d-a0a1-4d26-bb44-1072dfcf0b07","savedPayload":{"position":{"x":24887.60865246401,"y":11617.60490303291},"targetPosition":{"x":25087.495634870367,"y":11964.565651629404},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"24ca1130-0386-4088-9417-48eb5d8ac96a","savedPayload":{"position":{"x":25087.495721365332,"y":11563.948027561915},"targetPosition":{"x":25087.495634870367,"y":11964.565651629404},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"82529746-2044-48f0-b1f6-d1454ba5682d","savedPayload":{"position":{"x":25287.48635377009,"y":11617.520908314928},"targetPosition":{"x":25087.495634870367,"y":11964.565651629404},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"05bcb9a5-4065-44cf-88db-77bb2b61b99a","savedPayload":{"position":{"x":25433.894299862637,"y":11764.005247841533},"targetPosition":{"x":25087.495634870367,"y":11964.565651629404},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b9db962a-525e-409c-99b7-81fc0116b4b9","savedPayload":{"position":{"x":25087.495634870367,"y":11964.565651629404},"targetPosition":{"x":25087.50120815478,"y":12377.918620322398},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Describe what the process does.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\",\n \"startDate\": {\n \"takeItFromStatusDependency\": 0\n },\n \"endDate\": {\n \"takeItFromStatusDependency\": 1\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily Candles Probabilities","id":"b16f70b2-d7a8-434c-a36c-a3200f3414ab","savedPayload":{"position":{"x":25800.15762928091,"y":11856.993253131839},"targetPosition":{"x":25700.09936916545,"y":12031.377364212467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"fa17370b-0a9c-4350-9cce-1df4be39b58c"}}}],"outputDatasetFolders":[],"id":"e156d437-ff71-4a1c-9239-abfc3b1dd3cb","savedPayload":{"position":{"x":25700.09936916545,"y":12031.377364212467},"targetPosition":{"x":25500.52302256196,"y":12377.922330520758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Candles Probabilities Multi-Period-Daily","config":"{\"mainUtility\": \"Self Reference\"}","id":"f102b96d-854c-4fa1-9c1f-7689da34d35b","savedPayload":{"position":{"x":25864.631248982016,"y":11977.268573438294},"targetPosition":{"x":25846.96565654448,"y":12178.380472930085},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"ac04d901-b5ee-4b27-abc7-e0eeb7d79cc3"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"6a656f04-04eb-4ee8-ac17-d87d8ada1264","savedPayload":{"position":{"x":25982.93203012055,"y":12026.011319771422},"targetPosition":{"x":25846.96565654448,"y":12178.380472930085},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\"mainUtility\": \"Market Starting Point\"}","id":"86adad3f-7780-4a41-8ec5-5f2f9bdb1e10","savedPayload":{"position":{"x":26047.23987952665,"y":12135.594570941714},"targetPosition":{"x":25846.96565654448,"y":12178.380472930085},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"d4417217-99e4-4644-8b6b-3d8168b01090","savedPayload":{"position":{"x":26029.651478786353,"y":12266.185580591813},"targetPosition":{"x":25846.96565654448,"y":12178.380472930085},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"1cab7bdf-ecd1-4054-90ff-54f2cf683b2e","savedPayload":{"position":{"x":25846.96565654448,"y":12178.380472930085},"targetPosition":{"x":25500.52302256196,"y":12377.922330520758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"ac04d901-b5ee-4b27-abc7-e0eeb7d79cc3","savedPayload":{"position":{"x":25900.769277193373,"y":12378.352432245998},"targetPosition":{"x":25500.52302256196,"y":12377.922330520758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"34548656-528b-4e6b-89d9-ec56d7818f88","savedPayload":{"position":{"x":25847.330845607605,"y":12578.258678209299},"targetPosition":{"x":25500.52302256196,"y":12377.922330520758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"3900deae-546f-4277-8fcb-e78c03a7fb0d","savedPayload":{"position":{"x":25700.722998160323,"y":12724.712009640398},"targetPosition":{"x":25500.52302256196,"y":12377.922330520758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2212f26a-27aa-4e1f-b2aa-73ede1434477","savedPayload":{"position":{"x":25500.52302256196,"y":12377.922330520758},"targetPosition":{"x":25087.50120815478,"y":12377.918620322398},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Candles Probabilities","config":"{\n \"codeName\": \"Candles-Probabilities\",\n \"singularVariableName\": \"candlesProbability\",\n \"pluralVariableName\": \"candlesProbabilities\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"85c67513-347a-4948-9121-dee04543fcff","savedPayload":{"position":{"x":25254.64494643838,"y":12922.902131668741},"targetPosition":{"x":25087.459431383417,"y":12808.393420005701},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"fa17370b-0a9c-4350-9cce-1df4be39b58c","savedPayload":{"position":{"x":25145.01695205679,"y":13002.476099621948},"targetPosition":{"x":25087.459431383417,"y":12808.393420005701},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"7f630e20-9ead-4b62-a13a-d98dfde35569","savedPayload":{"position":{"x":25162.434371911262,"y":13254.384074775951},"targetPosition":{"x":25065.188222509194,"y":13163.170697781212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8356c5bd-3acf-46d5-bb60-5ca4784b0a48","savedPayload":{"position":{"x":25065.188222509194,"y":13163.170697781212},"targetPosition":{"x":24942.317080824618,"y":13116.847867476527},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"abb35458-3007-4a6f-9926-b2034eef794f","savedPayload":{"position":{"x":25053.11057114337,"y":13382.232236976475},"targetPosition":{"x":25018.0129586287,"y":13265.516421128646},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"12a6b10a-22b5-459a-81d9-9de037af4f4e","savedPayload":{"position":{"x":25018.0129586287,"y":13265.516421128646},"targetPosition":{"x":24942.317080824618,"y":13116.847867476527},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Direction Up","config":"{\n \"codeName\": \"directionUp\"\n}","formula":{"type":"Formula","code":"variable.directionUp","id":"cf8a68a3-d2e2-402a-ab5e-ae493f62b1ae","savedPayload":{"position":{"x":24880.42705984978,"y":13396.878111510241},"targetPosition":{"x":24908.81172241415,"y":13287.556777019521},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0b88c6ec-e33a-46e8-9a17-24e9158d476e","savedPayload":{"position":{"x":24908.81172241415,"y":13287.556777019521},"targetPosition":{"x":24942.317080824618,"y":13116.847867476527},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Direction Down","config":"{\n \"codeName\": \"directionDown\"\n}","formula":{"type":"Formula","code":"variable.directionDown","id":"dcf8a2e7-3f11-4237-a3bb-433d99f3dde7","savedPayload":{"position":{"x":24739.56912073904,"y":13305.346621069506},"targetPosition":{"x":24813.68322906005,"y":13236.74616930508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"528446c8-b8b6-4b1c-94f6-0895ba1fba83","savedPayload":{"position":{"x":24813.68322906005,"y":13236.74616930508},"targetPosition":{"x":24942.317080824618,"y":13116.847867476527},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Direction Side","config":"{\n \"codeName\": \"directionSide\"\n}","formula":{"type":"Formula","code":"variable.directionSide","id":"b1e369f5-64b2-4a81-b21b-52976b8949e8","savedPayload":{"position":{"x":24714.0046270875,"y":13126.020662912204},"targetPosition":{"x":24836.593442093323,"y":13107.683217286347},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c2214ffd-7628-4ae3-9731-3c08329dfbd1","savedPayload":{"position":{"x":24836.593442093323,"y":13107.683217286347},"targetPosition":{"x":24942.317080824618,"y":13116.847867476527},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f5fdf31a-a5bd-47b9-91a7-2698538af74e","savedPayload":{"position":{"x":24942.317080824618,"y":13116.847867476527},"targetPosition":{"x":25087.459431383417,"y":12808.393420005701},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"let candle = record.current // Our main dependencies are candles\nvariable.count++\n\nif (candle.direction === \"Up\") {\n variable.countUp++\n}\n\nif (candle.direction === \"Down\") {\n variable.countDown++\n}\n\nif (candle.direction === \"Side\") {\n variable.countSide++\n}\n\nvariable.directionUp = variable.countUp / variable.count\nvariable.directionDown = variable.countDown / variable.count\nvariable.directionSide = variable.countSide / variable.count\n","id":"cd5da888-ac24-4ab0-a249-28237a881fa6","savedPayload":{"position":{"x":24560.555992799847,"y":13412.961755843506},"targetPosition":{"x":24641.168434324656,"y":13229.265486499004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"97a50cc8-8086-43e2-8a2c-5ee5394676b4","savedPayload":{"position":{"x":24641.168434324656,"y":13229.265486499004},"targetPosition":{"x":24740.399273351544,"y":13022.168937689474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"variable.count = 0 \nvariable.countUp = 0\nvariable.countDown = 0\nvariable.countSide = 0\n","id":"9d71f7ab-bffc-4898-bdbe-132b864e989c","savedPayload":{"position":{"x":24341.926715740938,"y":13064.284260488737},"targetPosition":{"x":24540.26170899307,"y":13043.239727302123},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0a1f47a1-f5f9-4e1b-9cdb-f0fff0e01e59","savedPayload":{"position":{"x":24540.26170899307,"y":13043.239727302123},"targetPosition":{"x":24740.399273351544,"y":13022.168937689474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6d6c4442-0674-4782-a79f-8f18b5d7a688","savedPayload":{"position":{"x":24740.399273351544,"y":13022.168937689474},"targetPosition":{"x":25087.459431383417,"y":12808.393420005701},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d0e9521c-2ba8-44ce-b81e-7baf841008e0","savedPayload":{"position":{"x":25087.459431383417,"y":12808.393420005701},"targetPosition":{"x":25087.50120815478,"y":12377.918620322398},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Candles Probabilities","id":"ecab3716-75a4-4752-b826-1d5df9ec7325"}}}],"id":"07fee895-ee90-4175-829a-df0bbd498178","savedPayload":{"position":{"x":25154.085156252113,"y":12377.923660201921},"targetPosition":{"x":24687.956165025786,"y":12377.91976516634},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Candles Channels Probabilities","config":"{\n\"codeName\": \"Candles-Channels-Probabilities\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Calculates SMAs for Time Frames of 01-hs and above.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\",\n \"startDate\": {\n },\n \"endDate\": {\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Candles Channels Probabilities","id":"46154f7d-e7dc-423a-b297-8d6a1bc36a0c","savedPayload":{"position":{"x":25400.705997815578,"y":12256.821381644872},"targetPosition":{"x":25300.56117467831,"y":12430.85939004045},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"fdee2b9c-3036-4db2-af42-b3507a6ffacf"}}}],"outputDatasetFolders":[],"id":"1c1a6fa0-6969-4353-81ff-56d0c82aee08","savedPayload":{"position":{"x":25300.56117467831,"y":12430.85939004045},"targetPosition":{"x":25100.623551706616,"y":12777.474383576235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Candles Channels Probabilities Multi-Period-Market","config":"{\"mainUtility\": \"Self Reference\"}","id":"b08e8123-6edf-4b08-80e2-13e37b81d415","savedPayload":{"position":{"x":25551.981076084558,"y":12398.429281754543},"targetPosition":{"x":25447.18633665856,"y":12577.864210966018},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"e1e05f4b-5d1f-463c-8c99-f09066fd485b"}}},{"type":"Status Dependency","name":"Candle Channels Multi-Period-Market","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","id":"831c0a8c-aa09-480d-b790-54352d40ae93","savedPayload":{"position":{"x":25634.169411512965,"y":12459.479045854692},"targetPosition":{"x":25447.18633665856,"y":12577.864210966018},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"902925d3-1d23-4894-9459-0be8df3965df"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Channels Objects Multi-Period-Market","id":"53e98a6b-95d8-4b9b-aa37-71b565b73a6c","savedPayload":{"position":{"x":25651.01224295164,"y":12590.287851478954},"targetPosition":{"x":25447.18633665856,"y":12577.864210966018},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"566b9df4-da86-4b4f-a3f4-ef8a76443714"}}}],"dataMineDataDependencies":[],"id":"f2f59d93-f4ba-47f0-bd3a-4b5dbe76841d","savedPayload":{"position":{"x":25447.18633665856,"y":12577.864210966018},"targetPosition":{"x":25100.623551706616,"y":12777.474383576235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"e1e05f4b-5d1f-463c-8c99-f09066fd485b","savedPayload":{"position":{"x":25501.07016556492,"y":12777.65097033437},"targetPosition":{"x":25100.623551706616,"y":12777.474383576235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candle Channels Multi-Period-Market","id":"861617d8-0cff-491f-862d-11b5fd292351","savedPayload":{"position":{"x":25447.530767517725,"y":12977.61137841059},"targetPosition":{"x":25100.623551706616,"y":12777.474383576235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"0ee514b6-0528-4ff9-a901-a519856fbee4"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"a05d99eb-b96a-4594-8b29-eb2b544a9036","savedPayload":{"position":{"x":25300.988218061226,"y":13123.947666412903},"targetPosition":{"x":25100.623551706616,"y":12777.474383576235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"87fd6735-ee38-41aa-8a58-1a75f89aea5e","savedPayload":{"position":{"x":25100.623551706616,"y":12777.474383576235},"targetPosition":{"x":24687.68912809008,"y":12777.467848396518},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Describe what the process does.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\",\n \"startDate\": {\n \"takeItFromStatusDependency\": 0\n },\n \"endDate\": {\n \"takeItFromStatusDependency\": 1\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily Candles Channels Probabilities","id":"1d0c0cce-6113-49d7-afac-85d9938d9655","savedPayload":{"position":{"x":25208.042820630555,"y":13490.079850609169},"targetPosition":{"x":25033.790697527613,"y":13389.965522121705},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"2774470d-7382-48e3-bd0a-957f0332a698"}}}],"outputDatasetFolders":[],"id":"8e168ff4-ad08-493f-b804-1786cf2e2431","savedPayload":{"position":{"x":25033.790697527613,"y":13389.965522121705},"targetPosition":{"x":24687.406046567008,"y":13190.327739908722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Candles Channels Probabilities Multi-Period-Daily","config":"{\"mainUtility\": \"Self Reference\"}","id":"abd6c6ca-b442-47bf-9820-ab2243bdf2fa","savedPayload":{"position":{"x":25087.808083439053,"y":13554.42005670689},"targetPosition":{"x":24886.826934550867,"y":13536.751877019422},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"3fd6046f-ea3c-4b62-ab4e-7d84a5b9bb9f"}}},{"type":"Status Dependency","name":"Candle Channels Multi-Period-Daily","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"772d5c04-73a6-44eb-af42-bc94d6f24618","savedPayload":{"position":{"x":25039.123745723547,"y":13672.69625903119},"targetPosition":{"x":24886.826934550867,"y":13536.751877019422},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"4a89ffcd-ef6d-4dd2-bbf6-6e2f1dba24cd"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\"mainUtility\": \"Market Starting Point\"}","id":"d9e96093-0e4b-4b5a-86bc-5361d4dd5744","savedPayload":{"position":{"x":24929.561159001747,"y":13737.037219711607},"targetPosition":{"x":24886.826934550867,"y":13536.751877019422},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Channels Objects Multi-Period-Daily","id":"bbee33b8-ad71-44c0-8900-9ff8527615a6","savedPayload":{"position":{"x":24798.86532442198,"y":13719.38293822478},"targetPosition":{"x":24886.826934550867,"y":13536.751877019422},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"8a7d224b-7571-4e1a-8b8f-8a35aa25dc63"}}}],"dataMineDataDependencies":[],"id":"6c06360e-fef9-4cb5-a94e-69cefb1e68d5","savedPayload":{"position":{"x":24886.826934550867,"y":13536.751877019422},"targetPosition":{"x":24687.406046567008,"y":13190.327739908722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"3fd6046f-ea3c-4b62-ab4e-7d84a5b9bb9f","savedPayload":{"position":{"x":24686.861355901,"y":13590.531498988108},"targetPosition":{"x":24687.406046567008,"y":13190.327739908722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candle Channels Multi-Period-Daily","id":"da961f64-aab7-46a7-b5ca-48246c13a938","savedPayload":{"position":{"x":24486.945233584673,"y":13537.01249080571},"targetPosition":{"x":24687.406046567008,"y":13190.327739908722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"e29dc92e-bbd9-45ae-ac52-1ee785e44928"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"a739e56b-d98c-46ca-8fcb-dc3508bf2d89","savedPayload":{"position":{"x":24340.465332387867,"y":13390.294116060772},"targetPosition":{"x":24687.406046567008,"y":13190.327739908722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b2261546-4415-4425-aedf-72bfc5c9fdba","savedPayload":{"position":{"x":24687.406046567008,"y":13190.327739908722},"targetPosition":{"x":24687.68912809008,"y":12777.467848396518},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Candles Channels Probabilities","config":"{\n \"codeName\": \"Candles-Channels-Probabilities\",\n \"singularVariableName\": \"candlesChannelsProbability\",\n \"pluralVariableName\": \"candlesChannelsProbabilities\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"fdee2b9c-3036-4db2-af42-b3507a6ffacf","savedPayload":{"position":{"x":24273.699129139193,"y":13372.905080227374},"targetPosition":{"x":24365.94914810566,"y":13088.257412841824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"2774470d-7382-48e3-bd0a-957f0332a698","savedPayload":{"position":{"x":24123.67105690275,"y":13263.908155943009},"targetPosition":{"x":24365.94914810566,"y":13088.257412841824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"339d7be1-ca04-4765-a1ef-e4e94d8fa506","savedPayload":{"position":{"x":23928.073057760197,"y":13139.10863920847},"targetPosition":{"x":23659.360570975146,"y":13131.957327901217},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"58a58c23-588e-44d5-a294-ff055b12823a","savedPayload":{"position":{"x":23659.360570975146,"y":13131.957327901217},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"5f29de35-5c6f-4adb-bc0a-5c4fbc540c79","savedPayload":{"position":{"x":23963.854546983683,"y":13235.12586412383},"targetPosition":{"x":23677.375683208174,"y":13152.757250025265},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"29d683db-c178-4d5e-9023-8b38a44eeae1","savedPayload":{"position":{"x":23677.375683208174,"y":13152.757250025265},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Count All","config":"{\n \"codeName\": \"countAll\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.count.all","id":"526500fd-4057-44b7-a130-0149cb982475","savedPayload":{"position":{"x":23819.088476709883,"y":13271.411522581531},"targetPosition":{"x":23546.73267394651,"y":13209.377833227896},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e2444603-4120-42fe-a655-3967d334e404","savedPayload":{"position":{"x":23546.73267394651,"y":13209.377833227896},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Count Up","config":"{\n \"codeName\": \"countUp\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.count.up","id":"6501ff4c-1d67-4c0c-bcff-7037f4936720","savedPayload":{"position":{"x":23932.902420534552,"y":13353.1532917655},"targetPosition":{"x":23684.49644635098,"y":13233.573614849183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f1e38827-72ba-43c3-af89-462bda3ab733","savedPayload":{"position":{"x":23684.49644635098,"y":13233.573614849183},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Count Down","config":"{\n \"codeName\": \"countDown\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.count.down","id":"ba9191b5-5130-44ea-887b-97c13c119022","savedPayload":{"position":{"x":23826.215810082213,"y":13374.323551162699},"targetPosition":{"x":23650.737459321972,"y":13280.033236501278},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"20761e96-657c-453b-870b-33c65b105b1b","savedPayload":{"position":{"x":23650.737459321972,"y":13280.033236501278},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Count Side","config":"{\n \"codeName\": \"countSide\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.count.side","id":"5a61ff39-689a-4fcf-8d71-833a83b1d916","savedPayload":{"position":{"x":23863.969862167098,"y":13511.928566868777},"targetPosition":{"x":23514.591254037343,"y":13273.447198190011},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"96a9ee06-1ae3-44c4-9ab6-ac6b165fbf8b","savedPayload":{"position":{"x":23514.591254037343,"y":13273.447198190011},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Max Up","config":"{\n \"codeName\": \"maxUp\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.max.up","id":"0703509d-2bd1-4216-bdd1-1c1b4a34428b","savedPayload":{"position":{"x":23736.271438317697,"y":13462.684072261356},"targetPosition":{"x":23619.414272873142,"y":13356.61075172193},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"24101201-acb1-4d59-b459-6d54443fa8c9","savedPayload":{"position":{"x":23619.414272873142,"y":13356.61075172193},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Max Down","config":"{\n \"codeName\": \"maxDown\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.max.down","id":"29169bea-d6de-491e-a7de-03f3012d0a1a","savedPayload":{"position":{"x":23773.014067942288,"y":13597.535140845253},"targetPosition":{"x":23560.67425476423,"y":13343.777356835775},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dacb52f7-f537-4f6d-9863-a571d0d8b075","savedPayload":{"position":{"x":23560.67425476423,"y":13343.777356835775},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Max Side","config":"{\n \"codeName\": \"maxSide\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.max.side","id":"80356b40-83df-450c-9f47-f18f656b9ecd","savedPayload":{"position":{"x":23640.86663230046,"y":13548.230073512823},"targetPosition":{"x":23453.00382049131,"y":13513.27390389505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"65d31025-6197-4023-9710-62695081e6ab","savedPayload":{"position":{"x":23453.00382049131,"y":13513.27390389505},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Up","config":"{\n \"codeName\": \"probabilityUp\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.probability.up","id":"9667a091-1e5d-4333-903d-5c11e94418ba","savedPayload":{"position":{"x":23665.50843617633,"y":13683.226994738647},"targetPosition":{"x":23532.06615496165,"y":13358.50859834083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6386661f-d590-4ddb-a220-8e248e67c523","savedPayload":{"position":{"x":23532.06615496165,"y":13358.50859834083},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Down","config":"{\n \"codeName\": \"probabilityDown\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.probability.down","id":"a0459d9d-dba1-4a1c-886b-b18439204b74","savedPayload":{"position":{"x":23551.146901124426,"y":13614.389512073114},"targetPosition":{"x":23461.720995259882,"y":13372.347013107457},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"784b6455-4277-4fdb-b57e-278cc47b69d2","savedPayload":{"position":{"x":23461.720995259882,"y":13372.347013107457},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Side","config":"{\n \"codeName\": \"probabilitySide\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.probability.side","id":"7f62f7d5-5b86-4d97-8732-301bdf8db799","savedPayload":{"position":{"x":23538.43764964113,"y":13754.218742759816},"targetPosition":{"x":23398.305284698094,"y":13381.664194028577},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d1c041f4-81bf-471d-8365-cbfd12e1102c","savedPayload":{"position":{"x":23398.305284698094,"y":13381.664194028577},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Up 1","config":"{\n \"codeName\": \"probabilityUp1\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[1].probability.toFixed(2)","id":"168044ac-5997-4b3a-a8c1-7d34290ac7f3","savedPayload":{"position":{"x":23446.197663871575,"y":13659.64976454776},"targetPosition":{"x":23391.83048806139,"y":13514.324257938719},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2d9ee19a-7694-44eb-a6d1-4822e4731338","savedPayload":{"position":{"x":23391.83048806139,"y":13514.324257938719},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Down 1","config":"{\n \"codeName\": \"probabilityDown1\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[1].probability.toFixed(2)","id":"468b91b1-4c86-4606-af93-d263be661ae3","savedPayload":{"position":{"x":23400.22102124491,"y":13793.953490448723},"targetPosition":{"x":23336.059717786575,"y":13396.728229308996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e27c1bb9-4986-4b9c-b620-65258db2bc29","savedPayload":{"position":{"x":23336.059717786575,"y":13396.728229308996},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Side 1","config":"{\n \"codeName\": \"probabilitySide1\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arraySide[1].probability.toFixed(2)","id":"22f8a518-bd3c-4d6c-81c3-53a298995517","savedPayload":{"position":{"x":23330.502355537075,"y":13680.142054789107},"targetPosition":{"x":23310.503387155208,"y":13524.49452149448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b667e2f8-7ede-4514-bb40-56a4043f1270","savedPayload":{"position":{"x":23310.503387155208,"y":13524.49452149448},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Up 2","config":"{\n \"codeName\": \"probabilityUp2\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[2].probability","id":"00eb6eae-eaa0-48b1-baff-47bf23e2b58b","savedPayload":{"position":{"x":23258.205394649955,"y":13802.702580100795},"targetPosition":{"x":23274.26146562044,"y":13403.42604569225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3d827117-fa9c-4dd3-9276-d2954e592bc7","savedPayload":{"position":{"x":23274.26146562044,"y":13403.42604569225},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Down 2","config":"{\n \"codeName\": \"probabilityDown2\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[2].probability.toFixed(2)","id":"47eb727a-2d95-4478-b028-ee983fe1dcdf","savedPayload":{"position":{"x":23209.339929454953,"y":13675.027467503853},"targetPosition":{"x":23223.736112305534,"y":13522.562066496426},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ce463489-7789-459d-846d-1d4d999b9724","savedPayload":{"position":{"x":23223.736112305534,"y":13522.562066496426},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Side 2","config":"{\n \"codeName\": \"probabilitySide2\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arraySide[2].probability.toFixed(2)","id":"59c2243d-3340-4f65-a8bf-1ea0ddbcd9ec","savedPayload":{"position":{"x":23118.52160088095,"y":13783.414445861516},"targetPosition":{"x":23213.136225271497,"y":13399.047002298066},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"89a3c63f-12ea-435e-8150-2c0965f3ec27","savedPayload":{"position":{"x":23213.136225271497,"y":13399.047002298066},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Up 3","config":"{\n \"codeName\": \"probabilityUp3\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[3].probability.toFixed(2)","id":"37662cb1-05e1-4a4d-b753-09cd88973f7d","savedPayload":{"position":{"x":23095.788690040637,"y":13654.06700336164},"targetPosition":{"x":23135.728420283842,"y":13503.934149625898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9383f539-81a6-4e16-9a23-e6702c662e58","savedPayload":{"position":{"x":23135.728420283842,"y":13503.934149625898},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Down 3","config":"{\n \"codeName\": \"probabilityDown3\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[3].probability.toFixed(2)","id":"3cf1663b-33ed-4bee-b3bb-a9d3ff81ecec","savedPayload":{"position":{"x":22981.3516316003,"y":13738.241405851468},"targetPosition":{"x":23154.171334415627,"y":13381.645336385423},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fb60deb4-7593-4ffe-9d36-06f654ab1398","savedPayload":{"position":{"x":23154.171334415627,"y":13381.645336385423},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Side 3","config":"{\n \"codeName\": \"probabilitySide3\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arraySide[3].probability.toFixed(2)","id":"a4e814b0-4278-41b1-9275-319a21c12ad2","savedPayload":{"position":{"x":22987.767266840652,"y":13605.179286682698},"targetPosition":{"x":23056.881731523747,"y":13466.239926401431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d29e40d0-8b0a-49d7-9287-5ee1713eac4e","savedPayload":{"position":{"x":23056.881731523747,"y":13466.239926401431},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Up 4","config":"{\n \"codeName\": \"probabilityUp4\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[4].probability.toFixed(2)","id":"d6ddfe51-ed65-4317-a6db-8dd7c29ced59","savedPayload":{"position":{"x":22860.010874924803,"y":13665.92255027016},"targetPosition":{"x":23098.47568973903,"y":13347.470914262787},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"903d6dd1-9cd8-4e8a-9a9b-f554658ce564","savedPayload":{"position":{"x":23098.47568973903,"y":13347.470914262787},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Down 4","config":"{\n \"codeName\": \"probabilityDown4\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[4].probability.toFixed(2)","id":"2bf22e1b-6a16-4199-8b72-4283ae8ea725","savedPayload":{"position":{"x":22890.84243165661,"y":13532.9435546622},"targetPosition":{"x":22987.6215846214,"y":13414.87101907985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0526403b-4378-41d5-b3fa-79bccdc31750","savedPayload":{"position":{"x":22987.6215846214,"y":13414.87101907985},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Side 4","config":"{\n \"codeName\": \"probabilitySide4\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arraySide[4].probability.toFixed(2)","id":"148cba98-c7b3-4278-ac40-c0805a2a31d9","savedPayload":{"position":{"x":22756.039018429245,"y":13572.041282312362},"targetPosition":{"x":23050.397678672463,"y":13306.61679466823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5b2780a7-e06f-4929-afa3-45931c83a70f","savedPayload":{"position":{"x":23050.397678672463,"y":13306.61679466823},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Up 5","config":"{\n \"codeName\": \"probabilityUp5\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[5].probability.toFixed(2)","id":"833d2de2-62f0-4b87-9c8d-07da620c766f","savedPayload":{"position":{"x":22809.178018346887,"y":13446.708827237833},"targetPosition":{"x":22928.10845096726,"y":13350.505367602593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1f067a3e-21bd-434c-99d3-467032a2176a","savedPayload":{"position":{"x":22928.10845096726,"y":13350.505367602593},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Down 5","config":"{\n \"codeName\": \"probabilityDown5\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[5].probability.toFixed(2)","id":"8bbd333f-8733-4c12-9f48-f44b6409f4ca","savedPayload":{"position":{"x":22668.559509332514,"y":13459.305831969243},"targetPosition":{"x":23011.72753784357,"y":13256.590229892116},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2fa08b17-9fcc-4d03-b7f4-5f02c44183c6","savedPayload":{"position":{"x":23011.72753784357,"y":13256.590229892116},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Side 5","config":"{\n \"codeName\": \"probabilitySide5\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arraySide[5].probability.toFixed(2)","id":"ddcb3fba-ab34-4c66-aa82-991ce4a21f3e","savedPayload":{"position":{"x":22745.93122601684,"y":13351.069775292017},"targetPosition":{"x":22883.217040934403,"y":13275.682872315037},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"491077de-5fe1-4cc4-98a4-72648541d766","savedPayload":{"position":{"x":22883.217040934403,"y":13275.682872315037},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Up 6","config":"{\n \"codeName\": \"probabilityUp6\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[6].probability.toFixed(2)","id":"4c8885df-b460-492a-8fd7-7f6e692a1c18","savedPayload":{"position":{"x":22605.068565237256,"y":13328.379128062006},"targetPosition":{"x":22984.174093813686,"y":13198.962925741103},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7628b231-d7c0-4f56-a875-c40f9dc5d453","savedPayload":{"position":{"x":22984.174093813686,"y":13198.962925741103},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Down 6","config":"{\n \"codeName\": \"probabilityDown6\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[6].probability.toFixed(2)","id":"4a93051d-2d10-449c-b503-77dba2e9fe28","savedPayload":{"position":{"x":22706.39612932584,"y":13238.443947375617},"targetPosition":{"x":22854.21733149409,"y":13194.042582820939},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"78255cd6-c8f7-4533-a542-fe93e1b748f9","savedPayload":{"position":{"x":22854.21733149409,"y":13194.042582820939},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Side 6","config":"{\n \"codeName\": \"probabilitySide6\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arraySide[6].probability.toFixed(2)","id":"4182a108-ece7-4a17-b932-5c1d9a4756b6","savedPayload":{"position":{"x":22572.495904299816,"y":13191.114390567414},"targetPosition":{"x":22966.587811346566,"y":13139.442142689226},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ca625650-fc68-403e-8bee-3c38a51bb70f","savedPayload":{"position":{"x":22966.587811346566,"y":13139.442142689226},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Up 7","config":"{\n \"codeName\": \"probabilityUp7\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[7].probability.toFixed(2)","id":"b5ccdd41-090d-4123-af8b-30eb08c3c67b","savedPayload":{"position":{"x":22687.88947792669,"y":13121.704951739654},"targetPosition":{"x":22839.824930775485,"y":13105.592731027426},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"91ee1783-d1e9-48b5-bae9-5db7887904da","savedPayload":{"position":{"x":22839.824930775485,"y":13105.592731027426},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Down 7","config":"{\n \"codeName\": \"probabilityDown7\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[7].probability.toFixed(2)","id":"f4704dcd-2c14-47f7-9fc9-bd18d5582621","savedPayload":{"position":{"x":22565.722137797708,"y":13048.87285619763},"targetPosition":{"x":22960.907211268655,"y":13078.390096463427},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cb6c389f-adbc-4dfe-8d4e-f12bb5a52077","savedPayload":{"position":{"x":22960.907211268655,"y":13078.390096463427},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Side 7","config":"{\n \"codeName\": \"probabilitySide7\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arraySide[7].probability.toFixed(2)","id":"4ac32582-3f5f-4e70-889b-44163296a6d4","savedPayload":{"position":{"x":22693.21479954812,"y":13003.959491382095},"targetPosition":{"x":22845.666634732548,"y":13017.251397645723},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d0889582-9ed3-476b-a9cd-8d797a16d727","savedPayload":{"position":{"x":22845.666634732548,"y":13017.251397645723},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Up 8","config":"{\n \"codeName\": \"probabilityUp8\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[8].probability.toFixed(2)","id":"6e5231b7-4720-4f4d-a665-7e1a404a46b5","savedPayload":{"position":{"x":22588.094896424827,"y":12909.528997817213},"targetPosition":{"x":22973.560615841037,"y":13013.719388251846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0065cbce-fa3b-42ef-a96f-ebd05efa496f","savedPayload":{"position":{"x":22973.560615841037,"y":13013.719388251846},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Down 8","config":"{\n \"codeName\": \"probabilityDown8\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[8].probability.toFixed(2)","id":"f11b3a77-6419-4080-9676-975024dfb661","savedPayload":{"position":{"x":22719.35342397775,"y":12889.825308953226},"targetPosition":{"x":22869.135509244003,"y":12936.274465098155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0b5cf9f1-6c7d-42be-95d1-afdbd3b3351f","savedPayload":{"position":{"x":22869.135509244003,"y":12936.274465098155},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Side 8","config":"{\n \"codeName\": \"probabilitySide8\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arraySide[8].probability","id":"f6edd4f5-a848-41cd-90dc-02f3847588db","savedPayload":{"position":{"x":22636.863751823643,"y":12773.157933146487},"targetPosition":{"x":22992.502481725376,"y":12954.508326167226},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9f5d322b-0dc5-4ae9-bc17-5381f9a70c62","savedPayload":{"position":{"x":22992.502481725376,"y":12954.508326167226},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Up 9","config":"{\n \"codeName\": \"probabilityUp9\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[9].probability.toFixed(2)","id":"321132b1-60e5-4a83-98de-ab4b96ccdeb7","savedPayload":{"position":{"x":22769.546327701264,"y":12783.494063762504},"targetPosition":{"x":22907.08333198296,"y":12856.670327011658},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d4276b44-3c7e-490e-a5fe-d634f33f8daf","savedPayload":{"position":{"x":22907.08333198296,"y":12856.670327011658},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Down 9","config":"{\n \"codeName\": \"probabilityDown9\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[9].probability.toFixed(2)","id":"a166f651-bde0-4120-88bc-1ca1cf43aa74","savedPayload":{"position":{"x":22712.3193616455,"y":12652.388405907912},"targetPosition":{"x":23024.72867469466,"y":12900.170264095388},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a81432a2-6778-4063-94bf-6618b1feeadd","savedPayload":{"position":{"x":23024.72867469466,"y":12900.170264095388},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Side 9","config":"{\n \"codeName\": \"probabilitySide9\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arraySide[9].probability.toFixed(2)","id":"1b71e277-d4a1-4e61-bbb1-bf7ca148575f","savedPayload":{"position":{"x":22839.640046397242,"y":12688.526234705954},"targetPosition":{"x":22960.322579871066,"y":12786.675245515838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"65426441-c082-4d12-94d9-de1d25ba697d","savedPayload":{"position":{"x":22960.322579871066,"y":12786.675245515838},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Up 10","config":"{\n \"codeName\": \"probabilityUp10\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[10].probability.toFixed(2)","id":"eb7ecf8d-987a-4425-a45a-c2d2c79e392a","savedPayload":{"position":{"x":22809.976462387953,"y":12549.51314382067},"targetPosition":{"x":23065.524760275228,"y":12853.282891025357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f30dad9f-282a-47f6-bc54-ee76701c824b","savedPayload":{"position":{"x":23065.524760275228,"y":12853.282891025357},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Down 10","config":"{\n \"codeName\": \"probabilityDown10\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[10].probability.toFixed(2)","id":"f0c4e430-c1dd-4c35-82f8-4a35623f2429","savedPayload":{"position":{"x":22929.263532063535,"y":12609.258662410533},"targetPosition":{"x":23023.319749069942,"y":12730.392140514497},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a582ab2e-41f4-41b6-a281-14813c1f83e6","savedPayload":{"position":{"x":23023.319749069942,"y":12730.392140514497},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Probability Side 10","config":"{\n \"codeName\": \"probabilitySide10\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arraySide[10].probability.toFixed(2)","id":"880c3925-d3ef-4ad8-a454-069e5ca4c188","savedPayload":{"position":{"x":22908.363595298586,"y":12469.892486755578},"targetPosition":{"x":23114.318791976497,"y":12814.94256027692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8045f35a-2f67-4a07-af52-a7a66343ae03","savedPayload":{"position":{"x":23114.318791976497,"y":12814.94256027692},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Up 1","config":"{\n \"codeName\": \"nextUp1\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[1].greaterProbability.toFixed(2)","id":"b53e83dd-00b7-460e-92ed-b5c4a24e5459","savedPayload":{"position":{"x":23063.348841482122,"y":12698.358738586936},"targetPosition":{"x":23134.99780574916,"y":12676.136800504995},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"4a694c4e-5318-4298-b7f1-d9103f77ebf9","savedPayload":{"position":{"x":23134.99780574916,"y":12676.136800504995},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Down 1","config":"{\n \"codeName\": \"nextDown1\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[1].greaterProbability.toFixed(2)","id":"33d00317-95c1-4d35-be64-d513e1223b77","savedPayload":{"position":{"x":23078.389939924695,"y":12598.101803693517},"targetPosition":{"x":23157.296004711476,"y":12789.269219601834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"5d8da44f-fb39-4b0f-9cc7-fa9d32a4d209","savedPayload":{"position":{"x":23157.296004711476,"y":12789.269219601834},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Up 2","config":"{\n \"codeName\": \"nextUp2\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[2].greaterProbability.toFixed(2)","id":"bc732386-1448-4b48-bf55-70d5cd2196ba","savedPayload":{"position":{"x":23306.568824748494,"y":12590.785955268326},"targetPosition":{"x":23194.49363454916,"y":12771.216665703238},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"ac16b3e9-e9d7-42ea-b428-9c8ec11d7e2b","savedPayload":{"position":{"x":23194.49363454916,"y":12771.216665703238},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Down 2","config":"{\n \"codeName\": \"nextDown2\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[2].greaterProbability.toFixed(2)","id":"cb9ff30d-2792-45ab-80e8-ca606f92758e","savedPayload":{"position":{"x":23156.70060078536,"y":12585.96499801733},"targetPosition":{"x":23210.5220059041,"y":12687.678568580575},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"9acdb9db-3669-45a8-b02a-053f2faf6058","savedPayload":{"position":{"x":23210.5220059041,"y":12687.678568580575},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Up 3","config":"{\n \"codeName\": \"nextUp3\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[3].greaterProbability.toFixed(2)","id":"9f22f2e4-d461-4402-a9a4-248a815876c9","savedPayload":{"position":{"x":23257.4041492741,"y":12588.350146194543},"targetPosition":{"x":23284.514239866254,"y":12782.625710890274},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"192e85df-e1bb-4292-ae05-ce740133fb29","savedPayload":{"position":{"x":23284.514239866254,"y":12782.625710890274},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Down 3","config":"{\n \"codeName\": \"nextDown3\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[3].greaterProbability.toFixed(2)","id":"e34c5d6c-6bfb-4733-a3e7-28e0e1bbd3a7","savedPayload":{"position":{"x":23391.776212484252,"y":12502.351092909881},"targetPosition":{"x":23294.273966874112,"y":12633.754510531266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"4e60fdb7-fc23-4989-8706-7d81271f6225","savedPayload":{"position":{"x":23294.273966874112,"y":12633.754510531266},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Up 4","config":"{\n \"codeName\": \"nextUp4\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[4].greaterProbability.toFixed(2)","id":"09f989af-7270-4671-afda-2073458e77c7","savedPayload":{"position":{"x":23256.827796506164,"y":12712.460148556152},"targetPosition":{"x":23455.286635412143,"y":12693.329795126687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"2959103e-d4b4-4ead-8f6b-fbe06e89ff7a","savedPayload":{"position":{"x":23455.286635412143,"y":12693.329795126687},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Down 4","config":"{\n \"codeName\": \"nextDown4\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[4].greaterProbability.toFixed(2)","id":"e7eae73d-ee2e-477a-91ac-a2dbf6b8bba9","savedPayload":{"position":{"x":23384.799041379647,"y":12596.703024269083},"targetPosition":{"x":23335.23267686281,"y":12697.003196630363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"2a921871-4c5f-4424-a85f-9081ee420b55","savedPayload":{"position":{"x":23335.23267686281,"y":12697.003196630363},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Up 5","config":"{\n \"codeName\": \"nextUp5\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[5].greaterProbability.toFixed(2)","id":"e7709492-43e5-45e0-b94c-f6c63b5c4df4","savedPayload":{"position":{"x":23548.76054343602,"y":12712.652362356817},"targetPosition":{"x":23373.4273861981,"y":12769.588935164249},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"5567d2d1-97d3-4551-ad1d-68b5fe8fca5e","savedPayload":{"position":{"x":23373.4273861981,"y":12769.588935164249},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Down 5","config":"{\n \"codeName\": \"nextDown5\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[5].greaterProbability.toFixed(2)","id":"95292d68-dcaa-475d-bb56-12634a6ef26e","savedPayload":{"position":{"x":23467.990213304132,"y":12605.033866064345},"targetPosition":{"x":23414.040457085746,"y":12792.997798624987},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"c4baa1b9-4879-4632-90bd-6b4aca0cc145","savedPayload":{"position":{"x":23414.040457085746,"y":12792.997798624987},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Up 6","config":"{\n \"codeName\": \"nextUp6\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[6].greaterProbability.toFixed(2)","id":"f459f2bb-0cf3-44da-a6e0-37495f592d7e","savedPayload":{"position":{"x":23562.631581606976,"y":12640.177614702225},"targetPosition":{"x":23562.350053848593,"y":12729.860228781854},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"0c024e0d-6a5a-4631-9484-a563525dfad2","savedPayload":{"position":{"x":23562.350053848593,"y":12729.860228781854},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Down 6","config":"{\n \"codeName\": \"nextDown6\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[6].greaterProbability.toFixed(2)","id":"38310cb6-0f60-412b-b694-35a4d324f5c8","savedPayload":{"position":{"x":23748.90383373148,"y":12945.8723578533},"targetPosition":{"x":23448.179668996625,"y":12824.85654769626},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"b8fb4ea6-e301-46e2-b3ca-7d1fa5d1dbb5","savedPayload":{"position":{"x":23448.179668996625,"y":12824.85654769626},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Up 7","config":"{\n \"codeName\": \"nextUp7\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[7].greaterProbability.toFixed(2)","id":"80bbe6d4-50ca-4ea2-b66c-ce3c71fd6fcc","savedPayload":{"position":{"x":23666.043489534175,"y":12699.094365701163},"targetPosition":{"x":23506.324920981784,"y":12785.801058590128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"7c29b4a9-94e3-4b6c-b359-03ef39258389","savedPayload":{"position":{"x":23506.324920981784,"y":12785.801058590128},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Down 7","config":"{\n \"codeName\": \"nextDown7\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[7].greaterProbability.toFixed(2)","id":"30b30cd2-4c85-4b3f-b589-358db9495959","savedPayload":{"position":{"x":23630.777057043535,"y":12752.338093165232},"targetPosition":{"x":23551.946981853536,"y":12811.289369349995},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"5914dd39-dadd-4294-acb5-8088f81921df","savedPayload":{"position":{"x":23551.946981853536,"y":12811.289369349995},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Up 8","config":"{\n \"codeName\": \"nextUp8\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[8].greaterProbability.toFixed(2)","id":"c14ab122-acfa-46ff-8aa8-b6e4e01f29b4","savedPayload":{"position":{"x":23814.145255432177,"y":12837.665824600092},"targetPosition":{"x":23541.728176646415,"y":12977.068002326238},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"da43c6d0-55f3-4422-9b23-24e6d19318ea","savedPayload":{"position":{"x":23541.728176646415,"y":12977.068002326238},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Down 8","config":"{\n \"codeName\": \"nextDown8\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[8].greaterProbability.toFixed(2)","id":"fac4074e-62de-461d-9c5e-78b492764124","savedPayload":{"position":{"x":23699.80665965415,"y":12835.024331159371},"targetPosition":{"x":23582.34554213275,"y":12844.658698537594},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"2257ff95-2ad1-436c-8c75-d97ee7911623","savedPayload":{"position":{"x":23582.34554213275,"y":12844.658698537594},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Up9","config":"{\n \"codeName\": \"nextUp9\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[9].greaterProbability.toFixed(2)","id":"a5634a8e-ac5f-4542-98ab-6fbc7c6799e9","savedPayload":{"position":{"x":23669.1584318763,"y":12863.741458133596},"targetPosition":{"x":23621.23833482398,"y":12913.358068914158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"89252867-2e51-49cc-8061-710857117262","savedPayload":{"position":{"x":23621.23833482398,"y":12913.358068914158},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Down 9","config":"{\n \"codeName\": \"nextDown9\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[9].greaterProbability.toFixed(2)","id":"09d70a53-4761-4fb7-ac02-3bc9d3c9f118","savedPayload":{"position":{"x":23766.259277238514,"y":12926.86762714071},"targetPosition":{"x":23729.52324236529,"y":12985.231142411598},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"3fb2d973-7ed0-4266-9bbe-927c880f27fc","savedPayload":{"position":{"x":23729.52324236529,"y":12985.231142411598},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Up 10","config":"{\n \"codeName\": \"nextUp10\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayUp[10].greaterProbability.toFixed(2)","id":"971a4486-0ee2-4451-99f8-2d1183e3519c","savedPayload":{"position":{"x":23655.564329373778,"y":13128.62085612311},"targetPosition":{"x":23577.108900562383,"y":12986.284998083325},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"c5370b4b-5736-4f38-b026-7ee211e550f0","savedPayload":{"position":{"x":23577.108900562383,"y":12986.284998083325},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Down 10","config":"{\n \"codeName\": \"nextDown10\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.arrayDown[10].greaterProbability.toFixed(2)","id":"aa0f0d5f-47b7-4c30-a8e5-c0204646b0b8","savedPayload":{"position":{"x":23772.03111045089,"y":13077.705923515923},"targetPosition":{"x":23659.84606657961,"y":13026.656201799564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"8393bb69-756c-4809-95b1-71b459e49d89","savedPayload":{"position":{"x":23659.84606657961,"y":13026.656201799564},"targetPosition":{"x":23279.742180013905,"y":13088.290447563973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3a8e6c45-0172-4d5d-913d-4d9da74a66c2","savedPayload":{"position":{"x":23279.751367406945,"y":13088.26245973231},"targetPosition":{"x":24365.94914810566,"y":13088.257412841824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"let channel = record.current // Our main dependencies are candles\nvariable.count.all++\n\nif (channel.direction === \"Up\") {\n\n variable.count.up++\n\n if (channel.period > variable.max.up) { variable.max.up = channel.period }\n\n if (channel.period <= variable.MAX_PERIODS) {\n let data = variable.arrayUp[channel.period]\n data.count++\n data.probability = data.count / variable.count.up\n variable.arrayUp[channel.period] = data\n }\n\n for (let i = 1; i <= variable.MAX_PERIODS; i++) {\n if (channel.period > i) {\n let data = variable.arrayUp[i]\n data.greaterCount++\n data.greaterProbability = data.greaterCount / variable.count.up\n variable.arrayUp[i] = data\n }\n }\n}\n\nif (channel.direction === \"Down\") {\n\n variable.count.down++\n\n if (channel.period > variable.max.down) { variable.max.down = channel.period }\n\n if (channel.period <= variable.MAX_PERIODS) {\n let data = variable.arrayDown[channel.period]\n data.count++\n data.probability = data.count / variable.count.down\n variable.arrayDown[channel.period] = data\n }\n\n for (let i = 1; i <= variable.MAX_PERIODS; i++) {\n if (channel.period > i) {\n let data = variable.arrayDown[i]\n data.greaterCount++\n data.greaterProbability = data.greaterCount / variable.count.up\n variable.arrayDown[i] = data\n }\n }\n}\n\nif (channel.direction === \"Side\") {\n\n variable.count.side++\n\n if (channel.period > variable.max.side) { variable.max.side = channel.period }\n\n if (channel.period <= variable.MAX_PERIODS) {\n let data = variable.arraySide[channel.period]\n data.count++\n data.probability = data.count / variable.count.side\n variable.arraySide[channel.period] = data\n }\n\n for (let i = 1; i <= variable.MAX_PERIODS; i++) {\n if (channel.period > i) {\n let data = variable.arraySide[i]\n data.greaterCount++\n data.greaterProbability = data.greaterCount / variable.count.up\n variable.arraySide[i] = data\n }\n }\n}\n\nvariable.probability.up = variable.count.up / variable.count.all\nvariable.probability.down = variable.count.down / variable.count.all\nvariable.probability.side = variable.count.side / variable.count.all\n\n","id":"c15afb69-a887-4bb7-90b0-7828ed44cc36","savedPayload":{"position":{"x":23840.29812720107,"y":12876.117110924382},"targetPosition":{"x":23976.245455225304,"y":12890.463156261889},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6363cb92-acac-4e9f-b390-e759c691b3f4","savedPayload":{"position":{"x":23976.245455225304,"y":12890.463156261889},"targetPosition":{"x":24111.60035113327,"y":12903.920413605096},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"variable = {\n MAX_PERIODS: 10,\n count: {\n all: 0,\n up: 0,\n down: 0,\n side: 0\n },\n max: {\n up: 0,\n down: 0,\n side: 0\n },\n probability: {\n up: 0,\n down: 0,\n side: 0\n },\n arrayUp: [],\n arrayDown: [],\n arraySide: []\n}\n\nfor (let i = 0; i <= variable.MAX_PERIODS; i++) {\n let dataUp = {\n count: 0,\n probability: 0,\n greaterCount: 0,\n greaterProbability: 0\n }\n let dataDown = {\n count: 0,\n probability: 0,\n greaterCount: 0,\n greaterProbability: 0\n }\n let dataSide = {\n count: 0,\n probability: 0,\n greaterCount: 0,\n greaterProbability: 0\n }\n variable.arrayUp.push(dataUp)\n variable.arrayDown.push(dataDown)\n variable.arraySide.push(dataSide)\n}\n","id":"3ab58fbc-1e9c-42c6-9396-85f2476039ea","savedPayload":{"position":{"x":24021.627765735666,"y":12613.67723158462},"targetPosition":{"x":24078.11335591874,"y":12739.13668888178},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"51e8fb5d-98ce-4eae-9b92-cdea22017c3e","savedPayload":{"position":{"x":24078.11335591874,"y":12739.13668888178},"targetPosition":{"x":24111.60035113327,"y":12903.920413605096},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"216d8d3f-305e-41d7-844f-044244ba4c86","savedPayload":{"position":{"x":24111.60035113327,"y":12903.920413605096},"targetPosition":{"x":24365.94914810566,"y":13088.257412841824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6f5208bc-786c-4fe8-876a-e1d3550db36d","savedPayload":{"position":{"x":24256.493339480294,"y":12777.469525516837},"targetPosition":{"x":24687.68912809008,"y":12777.467848396518},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Candles Channels Probabilities","id":"194dbe67-1ef8-47a3-8d1f-d769f9d19b55"}}}],"id":"4309c865-1bac-404b-8904-5ac6405d2993","savedPayload":{"position":{"x":24687.959001850253,"y":12844.043964355043},"targetPosition":{"x":24687.956165025786,"y":12377.91976516634},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"plotters":[{"type":"Plotter","name":"Candles Probabilities","config":"{\n\"codeName\": \"Candles-Probabilities\"\n}","modules":[{"type":"Plotter Module","name":"Candles Probabilities","config":"{\n\t\"codeName\": \"Candles-Probabilities\",\n \"icon\": \"moving-average\"\n}","panels":[{"type":"Plotter Panel","name":"Candles Probabilities","config":"{ \n\"codeName\": \"Candles-Probabilities\"\n}","panelData":[{"type":"Panel Data","name":"Direction Up","config":"{\n \"valueDecimals\": 6\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.directionUp","id":"896d5095-3ca6-47b8-8108-145e2e363f32","savedPayload":{"position":{"x":23450.78270336168,"y":12777.731533784625},"targetPosition":{"x":23451.09081655848,"y":12577.758957696398},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1b7eea96-210d-4fd8-a160-76f7bca629ba","savedPayload":{"position":{"x":23451.09081655848,"y":12577.758957696398},"targetPosition":{"x":23451.062752882197,"y":12377.914865074006},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Direction Down","config":"{\n \"valueDecimals\": 6\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.directionDown","id":"28b81006-e70c-4608-a695-bce4a8933a8f","savedPayload":{"position":{"x":23050.868506631003,"y":12377.91701435546},"targetPosition":{"x":23251.17130210325,"y":12377.911682663043},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"11a6da40-b053-4c51-a929-af711aa02cf6","savedPayload":{"position":{"x":23251.17130210325,"y":12377.911682663043},"targetPosition":{"x":23451.062752882197,"y":12377.914865074006},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Direction Side","config":"{\n \"valueDecimals\": 6\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.directionSide","id":"fbd5a4b7-18ff-47d5-82b8-c600cc4fac99","savedPayload":{"position":{"x":23450.776938579078,"y":11978.087830479888},"targetPosition":{"x":23451.08772439287,"y":12178.050604192098},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"46500c39-2a45-4836-ab76-baaac8b98100","savedPayload":{"position":{"x":23451.08772439287,"y":12178.050604192098},"targetPosition":{"x":23451.062752882197,"y":12377.914865074006},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3102069a-4a2a-41e6-aa8d-f71dc48148f2","savedPayload":{"position":{"x":23451.062752882197,"y":12377.914865074006},"targetPosition":{"x":23850.105611657826,"y":12377.917823892521},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ecab3716-75a4-4752-b826-1d5df9ec7325","savedPayload":{"position":{"x":23850.105611657826,"y":12377.917823892521},"targetPosition":{"x":24288.1375769354,"y":12377.91676551125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"bf60e853-e860-4fbf-8922-c7430406b12d","savedPayload":{"position":{"x":24232.91647456989,"y":12377.915953972333},"targetPosition":{"x":24687.956165025786,"y":12377.91976516634},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Candles Channels Probabilities","config":"{\n\"codeName\": \"Candles-Channels-Probabilities\"\n}","modules":[{"type":"Plotter Module","name":"Candles Channels Probabilities","config":"{ \n\"codeName\": \"Candles-Channels-Probabilities\"\n}","panels":[{"type":"Plotter Panel","name":"Candles Channels Probabilities","config":"{ \n\"codeName\": \"Candles Channels Probabilities\"\n}","panelData":[{"type":"Panel Data","name":"Count All","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.countAll","id":"fa576991-5a1c-4a7b-b6f0-16a26b50b534","savedPayload":{"position":{"x":25031.786543082988,"y":11637.949705239684},"targetPosition":{"x":24676.38490468017,"y":11537.410396498097},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0ead2e06-daea-4212-aff2-3564d6f1ac14","savedPayload":{"position":{"x":24676.38490468017,"y":11537.410396498097},"targetPosition":{"x":24320.692770899135,"y":11429.035326538513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Count Up","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.countUp","id":"b495344a-0ee6-4b91-a38e-c59728bc4fa8","savedPayload":{"position":{"x":24803.56801826581,"y":11972.489483838015},"targetPosition":{"x":24555.13487210452,"y":11702.008752459622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"786019d8-2fec-4feb-a784-d32f35c013e6","savedPayload":{"position":{"x":24555.13487210452,"y":11702.008752459622},"targetPosition":{"x":24320.692770899135,"y":11429.035326538513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Count Down","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.countDown","id":"1cd50ef3-9d6e-4c28-9789-785d250dfd77","savedPayload":{"position":{"x":24445.125426540406,"y":12152.802184843835},"targetPosition":{"x":24382.872587188085,"y":11791.109170247972},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"adebe92f-1d1a-4afb-b61d-7081f6b290f4","savedPayload":{"position":{"x":24382.872587188085,"y":11791.109170247972},"targetPosition":{"x":24320.692770899135,"y":11429.035326538513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Count Side","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.countSide","id":"3aa9ba59-e653-4247-8cbf-4905f7382cc8","savedPayload":{"position":{"x":24034.20013371697,"y":12105.497012289932},"targetPosition":{"x":24177.402355381313,"y":11767.4284801743},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fdb8d804-d6e6-4fa7-a71a-a79f4bb5c00a","savedPayload":{"position":{"x":24177.402355381313,"y":11767.4284801743},"targetPosition":{"x":24320.692770899135,"y":11429.035326538513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Max Periods Up","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.maxUp","id":"9ae88e84-07a2-4398-a17b-069443eef06a","savedPayload":{"position":{"x":23713.55136502789,"y":11843.401658441768},"targetPosition":{"x":24017.02373119288,"y":11636.268970049447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f2fb198b-3027-4037-8b77-656c1a09e6fe","savedPayload":{"position":{"x":24017.02373119288,"y":11636.268970049447},"targetPosition":{"x":24320.692770899135,"y":11429.035326538513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Max Periods Down","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.maxDown","id":"5ab6f852-4d60-42e9-a268-7719ae05c039","savedPayload":{"position":{"x":23585.5861331559,"y":11449.364967677835},"targetPosition":{"x":23953.011037979744,"y":11439.186243052976},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5836b0c5-4a10-4efa-b732-cfccb42f7bb3","savedPayload":{"position":{"x":23953.011037979744,"y":11439.186243052976},"targetPosition":{"x":24320.692770899135,"y":11429.035326538513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Max Periods Side","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.maxSide","id":"9bed7e40-98c0-4894-afb3-f65c8df9feef","savedPayload":{"position":{"x":23690.94952967508,"y":11049.233103090544},"targetPosition":{"x":24005.70179524251,"y":11239.057499315979},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"85e693e8-b634-4cb1-b983-6bd0d125d95b","savedPayload":{"position":{"x":24005.70179524251,"y":11239.057499315979},"targetPosition":{"x":24320.692770899135,"y":11429.035326538513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Probability Up","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityUp","id":"e68177d3-b01e-4d0d-a1f0-0cab3cdf295e","savedPayload":{"position":{"x":23996.21477026832,"y":10768.986414334948},"targetPosition":{"x":24158.36156819031,"y":11098.90204800275},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9187cf3a-e693-4f3f-a675-a0b677ebbf47","savedPayload":{"position":{"x":24158.36156819031,"y":11098.90204800275},"targetPosition":{"x":24320.692770899135,"y":11429.035326538513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Probability Down","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityDown","id":"1053b129-d1bf-4c28-9a67-bfa678f3149b","savedPayload":{"position":{"x":24404.0990151672,"y":10698.274452736934},"targetPosition":{"x":24362.40818122062,"y":11063.61678811194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e023b233-b20a-4645-a96b-9ca6f9ed1f2d","savedPayload":{"position":{"x":24362.40818122062,"y":11063.61678811194},"targetPosition":{"x":24320.692770899135,"y":11429.035326538513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Probability Side","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilitySide","id":"ec9d0a16-b97b-44e0-a659-8a4876f759fc","savedPayload":{"position":{"x":24766.74965101587,"y":10835.246015163139},"targetPosition":{"x":24540.095129045265,"y":11126.988392369043},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0897183b-3295-4559-93b5-d961822f9e3f","savedPayload":{"position":{"x":24540.095129045265,"y":11126.988392369043},"targetPosition":{"x":24320.692770899135,"y":11429.035326538513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9b4851ba-9cd0-42e4-9929-6e4650800b94","savedPayload":{"position":{"x":24218.975849311275,"y":11913.038037832059},"targetPosition":{"x":24687.959017102425,"y":11540.076428488494},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Candles Channels Up Probabilities","config":"{ \n\"codeName\": \"Candles Channels Up Probabilities\"\n}","panelData":[{"type":"Panel Data","name":"1 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityUp1","id":"07e00144-4d7c-4be0-9446-fcce6a7c0e6a","savedPayload":{"position":{"x":24401.488226526602,"y":11970.421992573934},"targetPosition":{"x":24370.33180270917,"y":11420.722579257872},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bc260d63-484b-4fb2-850a-c8a57b386c95","savedPayload":{"position":{"x":24370.33180270917,"y":11420.722579257872},"targetPosition":{"x":24339.207975975743,"y":10870.946994565682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"2 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityUp2","id":"35ca47e6-f52a-4ee5-9839-b2841f987d78","savedPayload":{"position":{"x":23797.251828303957,"y":11829.738113597405},"targetPosition":{"x":24068.180430871325,"y":11350.31084991745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4908d680-f84a-49d5-ba5f-7abec1219b9f","savedPayload":{"position":{"x":24068.180430871325,"y":11350.31084991745},"targetPosition":{"x":24339.207975975743,"y":10870.946994565682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"3 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityUp3","id":"44a7d661-accf-4962-90f0-1ab53c99c5ab","savedPayload":{"position":{"x":23364.727559694693,"y":11384.674953693157},"targetPosition":{"x":23851.916876420855,"y":11127.815653453981},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e658351e-118c-481f-8387-53e1c7dc3d1e","savedPayload":{"position":{"x":23851.916876420855,"y":11127.815653453981},"targetPosition":{"x":24339.207975975743,"y":10870.946994565682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"4 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityUp4","id":"a6387b2c-5f86-44e3-a298-a25fb5667e37","savedPayload":{"position":{"x":23241.490894375147,"y":10776.677817604135},"targetPosition":{"x":23790.298015104174,"y":10823.792807939371},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9679e258-89b4-4cbc-81e0-78c2d53f2a76","savedPayload":{"position":{"x":23790.298015104174,"y":10823.792807939371},"targetPosition":{"x":24339.207975975743,"y":10870.946994565682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"5 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityUp5","id":"7867c03a-d26f-4ea3-a7d2-6e3042e4a5e9","savedPayload":{"position":{"x":23466.78385195505,"y":10198.13520086962},"targetPosition":{"x":23902.953588559987,"y":10534.497144540357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"000c1693-1ca1-481f-99ad-64dc0b3d864f","savedPayload":{"position":{"x":23902.953588559987,"y":10534.497144540357},"targetPosition":{"x":24339.207975975743,"y":10870.946994565682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"6 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityUp6","id":"8dde6fd4-76ad-43cd-b65a-c8b2cd344fde","savedPayload":{"position":{"x":23969.106079861893,"y":9833.197349098384},"targetPosition":{"x":24154.13473491888,"y":10352.010896242717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d59a341d-36d1-4780-86f0-332a60cdc7a8","savedPayload":{"position":{"x":24154.13473491888,"y":10352.010896242717},"targetPosition":{"x":24339.207975975743,"y":10870.946994565682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"7 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityUp7","id":"3e3d36c0-c609-47cd-b50c-b67ef9033d13","savedPayload":{"position":{"x":24588.52560519175,"y":9797.784959843999},"targetPosition":{"x":24463.87437877179,"y":10334.299837034167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"15c0e7d0-aef2-485a-8e47-225002493c8a","savedPayload":{"position":{"x":24463.87437877179,"y":10334.299837034167},"targetPosition":{"x":24339.207975975743,"y":10870.946994565682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"8 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityUp8","id":"915d2648-2b9f-4594-904d-3310da162972","savedPayload":{"position":{"x":25129.011391108626,"y":10103.141280879736},"targetPosition":{"x":24734.137535828293,"y":10486.977596800602},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3c5cc745-31f0-442c-86ab-2de4fe641a8a","savedPayload":{"position":{"x":24734.137535828293,"y":10486.977596800602},"targetPosition":{"x":24339.207975975743,"y":10870.946994565682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"9 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityUp9","id":"7ecb2b5b-f932-48fe-95a0-9c2f86d771f9","savedPayload":{"position":{"x":25418.641289452295,"y":10651.962738912085},"targetPosition":{"x":24878.903918027194,"y":10761.349356873445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"64ef6260-28c6-4aca-9899-5b5e422716c8","savedPayload":{"position":{"x":24878.903918027194,"y":10761.349356873445},"targetPosition":{"x":24339.207975975743,"y":10870.946994565682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"10 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityUp10","id":"4a25b034-61a2-4050-85c7-9e39c5ebbafb","savedPayload":{"position":{"x":25365.78097028512,"y":11269.834232942343},"targetPosition":{"x":24852.51758385689,"y":11070.352890745271},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"57f242de-4438-408a-8e7d-17554c1d8602","savedPayload":{"position":{"x":24852.51758385689,"y":11070.352890745271},"targetPosition":{"x":24339.207975975743,"y":10870.946994565682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c9b2fa2a-7993-4602-9c5c-180175745dd4","savedPayload":{"position":{"x":24104.328708664765,"y":11406.989467748628},"targetPosition":{"x":24687.959017102425,"y":11540.076428488494},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Candles Channels Down Probabilities","config":"{ \n\"codeName\": \"Candles Channels Down Probabilities\"\n}","panelData":[{"type":"Panel Data","name":"1 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityDown1","id":"23dca426-62bb-472d-a631-6de325f9f9e3","savedPayload":{"position":{"x":23960.0092206138,"y":11270.025357933253},"targetPosition":{"x":24473.363587782027,"y":11070.464386606489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"82ea7539-87d8-4801-8a55-5d72341f7981","savedPayload":{"position":{"x":24473.363587782027,"y":11070.464386606489},"targetPosition":{"x":24986.75788514276,"y":10870.974599099456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"2 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityDown2","id":"9f42086f-9981-47d0-a6ca-40b9f8cd555b","savedPayload":{"position":{"x":23907.14361723959,"y":10651.985126293901},"targetPosition":{"x":24446.968609020867,"y":10761.384170726704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5659eebc-8ea9-4d6c-bcc0-1bb7cfa83c8a","savedPayload":{"position":{"x":24446.968609020867,"y":10761.384170726704},"targetPosition":{"x":24986.75788514276,"y":10870.974599099456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"3 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityDown3","id":"1024ff8c-10a7-4bc0-bfd5-6fde53b25151","savedPayload":{"position":{"x":24196.84229575479,"y":10103.080761236564},"targetPosition":{"x":24591.776016343032,"y":10486.96841415433},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4e4162b5-9989-4ced-954c-024c643b354b","savedPayload":{"position":{"x":24591.776016343032,"y":10486.96841415433},"targetPosition":{"x":24986.75788514276,"y":10870.974599099456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"4 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityDown4","id":"cfee4218-a9d7-4649-8118-c68f4c04917d","savedPayload":{"position":{"x":24737.457605104104,"y":9797.849668506351},"targetPosition":{"x":24862.102456226654,"y":10334.348991709097},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"40026d30-b3ce-4a0c-8ae4-50ab1847b6f8","savedPayload":{"position":{"x":24862.102456226654,"y":10334.348991709097},"targetPosition":{"x":24986.75788514276,"y":10870.974599099456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"5 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityDown5","id":"49be0cfe-1c4e-4bee-96c5-93cc97022dfc","savedPayload":{"position":{"x":25356.83427458366,"y":9833.305437497711},"targetPosition":{"x":25171.820468628877,"y":10352.079042844025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d2534a50-5cc5-4fca-a800-859c88427ab3","savedPayload":{"position":{"x":25171.820468628877,"y":10352.079042844025},"targetPosition":{"x":24986.75788514276,"y":10870.974599099456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"6 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityDown6","id":"a9411068-45d1-409c-b8d3-91750a9f1f61","savedPayload":{"position":{"x":25859.125293677116,"y":10198.214815011685},"targetPosition":{"x":25422.986554496136,"y":10534.548878913622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"043a6c35-a878-4082-8b98-b58ca01fb5a0","savedPayload":{"position":{"x":25422.986554496136,"y":10534.548878913622},"targetPosition":{"x":24986.75788514276,"y":10870.974599099456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"7 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityDown7","id":"a2d057f6-857e-41cc-b88e-ef6240cda541","savedPayload":{"position":{"x":26084.273253238458,"y":10776.72924963025},"targetPosition":{"x":25535.573342411364,"y":10823.828497712922},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"982ba082-d3a1-4c25-a712-fd22585e4473","savedPayload":{"position":{"x":25535.573342411364,"y":10823.828497712922},"targetPosition":{"x":24986.75788514276,"y":10870.974599099456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"8 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityDown8","id":"6837746d-276b-473f-9a1b-6a2ee79bdb4d","savedPayload":{"position":{"x":25961.05317826982,"y":11384.509465944962},"targetPosition":{"x":25473.95421333837,"y":11127.750106840474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9379c93b-0cdd-40b0-a8b0-fc1019f5b082","savedPayload":{"position":{"x":25473.95421333837,"y":11127.750106840474},"targetPosition":{"x":24986.75788514276,"y":10870.974599099456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"9 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityDown9","id":"f59472a9-6507-4c28-8820-06d2ff4d4cc7","savedPayload":{"position":{"x":25528.614727914424,"y":11829.364366124597},"targetPosition":{"x":25257.743614082236,"y":11350.157861767471},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d612b2c7-503f-4327-a7d3-a6d0ca9e7b91","savedPayload":{"position":{"x":25257.743614082236,"y":11350.157861767471},"targetPosition":{"x":24986.75788514276,"y":10870.974599099456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"10 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilityDown10","id":"0c2a9662-fb18-45c1-8f0a-fb7339601cd2","savedPayload":{"position":{"x":24924.557045445123,"y":11970.019227915036},"targetPosition":{"x":24955.693922649385,"y":11420.552014227083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4f766ff2-0076-41b3-836d-4cbba53b6b4b","savedPayload":{"position":{"x":24955.693922649385,"y":11420.552014227083},"targetPosition":{"x":24986.75788514276,"y":10870.974599099456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"af3d5d0c-21a1-4fe7-83f9-9afabd3cf16f","savedPayload":{"position":{"x":24428.323624924153,"y":11000.836473659861},"targetPosition":{"x":24687.959017102425,"y":11540.076428488494},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Candles Channels Side Probabilities","config":"{ \n\"codeName\": \"Candles Channels Side Probabilities\"\n}","panelData":[{"type":"Panel Data","name":"1 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilitySide1","id":"f7bc6a24-6277-4c81-89cf-b07a285b9fda","savedPayload":{"position":{"x":24039.36721113717,"y":10988.652538723367},"targetPosition":{"x":24589.741287978035,"y":11014.897031011817},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1ae051e6-771f-4332-87fa-ccb3faa468d5","savedPayload":{"position":{"x":24589.741287978035,"y":11014.897031011817},"targetPosition":{"x":25140.047813791247,"y":11041.257103328917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"2 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilitySide2","id":"cfc70522-309f-4f8a-962d-e98bbd6bfc06","savedPayload":{"position":{"x":24255.512558245417,"y":10381.716663821095},"targetPosition":{"x":24704.16743710518,"y":10701.2460075604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c8f2d5bb-14c3-4094-bc2b-2b5c46f4dc59","savedPayload":{"position":{"x":24704.16743710518,"y":10701.2460075604},"targetPosition":{"x":25140.047813791247,"y":11041.257103328917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"3 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilitySide3","id":"269c5548-643a-4c77-a4bb-33d3741b5aa2","savedPayload":{"position":{"x":24730.796719546437,"y":10018.337477761706},"targetPosition":{"x":24935.421998100916,"y":10529.731969459968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ebc2b7eb-e399-4025-a222-0c288a218b9c","savedPayload":{"position":{"x":24935.421998100916,"y":10529.731969459968},"targetPosition":{"x":25140.047813791247,"y":11041.257103328917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"4 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilitySide4","id":"3cb178ac-79a4-4742-b056-4242f1a44a4f","savedPayload":{"position":{"x":25348.418847282705,"y":9959.366332019994},"targetPosition":{"x":25244.248954110248,"y":10500.25271306042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9b18832c-c75a-48d5-84a8-10c87c3ecaa7","savedPayload":{"position":{"x":25244.248954110248,"y":10500.25271306042},"targetPosition":{"x":25140.047813791247,"y":11041.257103328917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"5 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilitySide5","id":"886987c2-c671-4fb1-8e4f-2531678fdf27","savedPayload":{"position":{"x":25900.292524328037,"y":10243.881674638014},"targetPosition":{"x":25520.206597911812,"y":10642.52100496909},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"02d20e04-267c-4947-aaef-975b0afbc6be","savedPayload":{"position":{"x":25520.206597911812,"y":10642.52100496909},"targetPosition":{"x":25140.047813791247,"y":11041.257103328917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"6 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilitySide6","id":"1c3ef0f9-8202-4bd1-b2cf-d5f093a0b93e","savedPayload":{"position":{"x":26210.767425085658,"y":10781.5773648049},"targetPosition":{"x":25675.4634381429,"y":10911.387590877597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8263c56f-f813-4b09-a3ec-d03873f61cfb","savedPayload":{"position":{"x":25675.4634381429,"y":10911.387590877597},"targetPosition":{"x":25140.047813791247,"y":11041.257103328917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"7 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilitySide7","id":"65c5aefe-26f5-43b7-9db4-92869f50c17d","savedPayload":{"position":{"x":26181.27997930872,"y":11401.295667615694},"targetPosition":{"x":25660.71972795057,"y":11221.265762447514},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"defe61e1-b9f0-4a78-89fb-d9793c2b6a30","savedPayload":{"position":{"x":25660.71972795057,"y":11221.265762447514},"targetPosition":{"x":25140.047813791247,"y":11041.257103328917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"8 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilitySide8","id":"4ec4604d-2c8a-43e2-9c86-e4cd4f84e6cc","savedPayload":{"position":{"x":25821.309587723706,"y":11906.995953084137},"targetPosition":{"x":25480.729108967014,"y":11474.085314254056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"34bc4b9d-8740-49d3-b289-3a15f1e5ad90","savedPayload":{"position":{"x":25480.729108967014,"y":11474.085314254056},"targetPosition":{"x":25140.047813791247,"y":11041.257103328917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"9 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilitySide9","id":"7896244a-82de-46a3-9ad5-973a8a46bc47","savedPayload":{"position":{"x":25270.11793328525,"y":12136.877910647114},"targetPosition":{"x":25217.719282376278,"y":11588.59974956341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3700449f-d0f2-4dc6-aad2-8ed6ba3dffb3","savedPayload":{"position":{"x":25217.719282376278,"y":11588.59974956341},"targetPosition":{"x":25140.047813791247,"y":11041.257103328917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"10 Periods","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.probabilitySide10","id":"eefa0c8e-3bbd-4f17-bf18-da2ea4adce72","savedPayload":{"position":{"x":24635.560322455225,"y":12020.301318342992},"targetPosition":{"x":24887.916785093585,"y":11530.774342251336},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"319c7144-ca2d-47de-acc4-ea71a008def2","savedPayload":{"position":{"x":24887.916785093585,"y":11530.774342251336},"targetPosition":{"x":25140.047813791247,"y":11041.257103328917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f4f7ebb6-52dc-4031-9822-f0391e95e043","savedPayload":{"position":{"x":24947.594749828182,"y":11000.837883563845},"targetPosition":{"x":24687.959017102425,"y":11540.076428488494},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Candles Channels Next Up","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"1 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextUp1","id":"4c2ab782-9799-4259-99ee-7ffeb3428f92","savedPayload":{"position":{"x":24958.75971512385,"y":11239.754024382648},"targetPosition":{"x":25007.12581779335,"y":11334.01237976527},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"6ab10cae-4aa4-45f6-b5c7-9baf4c0691a1","savedPayload":{"position":{"x":25007.12581779335,"y":11334.01237976527},"targetPosition":{"x":25139.89472119673,"y":11591.786930692188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"2 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextUp2","id":"751ec0df-e3bc-404f-a1b0-d17647bb854e","savedPayload":{"position":{"x":25177.621066135634,"y":11197.32726421574},"targetPosition":{"x":25167.249870552205,"y":11305.502341348198},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"17e442b4-eb1a-4c17-8b63-d731b95c983a","savedPayload":{"position":{"x":25167.249870552205,"y":11305.502341348198},"targetPosition":{"x":25139.89472119673,"y":11591.786930692188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"3 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextUp3","id":"4ebf70da-30e3-4b0e-bc5c-029e30a705ec","savedPayload":{"position":{"x":25384.748207265126,"y":11280.54236567676},"targetPosition":{"x":25319.173032682967,"y":11363.874228412984},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"162d2a00-b00c-4284-9c01-1837f0161e1b","savedPayload":{"position":{"x":25319.173032682967,"y":11363.874228412984},"targetPosition":{"x":25139.89472119673,"y":11591.786930692188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"4 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextUp4","id":"1101c09f-831c-4a7d-9ce2-0c23a66a240f","savedPayload":{"position":{"x":25514.092506393747,"y":11462.376620086816},"targetPosition":{"x":25413.846317868913,"y":11497.022434896207},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"fa5a33a9-8d8a-408c-93bd-8b06b3fbafe6","savedPayload":{"position":{"x":25413.846317868913,"y":11497.022434896207},"targetPosition":{"x":25139.89472119673,"y":11591.786930692188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"5 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextUp5","id":"211e8218-8abd-476b-8b61-f95235f54548","savedPayload":{"position":{"x":25524.528479751152,"y":11684.805886480775},"targetPosition":{"x":25421.626069955975,"y":11659.985360464652},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"0c4098da-6a1c-45a2-b0cc-e67f995f265d","savedPayload":{"position":{"x":25421.626069955975,"y":11659.985360464652},"targetPosition":{"x":25139.89472119673,"y":11591.786930692188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"6 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextUp6","id":"a471a5b8-7716-42d9-8c4e-c493e427733c","savedPayload":{"position":{"x":25413.402621164536,"y":11878.28322891039},"targetPosition":{"x":25340.089326850302,"y":11801.567610726866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"f4b0d4a0-fa30-4e94-a2f1-f8a2e94eb991","savedPayload":{"position":{"x":25340.089326850302,"y":11801.567610726866},"targetPosition":{"x":25139.89472119673,"y":11591.786930692188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"7 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextUp7","id":"fc8aa338-c938-4827-acfd-335a685a45a7","savedPayload":{"position":{"x":25214.938558017926,"y":11980.360147401909},"targetPosition":{"x":25194.819872931144,"y":11876.359041759575},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"dd6b2919-8a58-4817-91da-8e2d591633e2","savedPayload":{"position":{"x":25194.819872931144,"y":11876.359041759575},"targetPosition":{"x":25139.89472119673,"y":11591.786930692188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"8 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextUp8","id":"97cdc151-6085-4925-bf5f-b51f757f12c9","savedPayload":{"position":{"x":24993.176571467688,"y":11959.273887459098},"targetPosition":{"x":25032.34757338953,"y":11860.937606416444},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"d3c74a33-f336-4d3a-9646-064fee673e10","savedPayload":{"position":{"x":25032.34757338953,"y":11860.937606416444},"targetPosition":{"x":25139.89472119673,"y":11591.786930692188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"9 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextUp9","id":"26a6b54f-5c6f-43a6-94da-ea5381b4f53d","savedPayload":{"position":{"x":24817.502553833237,"y":11821.782757809538},"targetPosition":{"x":24903.790390169765,"y":11760.052109942166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"dff2a6e7-8415-4f8a-bfce-a5b7106db6e6","savedPayload":{"position":{"x":24903.790390169765,"y":11760.052109942166},"targetPosition":{"x":25139.89472119673,"y":11591.786930692188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"10 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextUp10","id":"2b04f728-46ee-4056-bdee-d7b643308401","savedPayload":{"position":{"x":24744.817182324765,"y":11611.175396342676},"targetPosition":{"x":24850.66447573532,"y":11605.271655500492},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"3ac887b6-7bdb-494d-8490-dab0c77aec2e","savedPayload":{"position":{"x":24850.66447573532,"y":11605.271655500492},"targetPosition":{"x":25139.89472119673,"y":11591.786930692188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3b367a4d-115a-4d9e-b783-2d0c6e542735","savedPayload":{"position":{"x":25271.58987753905,"y":11406.996064070105},"targetPosition":{"x":24687.959017102425,"y":11540.076428488494},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Candles Channels Next Down","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"1 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextDown1","id":"b3bb2ecb-6337-4d2c-8c89-245c7f73e108","savedPayload":{"position":{"x":24967.023669164948,"y":11285.641630844104},"targetPosition":{"x":24999.985782087977,"y":11383.71066621041},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"61b3b455-eb49-41a9-9de5-03d92c567f4a","savedPayload":{"position":{"x":24999.985782087977,"y":11383.71066621041},"targetPosition":{"x":25093.182395310658,"y":11659.551013432003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"2 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextDown2","id":"e989918e-5605-496d-a7f2-0ca713de39f0","savedPayload":{"position":{"x":25187.970633533092,"y":11283.186203202493},"targetPosition":{"x":25162.720401436225,"y":11381.218474789242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"2b917503-223e-4dde-8cf0-cb40412a6ec6","savedPayload":{"position":{"x":25162.720401436225,"y":11381.218474789242},"targetPosition":{"x":25093.182395310658,"y":11659.551013432003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"3 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextDown3","id":"63721d6c-2bb1-4da6-a8c6-ae21295382b0","savedPayload":{"position":{"x":25381.64112129956,"y":11388.322526005162},"targetPosition":{"x":25306.21279651732,"y":11459.179036246476},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"2a8d6136-b67f-468a-8c38-d5b30701b1b8","savedPayload":{"position":{"x":25306.21279651732,"y":11459.179036246476},"targetPosition":{"x":25093.182395310658,"y":11659.551013432003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"4 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextDown4","id":"2fd80a46-7a01-4de0-b98e-3ac645d3b8ac","savedPayload":{"position":{"x":25481.488189094867,"y":11587.64391144822},"targetPosition":{"x":25382.096804497698,"y":11606.00201430045},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"bc71245e-73f8-4442-ae03-7daa88da531c","savedPayload":{"position":{"x":25382.096804497698,"y":11606.00201430045},"targetPosition":{"x":25093.182395310658,"y":11659.551013432003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"5 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextDown5","id":"382438e9-28c2-4ff2-851a-20fca2d466e0","savedPayload":{"position":{"x":25459.282506567026,"y":11808.572195979426},"targetPosition":{"x":25365.353991317417,"y":11770.442460658844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"d63906ec-7de0-4edf-8947-96baca8dc478","savedPayload":{"position":{"x":25365.353991317417,"y":11770.442460658844},"targetPosition":{"x":25093.182395310658,"y":11659.551013432003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"6 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextDown6","id":"731bf25d-359a-463a-8a63-a0c5d3d0c306","savedPayload":{"position":{"x":25320.025641915898,"y":11982.108970402567},"targetPosition":{"x":25261.979417704584,"y":11899.725557417321},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"d25e4daa-306d-47b9-98fb-c8bb25dec5e0","savedPayload":{"position":{"x":25261.979417704584,"y":11899.725557417321},"targetPosition":{"x":25093.182395310658,"y":11659.551013432003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"7 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextDown7","id":"d0e9fb29-52c5-48e3-81c9-b6d74b42733f","savedPayload":{"position":{"x":25109.43879283625,"y":12053.653178794857},"targetPosition":{"x":25105.24481595322,"y":11952.965096499938},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"22726c47-81aa-40ac-8b23-0b6f280f067c","savedPayload":{"position":{"x":25105.24481595322,"y":11952.965096499938},"targetPosition":{"x":25093.182395310658,"y":11659.551013432003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"8 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextDown8","id":"e0ce0822-3eb2-4429-8a67-b41c8fbf0cdd","savedPayload":{"position":{"x":24893.987984999883,"y":12000.100064948094},"targetPosition":{"x":24944.891097587486,"y":11912.879935570649},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"4ebe2345-d360-4de4-b58a-73a711fefa7a","savedPayload":{"position":{"x":24944.891097587486,"y":11912.879935570649},"targetPosition":{"x":25093.182395310658,"y":11659.551013432003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"9 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextDown9","id":"80873b6e-5349-407f-993a-2b5247f73b3f","savedPayload":{"position":{"x":24742.279388428866,"y":11838.101887201037},"targetPosition":{"x":24831.677023546636,"y":11792.314158681924},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"1738151b-da20-4cc6-8565-87a08de1c2db","savedPayload":{"position":{"x":24831.677023546636,"y":11792.314158681924},"targetPosition":{"x":25093.182395310658,"y":11659.551013432003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"10 Period","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.nextDown10","id":"253de26c-204d-49f7-af4c-2945ce71dee3","savedPayload":{"position":{"x":24717.777503375833,"y":11598.148054067537},"targetPosition":{"x":24812.395175275815,"y":11633.885399724844},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"c030125c-1b29-4743-bbd5-93a86a2bad7d","savedPayload":{"position":{"x":24812.395175275815,"y":11633.885399724844},"targetPosition":{"x":25093.182395310658,"y":11659.551013432003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c16dc1ed-9da7-45da-bf32-c205a1d52d55","savedPayload":{"position":{"x":25157.15019949812,"y":11913.066333936931},"targetPosition":{"x":24687.959017102425,"y":11540.076428488494},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"194dbe67-1ef8-47a3-8d1f-d769f9d19b55","savedPayload":{"position":{"x":24687.959017102425,"y":11540.076428488494},"targetPosition":{"x":24687.95947714835,"y":11978.07499246695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a2224a2d-77d4-40ff-b632-a3629ce984f7","savedPayload":{"position":{"x":24687.956061134973,"y":11922.877378570005},"targetPosition":{"x":24687.956165025786,"y":12377.91976516634},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"37e312af-e076-47aa-a1cd-bf5b2e16127d","savedPayload":{"position":{"x":24687.956165025786,"y":12377.91976516634},"targetPosition":{"x":24687.956165025786,"y":12377.91976516634},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}
\ No newline at end of file
diff --git a/Plugins/Data-Mines/Sparta.json b/Plugins/Data-Mines/Sparta.json
deleted file mode 100644
index 442e22d05..000000000
--- a/Plugins/Data-Mines/Sparta.json
+++ /dev/null
@@ -1 +0,0 @@
-{"type":"Data Mine","name":"Sparta","config":"{\n\"codeName\": \"Sparta\"\n}","sensorBots":[],"indicatorBots":[{"type":"Indicator Bot","name":"SMA","config":"{\n\"codeName\": \"SMA\",\n\"repo\": \"SMA-Indicator-Bot\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Calculates SMAs for Time Frames of 01-hs and above.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\",\n \"startDate\": {\n },\n \"endDate\": {\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Popular SMAs","id":"5302effb-1f09-4a30-9f71-6956b8b9ca88","savedPayload":{"position":{"x":12646.524875439341,"y":17884.15279726723},"targetPosition":{"x":13033.370493339022,"y":17995.57687432203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"3b21f9d7-2cbc-4c23-80c8-cc5e5b06a22c"}}},{"type":"Output Dataset","name":"Multi-Period-Market Base11 SMAs","id":"8221593c-6298-4b4c-bfc2-cffbc9e5cd0f","savedPayload":{"position":{"x":12689.995349186209,"y":17780.21156437467},"targetPosition":{"x":13033.370493339022,"y":17995.57687432203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"af9b9cef-2a74-486f-b79e-047d68669a1f"}}},{"type":"Output Dataset","name":"Multi-Period-Market Base7 SMAs","id":"aabd0857-b4fc-404a-8967-967475ed3993","savedPayload":{"position":{"x":12759.155247109566,"y":17695.32100880714},"targetPosition":{"x":13033.370493339022,"y":17995.57687432203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"78a6ef37-4df8-4ac8-83a0-c9a732467c59"}}},{"type":"Output Dataset","name":"Multi-Period-Market Base6 SMAs","id":"dd00a77a-761e-404b-9e44-627335668112","savedPayload":{"position":{"x":12847.436629228832,"y":17633.27877304669},"targetPosition":{"x":13033.370493339022,"y":17995.57687432203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"c0862b3d-d35a-4d3e-8d80-258b8a01c37c"}}},{"type":"Output Dataset","name":"Muti-Period-Market Base5 SMAs","id":"b6426833-d2c7-4300-b610-801e12a7edfd","savedPayload":{"position":{"x":12974.065102353947,"y":17596.653739637215},"targetPosition":{"x":13033.370493339022,"y":17995.57687432203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Muti-Period-Market","id":"a5d28568-fb58-469a-9820-b9f0e8eab705"}}}],"outputDatasetFolders":[],"id":"85a56739-9351-444b-95e9-a57470dca38a","savedPayload":{"position":{"x":13033.370493339022,"y":17995.57687432203},"targetPosition":{"x":13340.035580225098,"y":18336.206545759305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"SMA Multi-Period-Market","config":"{\"mainUtility\": \"Self Reference\"}","id":"d49d1e94-1960-4121-8e40-be8af52947ee","savedPayload":{"position":{"x":13105.099120061017,"y":17722.726154577205},"targetPosition":{"x":13243.188191290305,"y":17877.49234657597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"81346f2f-13f2-46f4-85f5-a04b4d80f455"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"f7cf0949-06fc-4c98-a399-61fac1671c6e","savedPayload":{"position":{"x":13188.582010418977,"y":17663.949280770838},"targetPosition":{"x":13243.188191290305,"y":17877.49234657597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"4228fdf3-e992-46b2-a91e-de95108a753d","savedPayload":{"position":{"x":13318.830192725001,"y":17687.462656207295},"targetPosition":{"x":13243.188191290305,"y":17877.49234657597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"f404e748-b631-4cc5-975c-2a0736e55c0d","savedPayload":{"position":{"x":13243.188191290305,"y":17877.49234657597},"targetPosition":{"x":13340.035580225098,"y":18336.206545759305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"81346f2f-13f2-46f4-85f5-a04b4d80f455","savedPayload":{"position":{"x":13485.476074183298,"y":17890.225751836602},"targetPosition":{"x":13340.035580225098,"y":18336.206545759305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"2bce272e-2712-4f28-9736-03b51929aba2","savedPayload":{"position":{"x":13688.909460910472,"y":18022.421021414073},"targetPosition":{"x":13340.035580225098,"y":18336.206545759305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"b569db86-9ab5-4ba2-be41-357a9bce84b4","savedPayload":{"position":{"x":13799.411628560307,"y":18238.694086233143},"targetPosition":{"x":13340.035580225098,"y":18336.206545759305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"456269f6-9849-4d5f-9c8c-7cd7d1eef297","savedPayload":{"position":{"x":13346.194501511281,"y":18327.1026161811},"targetPosition":{"x":13223.777190505187,"y":18710.89260208997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Describe what the process does.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\",\n \"startDate\": {\n \"takeItFromStatusDependency\": 0\n },\n \"endDate\": {\n \"takeItFromStatusDependency\": 1\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily Popular SMAs","id":"417d3141-1e22-4ee6-b2d6-531a55b95c88","savedPayload":{"position":{"x":12945.481166306128,"y":17744.864478971638},"targetPosition":{"x":13278.966740149108,"y":17970.603129821582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"2c338fe0-385f-45ab-b210-b98ef013228d"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Base11 SMAs","id":"022edfeb-ec62-4cd9-85bf-20e9f444e3c1","savedPayload":{"position":{"x":13018.754214583862,"y":17659.00105006673},"targetPosition":{"x":13278.966740149108,"y":17970.603129821582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"de5cfa30-edbf-4d5b-8d7f-facfb69a0f3e"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Base7 SMAs","id":"42e89cd9-acbe-49cd-b6f6-7671317796d6","savedPayload":{"position":{"x":13110.996364690647,"y":17599.94934418037},"targetPosition":{"x":13278.966740149108,"y":17970.603129821582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"f155e2ed-7082-4021-a4ff-a6f3cfd5683d"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Base6 SMAs","id":"a270e81a-4d70-4293-8a37-19191cf2ec23","savedPayload":{"position":{"x":13214.157992519797,"y":17568.232104188133},"targetPosition":{"x":13278.966740149108,"y":17970.603129821582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"f5050eb2-0a99-464e-b5e2-2d8f40453e9a"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Base5 SMAs","id":"d3d1bc15-201c-4d00-ba2e-6401e5392c14","savedPayload":{"position":{"x":13345.875753147784,"y":17572.7686546539},"targetPosition":{"x":13278.966740149108,"y":17970.603129821582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"01f32aa3-55e9-4f8c-80c7-997b52073274"}}}],"outputDatasetFolders":[],"id":"ad03dff7-56b2-4980-bc14-1b6c41fdf6cf","savedPayload":{"position":{"x":13278.966740149108,"y":17970.603129821582},"targetPosition":{"x":13465.404115530702,"y":18389.378841623642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"SMA Multi-Period-Daily","config":"{\"mainUtility\": \"Self Reference\"}","id":"d674a833-b9c8-4bdb-84de-e007ab243860","savedPayload":{"position":{"x":13409.872131316684,"y":17742.276622109373},"targetPosition":{"x":13515.076068765844,"y":17923.8304713826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"d2727d60-b26b-4e8b-a635-fbe78bc81240"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"ba857809-2273-4280-aa19-4b50837abccb","savedPayload":{"position":{"x":13495.182008124093,"y":17691.851394751226},"targetPosition":{"x":13515.076068765844,"y":17923.8304713826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\"mainUtility\": \"Market Starting Point\"}","id":"40e12ba8-59dc-4eaf-a30d-07bb8192e0a6","savedPayload":{"position":{"x":13553.721089303755,"y":17741.18628709045},"targetPosition":{"x":13515.076068765844,"y":17923.8304713826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"5f5e40cb-841e-4b18-a249-a04d541d31a0","savedPayload":{"position":{"x":13684.048032973782,"y":17766.26178576011},"targetPosition":{"x":13515.076068765844,"y":17923.8304713826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"b6aae3c7-2d70-4ffd-a5e5-951f0a565b13","savedPayload":{"position":{"x":13515.076068765844,"y":17923.8304713826},"targetPosition":{"x":13465.404115530702,"y":18389.378841623642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"d2727d60-b26b-4e8b-a635-fbe78bc81240","savedPayload":{"position":{"x":13718.328962790618,"y":18043.289750735767},"targetPosition":{"x":13465.404115530702,"y":18389.378841623642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"8b753072-e4c9-4671-a5ce-eea9e1c1ba0f","savedPayload":{"position":{"x":13857.970188745609,"y":18215.2544916171},"targetPosition":{"x":13465.404115530702,"y":18389.378841623642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"87c9e783-adc5-40e3-b1fb-fdb2994c1217","savedPayload":{"position":{"x":13891.761341045496,"y":18434.202469140975},"targetPosition":{"x":13465.404115530702,"y":18389.378841623642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"333ae5d7-7ec1-4f08-b206-91e3b4f2c99f","savedPayload":{"position":{"x":13473.80992577683,"y":18378.85139265755},"targetPosition":{"x":13223.777190505187,"y":18710.89260208997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Popular SMAs","config":"{\n \"codeName\": \"Popular-SMAs\",\n \"singularVariableName\": \"popularSMA\",\n \"pluralVariableName\": \"popularSMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"3b21f9d7-2cbc-4c23-80c8-cc5e5b06a22c","savedPayload":{"position":{"x":13553.892239987252,"y":18056.644514359323},"targetPosition":{"x":13553.651536018762,"y":18477.902135419405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"2c338fe0-385f-45ab-b210-b98ef013228d","savedPayload":{"position":{"x":13801.540237730316,"y":18137.180692088798},"targetPosition":{"x":13553.651536018762,"y":18477.902135419405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"673a7fbf-1a73-4220-a561-84cf8b11c3a7","savedPayload":{"position":{"x":14507.924695051623,"y":17653.16657471693},"targetPosition":{"x":14721.05302748817,"y":17795.674905730688},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"305fc918-e6df-48d7-a7b5-726e3fa8f958","savedPayload":{"position":{"x":14721.05302748817,"y":17795.674905730688},"targetPosition":{"x":15028.77982643066,"y":17998.88203264834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"002ffd5e-583c-4af5-87eb-a886fd3bc50e","savedPayload":{"position":{"x":14973.603695039865,"y":17375.603012546493},"targetPosition":{"x":14996.3312476163,"y":17630.63710266347},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a305a94d-3af9-430a-8642-5ffb1229710f","savedPayload":{"position":{"x":14996.3312476163,"y":17630.63710266347},"targetPosition":{"x":15028.77982643066,"y":17998.88203264834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA20","config":"{\n \"codeName\": \"sma20\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma20","id":"5adb676d-35a8-47b2-aa47-dc0e6edf8a81","savedPayload":{"position":{"x":15480.817001764228,"y":17566.85715392647},"targetPosition":{"x":15296.626156182776,"y":17742.98316192668},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1657736e-6bc4-4279-9e65-5b0b0cf737cb","savedPayload":{"position":{"x":15296.626156182776,"y":17742.98316192668},"targetPosition":{"x":15028.77982643066,"y":17998.88203264834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA50","config":"{\n \"codeName\": \"sma50\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma50","id":"85033109-c11c-43d2-84cc-4510dae276ca","savedPayload":{"position":{"x":15648.785939170595,"y":18082.28927443912},"targetPosition":{"x":15394.731787304258,"y":18048.578866712134},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e7f1f78d-3a6d-49a2-b522-4423bd8d6a82","savedPayload":{"position":{"x":15394.731787304258,"y":18048.578866712134},"targetPosition":{"x":15028.77982643066,"y":17998.88203264834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA100","config":"{\n \"codeName\": \"sma100\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma100","id":"43eebecb-65db-4e64-902a-582515e06daa","savedPayload":{"position":{"x":15350.727814957021,"y":18534.681627995746},"targetPosition":{"x":15218.735049944613,"y":18316.22416578915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"090fa9ea-f050-4315-9360-3958ce5debaa","savedPayload":{"position":{"x":15218.735049944613,"y":18316.22416578915},"targetPosition":{"x":15028.77982643066,"y":17998.88203264834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA200","config":"{\n \"codeName\": \"sma200\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma200","id":"5bdf982c-5480-4f90-9ec2-7708bf2d4943","savedPayload":{"position":{"x":14811.150784380015,"y":18583.35452177403},"targetPosition":{"x":14899.650857326842,"y":18345.50154139768},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8146fe70-3592-4f27-af4a-d3d8e93268d1","savedPayload":{"position":{"x":14899.650857326842,"y":18345.50154139768},"targetPosition":{"x":15028.77982643066,"y":17998.88203264834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1b29d760-f7fe-48a5-928c-212a6f9a2486","savedPayload":{"position":{"x":14124.568856395072,"y":18292.468754961246},"targetPosition":{"x":13553.651536018762,"y":18477.902135419405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code. This goes at the Code of the Procedure Loop Object */\n\nlet candle = record.current // Our main dependencies are candles \nvariable.last200.push(candle.close) // Add the current close value to the last 200 array.\n\nif (variable.last200.length > 200) {\n variable.last200.splice(0, 1) // Remove the first element of the array to keep it at a maximun of 200 elements.\n}\n\nvariable.sma20 = calculateSMA(20)\nvariable.sma50 = calculateSMA(50)\nvariable.sma100 = calculateSMA(100)\nvariable.sma200 = calculateSMA(200)\n\nfunction calculateSMA(periods) { // Having a function avoids us to repeat code.\n /* We check we have enough values to make the calculation */\n if (variable.last200.length < periods) { return 0 } // If we dont, we define the value is zero.\n\n let sum = 0 // Initialize sum variable. \n for (let i = variable.last200.length - periods; i < variable.last200.length; i++) { // Iterate through the last periods\n sum = sum + variable.last200[i]\n /*\n if (index > 18 && index < 22) { // You can debug what is going on by console logging whatever you need. \n console.log(\"index=\" + index + \" i=\" + i + \" variable.last200.length=\" + variable.last200.length + \" periods=\" + periods + \" sum=\" + sum + \" sum/periods=\" + (sum / periods) + \" currentValue=\" + (variable.last200[i]))\n }\n */\n }\n let sma = sum / periods\n return sma\n}","id":"a9904080-6677-45e0-bcac-f336e882380a","savedPayload":{"position":{"x":14367.761855199802,"y":18531.73783609256},"targetPosition":{"x":14171.597578569494,"y":18573.043473819063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"shortcutKey":"f"}}},"id":"52a2ea69-6420-40f6-90f0-3330d33e6f67","savedPayload":{"position":{"x":14171.597578569494,"y":18573.043473819063},"targetPosition":{"x":13975.579578563997,"y":18614.561951246375},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code. This goes at the Code of the Procedure Initialization Object */\n\n/* \nThis is the array where we are going to store the last 200 elements, since we will not \nhave access to such long backwards history while processing daily files. In those situations\nwe only have access to the last 2 days of candles, which in 45 min for example, means 36\ncandles from the current day and 36 from the previous one. For that reason we will keep\nthis array with the last 200 candle.close values so that we overecome that limitation.\n*/\n\nvariable.last200 = []\n//console.log(timeFrameLabel + \" - Initialization of SMA - *************\")","id":"2790fd06-6fe8-4175-bbfc-854d9909aeb4","savedPayload":{"position":{"x":14244.229098947464,"y":18911.824220377955},"targetPosition":{"x":14110.001679170702,"y":18763.1211926291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6d5772df-819e-4968-9e27-61981c08f0e2","savedPayload":{"position":{"x":14110.001679170702,"y":18763.1211926291},"targetPosition":{"x":13975.579578563997,"y":18614.561951246375},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f1f881ff-a04f-4663-9747-2042d4581953","savedPayload":{"position":{"x":13975.579578563997,"y":18614.561951246375},"targetPosition":{"x":13553.651536018762,"y":18477.902135419405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4029d5bf-a8ad-4d80-b874-2af506e0ab34","savedPayload":{"position":{"x":13578.822803793733,"y":18460.940080771084},"targetPosition":{"x":13223.777190505187,"y":18710.89260208997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"SMA Popular","id":"ddf21e96-c312-4ebe-9e2b-f56e8ea072aa"}}},{"type":"Product Definition","name":"Base7 SMAs","config":"{\n \"codeName\": \"Base7-SMAs\",\n \"singularVariableName\": \"base7SMA\",\n \"pluralVariableName\": \"base7SMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"78a6ef37-4df8-4ac8-83a0-c9a732467c59","savedPayload":{"position":{"x":13741.317215876734,"y":18186.6061081173},"targetPosition":{"x":13610.18122244346,"y":18589.421304231524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"f155e2ed-7082-4021-a4ff-a6f3cfd5683d","savedPayload":{"position":{"x":13952.574876909077,"y":18340.98548372221},"targetPosition":{"x":13610.18122244346,"y":18589.421304231524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"6d7e37c5-d80e-44a3-8484-f532bcfc7819","savedPayload":{"position":{"x":15104.897823325087,"y":18378.363553629264},"targetPosition":{"x":15335.813817052507,"y":18481.724763005495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"87203f0b-0fb8-4875-8127-d715198bf01b","savedPayload":{"position":{"x":15335.813817052507,"y":18481.724763005495},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"bf74ad1e-a569-4428-a387-b0f39bb63759","savedPayload":{"position":{"x":15257.905460123637,"y":18167.708283577573},"targetPosition":{"x":15427.310913475323,"y":18356.938092514698},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0bc477f0-8b7d-4c75-8613-0cc63a25a79d","savedPayload":{"position":{"x":15427.310913475323,"y":18356.938092514698},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA7","config":"{\n \"codeName\": \"sma7\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma7","id":"1a89def9-4270-4584-93c3-86ca30cb184c","savedPayload":{"position":{"x":15482.458020972796,"y":18036.791284191044},"targetPosition":{"x":15561.023399787673,"y":18280.7726940935},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a87dddd8-9806-45be-b9a9-0e3196da48a7","savedPayload":{"position":{"x":15561.023399787673,"y":18280.7726940935},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA14","config":"{\n \"codeName\": \"sma14\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma14","id":"c0b78d39-a652-4d13-9fce-1b56d4e6ffbb","savedPayload":{"position":{"x":15740.616345628076,"y":18008.939095948906},"targetPosition":{"x":15713.625214357218,"y":18264.133626511815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"114a04b9-e5b6-4f60-ad99-760c10275f9e","savedPayload":{"position":{"x":15713.625214357218,"y":18264.133626511815},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA21","config":"{\n \"codeName\": \"sma21\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma21","id":"4740139a-d2d7-4050-a0f6-145eef002bed","savedPayload":{"position":{"x":15988.55114661917,"y":18089.148082467033},"targetPosition":{"x":15860.333279211294,"y":18311.01224386188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ac8182cd-7f7b-44e9-a91c-b470be594ef0","savedPayload":{"position":{"x":15860.333279211294,"y":18311.01224386188},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA28","config":"{\n \"codeName\": \"sma28\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma28","id":"0a2f17a1-2663-477a-8c28-015592a67a7e","savedPayload":{"position":{"x":16179.654067634512,"y":18265.641024031247},"targetPosition":{"x":15976.079126522915,"y":18413.378000829583},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"81c852eb-9b3e-4505-b81a-f236b39d770d","savedPayload":{"position":{"x":15976.079126522915,"y":18413.378000829583},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA35","config":"{\n \"codeName\": \"sma35\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma35","id":"1a30763f-6398-475f-b232-ff0da4ad41fa","savedPayload":{"position":{"x":16286.792577764305,"y":18502.377174175483},"targetPosition":{"x":16035.846456891968,"y":18555.565073365862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a8a4dd40-6286-46b0-8f4d-61893d2d9234","savedPayload":{"position":{"x":16035.846456891968,"y":18555.565073365862},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA70","config":"{\n \"codeName\": \"sma70\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma70","id":"07471d43-2432-4961-81b5-4aa1bb399df4","savedPayload":{"position":{"x":16288.069845580498,"y":18762.02655080757},"targetPosition":{"x":16036.079928152967,"y":18708.703287795914},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9dbc330c-e654-4591-92d0-c3e92262436e","savedPayload":{"position":{"x":16036.079928152967,"y":18708.703287795914},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA140","config":"{\n \"codeName\": \"sma140\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma140","id":"0ef6719d-cfa8-458e-a137-6bd2e77aa6fd","savedPayload":{"position":{"x":16181.685403197416,"y":18999.80373406093},"targetPosition":{"x":15974.942377784095,"y":18849.921578724887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"93814c2c-8fff-4415-9934-1356bf555015","savedPayload":{"position":{"x":15974.942377784095,"y":18849.921578724887},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA210","config":"{\n \"codeName\": \"sma210\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma210","id":"037c98d5-1eef-4928-ade0-a70021337aa5","savedPayload":{"position":{"x":15987.892854525098,"y":19173.53012890012},"targetPosition":{"x":15860.402627402485,"y":18953.158718330655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"efbcaa0c-2bf3-44e6-aae3-4f73c6255c69","savedPayload":{"position":{"x":15860.402627402485,"y":18953.158718330655},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA280","config":"{\n \"codeName\": \"sma280\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma280","id":"2bdc1e1e-b6a3-4e68-90b5-e88e64684804","savedPayload":{"position":{"x":15740.856070105458,"y":19254.201180208373},"targetPosition":{"x":15713.750649255851,"y":19000.027938898576},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6b302071-d15f-43b3-9ab2-4b970a379ebc","savedPayload":{"position":{"x":15713.750649255851,"y":19000.027938898576},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA350","config":"{\n \"codeName\": \"sma350\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma350","id":"18baf5c6-5aa5-4f66-8637-9966fdf4acf4","savedPayload":{"position":{"x":15482.652502539926,"y":19227.85211716697},"targetPosition":{"x":15561.073126566176,"y":18983.923102998695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f1de76b8-1665-4142-b8fc-712203bad655","savedPayload":{"position":{"x":15561.073126566176,"y":18983.923102998695},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA700","config":"{\n \"codeName\": \"sma700\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma700","id":"c8f08ae8-f608-40f1-8df3-e4eb537a89ed","savedPayload":{"position":{"x":15257.403393392773,"y":19097.906848786635},"targetPosition":{"x":15427.3353694247,"y":18907.419100265597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"83b3c070-c0cb-4a4b-86ea-0b6292f57c13","savedPayload":{"position":{"x":15427.3353694247,"y":18907.419100265597},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA1400","config":"{\n \"codeName\": \"sma1400\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma1400","id":"ca4c686e-61d0-4dc0-96f9-9ee80d856422","savedPayload":{"position":{"x":15103.4268616055,"y":18885.39574952767},"targetPosition":{"x":15336.085674762018,"y":18782.155478668166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e07922ab-0abb-4216-a534-07db74399c2a","savedPayload":{"position":{"x":15336.085674762018,"y":18782.155478668166},"targetPosition":{"x":15674.68789636489,"y":18632.209791020214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f3c4fe44-c417-4c98-9547-4b0c062f7bd7","savedPayload":{"position":{"x":14210.426334338372,"y":18589.41988419786},"targetPosition":{"x":13610.18122244346,"y":18589.421304231524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code. This goes at the Code of the Procedure Loop Object */\n\nlet candle = record.current // Our main dependencies are candles \nvariable.last1400.push(candle.close) // Add the current close value to the last 1400 array.\n\nif (variable.last1400.length > 1400) {\n variable.last1400.splice(0, 1) // Remove the first element of the array to keep it at a maximun of 1400 elements.\n}\n\nvariable.sma7 = calculateSMA(7)\nvariable.sma14 = calculateSMA(14)\nvariable.sma21 = calculateSMA(21)\nvariable.sma28 = calculateSMA(28)\nvariable.sma35 = calculateSMA(35)\nvariable.sma70 = calculateSMA(70)\nvariable.sma140 = calculateSMA(140)\nvariable.sma210 = calculateSMA(210)\nvariable.sma280 = calculateSMA(280)\nvariable.sma350 = calculateSMA(350)\nvariable.sma700 = calculateSMA(700)\nvariable.sma1400 = calculateSMA(1400)\n\nfunction calculateSMA(periods) { // Having a function avoids us to repeat code.\n /* We check we have enough values to make the calculation */\n if (variable.last1400.length < periods) { return 0 } // If we dont, we define the value is zero.\n\n let sum = 0 // Initialize sum variable. \n for (let i = variable.last1400.length - periods; i < variable.last1400.length; i++) { // Iterate through the last periods\n sum = sum + variable.last1400[i]\n /*\n if (index > 18 && index < 22) { // You can debug what is going on by console logging whatever you need. \n console.log(\"index=\" + index + \" i=\" + i + \" variable.last1400.length=\" + variable.last1400.length + \" periods=\" + periods + \" sum=\" + sum + \" sum/periods=\" + (sum / periods) + \" currentValue=\" + (variable.last1400[i]))\n }\n */\n }\n let sma = sum / periods\n return sma\n}","id":"27796e5a-2553-47c6-bddd-c8deaed05c2f","savedPayload":{"position":{"x":14367.787579259224,"y":18891.988262391616},"targetPosition":{"x":14168.663163905627,"y":18871.11623987068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e5d799ba-3a4f-45fb-8533-4c3de5d7886f","savedPayload":{"position":{"x":14168.663163905627,"y":18871.11623987068},"targetPosition":{"x":13969.421090600086,"y":18850.158038504687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code. This goes at the Code of the Procedure Initialization Object */\n\n/* \nThis is the array where we are going to store the last 1400 elements, since we will not \nhave access to such long backwards history while processing daily files. In those situations\nwe only have access to the last 2 days of candles, which in 45 min for example, means 36\ncandles from the current day and 36 from the previous one. For that reason we will keep\nthis array with the last 200 candle.close values so that we overecome that limitation.\n*/\n\nvariable.last1400 = []\n//console.log(timeFrameLabel + \" - Initialization of SMA - *************\")","id":"17ee3425-2a07-4523-b005-bac9dbf75184","savedPayload":{"position":{"x":14132.501768990993,"y":19215.880337331684},"targetPosition":{"x":14051.055120803781,"y":19032.99779382136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9e9e5c8c-98e2-4bbf-884a-071449177692","savedPayload":{"position":{"x":14051.055120803781,"y":19032.99779382136},"targetPosition":{"x":13969.421090600086,"y":18850.158038504687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6bd8fef6-49f7-45c5-9f9f-944785f8578e","savedPayload":{"position":{"x":13969.421090600086,"y":18850.158038504687},"targetPosition":{"x":13610.18122244346,"y":18589.421304231524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a03ef0ea-5be9-4d40-952e-24789e77dbb6","savedPayload":{"position":{"x":13634.94817210571,"y":18580.382597017426},"targetPosition":{"x":13223.777190505187,"y":18710.89260208997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"SMA Base 7","id":"515565ff-dee2-4adf-adaf-b4cfea5f5dbd"}}},{"type":"Product Definition","name":"Base11 SMAs","config":"{\n \"codeName\": \"Base11-SMAs\",\n \"singularVariableName\": \"base11SMA\",\n \"pluralVariableName\": \"base11SMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"af9b9cef-2a74-486f-b79e-047d68669a1f","savedPayload":{"position":{"x":13874.048002201518,"y":18371.44546630249},"targetPosition":{"x":13626.0625143367,"y":18712.23382585666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"de5cfa30-edbf-4d5b-8d7f-facfb69a0f3e","savedPayload":{"position":{"x":14027.262241886663,"y":18582.262247983203},"targetPosition":{"x":13626.0625143367,"y":18712.23382585666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"a6c93c64-52da-4dad-bff9-9f6d9b4606b9","savedPayload":{"position":{"x":14853.320157717504,"y":18263.358252629187},"targetPosition":{"x":14968.349527811812,"y":18491.058136812968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5e8f3d9c-8284-4b92-b7f5-ad7498e5ef3d","savedPayload":{"position":{"x":14968.349527811812,"y":18491.058136812968},"targetPosition":{"x":15135.336952825945,"y":18820.940837476137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"ac16b3d1-e3b0-4b79-9047-cd137c6eeafc","savedPayload":{"position":{"x":15331.087750989083,"y":18220.99347959864},"targetPosition":{"x":15251.524797249736,"y":18464.852818665422},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"43337725-24dd-4c1a-ae8d-2562a028d02d","savedPayload":{"position":{"x":15251.524797249736,"y":18464.852818665422},"targetPosition":{"x":15135.336952825945,"y":18820.940837476137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA11","config":"{\n \"codeName\": \"sma11\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma11","id":"87a1e288-0966-46e9-8a4f-1ddbb3f8976c","savedPayload":{"position":{"x":15693.565286242227,"y":18536.92104121244},"targetPosition":{"x":15465.291101063694,"y":18653.041667609086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6a67dbd9-1e8e-4100-849f-5ea77ea67985","savedPayload":{"position":{"x":15465.291101063694,"y":18653.041667609086},"targetPosition":{"x":15135.336952825945,"y":18820.940837476137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA22","config":"{\n \"codeName\": \"sma22\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma22","id":"8652042b-c373-4024-9fbf-c582a55134e0","savedPayload":{"position":{"x":15730.483271955722,"y":19013.636020124846},"targetPosition":{"x":15487.62230898985,"y":18935.021093942647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a5665ca1-e399-4e8a-8e04-8c0b153702e4","savedPayload":{"position":{"x":15487.62230898985,"y":18935.021093942647},"targetPosition":{"x":15135.336952825945,"y":18820.940837476137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA33","config":"{\n \"codeName\": \"sma33\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma33","id":"738317b6-dcb4-4699-a48c-170491515eb5","savedPayload":{"position":{"x":15420.30652679892,"y":19377.75217229887},"targetPosition":{"x":15303.57440001852,"y":19149.724451389884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f35c54ed-6469-4cfa-94cf-f94f1c916e91","savedPayload":{"position":{"x":15303.57440001852,"y":19149.724451389884},"targetPosition":{"x":15135.336952825945,"y":18820.940837476137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA55","config":"{\n \"codeName\": \"sma55\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma55","id":"675e9f6c-1e0d-4d09-ab69-88252ef60fe2","savedPayload":{"position":{"x":14943.565214659391,"y":19414.345921375072},"targetPosition":{"x":15022.170600005064,"y":19172.66024198126},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c17d77b3-4d80-462d-88ba-ef421928dde1","savedPayload":{"position":{"x":15022.170600005064,"y":19172.66024198126},"targetPosition":{"x":15135.336952825945,"y":18820.940837476137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA111","config":"{\n \"codeName\": \"sma111\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma111","id":"b32a4356-312c-4536-b30b-63bad302e857","savedPayload":{"position":{"x":14581.150534310518,"y":19105.421082462028},"targetPosition":{"x":14806.937261207104,"y":18988.70896464553},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f49152b4-5306-41d2-966b-dba92eef2590","savedPayload":{"position":{"x":14806.937261207104,"y":18988.70896464553},"targetPosition":{"x":15135.336952825945,"y":18820.940837476137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a099f207-16db-4f66-adfb-1529fa350385","savedPayload":{"position":{"x":14196.897140328492,"y":18897.536722867724},"targetPosition":{"x":13626.0625143367,"y":18712.23382585666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code. This goes at the Code of the Procedure Loop Object */\n\nlet candle = record.current // Our main dependencies are candles \nvariable.last200.push(candle.close) // Add the current close value to the last 200 array.\n\nif (variable.last200.length > 200) {\n variable.last200.splice(0, 1) // Remove the first element of the array to keep it at a maximun of 200 elements.\n}\n\nvariable.sma11 = calculateSMA(11)\nvariable.sma22 = calculateSMA(22)\nvariable.sma33 = calculateSMA(33)\nvariable.sma55 = calculateSMA(55)\nvariable.sma111 = calculateSMA(111)\n\nfunction calculateSMA(periods) { // Having a function avoids us to repeat code.\n /* We check we have enough values to make the calculation */\n if (variable.last200.length < periods) { return 0 } // If we dont, we define the value is zero.\n\n let sum = 0 // Initialize sum variable. \n for (let i = variable.last200.length - periods; i < variable.last200.length; i++) { // Iterate through the last periods\n sum = sum + variable.last200[i]\n /*\n if (index > 18 && index < 22) { // You can debug what is going on by console logging whatever you need. \n console.log(\"index=\" + index + \" i=\" + i + \" variable.last200.length=\" + variable.last200.length + \" periods=\" + periods + \" sum=\" + sum + \" sum/periods=\" + (sum / periods) + \" currentValue=\" + (variable.last200[i]))\n }\n */\n }\n let sma = sum / periods\n return sma\n}","id":"317788d5-11f5-48a6-ab0c-252cdcef7728","savedPayload":{"position":{"x":14252.989256982559,"y":19233.876855475664},"targetPosition":{"x":14069.844190058759,"y":19151.91647162634},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cce46065-5c04-428f-823f-4cb5e67b212a","savedPayload":{"position":{"x":14069.844190058759,"y":19151.91647162634},"targetPosition":{"x":13886.974168280636,"y":19070.7730117477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code. This goes at the Code of the Procedure Initialization Object */\n\n/* \nThis is the array where we are going to store the last 200 elements, since we will not \nhave access to such long backwards history while processing daily files. In those situations\nwe only have access to the last 2 days of candles, which in 45 min for example, means 36\ncandles from the current day and 36 from the previous one. For that reason we will keep\nthis array with the last 200 candle.close values so that we overecome that limitation.\n*/\n\nvariable.last200 = []\n//console.log(timeFrameLabel + \" - Initialization of SMA - *************\")","id":"70d5537e-f682-4322-992b-99a55edb2582","savedPayload":{"position":{"x":13929.311123402587,"y":19469.153851896655},"targetPosition":{"x":13908.117153793803,"y":19269.659914512806},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f0707196-a2ac-4aee-99df-48a7fe77c365","savedPayload":{"position":{"x":13908.117153793803,"y":19269.659914512806},"targetPosition":{"x":13886.974168280636,"y":19070.7730117477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"663d58c6-e03e-4923-8cc7-03cc860aa318","savedPayload":{"position":{"x":13886.974168280636,"y":19070.7730117477},"targetPosition":{"x":13626.0625143367,"y":18712.23382585666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"05fabbf9-7798-4a53-995e-53ae74bef3de","savedPayload":{"position":{"x":13654.684457825533,"y":18711.035212892457},"targetPosition":{"x":13223.777190505187,"y":18710.89260208997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"SMA Base 11","id":"4a61ac35-a1ae-40f4-b3da-f81ae796ee00"}}},{"type":"Product Definition","name":"Base5 SMAs","config":"{\n \"codeName\": \"Base5-SMAs\",\n \"singularVariableName\": \"base5SMA\",\n \"pluralVariableName\": \"base5SMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Muti-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"a5d28568-fb58-469a-9820-b9f0e8eab705","savedPayload":{"position":{"x":13946.985504014425,"y":18588.25219821845},"targetPosition":{"x":13605.968066957117,"y":18835.758327401065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"01f32aa3-55e9-4f8c-80c7-997b52073274","savedPayload":{"position":{"x":14027.504303131745,"y":18835.826886237122},"targetPosition":{"x":13605.968066957117,"y":18835.758327401065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"949a2e58-5d07-475e-92b9-e0ef4b9fd9e7","savedPayload":{"position":{"x":14668.910964247681,"y":18982.44254723445},"targetPosition":{"x":14795.472157274164,"y":19204.13492264135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"65545f82-9022-4d4c-bd09-b900182bae75","savedPayload":{"position":{"x":14795.472157274164,"y":19204.13492264135},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"551c49da-26d4-438e-aff4-2a0ecc18ce7f","savedPayload":{"position":{"x":14915.86268379945,"y":18901.324214137945},"targetPosition":{"x":14941.949585969034,"y":19156.803447482205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"74445dab-2c42-4c71-b179-04b98b5a8e27","savedPayload":{"position":{"x":14941.949585969034,"y":19156.803447482205},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA5","config":"{\n \"codeName\": \"sma5\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma5","id":"1c996969-c249-4b55-845c-62205e91fc68","savedPayload":{"position":{"x":15174.136149095868,"y":18929.57087945219},"targetPosition":{"x":15094.55348564467,"y":19172.31493082134},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3b9f6fbf-20d8-4952-b5e8-34937746fef7","savedPayload":{"position":{"x":15094.55348564467,"y":19172.31493082134},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA10","config":"{\n \"codeName\": \"sma10\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma10","id":"d16592d7-2f02-49ae-8857-dd7098990f20","savedPayload":{"position":{"x":15399.755702675217,"y":19058.78429880473},"targetPosition":{"x":15226.87835631667,"y":19249.91160135536},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"73cb2d83-d59b-457e-af00-68a8d0e2b016","savedPayload":{"position":{"x":15226.87835631667,"y":19249.91160135536},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA15","config":"{\n \"codeName\": \"sma15\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma15","id":"147ea31e-2735-4bae-b6a9-99072ed3d7a5","savedPayload":{"position":{"x":15552.339521905624,"y":19269.49739993728},"targetPosition":{"x":15318.073810378808,"y":19373.473268089914},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"666f82ef-a002-4067-9edb-6ddbe2861056","savedPayload":{"position":{"x":15318.073810378808,"y":19373.473268089914},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA20","config":"{\n \"codeName\": \"sma20\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma20","id":"f2507a4f-7f65-4d22-b062-1834c9269285","savedPayload":{"position":{"x":15606.386898107057,"y":19523.933093261134},"targetPosition":{"x":15349.982923018406,"y":19523.90463750302},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a6a82705-0a6c-425e-afab-099a63570ada","savedPayload":{"position":{"x":15349.982923018406,"y":19523.90463750302},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA25","config":"{\n \"codeName\": \"sma25\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma25","id":"53aead0b-0c80-4e74-b19b-7290672f7444","savedPayload":{"position":{"x":15552.199673639561,"y":19778.288990444034},"targetPosition":{"x":15318.303549482303,"y":19674.218840780468},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cbc6da93-d064-4762-a32f-ae1071a1ebe2","savedPayload":{"position":{"x":15318.303549482303,"y":19674.218840780468},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA50","config":"{\n \"codeName\": \"sma50\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma50","id":"0c126131-e3bd-4d43-a037-53e54e268300","savedPayload":{"position":{"x":15399.852721377707,"y":19989.509215807426},"targetPosition":{"x":15227.456056894842,"y":19798.431032504697},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1cda317e-4b82-4bd9-8b07-71ad7365e524","savedPayload":{"position":{"x":15227.456056894842,"y":19798.431032504697},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA100","config":"{\n \"codeName\": \"sma100\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma100","id":"77c897e8-ab38-4c88-a215-e67d53401196","savedPayload":{"position":{"x":15173.95785052631,"y":20118.669826743586},"targetPosition":{"x":15094.7684918768,"y":19876.27964695355},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f7a66586-158d-40e2-be75-1077a91b0d7e","savedPayload":{"position":{"x":15094.7684918768,"y":19876.27964695355},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA150","config":"{\n \"codeName\": \"sma150\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma150","id":"1e5d6df6-a1af-49f0-a06e-08c362b1cd34","savedPayload":{"position":{"x":14916.177071141434,"y":20146.671235623566},"targetPosition":{"x":14941.965550843555,"y":19891.626718972817},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"83260971-1089-4349-9019-29ea469a9d24","savedPayload":{"position":{"x":14941.965550843555,"y":19891.626718972817},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA200","config":"{\n \"codeName\": \"sma200\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma200","id":"bc63f986-17dd-48fb-892b-7f2d2b033cc5","savedPayload":{"position":{"x":14668.211581143218,"y":20068.583597019006},"targetPosition":{"x":14797.191611246924,"y":19844.45130073467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"07a55760-46cf-44e8-b2f9-f55a6bb5a81c","savedPayload":{"position":{"x":14797.191611246924,"y":19844.45130073467},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA250","config":"{\n \"codeName\": \"sma250\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma250","id":"1bdc84fd-9eac-4b07-9ff6-56f80ec08553","savedPayload":{"position":{"x":14473.55002033061,"y":19893.358414914193},"targetPosition":{"x":14680.88120552039,"y":19741.515815129806},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8b672a62-1ae1-4e92-819e-597fa42da35b","savedPayload":{"position":{"x":14680.88120552039,"y":19741.515815129806},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA 500","config":"{\n \"codeName\": \"sma500\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma500","id":"0d17399e-97d1-459d-8864-6c72967f0fd4","savedPayload":{"position":{"x":14369.156692249044,"y":19655.420712571588},"targetPosition":{"x":14617.434578526745,"y":19601.240321261517},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"92405f1d-9adf-4a70-af18-f2537ba2b0a0","savedPayload":{"position":{"x":14617.434578526745,"y":19601.240321261517},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA 1000","config":"{\n \"codeName\": \"sma1000\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma1000","id":"e2364abc-b940-4b52-a506-587c1a5941e3","savedPayload":{"position":{"x":14377.552346643928,"y":19396.626810222642},"targetPosition":{"x":14626.191718154676,"y":19448.337809680215},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5318bf3f-6e8a-46c8-8b04-3769bde03438","savedPayload":{"position":{"x":14626.191718154676,"y":19448.337809680215},"targetPosition":{"x":14979.62380058695,"y":19523.8997884986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"69298c3e-479d-4eb6-a972-35f8f079ce86","savedPayload":{"position":{"x":14091.641577222495,"y":19188.45425260822},"targetPosition":{"x":13605.968066957117,"y":18835.758327401065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code. This goes at the Code of the Procedure Loop Object */\n\nlet candle = record.current // Our main dependencies are candles \nvariable.last1000.push(candle.close) // Add the current close value to the last 1000 array.\n\nif (variable.last1000.length > 1000) {\n variable.last1000.splice(0, 1) // Remove the first element of the array to keep it at a maximun of 1000 elements.\n}\n\nvariable.sma5 = calculateSMA(5)\nvariable.sma10 = calculateSMA(10)\nvariable.sma15 = calculateSMA(15)\nvariable.sma20 = calculateSMA(20)\nvariable.sma25 = calculateSMA(25)\nvariable.sma50 = calculateSMA(50)\nvariable.sma100 = calculateSMA(100)\nvariable.sma150 = calculateSMA(150)\nvariable.sma200 = calculateSMA(200)\nvariable.sma250 = calculateSMA(250)\nvariable.sma500 = calculateSMA(500)\nvariable.sma1000 = calculateSMA(1000)\n\nfunction calculateSMA(periods) { // Having a function avoids us to repeat code.\n /* We check we have enough values to make the calculation */\n if (variable.last1000.length < periods) { return 0 } // If we dont, we define the value is zero.\n\n let sum = 0 // Initialize sum variable. \n for (let i = variable.last1000.length - periods; i < variable.last1000.length; i++) { // Iterate through the last periods\n sum = sum + variable.last1000[i]\n /*\n if (index > 18 && index < 22) { // You can debug what is going on by console logging whatever you need. \n console.log(\"index=\" + index + \" i=\" + i + \" variable.last1000.length=\" + variable.last1000.length + \" periods=\" + periods + \" sum=\" + sum + \" sum/periods=\" + (sum / periods) + \" currentValue=\" + (variable.last1000[i]))\n }\n */\n }\n let sma = sum / periods\n return sma\n}","id":"45ebc09e-bada-4bcd-8780-a2f56f23f037","savedPayload":{"position":{"x":14040.963869912835,"y":19525.49101658052},"targetPosition":{"x":13892.197565326662,"y":19391.11947078702},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f65693cf-81ef-497e-86d2-a7ad9b74a1ca","savedPayload":{"position":{"x":13892.197565326662,"y":19391.11947078702},"targetPosition":{"x":13743.296735695929,"y":19257.437879015593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code. This goes at the Code of the Procedure Initialization Object */\n\n/* \nThis is the array where we are going to store the last 1000 elements, since we will not \nhave access to such long backwards history while processing daily files. In those situations\nwe only have access to the last 2 days of candles, which in 45 min for example, means 36\ncandles from the current day and 36 from the previous one. For that reason we will keep\nthis array with the last 200 candle.close values so that we overecome that limitation.\n*/\n\nvariable.last1000 = []\n//console.log(timeFrameLabel + \" - Initialization of SMA - *************\")","id":"22db43d3-db5d-43b6-80fc-1faa358bfadb","savedPayload":{"position":{"x":13660.85463700674,"y":19649.45736741119},"targetPosition":{"x":13702.137854949437,"y":19453.169229156978},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"12255c95-c680-43af-be1b-61ee37e0e827","savedPayload":{"position":{"x":13702.137854949437,"y":19453.169229156978},"targetPosition":{"x":13743.296735695929,"y":19257.437879015593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cd8c13e4-2b9e-4a42-a576-539d412f239a","savedPayload":{"position":{"x":13743.296735695929,"y":19257.437879015593},"targetPosition":{"x":13605.968066957117,"y":18835.758327401065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2dcb55de-1673-409e-aa52-f51e7c7f8fa3","savedPayload":{"position":{"x":13633.457502120524,"y":18844.05302000164},"targetPosition":{"x":13223.777190505187,"y":18710.89260208997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"SMA Base 5","id":"888c381d-457d-4421-8401-a7475b42ff03"}}},{"type":"Product Definition","name":"Base6 SMAs","config":"{\n \"codeName\": \"Base6-SMAs\",\n \"singularVariableName\": \"base6SMA\",\n \"pluralVariableName\": \"base6SMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"c0862b3d-d35a-4d3e-8d80-258b8a01c37c","savedPayload":{"position":{"x":13949.556876866982,"y":18817.23415752111},"targetPosition":{"x":13548.700265355283,"y":18947.29759219128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"f5050eb2-0a99-464e-b5e2-2d8f40453e9a","savedPayload":{"position":{"x":13949.544384928173,"y":19077.55856007086},"targetPosition":{"x":13548.700265355283,"y":18947.29759219128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Being","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"fc90c194-682d-4d5c-923b-89b19e49f234","savedPayload":{"position":{"x":14555.604066101447,"y":19251.989797018992},"targetPosition":{"x":14646.055953090328,"y":19489.87717972938},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"37fc0238-a202-4c33-89ca-6a4e24d4e1ac","savedPayload":{"position":{"x":14646.055953090328,"y":19489.87717972938},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"c1b3c2c1-68aa-443a-8c69-c50dcd34998f","savedPayload":{"position":{"x":14812.620619715819,"y":19211.85689459381},"targetPosition":{"x":14798.707935791279,"y":19465.64483227418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7757e0dd-c3b4-48b4-bdf7-e517ce8df601","savedPayload":{"position":{"x":14798.707935791279,"y":19465.64483227418},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA6","config":"{\n \"codeName\": \"sma6\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma6","id":"8a633674-750f-492d-8bfc-ac6f2e79793a","savedPayload":{"position":{"x":15063.04286394426,"y":19279.664750900683},"targetPosition":{"x":14947.240686324903,"y":19506.34270638956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"12d5b8f1-c83c-43a3-bf45-6f85e85a6df9","savedPayload":{"position":{"x":14947.240686324903,"y":19506.34270638956},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA12","config":"{\n \"codeName\": \"sma12\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma12","id":"11e2a0cd-851a-425e-b2bd-f3cff1b00c77","savedPayload":{"position":{"x":15267.443902474346,"y":19441.532653255603},"targetPosition":{"x":15066.126581547034,"y":19604.03771615861},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6c1f3e32-9310-4ece-a796-cf9225172978","savedPayload":{"position":{"x":15066.126581547034,"y":19604.03771615861},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA18","config":"{\n \"codeName\": \"sma18\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma18","id":"0cbf493f-fa5f-41a8-a928-754ec9720fe0","savedPayload":{"position":{"x":15384.853022928843,"y":19674.539353040625},"targetPosition":{"x":15138.000478621141,"y":19740.304154849495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"12bf3180-d354-451d-ba14-81cdd9d95c19","savedPayload":{"position":{"x":15138.000478621141,"y":19740.304154849495},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA24","config":"{\n \"codeName\": \"sma24\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma24","id":"4d677df1-74ec-417e-a518-2b8946c84542","savedPayload":{"position":{"x":15397.622199407857,"y":19933.917913444464},"targetPosition":{"x":15145.874123880361,"y":19894.1209223154},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3e3a6434-aaa4-4170-8cdc-cca21c8d0863","savedPayload":{"position":{"x":15145.874123880361,"y":19894.1209223154},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA30","config":"{\n \"codeName\": \"sma30\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma30","id":"3a92b258-6c21-4747-ba08-16cf9ba814ec","savedPayload":{"position":{"x":15304.487118628394,"y":20177.164642151194},"targetPosition":{"x":15089.658592669928,"y":20037.72215420303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"22bc84a6-f431-464c-a7e0-b9249b32abdf","savedPayload":{"position":{"x":15089.658592669928,"y":20037.72215420303},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA60","config":"{\n \"codeName\": \"sma60\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma60","id":"d9a44db6-45eb-47f8-975b-ee8dccd0659d","savedPayload":{"position":{"x":15120.585280683083,"y":20361.63473844805},"targetPosition":{"x":14980.588564466108,"y":20146.30553549176},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c3d4d569-0b7e-44b9-b2f0-84d9a91ee6b0","savedPayload":{"position":{"x":14980.588564466108,"y":20146.30553549176},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA120","config":"{\n \"codeName\": \"sma120\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma120","id":"90fee0af-0e23-44de-aa16-d446857485f4","savedPayload":{"position":{"x":14877.176356847589,"y":20455.354172226078},"targetPosition":{"x":14836.843567897859,"y":20201.66158103272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4f572d61-ff96-4ccb-90ca-7a26d5cc8322","savedPayload":{"position":{"x":14836.843567897859,"y":20201.66158103272},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA180","config":"{\n \"codeName\": \"sma180\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma180","id":"031e5277-e225-4307-a247-f49dae98ac26","savedPayload":{"position":{"x":14617.552583504477,"y":20441.986805189026},"targetPosition":{"x":14683.476215854449,"y":20193.69438815896},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9e3eb2e1-3cb4-4f0b-9a5a-5196bb4af3af","savedPayload":{"position":{"x":14683.476215854449,"y":20193.69438815896},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA240","config":"{\n \"codeName\": \"sma240\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma240","id":"cb9604b0-3004-48d5-84fe-680747edb943","savedPayload":{"position":{"x":14385.82386293696,"y":20323.730586127545},"targetPosition":{"x":14546.500494977654,"y":20124.062440497768},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"83c2137c-676d-4a43-88c1-e9a5f69cafeb","savedPayload":{"position":{"x":14546.500494977654,"y":20124.062440497768},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA300","config":"{\n \"codeName\": \"sma300\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma300","id":"8c3259f1-e88b-40a2-9af2-a0e554affbd2","savedPayload":{"position":{"x":14221.694559306155,"y":20120.748217735378},"targetPosition":{"x":14449.64340932944,"y":20004.254828334808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"829bfd3a-8c69-4e51-8951-a1d7cb0b8c6f","savedPayload":{"position":{"x":14449.64340932944,"y":20004.254828334808},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA600","config":"{\n \"codeName\": \"sma600\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma600","id":"501b1e82-840a-4288-801d-38a5e5c7f7cb","savedPayload":{"position":{"x":14154.200900151043,"y":19870.09236215858},"targetPosition":{"x":14410.043735826215,"y":19855.55841239969},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f7174f99-231c-4188-8f4a-95a34c0c35f8","savedPayload":{"position":{"x":14410.043735826215,"y":19855.55841239969},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA1200","config":"{\n \"codeName\": \"sma1200\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma1200","id":"0554601a-009b-47a2-8e0c-c7d6f3901a9e","savedPayload":{"position":{"x":14194.83137427287,"y":19624.493438094003},"targetPosition":{"x":14434.277104329178,"y":19703.190332435453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f6f0c544-4054-4cb4-9be1-14ffa23c5251","savedPayload":{"position":{"x":14434.277104329178,"y":19703.190332435453},"targetPosition":{"x":14778.799251510509,"y":19836.024934382032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a84f4438-cabc-4c9a-bd9c-0338e55a6e15","savedPayload":{"position":{"x":13973.150510424592,"y":19371.714713470126},"targetPosition":{"x":13548.700265355283,"y":18947.29759219128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code. This goes at the Code of the Procedure Loop Object */\n\nlet candle = record.current // Our main dependencies are candles \nvariable.last1200.push(candle.close) // Add the current close value to the last 1200 array.\n\nif (variable.last1200.length > 1200) {\n variable.last1200.splice(0, 1) // Remove the first element of the array to keep it at a maximun of 1200 elements.\n}\n\nvariable.sma6 = calculateSMA(6)\nvariable.sma12 = calculateSMA(12)\nvariable.sma18 = calculateSMA(18)\nvariable.sma24 = calculateSMA(24)\nvariable.sma30 = calculateSMA(30)\nvariable.sma60 = calculateSMA(60)\nvariable.sma120 = calculateSMA(120)\nvariable.sma180 = calculateSMA(180)\nvariable.sma240 = calculateSMA(240)\nvariable.sma300 = calculateSMA(300)\nvariable.sma600 = calculateSMA(600)\nvariable.sma1200 = calculateSMA(1200)\n\nfunction calculateSMA(periods) { // Having a function avoids us to repeat code.\n /* We check we have enough values to make the calculation */\n if (variable.last1200.length < periods) { return 0 } // If we dont, we define the value is zero.\n\n let sum = 0 // Initialize sum variable. \n for (let i = variable.last1200.length - periods; i < variable.last1200.length; i++) { // Iterate through the last periods\n sum = sum + variable.last1200[i]\n /*\n if (index > 18 && index < 22) { // You can debug what is going on by console logging whatever you need. \n console.log(\"index=\" + index + \" i=\" + i + \" variable.last1200.length=\" + variable.last1200.length + \" periods=\" + periods + \" sum=\" + sum + \" sum/periods=\" + (sum / periods) + \" currentValue=\" + (variable.last1200[i]))\n }\n */\n }\n let sma = sum / periods\n return sma\n}","id":"f2c97b70-717a-4f98-be7c-d76dd94b8227","savedPayload":{"position":{"x":13749.234843879049,"y":19737.65762403325},"targetPosition":{"x":13649.178215486732,"y":19564.00905648891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"96841e7b-90d9-4508-8933-4f0f9769800e","savedPayload":{"position":{"x":13649.178215486732,"y":19564.00905648891},"targetPosition":{"x":13549.06048722463,"y":19390.60532274617},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code. This goes at the Code of the Procedure Initialization Object */\n\n/* \nThis is the array where we are going to store the last 1200 elements, since we will not \nhave access to such long backwards history while processing daily files. In those situations\nwe only have access to the last 2 days of candles, which in 45 min for example, means 36\ncandles from the current day and 36 from the previous one. For that reason we will keep\nthis array with the last 200 candle.close values so that we overecome that limitation.\n*/\n\nvariable.last1200 = []\n//console.log(timeFrameLabel + \" - Initialization of SMA - *************\")","id":"14dcff53-0599-4529-8a5d-5cf92a5c33c8","savedPayload":{"position":{"x":13349.445019319352,"y":19737.960974477377},"targetPosition":{"x":13449.350068361693,"y":19564.171294629097},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d2863a8f-8f38-4c47-9f48-0bd45b628fa0","savedPayload":{"position":{"x":13449.350068361693,"y":19564.171294629097},"targetPosition":{"x":13549.06048722463,"y":19390.60532274617},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"948be5d9-da96-488a-bb15-f8cd94777231","savedPayload":{"position":{"x":13549.06048722463,"y":19390.60532274617},"targetPosition":{"x":13548.700265355283,"y":18947.29759219128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4ae22e54-cd02-4e2e-b638-1c5ea9a171ac","savedPayload":{"position":{"x":13572.325097863975,"y":18964.142272202225},"targetPosition":{"x":13223.777190505187,"y":18710.89260208997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"SMA Base 6","id":"6ace920a-3a4b-4d28-8f04-4c2ecd3dfeb8"}}},{"type":"Product Definition","name":"Base12 SMAs","config":"{\n \"codeName\": \"Base12-SMAs\",\n \"singularVariableName\": \"base12SMA\",\n \"pluralVariableName\": \"base12SMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"6ba76363-0f50-4e67-8678-3eb4fd6d07d6","savedPayload":{"position":{"x":13881.505080286377,"y":19035.933689718233},"targetPosition":{"x":13459.855888550765,"y":19035.928237081127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"92d92b3e-6870-499b-bfec-33bab220bf62","savedPayload":{"position":{"x":13800.779354147253,"y":19283.722394506058},"targetPosition":{"x":13459.855888550765,"y":19035.928237081127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"d44292f3-8960-448b-8339-32147b8bb1c3","savedPayload":{"position":{"x":14306.018063626661,"y":19615.91491968582},"targetPosition":{"x":14271.039336657372,"y":19869.25225972455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bcec1860-262e-4125-bdf4-a8f798d9d4ff","savedPayload":{"position":{"x":14271.039336657372,"y":19869.25225972455},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"91264df6-db08-498e-a039-fec9b0cd09a5","savedPayload":{"position":{"x":14565.949128696227,"y":19715.830532634398},"targetPosition":{"x":14426.274619419832,"y":19926.376232042712},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0ef8d741-e876-446e-86ac-146b4f33d8e8","savedPayload":{"position":{"x":14426.274619419832,"y":19926.376232042712},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA12","config":"{\n \"codeName\": \"sma12\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma12","id":"c694dcde-b622-4d71-b2cf-e42e1b4934ec","savedPayload":{"position":{"x":14759.10344357948,"y":19915.761615349853},"targetPosition":{"x":14538.331784021599,"y":20047.23492769171},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"daf8aa00-f032-412e-b319-e7c581611db0","savedPayload":{"position":{"x":14538.331784021599,"y":20047.23492769171},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA24","config":"{\n \"codeName\": \"sma24\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma24","id":"445b00ba-46a1-4e79-b762-72c521223b5f","savedPayload":{"position":{"x":14846.002202700378,"y":20180.594543605064},"targetPosition":{"x":14589.470031878509,"y":20203.227487967637},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"255fdffa-cdbb-428b-a54e-14448f7cda29","savedPayload":{"position":{"x":14589.470031878509,"y":20203.227487967637},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA36","config":"{\n \"codeName\": \"sma36\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma36","id":"c9c11106-98b6-4fcb-b30b-d49263a05d95","savedPayload":{"position":{"x":14808.672527487679,"y":20456.490890231657},"targetPosition":{"x":14568.264869648954,"y":20366.143319939827},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"628c3c4f-7ef7-4008-bada-76e4edf6de42","savedPayload":{"position":{"x":14568.264869648954,"y":20366.143319939827},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA48","config":"{\n \"codeName\": \"sma48\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma48","id":"8e1cfb60-cb51-4625-a36b-75d64381840d","savedPayload":{"position":{"x":14653.493051358886,"y":20687.756816334488},"targetPosition":{"x":14478.238099652523,"y":20504.481485771194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1aa9fd38-51e5-4158-9bb2-31dbc8f933d0","savedPayload":{"position":{"x":14478.238099652523,"y":20504.481485771194},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA60","config":"{\n \"codeName\": \"sma60\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma60","id":"6fe04671-6298-4ef4-9ef8-779eafc1645d","savedPayload":{"position":{"x":14415.019961008895,"y":20830.994519444474},"targetPosition":{"x":14335.776166774749,"y":20587.213842218716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d76d7819-b542-4ee8-98fd-539ec3325e2c","savedPayload":{"position":{"x":14335.776166774749,"y":20587.213842218716},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA120","config":"{\n \"codeName\": \"sma120\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma120","id":"f8abde07-3312-4983-bff2-65ed4f475a3f","savedPayload":{"position":{"x":14138.078832138797,"y":20857.260013697847},"targetPosition":{"x":14172.364046218796,"y":20601.837789117053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0e696147-e020-4056-8ad4-40ad79cba391","savedPayload":{"position":{"x":14172.364046218796,"y":20601.837789117053},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA240","config":"{\n \"codeName\": \"sma240\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma240","id":"1ea2c145-6dcf-4e8a-908a-b12e08a8d658","savedPayload":{"position":{"x":13877.02612442064,"y":20759.162054244323},"targetPosition":{"x":14017.849927478046,"y":20545.037921203733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e02938c9-f5b1-49f7-8e63-f8637f6d1d4d","savedPayload":{"position":{"x":14017.849927478046,"y":20545.037921203733},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA360","config":"{\n \"codeName\": \"sma360\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma360","id":"16ab9e8b-cb14-4a59-b7b3-0a1d13dbea5b","savedPayload":{"position":{"x":13684.849069577855,"y":20557.89092841101},"targetPosition":{"x":13903.926725200998,"y":20426.196343090975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fe671bcf-1d71-4081-a100-f4bbc59203c7","savedPayload":{"position":{"x":13903.926725200998,"y":20426.196343090975},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA480","config":"{\n \"codeName\": \"sma480\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma480","id":"135a34fc-3cc8-4555-b1b9-c8ea03150aff","savedPayload":{"position":{"x":13598.392136989007,"y":20292.040103339044},"targetPosition":{"x":13853.426534813623,"y":20269.353115845963},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"85a59bf2-d419-43c9-a287-68902b8cb199","savedPayload":{"position":{"x":13853.426534813623,"y":20269.353115845963},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA600","config":"{\n \"codeName\": \"sma600\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma600","id":"cacf8e3b-77d3-4697-9ca5-51cff50afb6c","savedPayload":{"position":{"x":13635.491549562152,"y":20017.36272417436},"targetPosition":{"x":13875.667437591621,"y":20106.535438141695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"608a2a98-bd6e-49e0-b202-afff3553337d","savedPayload":{"position":{"x":13875.667437591621,"y":20106.535438141695},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA1200","config":"{\n \"codeName\": \"sma1200\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma1200","id":"2e1c84ea-2cb3-4936-8106-623dcdff8782","savedPayload":{"position":{"x":13778.741909593371,"y":19793.01565999582},"targetPosition":{"x":13967.062862497836,"y":19968.9819559096},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dda31bad-8835-446a-9015-4e15ae4cb845","savedPayload":{"position":{"x":13967.062862497836,"y":19968.9819559096},"targetPosition":{"x":14221.472588823779,"y":20235.897575916846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f46175dc-dfd2-4e1e-a60c-554867b5f0a5","savedPayload":{"position":{"x":13645.400526875723,"y":19606.69329362225},"targetPosition":{"x":13459.855888550765,"y":19035.928237081127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code. This goes at the Code of the Procedure Loop Object */\n\nlet candle = record.current // Our main dependencies are candles \nvariable.last1200.push(candle.close) // Add the current close value to the last 1200 array.\n\nif (variable.last1200.length > 1200) {\n variable.last1200.splice(0, 1) // Remove the first element of the array to keep it at a maximun of 1200 elements.\n}\n\nvariable.sma12 = calculateSMA(12)\nvariable.sma24 = calculateSMA(24)\nvariable.sma36 = calculateSMA(36)\nvariable.sma48 = calculateSMA(48)\nvariable.sma60 = calculateSMA(60)\nvariable.sma120 = calculateSMA(120)\nvariable.sma240 = calculateSMA(240)\nvariable.sma360 = calculateSMA(360)\nvariable.sma480 = calculateSMA(480)\nvariable.sma600 = calculateSMA(600)\nvariable.sma1200 = calculateSMA(1200)\n\nfunction calculateSMA(periods) { // Having a function avoids us to repeat code.\n /* We check we have enough values to make the calculation */\n if (variable.last1200.length < periods) { return 0 } // If we dont, we define the value is zero.\n\n let sum = 0 // Initialize sum variable. \n for (let i = variable.last1200.length - periods; i < variable.last1200.length; i++) { // Iterate through the last periods\n sum = sum + variable.last1200[i]\n /*\n if (index > 18 && index < 22) { // You can debug what is going on by console logging whatever you need. \n console.log(\"index=\" + index + \" i=\" + i + \" variable.last1200.length=\" + variable.last1200.length + \" periods=\" + periods + \" sum=\" + sum + \" sum/periods=\" + (sum / periods) + \" currentValue=\" + (variable.last1200[i]))\n }\n */\n }\n let sma = sum / periods\n return sma\n}","id":"fba7176b-58ff-4bd6-95de-ad6f88de4cda","savedPayload":{"position":{"x":13405.805983623564,"y":19849.740206004422},"targetPosition":{"x":13364.447908769329,"y":19653.51879587308},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"daf2fb19-bfda-4248-a0c6-8e364fe863ee","savedPayload":{"position":{"x":13364.447908769329,"y":19653.51879587308},"targetPosition":{"x":13323.02217556668,"y":19457.682716722986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code. This goes at the Code of the Procedure Initialization Object */\n\n/* \nThis is the array where we are going to store the last 1200 elements, since we will not \nhave access to such long backwards history while processing daily files. In those situations\nwe only have access to the last 2 days of candles, which in 45 min for example, means 36\ncandles from the current day and 36 from the previous one. For that reason we will keep\nthis array with the last 200 candle.close values so that we overecome that limitation.\n*/\n\nvariable.last1200 = []\n//console.log(timeFrameLabel + \" - Initialization of SMA - *************\")","id":"4d3f1fee-e71d-46cd-a50b-69176de5e1e8","savedPayload":{"position":{"x":13025.762519902159,"y":19726.058900324253},"targetPosition":{"x":13174.50280539197,"y":19591.670867895893},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"08365c70-c9ba-481d-abb8-62dc21067754","savedPayload":{"position":{"x":13174.50280539197,"y":19591.670867895893},"targetPosition":{"x":13323.02217556668,"y":19457.682716722986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4aa28d66-d2c5-40d1-9b42-b6adb1e94d1c","savedPayload":{"position":{"x":13323.02217556668,"y":19457.682716722986},"targetPosition":{"x":13459.855888550765,"y":19035.928237081127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"723d28e9-a010-48c5-bda0-43a4c2343ddf","savedPayload":{"position":{"x":13477.171950807997,"y":19059.677156427922},"targetPosition":{"x":13223.777190505187,"y":18710.89260208997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition","name":"Base30 SMAs","config":"{\n \"codeName\": \"Base30-SMAs\",\n \"singularVariableName\": \"base30SMA\",\n \"pluralVariableName\": \"base30SMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"4c486321-22e0-4991-9a1c-571bada649ad","savedPayload":{"position":{"x":13742.268318127848,"y":19224.40822575847},"targetPosition":{"x":13341.2011782317,"y":19094.14982537033},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"819688c9-c7bd-444b-9658-2a4379125c72","savedPayload":{"position":{"x":13588.718248593228,"y":19435.12434816921},"targetPosition":{"x":13341.2011782317,"y":19094.14982537033},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"16806650-2bfb-4709-acbd-aca1549c16e8","savedPayload":{"position":{"x":14006.05741598521,"y":19829.54859258029},"targetPosition":{"x":13887.051113466589,"y":20055.288848895634},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"265d3765-cd1d-4652-a0ed-01931674a151","savedPayload":{"position":{"x":13887.051113466589,"y":20055.288848895634},"targetPosition":{"x":13715.602573162569,"y":20382.471194312824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"d0b81562-348b-433f-8524-f9bc909de69e","savedPayload":{"position":{"x":14230.731145264132,"y":20027.859364069238},"targetPosition":{"x":14019.225465532452,"y":20173.260531701853},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fe6074be-18c6-46c0-abd4-5d31bc067798","savedPayload":{"position":{"x":14019.225465532452,"y":20173.260531701853},"targetPosition":{"x":13715.602573162569,"y":20382.471194312824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA30","config":"{\n \"codeName\": \"sma30\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma30","id":"2ef589ba-7f7d-4df5-91fd-9107d67a7792","savedPayload":{"position":{"x":14338.453808347787,"y":20307.609569620854},"targetPosition":{"x":14081.383023173845,"y":20338.43209253111},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"72debf77-1c4b-4e8d-9a99-96951bd6d24c","savedPayload":{"position":{"x":14081.383023173845,"y":20338.43209253111},"targetPosition":{"x":13715.602573162569,"y":20382.471194312824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA60","config":"{\n \"codeName\": \"sma60\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma60","id":"d51798bf-2373-4f5e-b6e4-56aad8117820","savedPayload":{"position":{"x":14300.670213345305,"y":20604.477031647206},"targetPosition":{"x":14061.989822646616,"y":20513.915742069432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"78e59381-fcda-4204-a70a-4113eebdbba7","savedPayload":{"position":{"x":14061.989822646616,"y":20513.915742069432},"targetPosition":{"x":13715.602573162569,"y":20382.471194312824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA90","config":"{\n \"codeName\": \"sma90\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma90","id":"a35a40dd-e5b4-4444-a8da-14eeb79e76b3","savedPayload":{"position":{"x":14129.95092911066,"y":20850.37482634769},"targetPosition":{"x":13960.740824896735,"y":20659.292606032846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"90b3598c-8f08-4dc1-ad41-a64caf0cab39","savedPayload":{"position":{"x":13960.740824896735,"y":20659.292606032846},"targetPosition":{"x":13715.602573162569,"y":20382.471194312824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA120","config":"{\n \"codeName\": \"sma120\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma120","id":"046bdfe3-d838-425e-8cc0-e117151bdbf8","savedPayload":{"position":{"x":13865.049219049624,"y":20989.58648986368},"targetPosition":{"x":13803.768464147257,"y":20740.57698115119},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"aa9f7095-66e7-4e42-b6b2-d3a51e3b35d9","savedPayload":{"position":{"x":13803.768464147257,"y":20740.57698115119},"targetPosition":{"x":13715.602573162569,"y":20382.471194312824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA150","config":"{\n \"codeName\": \"sma150\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma150","id":"8129644d-2b0a-4936-8255-22dc2aada9e7","savedPayload":{"position":{"x":13565.892131684368,"y":20991.541247849764},"targetPosition":{"x":13627.66882609324,"y":20740.091617840077},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b0c06b10-549c-4280-aac9-0b649ede898c","savedPayload":{"position":{"x":13627.66882609324,"y":20740.091617840077},"targetPosition":{"x":13715.602573162569,"y":20382.471194312824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA300","config":"{\n \"codeName\": \"sma300\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma300","id":"23ddb87c-8211-4032-8273-222af79863b5","savedPayload":{"position":{"x":13301.056913140035,"y":20850.89793122459},"targetPosition":{"x":13470.029924155633,"y":20659.94533930345},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"38b8e859-eda7-4cd9-afc2-ee0e3ed297b7","savedPayload":{"position":{"x":13470.029924155633,"y":20659.94533930345},"targetPosition":{"x":13715.602573162569,"y":20382.471194312824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA600","config":"{\n \"codeName\": \"sma600\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma600","id":"8f07691b-ccdc-47cc-9c07-3701b61322f9","savedPayload":{"position":{"x":13131.608913045284,"y":20604.28446145368},"targetPosition":{"x":13369.832503686148,"y":20513.78177310572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cebd7a57-eebb-4e4f-9315-6f1411970e55","savedPayload":{"position":{"x":13369.832503686148,"y":20513.78177310572},"targetPosition":{"x":13715.602573162569,"y":20382.471194312824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA900","config":"{\n \"codeName\": \"sma900\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma900","id":"ed66265d-f971-448f-b395-e0c12c178173","savedPayload":{"position":{"x":13094.595472217376,"y":20308.035147123843},"targetPosition":{"x":13349.510710859775,"y":20338.481417375093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fcbefbb9-2a6d-459a-8d3b-595d71caaa88","savedPayload":{"position":{"x":13349.510710859775,"y":20338.481417375093},"targetPosition":{"x":13715.602573162569,"y":20382.471194312824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA1200","config":"{\n \"codeName\": \"sma1200\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma1200","id":"3e936d3b-8f40-49da-830c-f73ea5bf271a","savedPayload":{"position":{"x":13200.272921615911,"y":20027.935149038276},"targetPosition":{"x":13411.578857518782,"y":20173.018135869173},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"311d2e2d-163e-4b8e-ae99-2b2d0fbbb2aa","savedPayload":{"position":{"x":13411.578857518782,"y":20173.018135869173},"targetPosition":{"x":13715.602573162569,"y":20382.471194312824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"SMA1500","config":"{\n \"codeName\": \"sma1500\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.sma1500","id":"d4db0dc9-12a2-41c6-8511-43cbfdcfb136","savedPayload":{"position":{"x":13420.85070167402,"y":19831.128407595315},"targetPosition":{"x":13544.446307886255,"y":20055.356246644962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b71b603d-38de-401d-b1df-ca20710dba64","savedPayload":{"position":{"x":13544.446307886255,"y":20055.356246644962},"targetPosition":{"x":13715.602573162569,"y":20382.471194312824},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"229b4129-39f9-4f46-bbb5-a86a714023f8","savedPayload":{"position":{"x":13341.279750211044,"y":19694.429548227406},"targetPosition":{"x":13341.2011782317,"y":19094.14982537033},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code. This goes at the Code of the Procedure Loop Object */\n\nlet candle = record.current // Our main dependencies are candles \nvariable.last1500.push(candle.close) // Add the current close value to the last 1500 array.\n\nif (variable.last1500.length > 1500) {\n variable.last1500.splice(0, 1) // Remove the first element of the array to keep it at a maximun of 1500 elements.\n}\n\nvariable.sma30 = calculateSMA(30)\nvariable.sma60 = calculateSMA(60)\nvariable.sma90 = calculateSMA(90)\nvariable.sma120 = calculateSMA(120)\nvariable.sma150 = calculateSMA(150)\nvariable.sma300 = calculateSMA(300)\nvariable.sma600 = calculateSMA(600)\nvariable.sma900 = calculateSMA(900)\nvariable.sma1200 = calculateSMA(1200)\nvariable.sma1500 = calculateSMA(1500)\n\nfunction calculateSMA(periods) { // Having a function avoids us to repeat code.\n /* We check we have enough values to make the calculation */\n if (variable.last1500.length < periods) { return 0 } // If we dont, we define the value is zero.\n\n let sum = 0 // Initialize sum variable. \n for (let i = variable.last1500.length - periods; i < variable.last1500.length; i++) { // Iterate through the last periods\n sum = sum + variable.last1500[i]\n /*\n if (index > 18 && index < 22) { // You can debug what is going on by console logging whatever you need. \n console.log(\"index=\" + index + \" i=\" + i + \" variable.last1500.length=\" + variable.last1500.length + \" periods=\" + periods + \" sum=\" + sum + \" sum/periods=\" + (sum / periods) + \" currentValue=\" + (variable.last1500[i]))\n }\n */\n }\n let sma = sum / periods\n return sma\n}","id":"382c5abf-a91a-40c0-88c2-7e230e93ed44","savedPayload":{"position":{"x":13039.015430467769,"y":19851.60903304884},"targetPosition":{"x":13060.029201962092,"y":19652.124540724446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d3dab655-2db2-4d4c-a776-91a6ae116304","savedPayload":{"position":{"x":13060.029201962092,"y":19652.124540724446},"targetPosition":{"x":13080.660494228503,"y":19453.0544320219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code. This goes at the Code of the Procedure Initialization Object */\n\n/* \nThis is the array where we are going to store the last 1500 elements, since we will not \nhave access to such long backwards history while processing daily files. In those situations\nwe only have access to the last 2 days of candles, which in 45 min for example, means 36\ncandles from the current day and 36 from the previous one. For that reason we will keep\nthis array with the last 200 candle.close values so that we overecome that limitation.\n*/\n\nvariable.last1500 = []\n//console.log(timeFrameLabel + \" - Initialization of SMA - *************\")","id":"41af43f4-4f30-404d-8d9e-3ad5e752688c","savedPayload":{"position":{"x":12730.027237512804,"y":19627.610511752446},"targetPosition":{"x":12913.1284961775,"y":19546.01042994176},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f8611aff-7f4f-4df8-a2ac-b92ef5633ad4","savedPayload":{"position":{"x":12913.1284961775,"y":19546.01042994176},"targetPosition":{"x":13080.660494228503,"y":19453.0544320219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e8bebfde-97db-42d7-93a2-972366bc002c","savedPayload":{"position":{"x":13080.660494228503,"y":19453.0544320219},"targetPosition":{"x":13341.2011782317,"y":19094.14982537033},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"607ebabd-9602-4e5c-803d-d4207dbd6794","savedPayload":{"position":{"x":13356.76331679153,"y":19120.88613506552},"targetPosition":{"x":13223.777190505187,"y":18710.89260208997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c1c6f0e0-49f7-4723-bf22-dd24dfee6102","savedPayload":{"position":{"x":13290.278273539294,"y":18710.736887902134},"targetPosition":{"x":12824.153406676238,"y":18710.73255185816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"EMA","config":"{\n\"codeName\": \"EMA\",\n\"repo\": \"EMA-Indicator-Bot\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Calculates EMAs based on SMAs\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\",\n \"startDate\": {\n },\n \"endDate\": {\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Popular EMAs","id":"4e72640b-d384-434c-a607-47b1c8e4c9ef","savedPayload":{"position":{"x":13379.664662340787,"y":18153.942503117923},"targetPosition":{"x":13483.944857246155,"y":18348.37851565246},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"ea1af06a-2584-43f0-aecf-ec8ad9169e9c"}}},{"type":"Output Dataset","name":"Multi-Period-Market Base7 EMAs","id":"e554af82-9965-4a5d-a59a-3dc873526ad9","savedPayload":{"position":{"x":13511.301303827358,"y":18145.664129649107},"targetPosition":{"x":13483.944857246155,"y":18348.37851565246},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"4e36a5a5-7a03-43a9-b3e0-0c5763c29199"}}},{"type":"Output Dataset","name":"Multi-Period-Market Base11 EMAs","id":"fcefc8e1-6900-485f-a5b0-80366450aedf","savedPayload":{"position":{"x":13633.47753436347,"y":18212.863359554383},"targetPosition":{"x":13483.944857246155,"y":18348.37851565246},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"5586aa74-2ecb-4b71-83ea-d621aa400660"}}}],"outputDatasetFolders":[],"id":"268cf8f3-e871-4fed-bbdb-725a070e7cb6","savedPayload":{"position":{"x":13483.944857246155,"y":18348.37851565246},"targetPosition":{"x":13460.467472562019,"y":18805.445787747405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"EMA Multi-Period-Market","config":"{\"mainUtility\": \"Self Reference\"}","id":"6c163397-f3a4-4acc-b281-567f2809b8a0","savedPayload":{"position":{"x":13658.33634085643,"y":18345.445174268447},"targetPosition":{"x":13705.685054452953,"y":18500.30832199008},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"8e7c0f51-727f-4a28-b516-087443ee369f"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{ \n\"mainUtility\": \"Market Ending Point.\"\n}","id":"eb2d5251-f873-4785-80c8-3a75186e6fa9","savedPayload":{"position":{"x":13780.472805906189,"y":18362.814148853602},"targetPosition":{"x":13705.685054452953,"y":18500.30832199008},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"7715ed1a-35f7-4b1c-ad79-fcd2486fe2ca","savedPayload":{"position":{"x":13838.137544422349,"y":18474.104920179107},"targetPosition":{"x":13705.685054452953,"y":18500.30832199008},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"39426478-777d-4ef5-a72a-2ad862c979c7","savedPayload":{"position":{"x":13705.685054452953,"y":18500.30832199008},"targetPosition":{"x":13460.467472562019,"y":18805.445787747405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"8e7c0f51-727f-4a28-b516-087443ee369f","savedPayload":{"position":{"x":13880.506456819245,"y":18599.270336949117},"targetPosition":{"x":13460.467472562019,"y":18805.445787747405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"19e3e53c-0752-4cae-93bd-162e0839b32f","savedPayload":{"position":{"x":13929.53730682903,"y":18830.223997837453},"targetPosition":{"x":13460.467472562019,"y":18805.445787747405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f865a93d-38fd-433f-92e6-ccb7f2d33b05","savedPayload":{"position":{"x":13854.501943821731,"y":19061.305880486285},"targetPosition":{"x":13460.467472562019,"y":18805.445787747405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"278c34a7-199d-400e-8a06-087149e3d391","savedPayload":{"position":{"x":13473.210879125005,"y":18800.877778574217},"targetPosition":{"x":13106.547681452128,"y":18993.5176709163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Calculates EMAs based on SMAs.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\",\n \"startDate\": {\n \"takeItFromStatusDependency\": 0\n },\n \"endDate\": {\n \"takeItFromStatusDependency\": 1\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily Popular EMAs","id":"24f5e41a-5839-4174-8e74-2fcde5c2f6a4","savedPayload":{"position":{"x":13586.284075438185,"y":18324.338501899896},"targetPosition":{"x":13667.840652659152,"y":18507.750428589497},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"e7f5899c-fc4c-412d-a8db-77c1bef8ed21"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Base11 EMAs","id":"cf348b8d-e3cb-4841-b064-6bf2a8b54062","savedPayload":{"position":{"x":13739.530456752584,"y":18319.767479469152},"targetPosition":{"x":13667.840652659152,"y":18507.750428589497},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"0198fa3f-98e3-4c57-a4a4-a7a8e27905d3"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Base7 EMAs","id":"49d8444c-a216-4d81-8039-fa15683ed461","savedPayload":{"position":{"x":13829.535029208053,"y":18372.72510557043},"targetPosition":{"x":13667.840652659152,"y":18507.750428589497},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"15ccbcff-318d-46db-93f2-d649b57fd52a"}}}],"outputDatasetFolders":[],"id":"3864c37f-f9dc-433d-96e4-e36a6720adf1","savedPayload":{"position":{"x":13667.840652659152,"y":18507.750428589497},"targetPosition":{"x":13503.890427833407,"y":18935.724898297405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"EMA Multi-Period-Daily","config":"{\"mainUtility\": \"Self Reference\"}","id":"2b523347-3f95-43ab-9ac8-72470000c774","savedPayload":{"position":{"x":13864.762418925344,"y":18497.557642331438},"targetPosition":{"x":13867.817815409237,"y":18641.708865042885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"fb2c8ec5-75ff-41e9-8782-60a952bd06e8"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\"mainUtility\": \"Market Starting Point\"}","id":"5c6a74d3-7f45-409c-a408-fe3c67c050e9","savedPayload":{"position":{"x":13990.605708797235,"y":18463.03576348888},"targetPosition":{"x":13867.817815409237,"y":18641.708865042885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","id":"dbfe665f-e805-40f4-a494-231cc265acc8","savedPayload":{"position":{"x":14059.987943476475,"y":18568.07590329809},"targetPosition":{"x":13867.817815409237,"y":18641.708865042885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"70d56a4f-6375-456e-b797-d590ab2109a3","savedPayload":{"position":{"x":14062.66904168245,"y":18699.607836215127},"targetPosition":{"x":13867.817815409237,"y":18641.708865042885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"b5b3313a-d8e6-4b64-9300-fdc6693a2cb7","savedPayload":{"position":{"x":13867.817815409237,"y":18641.708865042885},"targetPosition":{"x":13503.890427833407,"y":18935.724898297405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"fb2c8ec5-75ff-41e9-8782-60a952bd06e8","savedPayload":{"position":{"x":13966.80662820059,"y":18862.58008427244},"targetPosition":{"x":13503.890427833407,"y":18935.724898297405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"41fe3adc-42c9-4f5d-b757-13cedd7e0155","savedPayload":{"position":{"x":13941.425418742067,"y":19104.015210281344},"targetPosition":{"x":13503.890427833407,"y":18935.724898297405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"e232777d-86ee-4bb4-9a6d-659f06493aa5","savedPayload":{"position":{"x":13799.073472119302,"y":19300.638788527343},"targetPosition":{"x":13503.890427833407,"y":18935.724898297405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"943ea24f-ee24-4eae-9b4b-e8a73122b1c2","savedPayload":{"position":{"x":13516.247834364494,"y":18932.574453728983},"targetPosition":{"x":13106.547681452128,"y":18993.5176709163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Popular EMAs","config":"{\n \"codeName\": \"Popular-EMAs\",\n \"singularVariableName\": \"popularEMA\",\n \"pluralVariableName\": \"popularEMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"ea1af06a-2584-43f0-aecf-ec8ad9169e9c","savedPayload":{"position":{"x":13709.134309334038,"y":18857.99513919908},"targetPosition":{"x":13505.139928478817,"y":19061.07756287141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"e7f5899c-fc4c-412d-a8db-77c1bef8ed21","savedPayload":{"position":{"x":13789.644699937584,"y":19016.330138931487},"targetPosition":{"x":13505.139928478817,"y":19061.07756287141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"a88a6b8e-0c81-45f5-b69f-33ead2c9af2a","savedPayload":{"position":{"x":14827.312904684715,"y":19169.32213760436},"targetPosition":{"x":14879.090147588357,"y":19427.67265598022},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"60b742b7-4a6b-4c3a-a924-7ae2c7c284d8","savedPayload":{"position":{"x":14879.090147588357,"y":19427.67265598022},"targetPosition":{"x":14953.5572115888,"y":19797.518422574944},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"f12e6638-8bbd-4bff-b969-232c1861b45c","savedPayload":{"position":{"x":15361.994533497878,"y":19309.191793246096},"targetPosition":{"x":15193.153499494796,"y":19511.02200631321},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"87688525-3fc6-4a15-806d-fd8d0f3fd876","savedPayload":{"position":{"x":15193.153499494796,"y":19511.02200631321},"targetPosition":{"x":14953.5572115888,"y":19797.518422574944},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA20","config":"{\n \"codeName\": \"ema20\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema20","id":"71d926a1-6f74-452c-a8af-2df52ccfceb2","savedPayload":{"position":{"x":15589.074598585992,"y":19810.530121561158},"targetPosition":{"x":15326.30818174641,"y":19805.091079001915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5058b626-2b62-47c3-a915-12d6d451487c","savedPayload":{"position":{"x":15326.30818174641,"y":19805.091079001915},"targetPosition":{"x":14953.5572115888,"y":19797.518422574944},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA50","config":"{\n \"codeName\": \"ema50\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema50","id":"7d744a34-29cc-46fa-89c9-a3258bbf79f6","savedPayload":{"position":{"x":15341.083786950649,"y":20300.83476538135},"targetPosition":{"x":15179.659283164738,"y":20091.186654453002},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1293683f-1686-47f2-8856-ce40dc753450","savedPayload":{"position":{"x":15179.659283164738,"y":20091.186654453002},"targetPosition":{"x":14953.5572115888,"y":19797.518422574944},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA100","config":"{\n \"codeName\": \"ema100\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema100","id":"c0465aae-99b4-488f-801b-f0c96c30a695","savedPayload":{"position":{"x":14813.347582396027,"y":20394.83208078502},"targetPosition":{"x":14862.19901759568,"y":20156.429049862934},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d2b72da7-da22-46bb-8f7b-1f2b4fdc0324","savedPayload":{"position":{"x":14862.19901759568,"y":20156.429049862934},"targetPosition":{"x":14953.5572115888,"y":19797.518422574944},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA200","config":"{\n \"codeName\": \"ema200\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema200","id":"4ef9d626-2bf5-4a0b-bb72-6528f0ece6eb","savedPayload":{"position":{"x":14377.597370404694,"y":20056.750462569937},"targetPosition":{"x":14617.042795905441,"y":19948.933519010312},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9e3b4c1a-8cff-4999-b8af-d8403ee3f614","savedPayload":{"position":{"x":14617.042795905441,"y":19948.933519010312},"targetPosition":{"x":14953.5572115888,"y":19797.518422574944},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3a6ab821-f693-4929-a0d7-ad0499d23e68","savedPayload":{"position":{"x":14040.280439072945,"y":19332.393405496066},"targetPosition":{"x":13505.139928478817,"y":19061.07756287141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nlet candle = record.current \n\nvariable.ema20 = calculateEMA(20, candle.close, variable.previousEMA20)\nvariable.previousEMA20 = variable.ema20 \n \nvariable.ema50 = calculateEMA(50, candle.close, variable.previousEMA50)\nvariable.previousEMA50 = variable.ema50 \n\nvariable.ema100 = calculateEMA(100, candle.close, variable.previousEMA100)\nvariable.previousEMA100 = variable.ema100 \n\nvariable.ema200 = calculateEMA(200, candle.close, variable.previousEMA200)\nvariable.previousEMA200 = variable.ema200 \n\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}","id":"25aad3fa-6c8f-46b0-8852-07a95544d6bd","savedPayload":{"position":{"x":13862.440527553454,"y":19483.096543040985},"targetPosition":{"x":13761.968757911685,"y":19423.610552611},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d4805ae2-446b-4e54-89c6-0b2e9df3fade","savedPayload":{"position":{"x":13761.968757911685,"y":19423.610552611},"targetPosition":{"x":13659.81694665298,"y":19364.131544943626},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.previousEMA20 = 0\nvariable.previousEMA50 = 0\nvariable.previousEMA100 = 0\nvariable.previousEMA200 = 0","id":"c5b50764-185a-43a8-b399-62dd6d81a249","savedPayload":{"position":{"x":13652.371739251344,"y":19609.428656270702},"targetPosition":{"x":13655.731989563907,"y":19480.080785042675},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6dd7dc20-5c47-4226-8abc-8551b6bd698f","savedPayload":{"position":{"x":13655.731989563907,"y":19480.080785042675},"targetPosition":{"x":13659.81694665298,"y":19364.131544943626},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4c2e867a-f31c-4356-be35-138cdc902c15","savedPayload":{"position":{"x":13659.81694665298,"y":19364.131544943626},"targetPosition":{"x":13505.139928478817,"y":19061.07756287141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d5894707-b065-429b-ba6b-78c71e6529fe","savedPayload":{"position":{"x":13533.837942939657,"y":19066.123686625393},"targetPosition":{"x":13106.547681452128,"y":18993.5176709163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"EMA Popular","id":"79bf7438-f77a-4c8d-a450-67027d5fd8bc"}}},{"type":"Product Definition","name":"Base5 EMAs","config":"{\n \"codeName\": \"Base5-EMAs\",\n \"singularVariableName\": \"base5EMA\",\n \"pluralVariableName\": \"base5EMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"85e3f0ce-5331-4c0b-900a-e73aaf53d96e","savedPayload":{"position":{"x":13840.61711696815,"y":18986.85872831462},"targetPosition":{"x":13464.180602771505,"y":19178.18585144751},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"e04edb48-09ab-4f92-beb7-14ba647de7d6","savedPayload":{"position":{"x":13880.356420093553,"y":19244.25368951045},"targetPosition":{"x":13464.180602771505,"y":19178.18585144751},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"6d1e00cd-ea21-4c5d-9f21-bbe4e18eaaa1","savedPayload":{"position":{"x":14464.569698133559,"y":19669.774562903254},"targetPosition":{"x":14557.355264202806,"y":19916.7060382736},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7804f5d6-913b-48d3-941a-10135819f0d7","savedPayload":{"position":{"x":14557.355264202806,"y":19916.7060382736},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"615487b1-0964-4bfc-800e-f8d3471dfeb0","savedPayload":{"position":{"x":14724.43420379533,"y":19628.965306615213},"targetPosition":{"x":14709.60295663911,"y":19891.61698453138},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5aaf85b9-35bd-47f1-a2a4-dcfa881bc542","savedPayload":{"position":{"x":14709.60295663911,"y":19891.61698453138},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA5","config":"{\n \"codeName\": \"ema5\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema5","id":"1abd53a1-2924-4db2-b50c-06e36aa91e47","savedPayload":{"position":{"x":14979.335396595741,"y":19696.852672186054},"targetPosition":{"x":14858.763437607855,"y":19931.9080115876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4912e0cb-1bba-4750-a063-d8d205091281","savedPayload":{"position":{"x":14858.763437607855,"y":19931.9080115876},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA10","config":"{\n \"codeName\": \"ema10\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema10","id":"00ca97c2-f4e9-4d08-af83-3fee7e5d1887","savedPayload":{"position":{"x":15183.514852980314,"y":19863.963694708604},"targetPosition":{"x":14979.489907020261,"y":20028.66125246371},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f7e888a6-a986-45fe-804d-c4cba934bd9b","savedPayload":{"position":{"x":14979.489907020261,"y":20028.66125246371},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA15","config":"{\n \"codeName\": \"ema15\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema15","id":"f259ce57-d1c2-4196-8e55-dae9f1eb78f5","savedPayload":{"position":{"x":15304.50912579303,"y":20098.652769410943},"targetPosition":{"x":15048.44144933995,"y":20167.09633926248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9720b3bd-fcb9-4997-9fe8-9d8682aa9dc9","savedPayload":{"position":{"x":15048.44144933995,"y":20167.09633926248},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA20","config":"{\n \"codeName\": \"ema20\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema20","id":"5c7d8482-a86c-4ebc-8524-31b1a73900c3","savedPayload":{"position":{"x":15317.336130905018,"y":20361.828540838575},"targetPosition":{"x":15057.667715437916,"y":20321.08748841589},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"716e98b8-640e-4653-9c50-ca0286c851c0","savedPayload":{"position":{"x":15057.667715437916,"y":20321.08748841589},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA25","config":"{\n \"codeName\": \"ema25\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema25","id":"031e3d2f-b487-4df2-9892-845d3e43916a","savedPayload":{"position":{"x":15223.60672682604,"y":20609.466666823744},"targetPosition":{"x":15000.951960714023,"y":20465.684457162955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"56be5d1d-2bd8-42dd-9861-729f4bb72ccf","savedPayload":{"position":{"x":15000.951960714023,"y":20465.684457162955},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA50","config":"{\n \"codeName\": \"ema50\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema50","id":"309f068f-74e5-4405-8267-418ea12ca20d","savedPayload":{"position":{"x":15038.319262784478,"y":20795.800855820387},"targetPosition":{"x":14893.08513076795,"y":20574.432055294095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ed5849ae-b0fe-4915-b8c3-8bdb004e5acf","savedPayload":{"position":{"x":14893.08513076795,"y":20574.432055294095},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA100","config":"{\n \"codeName\": \"ema100\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema100","id":"6b164582-e3a2-4ea0-bc0a-e362929d556f","savedPayload":{"position":{"x":14824.935637458622,"y":20906.184164244452},"targetPosition":{"x":14748.917055804532,"y":20630.649686285054},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7f690611-834a-4048-bf59-5685995167e9","savedPayload":{"position":{"x":14748.917055804532,"y":20630.649686285054},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA150","config":"{\n \"codeName\": \"ema150\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema150","id":"829731e3-421a-4b49-ac4d-69cc76cdbfab","savedPayload":{"position":{"x":14544.630080617311,"y":20884.684008722874},"targetPosition":{"x":14594.442463222966,"y":20622.44832412212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6b51dbbf-76eb-484b-9535-6043984a7ed6","savedPayload":{"position":{"x":14594.442463222966,"y":20622.44832412212},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA200","config":"{\n \"codeName\": \"ema200\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema200","id":"3786f9d4-064e-43ba-8098-d336cd64cfb4","savedPayload":{"position":{"x":14290.061192404524,"y":20750.681882571873},"targetPosition":{"x":14456.438347265694,"y":20551.57755311192},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9f96cb9c-ac78-4d23-80e7-650dcff0a56a","savedPayload":{"position":{"x":14456.438347265694,"y":20551.57755311192},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA250","config":"{\n \"codeName\": \"ema250\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema250","id":"710f1d8e-a59f-41d9-9576-e73e292d5cac","savedPayload":{"position":{"x":14137.310108538191,"y":20550.223092245964},"targetPosition":{"x":14359.642667091988,"y":20431.337024480996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9e3fc138-8765-46af-95a3-6ee316f49a72","savedPayload":{"position":{"x":14359.642667091988,"y":20431.337024480996},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA500","config":"{\n \"codeName\": \"ema500\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema500","id":"8be9f984-f4ad-471c-885d-b0291c74f04f","savedPayload":{"position":{"x":14059.182453931628,"y":20293.716305004946},"targetPosition":{"x":14320.163186415872,"y":20281.382346724848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"05a21cb3-24bc-42cf-8269-62f14e8f3ed1","savedPayload":{"position":{"x":14320.163186415872,"y":20281.382346724848},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA1000","config":"{\n \"codeName\": \"ema1000\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema1000","id":"1001e9de-822a-4a75-9526-390dc6be8fe7","savedPayload":{"position":{"x":14099.151966979249,"y":20036.136275548306},"targetPosition":{"x":14344.833096830405,"y":20128.704554169693},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cc878593-3f3d-4533-9ed1-a7c7fd0cdd99","savedPayload":{"position":{"x":14344.833096830405,"y":20128.704554169693},"targetPosition":{"x":14688.8978588411,"y":20263.339825243595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7133bdf5-a6d6-4ca5-bc27-390fe276eca6","savedPayload":{"position":{"x":13888.60434233705,"y":19602.48645757513},"targetPosition":{"x":13464.180602771505,"y":19178.18585144751},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nlet candle = record.current \n\nvariable.ema5 = calculateEMA(5, candle.close, variable.previousEMA5)\nvariable.previousEMA5 = variable.ema5\n\nvariable.ema10 = calculateEMA(10, candle.close, variable.previousEMA10)\nvariable.previousEMA10 = variable.ema10\n\nvariable.ema15 = calculateEMA(15, candle.close, variable.previousEMA15)\nvariable.previousEMA15 = variable.ema15\n\nvariable.ema20 = calculateEMA(20, candle.close, variable.previousEMA20)\nvariable.previousEMA20 = variable.ema20\n\nvariable.ema25 = calculateEMA(25, candle.close, variable.previousEMA25)\nvariable.previousEMA25 = variable.ema25\n\nvariable.ema50 = calculateEMA(50, candle.close, variable.previousEMA50)\nvariable.previousEMA50 = variable.ema50\n\nvariable.ema100 = calculateEMA(100, candle.close, variable.previousEMA100)\nvariable.previousEMA100 = variable.ema100\n\nvariable.ema150 = calculateEMA(150, candle.close, variable.previousEMA150)\nvariable.previousEMA150 = variable.ema150\n\nvariable.ema200 = calculateEMA(200, candle.close, variable.previousEMA200)\nvariable.previousEMA200 = variable.ema200\n\nvariable.ema250 = calculateEMA(250, candle.close, variable.previousEMA250)\nvariable.previousEMA250 = variable.ema250\n\nvariable.ema500 = calculateEMA(500, candle.close, variable.previousEMA500)\nvariable.previousEMA500 = variable.ema500\n\nvariable.ema1000 = calculateEMA(1000, candle.close, variable.previousEMA1000)\nvariable.previousEMA1000 = variable.ema1000\n\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}\n","id":"3ea21697-ef5d-421a-825c-db6f04a041ce","savedPayload":{"position":{"x":13785.629922971704,"y":19927.48266641283},"targetPosition":{"x":13659.814922944794,"y":19771.484112102356},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d955ad88-0ca4-443b-8d4e-fa0c322d7797","savedPayload":{"position":{"x":13659.814922944794,"y":19771.484112102356},"targetPosition":{"x":13533.72752948089,"y":19614.99907067802},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.previousEMA5 = 0\nvariable.previousEMA10 = 0\nvariable.previousEMA15 = 0\nvariable.previousEMA20 = 0\nvariable.previousEMA25 = 0\nvariable.previousEMA50 = 0\nvariable.previousEMA100 = 0\nvariable.previousEMA150 = 0\nvariable.previousEMA200 = 0\nvariable.previousEMA250 = 0\nvariable.previousEMA500 = 0\nvariable.previousEMA1000 = 0","id":"b951bfdc-9216-4494-8bcf-66099ea9eb8f","savedPayload":{"position":{"x":13390.998737062762,"y":19990.050871689582},"targetPosition":{"x":13462.584063902195,"y":19802.90906811835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2aa36b6f-bde7-433d-a7b6-e646b19e2c20","savedPayload":{"position":{"x":13462.584063902195,"y":19802.90906811835},"targetPosition":{"x":13533.72752948089,"y":19614.99907067802},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"54d9ab04-cfe7-433e-8c85-36a511b38d6d","savedPayload":{"position":{"x":13533.72752948089,"y":19614.99907067802},"targetPosition":{"x":13464.180602771505,"y":19178.18585144751},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"9a37881e-7d9a-4279-95b2-8743de82eec5","savedPayload":{"position":{"x":13489.974454264875,"y":19190.58625021909},"targetPosition":{"x":13106.547681452128,"y":18993.5176709163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition","name":"Base6 EMAs","config":"{\n \"codeName\": \"Base6-EMAs\",\n \"singularVariableName\": \"base6EMA\",\n \"pluralVariableName\": \"base6EMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"6b6840f7-3b76-474a-9d27-9515cbcd6499","savedPayload":{"position":{"x":13806.535387435883,"y":19213.21771387086},"targetPosition":{"x":13390.20380658635,"y":19278.669782760535},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"ef3d5a7d-11eb-4ead-8e24-49ac7c80b0c7","savedPayload":{"position":{"x":13765.832449042156,"y":19470.311892238125},"targetPosition":{"x":13390.20380658635,"y":19278.669782760535},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"611ac809-a75a-4550-b9a7-2f5f43cae1e8","savedPayload":{"position":{"x":14266.365924595704,"y":20045.573839425695},"targetPosition":{"x":14278.695103860236,"y":20307.304543817834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"77290003-4665-4c78-bce6-7cb50a44bb31","savedPayload":{"position":{"x":14278.695103860236,"y":20307.304543817834},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"59bd5c2f-dd37-4724-8b40-593ba56967ba","savedPayload":{"position":{"x":14510.063753043933,"y":20084.07600396851},"targetPosition":{"x":14415.270026423621,"y":20328.56329503164},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"70c54561-94ce-4d2a-a56e-cf1cd4d2a2f5","savedPayload":{"position":{"x":14415.270026423621,"y":20328.56329503164},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA6","config":"{\n \"codeName\": \"ema6\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema6","id":"330b3cad-7015-4691-98ff-e6c0aaeaa807","savedPayload":{"position":{"x":14716.93528718763,"y":20218.429254155573},"targetPosition":{"x":14530.52398829486,"y":20403.995915547028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a7e48821-628f-4393-9272-055bcc8ea5f7","savedPayload":{"position":{"x":14530.52398829486,"y":20403.995915547028},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA12","config":"{\n \"codeName\": \"ema12\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema12","id":"7679a1d7-49b9-4798-82d2-f00dbfd7db05","savedPayload":{"position":{"x":14852.135013991321,"y":20425.531709078885},"targetPosition":{"x":14605.81097281099,"y":20519.862587124986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"53cda9a0-2acf-4fa9-b52b-c860da5dbb32","savedPayload":{"position":{"x":14605.81097281099,"y":20519.862587124986},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA18","config":"{\n \"codeName\": \"ema18\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema18","id":"092a466e-c714-41b3-8053-a4c060520f3c","savedPayload":{"position":{"x":14890.654993575916,"y":20669.513318559548},"targetPosition":{"x":14628.018726862081,"y":20655.880108700738},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"446296f9-21fa-4a92-bc49-23fb81af896b","savedPayload":{"position":{"x":14628.018726862081,"y":20655.880108700738},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA24","config":"{\n \"codeName\": \"ema24\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema24","id":"f666cf13-3e37-4649-a2fc-338fabb1f7d0","savedPayload":{"position":{"x":14826.033218851842,"y":20908.473299583413},"targetPosition":{"x":14592.297129192057,"y":20789.493148396792},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"518927a0-e986-4c9e-a645-75c02c2f571b","savedPayload":{"position":{"x":14592.297129192057,"y":20789.493148396792},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA30","config":"{\n \"codeName\": \"ema30\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema30","id":"3c76eaaf-56ac-4e91-9ee5-11b32219d2ea","savedPayload":{"position":{"x":14670.6812303989,"y":21100.357397777436},"targetPosition":{"x":14504.88017263992,"y":20896.713474384906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3b056114-3148-432d-908e-d82df0355b7f","savedPayload":{"position":{"x":14504.88017263992,"y":20896.713474384906},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA60","config":"{\n \"codeName\": \"ema60\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema60","id":"ee78d4d5-f202-4d8e-ae88-eea38f2d0bc0","savedPayload":{"position":{"x":14451.623673701668,"y":21213.35508011578},"targetPosition":{"x":14382.368422747497,"y":20958.755511927502},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"83802e58-4437-4ddc-b329-9ae962866387","savedPayload":{"position":{"x":14382.368422747497,"y":20958.755511927502},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA120","config":"{\n \"codeName\": \"ema120\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema120","id":"ab81fc7a-4873-49d2-a3ef-c9c1eed99dba","savedPayload":{"position":{"x":14232.688236136068,"y":21216.20628392857},"targetPosition":{"x":14240.918600518291,"y":20964.583093282235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bec21f4d-ac0c-4b70-a565-16d065d1e89c","savedPayload":{"position":{"x":14240.918600518291,"y":20964.583093282235},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA180","config":"{\n \"codeName\": \"ema180\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema180","id":"ce0ce81c-9577-4cc6-8edd-ad99c52916aa","savedPayload":{"position":{"x":13978.932393961839,"y":21149.816547650273},"targetPosition":{"x":14116.272903376523,"y":20917.19267482156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7318a961-0663-4a33-9295-21a8ab990854","savedPayload":{"position":{"x":14116.272903376523,"y":20917.19267482156},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA240","config":"{\n \"codeName\": \"ema240\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema240","id":"f9c4fe37-e76d-4601-9933-ce1ad3e8ad3d","savedPayload":{"position":{"x":13807.951789917179,"y":20974.089647771016},"targetPosition":{"x":14018.684668110656,"y":20818.459312728657},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b2bfa489-cb63-498e-8a80-a82ebf19d0e6","savedPayload":{"position":{"x":14018.684668110656,"y":20818.459312728657},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA300","config":"{\n \"codeName\": \"ema300\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema300","id":"8b93fa9d-ea11-4654-a6ac-70411f0db75a","savedPayload":{"position":{"x":13716.562669509049,"y":20741.793643607263},"targetPosition":{"x":13975.46735986736,"y":20701.25084850316},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a6926058-2ae5-454e-b696-b9d49162e901","savedPayload":{"position":{"x":13975.46735986736,"y":20701.25084850316},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA600","config":"{\n \"codeName\": \"ema600\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema600","id":"b67f8d22-c54d-4a21-a726-a8975c10d710","savedPayload":{"position":{"x":13723.655223102882,"y":20481.712157661466},"targetPosition":{"x":13976.69553586995,"y":20552.130494134897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cd299cac-3be1-4899-8816-70baccd30168","savedPayload":{"position":{"x":13976.69553586995,"y":20552.130494134897},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA1200","config":"{\n \"codeName\": \"ema1200\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema1200","id":"f7b1d5d4-86c8-4a90-a98a-774fe1171e73","savedPayload":{"position":{"x":13836.052792531684,"y":20267.62701534143},"targetPosition":{"x":14038.337564769261,"y":20432.05854859604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"717ba1d7-3b27-4f87-8e25-c2a26f435e67","savedPayload":{"position":{"x":14038.337564769261,"y":20432.05854859604},"targetPosition":{"x":14295.124103313983,"y":20638.559420375816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"003162cf-ab76-4dea-ac72-a4dd3a0e87ac","savedPayload":{"position":{"x":13662.700073776361,"y":19813.447203092113},"targetPosition":{"x":13390.20380658635,"y":19278.669782760535},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nlet candle = record.current \n\nvariable.ema6 = calculateEMA(6, candle.close, variable.previousEMA6)\nvariable.previousEMA6 = variable.ema6\n\nvariable.ema12 = calculateEMA(12, candle.close, variable.previousEMA12)\nvariable.previousEMA12 = variable.ema12\n\nvariable.ema18 = calculateEMA(18, candle.close, variable.previousEMA18)\nvariable.previousEMA18 = variable.ema18\n\nvariable.ema24 = calculateEMA(24, candle.close, variable.previousEMA24)\nvariable.previousEMA24 = variable.ema24\n\nvariable.ema30 = calculateEMA(30, candle.close, variable.previousEMA30)\nvariable.previousEMA30 = variable.ema30\n\nvariable.ema60 = calculateEMA(60, candle.close, variable.previousEMA60)\nvariable.previousEMA60 = variable.ema60\n\nvariable.ema120 = calculateEMA(120, candle.close, variable.previousEMA120)\nvariable.previousEMA120 = variable.ema120\n\nvariable.ema180 = calculateEMA(180, candle.close, variable.previousEMA180)\nvariable.previousEMA180 = variable.ema180\n\nvariable.ema240 = calculateEMA(240, candle.close, variable.previousEMA240)\nvariable.previousEMA240 = variable.ema240\n\nvariable.ema300 = calculateEMA(300, candle.close, variable.previousEMA300)\nvariable.previousEMA300 = variable.ema300\n\nvariable.ema600 = calculateEMA(600, candle.close, variable.previousEMA600)\nvariable.previousEMA600 = variable.ema600\n\nvariable.ema1200 = calculateEMA(1200, candle.close, variable.previousEMA1200)\nvariable.previousEMA1200 = variable.ema1200\n\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}","id":"49789f74-3691-45b3-8c29-9a72500ae81c","savedPayload":{"position":{"x":13464.32046814286,"y":20091.03795285885},"targetPosition":{"x":13392.943152660966,"y":19903.527688326743},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ed1c9899-0b00-4cc5-b30d-faefdbe914d6","savedPayload":{"position":{"x":13392.943152660966,"y":19903.527688326743},"targetPosition":{"x":13321.304339231276,"y":19716.67028971601},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.previousEMA6 = 0\nvariable.previousEMA12 = 0\nvariable.previousEMA18 = 0\nvariable.previousEMA24 = 0\nvariable.previousEMA30 = 0\nvariable.previousEMA60 = 0\nvariable.previousEMA120 = 0\nvariable.previousEMA180 = 0\nvariable.previousEMA240 = 0\nvariable.previousEMA300 = 0\nvariable.previousEMA600 = 0\nvariable.previousEMA1200 = 0","id":"db307137-4eec-41a0-93ca-af5623c7ecf5","savedPayload":{"position":{"x":13069.784289997744,"y":20028.375910033064},"targetPosition":{"x":13195.721037665993,"y":19872.353523627302},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2c17eb75-3069-47ad-b303-be44390e4736","savedPayload":{"position":{"x":13195.721037665993,"y":19872.353523627302},"targetPosition":{"x":13321.304339231276,"y":19716.67028971601},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bd1f404b-64bb-4f2e-95f6-8d52f40bebad","savedPayload":{"position":{"x":13321.304339231276,"y":19716.67028971601},"targetPosition":{"x":13390.20380658635,"y":19278.669782760535},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e4267570-575b-4e59-9667-cb78aaae052c","savedPayload":{"position":{"x":13411.051643198729,"y":19298.286800830832},"targetPosition":{"x":13106.547681452128,"y":18993.5176709163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition","name":"Base7 EMAs","config":"{\n \"codeName\": \"Base7-EMAs\",\n \"singularVariableName\": \"base7EMA\",\n \"pluralVariableName\": \"base7EMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"4e36a5a5-7a03-43a9-b3e0-0c5763c29199","savedPayload":{"position":{"x":13705.002204762526,"y":19418.00815611096},"targetPosition":{"x":13288.690825033853,"y":19351.985190807543},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"15ccbcff-318d-46db-93f2-d649b57fd52a","savedPayload":{"position":{"x":13586.499232276436,"y":19650.136392837663},"targetPosition":{"x":13288.690825033853,"y":19351.985190807543},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"b91e2094-b8f7-4f7f-a956-30de55c693b7","savedPayload":{"position":{"x":13958.867122762751,"y":20254.53690607171},"targetPosition":{"x":13889.916839567215,"y":20507.476647326337},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5163d7f4-3b6c-41c3-b7f6-ec13109fcb0e","savedPayload":{"position":{"x":13889.916839567215,"y":20507.476647326337},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"ea560ee8-06c9-4348-a5b4-24992035245e","savedPayload":{"position":{"x":14193.712841184702,"y":20374.031177244986},"targetPosition":{"x":14028.177739699679,"y":20577.342747882944},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4b5dcfda-66ec-4a20-9c4c-0718b51cf761","savedPayload":{"position":{"x":14028.177739699679,"y":20577.342747882944},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA7","config":"{\n \"codeName\": \"ema7\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema7","id":"90e20354-4dd5-4e56-aaf5-cf725f02c1e6","savedPayload":{"position":{"x":14359.760653948704,"y":20578.943492711078},"targetPosition":{"x":14125.568721589598,"y":20697.640229212433},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4adf5737-3d1a-4610-9a31-89faddbe679e","savedPayload":{"position":{"x":14125.568721589598,"y":20697.640229212433},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA14","config":"{\n \"codeName\": \"ema14\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema14","id":"b158c3b7-a93f-4e13-8d80-dff1a7172416","savedPayload":{"position":{"x":14427.727526461522,"y":20833.605925729316},"targetPosition":{"x":14165.794337190373,"y":20846.982629399605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6c0f0982-caf3-4c7e-a729-54c511ffb65e","savedPayload":{"position":{"x":14165.794337190373,"y":20846.982629399605},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA21","config":"{\n \"codeName\": \"ema21\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema21","id":"3ce74000-2892-4b42-a12e-c8efc1504710","savedPayload":{"position":{"x":14391.103325168608,"y":21096.10534984249},"targetPosition":{"x":14145.928124220607,"y":21002.00024530827},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ff999b95-7623-4eee-b11c-f53dae69f69c","savedPayload":{"position":{"x":14145.928124220607,"y":21002.00024530827},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA28","config":"{\n \"codeName\": \"ema28\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema28","id":"95ccd057-5e33-4b72-a7b0-e44479f3b195","savedPayload":{"position":{"x":14242.811493434683,"y":21315.54752586486},"targetPosition":{"x":14056.896543843797,"y":21129.82628413698},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a30ef925-4ab9-45f6-98f3-6723e57fbf97","savedPayload":{"position":{"x":14056.896543843797,"y":21129.82628413698},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA35","config":"{\n \"codeName\": \"ema35\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema35","id":"83513896-dfd7-45a8-aa9a-1922dc9b5b97","savedPayload":{"position":{"x":14022.365445936355,"y":21459.63156636067},"targetPosition":{"x":13927.5949704922,"y":21213.63210761456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d2d2b734-e754-4b6c-856b-053eb5b13694","savedPayload":{"position":{"x":13927.5949704922,"y":21213.63210761456},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA70","config":"{\n \"codeName\": \"ema70\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema70","id":"23ca8b8e-400b-4638-946c-c871a632d17b","savedPayload":{"position":{"x":13761.368075718996,"y":21500.56314933893},"targetPosition":{"x":13774.257776934324,"y":21238.627795003238},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"863c717d-d171-4616-ac79-dd4a5956bfb5","savedPayload":{"position":{"x":13774.257776934324,"y":21238.627795003238},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA140","config":"{\n \"codeName\": \"ema140\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema140","id":"fb446f49-e024-4246-9783-d41ea25a8a63","savedPayload":{"position":{"x":13509.414102533452,"y":21435.704159010013},"targetPosition":{"x":13629.063513957894,"y":21200.2756792972},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ba2fbf20-a074-4d89-b1f8-2e00f141b25e","savedPayload":{"position":{"x":13629.063513957894,"y":21200.2756792972},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EM210","config":"{\n \"codeName\": \"ema210\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema210","id":"dd3ed495-e64d-4b76-ba8a-8a6fbaebc223","savedPayload":{"position":{"x":13302.552491157969,"y":21267.419597698467},"targetPosition":{"x":13505.630784314324,"y":21100.530721488747},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fbc7524a-d8ff-40c4-9691-1397bd774535","savedPayload":{"position":{"x":13505.630784314324,"y":21100.530721488747},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA280","config":"{\n \"codeName\": \"ema280\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema280","id":"45655778-7860-46a8-9ee1-12ab9d4f463b","savedPayload":{"position":{"x":13190.05417160252,"y":21048.237790751537},"targetPosition":{"x":13434.82459614847,"y":20961.919411935418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"49670f83-5516-4fed-bfc9-3ea4ac3a4865","savedPayload":{"position":{"x":13434.82459614847,"y":20961.919411935418},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA350","config":"{\n \"codeName\": \"ema350\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema350","id":"6203288d-a807-49ee-a209-4466b959be33","savedPayload":{"position":{"x":13172.82274699216,"y":20789.186162579645},"targetPosition":{"x":13427.193682434541,"y":20809.223137774396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4f06f627-f385-494a-bb6a-a06c62d0d20f","savedPayload":{"position":{"x":13427.193682434541,"y":20809.223137774396},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA700","config":"{\n \"codeName\": \"ema700\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema700","id":"1663af80-49b7-4593-ad91-6c79fc61f61c","savedPayload":{"position":{"x":13264.26125293951,"y":20521.73236008234},"targetPosition":{"x":13482.434522604291,"y":20663.794036787767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b3810873-e8ea-4466-b011-095b648f0064","savedPayload":{"position":{"x":13482.434522604291,"y":20663.794036787767},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA1400","config":"{\n \"codeName\": \"ema1400\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema1400","id":"92eee4c6-788b-4aa2-8608-5a026f9f5590","savedPayload":{"position":{"x":13447.226046951562,"y":20337.087615048018},"targetPosition":{"x":13589.082174670291,"y":20556.692070319667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"26a199f6-c167-4de7-9513-0d9c453d8108","savedPayload":{"position":{"x":13589.082174670291,"y":20556.692070319667},"targetPosition":{"x":13793.113284331432,"y":20866.305428048578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e78e6e7a-03db-4e3b-ae8e-b1c309b6ec9e","savedPayload":{"position":{"x":13382.616566497392,"y":19944.832155072345},"targetPosition":{"x":13288.690825033853,"y":19351.985190807543},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nlet candle = record.current \n\nvariable.ema7 = calculateEMA(7, candle.close, variable.previousEMA7)\nvariable.previousEMA7 = variable.ema7\n\nvariable.ema14 = calculateEMA(14, candle.close, variable.previousEMA14)\nvariable.previousEMA14 = variable.ema14\n\nvariable.ema21 = calculateEMA(21, candle.close, variable.previousEMA21)\nvariable.previousEMA21 = variable.ema21\n\nvariable.ema28 = calculateEMA(28, candle.close, variable.previousEMA28)\nvariable.previousEMA28 = variable.ema28\n\nvariable.ema35 = calculateEMA(35, candle.close, variable.previousEMA35)\nvariable.previousEMA35 = variable.ema35\n\nvariable.ema70 = calculateEMA(70, candle.close, variable.previousEMA70)\nvariable.previousEMA70 = variable.ema70\n\nvariable.ema140 = calculateEMA(140, candle.close, variable.previousEMA140)\nvariable.previousEMA140 = variable.ema140\n\nvariable.ema210 = calculateEMA(210, candle.close, variable.previousEMA210)\nvariable.previousEMA210 = variable.ema210\n\nvariable.ema280 = calculateEMA(280, candle.close, variable.previousEMA280)\nvariable.previousEMA280 = variable.ema280\n\nvariable.ema350 = calculateEMA(350, candle.close, variable.previousEMA350)\nvariable.previousEMA350 = variable.ema350\n\nvariable.ema700 = calculateEMA(700, candle.close, variable.previousEMA700)\nvariable.previousEMA700 = variable.ema700\n\nvariable.ema1400 = calculateEMA(1400, candle.close, variable.previousEMA1400)\nvariable.previousEMA1400 = variable.ema1400\n\n\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}","id":"9eb652ba-7df8-41a2-bc5f-c6a1922d8b9c","savedPayload":{"position":{"x":13107.653245271522,"y":20147.593805888726},"targetPosition":{"x":13097.687247306807,"y":19946.93531904503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"659c5fa3-33f6-4127-b4f0-dc1bb0c25691","savedPayload":{"position":{"x":13097.687247306807,"y":19946.93531904503},"targetPosition":{"x":13087.403692186102,"y":19747.06998558339},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.previousEMA7 = 0\nvariable.previousEMA14 = 0\nvariable.previousEMA21 = 0\nvariable.previousEMA28 = 0\nvariable.previousEMA35 = 0\nvariable.previousEMA70 = 0\nvariable.previousEMA140 = 0\nvariable.previousEMA210 = 0\nvariable.previousEMA280 = 0\nvariable.previousEMA350 = 0\nvariable.previousEMA700 = 0\nvariable.previousEMA1400 = 0","id":"03253e10-8b5a-4d6d-abc1-1b171138444c","savedPayload":{"position":{"x":12751.406940368615,"y":19966.088568803752},"targetPosition":{"x":12919.564195713885,"y":19856.278414438177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"07d4aaa2-43ba-42a3-9a5b-73e5866c1307","savedPayload":{"position":{"x":12919.564195713885,"y":19856.278414438177},"targetPosition":{"x":13087.403692186102,"y":19747.06998558339},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"91a31871-1901-4a45-9b00-c5aa30a37bf2","savedPayload":{"position":{"x":13087.403692186102,"y":19747.06998558339},"targetPosition":{"x":13288.690825033853,"y":19351.985190807543},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b42348a4-6a26-4d46-aa2e-cbf5fa0a4984","savedPayload":{"position":{"x":13302.083405813763,"y":19377.576603891666},"targetPosition":{"x":13106.547681452128,"y":18993.5176709163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"EMA Base 7","id":"a52a9764-3ef2-44e6-82bd-e6538058119d"}}},{"type":"Product Definition","name":"Base11 EMAs","config":"{\n \"codeName\": \"Base11-EMAs\",\n \"singularVariableName\": \"base11EMA\",\n \"pluralVariableName\": \"base11EMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"5586aa74-2ecb-4b71-83ea-d621aa400660","savedPayload":{"position":{"x":13544.90158766395,"y":19581.934298613894},"targetPosition":{"x":13169.287529371497,"y":19390.524229636758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"0198fa3f-98e3-4c57-a4a4-a7a8e27905d3","savedPayload":{"position":{"x":13360.509409915927,"y":19766.2735124146},"targetPosition":{"x":13169.287529371497,"y":19390.524229636758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"b0559af0-2d8b-401c-8619-1eb20942ec2a","savedPayload":{"position":{"x":13780.809316211415,"y":20559.51542552519},"targetPosition":{"x":13568.259536168856,"y":20713.049051947637},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"33f46215-3b1a-422a-9305-89c6ffb342f6","savedPayload":{"position":{"x":13568.259536168856,"y":20713.049051947637},"targetPosition":{"x":13266.901742622487,"y":20931.043919950596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"7bfaab7e-73a5-4086-9eb8-d4a6fdfbbbcf","savedPayload":{"position":{"x":13893.57225590032,"y":21030.648380278246},"targetPosition":{"x":13634.767479938217,"y":20989.51291809799},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6155e3b0-2648-407e-b085-4eac778ca3e8","savedPayload":{"position":{"x":13634.767479938217,"y":20989.51291809799},"targetPosition":{"x":13266.901742622487,"y":20931.043919950596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA11","config":"{\n \"codeName\": \"ema11\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema11","id":"16f9f1d2-c73c-4eb6-9240-0d4015e3252a","savedPayload":{"position":{"x":13640.49091374103,"y":21444.773295297604},"targetPosition":{"x":13485.824076473755,"y":21232.015952702597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b925a6aa-04ee-465b-aa93-fc02066b4e3c","savedPayload":{"position":{"x":13485.824076473755,"y":21232.015952702597},"targetPosition":{"x":13266.901742622487,"y":20931.043919950596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA22","config":"{\n \"codeName\": \"ema22\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema22","id":"21cca6ba-53d3-4fd0-b3c9-43a71702e4f3","savedPayload":{"position":{"x":13169.285812043361,"y":21558.55030725361},"targetPosition":{"x":13209.778097112465,"y":21298.825714693565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7f02db91-5147-438c-98c9-e024fba210a2","savedPayload":{"position":{"x":13209.778097112465,"y":21298.825714693565},"targetPosition":{"x":13266.901742622487,"y":20931.043919950596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA33","config":"{\n \"codeName\": \"ema33\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema33","id":"69184123-7d64-41a6-ad3f-8f53bf358f95","savedPayload":{"position":{"x":12764.833084964748,"y":21289.43034819752},"targetPosition":{"x":12966.69716284864,"y":21150.546957120034},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"55be1211-a38f-4ff4-8d12-fa78fa8ba2dd","savedPayload":{"position":{"x":12966.69716284864,"y":21150.546957120034},"targetPosition":{"x":13266.901742622487,"y":20931.043919950596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA55","config":"{\n \"codeName\": \"ema55\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema55","id":"5281da7d-c090-4637-9a42-dc28599f0385","savedPayload":{"position":{"x":12628.704959575012,"y":20798.64820017416},"targetPosition":{"x":12901.690604548332,"y":20867.82875135473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"710e13ba-afd9-41c2-b7e8-f0ef7be4bb53","savedPayload":{"position":{"x":12901.690604548332,"y":20867.82875135473},"targetPosition":{"x":13266.901742622487,"y":20931.043919950596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA111","config":"{\n \"codeName\": \"ema111\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema111","id":"f0dd0fa6-ace3-44ea-a701-e36808f6e348","savedPayload":{"position":{"x":12896.6772407453,"y":20418.507003197457},"targetPosition":{"x":13049.821349701559,"y":20630.397732274287},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"461f6d65-e227-4362-b62c-16b7225014f6","savedPayload":{"position":{"x":13049.821349701559,"y":20630.397732274287},"targetPosition":{"x":13266.901742622487,"y":20931.043919950596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6a451383-677d-4da8-a15d-f746cda23991","savedPayload":{"position":{"x":13075.528816665115,"y":19983.368235454465},"targetPosition":{"x":13169.287529371497,"y":19390.524229636758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nlet candle = record.current \n\nvariable.ema11 = calculateEMA(11, candle.close, variable.previousEMA11)\nvariable.previousEMA11 = variable.ema11\n\nvariable.ema22 = calculateEMA(22, candle.close, variable.previousEMA22)\nvariable.previousEMA22 = variable.ema22\n\nvariable.ema33 = calculateEMA(33, candle.close, variable.previousEMA33)\nvariable.previousEMA33 = variable.ema33\n\nvariable.ema55 = calculateEMA(55, candle.close, variable.previousEMA55)\nvariable.previousEMA55 = variable.ema55\n\nvariable.ema111 = calculateEMA(111, candle.close, variable.previousEMA111)\nvariable.previousEMA111 = variable.ema111\n\n\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}","id":"38ceaace-d9e5-482a-a15b-c7bb06767056","savedPayload":{"position":{"x":12752.398183452411,"y":20091.132556276298},"targetPosition":{"x":12804.343210025194,"y":19897.595761668974},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"db87f908-271b-44be-8756-706c3ff98c29","savedPayload":{"position":{"x":12804.343210025194,"y":19897.595761668974},"targetPosition":{"x":12855.84243523293,"y":19704.375169526204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.previousEMA11 = 0\nvariable.previousEMA22 = 0\nvariable.previousEMA33 = 0\nvariable.previousEMA55 = 0\nvariable.previousEMA111 = 0","id":"5c34d18a-ac4e-4af6-aa52-cb4c0f016e6d","savedPayload":{"position":{"x":12468.81684952253,"y":19808.334392652894},"targetPosition":{"x":12662.63742462644,"y":19756.1634662261},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f34dd488-d3ea-4bd0-b4f8-68ea81c4a635","savedPayload":{"position":{"x":12662.63742462644,"y":19756.1634662261},"targetPosition":{"x":12855.84243523293,"y":19704.375169526204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e02efb2a-bb39-4a12-89c8-37c254e9bf5f","savedPayload":{"position":{"x":12855.84243523293,"y":19704.375169526204},"targetPosition":{"x":13169.287529371497,"y":19390.524229636758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"21df4f44-96eb-453b-8652-4ce2dc03424c","savedPayload":{"position":{"x":13173.957920817675,"y":19419.375638561345},"targetPosition":{"x":13106.547681452128,"y":18993.5176709163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"EMA Base 11","id":"cef26be6-07a9-415a-8439-99d06b1e1cfb"}}},{"type":"Product Definition","name":"Base12 EMAs","config":"{\n \"codeName\": \"Base12-EMAs\",\n \"singularVariableName\": \"base12EMA\",\n \"pluralVariableName\": \"base12EMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"ea61dfed-8f93-4b4f-8575-61ca2547ea90","savedPayload":{"position":{"x":13341.672485251647,"y":19688.639229976852},"targetPosition":{"x":13043.650371138006,"y":19390.498481701397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"b251aca0-1996-4d13-99ed-6fb9796ec8d6","savedPayload":{"position":{"x":13109.328316675736,"y":19806.85722887644},"targetPosition":{"x":13043.650371138006,"y":19390.498481701397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"f1df9aec-05c4-40d0-a82c-d17a0e2f1596","savedPayload":{"position":{"x":13237.061805439107,"y":20448.85952094559},"targetPosition":{"x":13028.28338731744,"y":20606.789902959295},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2c0c9e78-796b-4845-8cbb-c153a6b7c791","savedPayload":{"position":{"x":13028.28338731744,"y":20606.789902959295},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"355a63aa-8c8c-4eca-a246-272eb464d094","savedPayload":{"position":{"x":13354.049704535208,"y":20705.35168428882},"targetPosition":{"x":13096.669314600085,"y":20757.503942267147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"256d27f8-b34e-46ca-9b5f-531823534e11","savedPayload":{"position":{"x":13096.669314600085,"y":20757.503942267147},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA12","config":"{\n \"codeName\": \"ema12\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema12","id":"121d3c83-9fb4-44a1-93ed-e9755dfcc59e","savedPayload":{"position":{"x":13347.723343913489,"y":20987.00231618583},"targetPosition":{"x":13093.205286209302,"y":20922.693181862156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b386dd09-a2a1-4669-a73b-6df619dee15d","savedPayload":{"position":{"x":13093.205286209302,"y":20922.693181862156},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA24","config":"{\n \"codeName\": \"ema24\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema24","id":"e4418d5e-74e5-440c-bd58-f8f18245ba6d","savedPayload":{"position":{"x":13219.595606725108,"y":21238.549280495245},"targetPosition":{"x":13018.151619428188,"y":21070.259666324033},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c23ef82a-9c9a-477f-8d48-14d93f06e3c6","savedPayload":{"position":{"x":13018.151619428188,"y":21070.259666324033},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA36","config":"{\n \"codeName\": \"ema36\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema36","id":"21dc0fd4-01f5-428b-9a9e-45307981af50","savedPayload":{"position":{"x":12994.856959490857,"y":21409.465779518174},"targetPosition":{"x":12886.421898714556,"y":21170.646206602516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e613c9c6-61da-4830-9289-8b400c3b41d7","savedPayload":{"position":{"x":12886.421898714556,"y":21170.646206602516},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA48","config":"{\n \"codeName\": \"ema48\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema48","id":"6afd224b-ba9c-49eb-973f-e7e3d609e82e","savedPayload":{"position":{"x":12718.731670064835,"y":21466.28797214767},"targetPosition":{"x":12724.4011435187,"y":21203.605433962308},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e49e8056-f659-4090-91e7-0e83b4a3654e","savedPayload":{"position":{"x":12724.4011435187,"y":21203.605433962308},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA60","config":"{\n \"codeName\": \"ema60\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema60","id":"2db84126-00b9-4cde-bb35-66f9fcb8bfc6","savedPayload":{"position":{"x":12445.264555660344,"y":21397.319785363696},"targetPosition":{"x":12564.036018937511,"y":21163.441012507126},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"77a0ccf0-aa97-4a11-b1db-bd74d33c28b7","savedPayload":{"position":{"x":12564.036018937511,"y":21163.441012507126},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA120","config":"{\n \"codeName\": \"ema120\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema120","id":"e3f30f2b-23c8-4bac-b19e-69ae740a4773","savedPayload":{"position":{"x":12228.388154466456,"y":21217.536156801783},"targetPosition":{"x":12437.384656738463,"y":21057.496653999977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fca691ac-2651-4619-af01-48a0fafcfd75","savedPayload":{"position":{"x":12437.384656738463,"y":21057.496653999977},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA240","config":"{\n \"codeName\": \"ema240\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema240","id":"99b8a3c3-7e86-40aa-ad44-82a0bdb1f208","savedPayload":{"position":{"x":12109.600866876453,"y":20952.559231286552},"targetPosition":{"x":12366.832742717002,"y":20898.72515971789},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6f194951-d813-4418-be45-420680399c17","savedPayload":{"position":{"x":12366.832742717002,"y":20898.72515971789},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA360","config":"{\n \"codeName\": \"ema360\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema360","id":"fd430a5b-2a43-40c5-ae9d-4c7f901b527d","savedPayload":{"position":{"x":12121.435320781095,"y":20678.10824422347},"targetPosition":{"x":12371.703182076313,"y":20743.331656379887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d9b00ca8-b18b-43da-9f3d-889fe101120c","savedPayload":{"position":{"x":12371.703182076313,"y":20743.331656379887},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA480","config":"{\n \"codeName\": \"ema480\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema480","id":"4601277a-9f86-41a4-81b1-21b3c13d1d34","savedPayload":{"position":{"x":12243.951994296416,"y":20428.049571550873},"targetPosition":{"x":12445.206784551401,"y":20596.3868873776},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2eccd071-3101-47bb-a8e6-008703cf6848","savedPayload":{"position":{"x":12445.206784551401,"y":20596.3868873776},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA600","config":"{\n \"codeName\": \"ema600\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema600","id":"5c687030-e498-4126-8ce9-0c99a427168e","savedPayload":{"position":{"x":12471.735662930701,"y":20254.382945464196},"targetPosition":{"x":12579.848959207686,"y":20493.316623985243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e715e341-88d4-477c-9d7f-b0bb85ee3022","savedPayload":{"position":{"x":12579.848959207686,"y":20493.316623985243},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA1200","config":"{\n \"codeName\": \"ema1200\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema1200","id":"7c39560e-7434-4f50-aa3d-b93e131ce066","savedPayload":{"position":{"x":12731.635665402673,"y":20196.39388573945},"targetPosition":{"x":12741.954738315797,"y":20460.723307647233},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f1939b18-3af9-4376-b8ba-6f506b215f82","savedPayload":{"position":{"x":12741.954738315797,"y":20460.723307647233},"targetPosition":{"x":12732.380170090726,"y":20831.544775571383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"512144fe-195c-47ae-b5b7-8167ba61a4bb","savedPayload":{"position":{"x":12771.275268290507,"y":19925.289476327245},"targetPosition":{"x":13043.650371138006,"y":19390.498481701397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nlet candle = record.current \n\nvariable.ema12 = calculateEMA(12, candle.close, variable.previousEMA12)\nvariable.previousEMA12 = variable.ema12\n\nvariable.ema24 = calculateEMA(24, candle.close, variable.previousEMA24)\nvariable.previousEMA24 = variable.ema24\n\nvariable.ema36 = calculateEMA(36, candle.close, variable.previousEMA36)\nvariable.previousEMA36 = variable.ema36\n\nvariable.ema48 = calculateEMA(48, candle.close, variable.previousEMA48)\nvariable.previousEMA48 = variable.ema48\n\nvariable.ema60 = calculateEMA(60, candle.close, variable.previousEMA60)\nvariable.previousEMA60 = variable.ema60\n\nvariable.ema120 = calculateEMA(120, candle.close, variable.previousEMA120)\nvariable.previousEMA120 = variable.ema120\n\nvariable.ema240 = calculateEMA(240, candle.close, variable.previousEMA240)\nvariable.previousEMA240 = variable.ema240\n\nvariable.ema360 = calculateEMA(360, candle.close, variable.previousEMA360)\nvariable.previousEMA360 = variable.ema360\n\nvariable.ema480 = calculateEMA(480, candle.close, variable.previousEMA480)\nvariable.previousEMA480 = variable.ema480\n\nvariable.ema600 = calculateEMA(600, candle.close, variable.previousEMA600)\nvariable.previousEMA600 = variable.ema600\n\nvariable.ema1200 = calculateEMA(1200, candle.close, variable.previousEMA1200)\nvariable.previousEMA1200 = variable.ema1200\n\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}","id":"c3936de6-e8b4-4459-8c31-d97bea84cbfa","savedPayload":{"position":{"x":12430.262068555554,"y":19927.707566139274},"targetPosition":{"x":12539.35516754209,"y":19759.727855848647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c4c50d01-1dff-4700-853a-986821fd55c5","savedPayload":{"position":{"x":12539.35516754209,"y":19759.727855848647},"targetPosition":{"x":12648.52487294464,"y":19591.83851827035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.previousEMA12 = 0\nvariable.previousEMA24 = 0\nvariable.previousEMA36 = 0\nvariable.previousEMA48 = 0\nvariable.previousEMA60 = 0\nvariable.previousEMA120 = 0\nvariable.previousEMA240 = 0\nvariable.previousEMA360 = 0\nvariable.previousEMA480 = 0\nvariable.previousEMA600 = 0\nvariable.previousEMA1200 = 0\n","id":"c1639309-d20d-47cb-bb44-f6d45fd498a2","savedPayload":{"position":{"x":12248.427643701385,"y":19571.774860786907},"targetPosition":{"x":12448.54261236245,"y":19581.789261811846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6a845db8-4418-4417-80ac-11114304a476","savedPayload":{"position":{"x":12448.54261236245,"y":19581.789261811846},"targetPosition":{"x":12648.52487294464,"y":19591.83851827035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1f5b9ce3-8278-4359-a57c-2c9e275a64cc","savedPayload":{"position":{"x":12648.52487294464,"y":19591.83851827035},"targetPosition":{"x":13043.650371138006,"y":19390.498481701397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"43d6f23d-d206-47e9-95d4-6bef34377014","savedPayload":{"position":{"x":13039.21270913687,"y":19419.205022835686},"targetPosition":{"x":13106.547681452128,"y":18993.5176709163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition","name":"Base30 EMAs","config":"{\n \"codeName\": \"Base30-EMAs\",\n \"singularVariableName\": \"base30EMA\",\n \"pluralVariableName\": \"base30EMAs\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"dea3491f-aae7-4419-a98f-108cf5d69b87","savedPayload":{"position":{"x":13110.399232335492,"y":19723.54070215168},"targetPosition":{"x":12919.025202542127,"y":19347.6551569106},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"6624337b-4afd-44b8-a2ea-3f1779ddda7e","savedPayload":{"position":{"x":12853.112259836527,"y":19764.035038829283},"targetPosition":{"x":12919.025202542127,"y":19347.6551569106},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"d3c4e9c3-9823-4809-997e-dc36dac93b22","savedPayload":{"position":{"x":12858.88962639918,"y":20385.140095724633},"targetPosition":{"x":12609.456745022066,"y":20462.462529890494},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cdf3538e-a8e5-44e5-9263-e5ffe18e65c2","savedPayload":{"position":{"x":12609.456745022066,"y":20462.462529890494},"targetPosition":{"x":12254.118086400284,"y":20573.20784280615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"af0bf0dd-e517-4723-b0cc-832261c78c76","savedPayload":{"position":{"x":12877.195754102891,"y":20687.651859867852},"targetPosition":{"x":12619.936018460196,"y":20640.325829623285},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"27b3ce25-c547-4003-9a1c-2214b22e4fd8","savedPayload":{"position":{"x":12619.936018460196,"y":20640.325829623285},"targetPosition":{"x":12254.118086400284,"y":20573.20784280615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA30","config":"{\n \"codeName\": \"ema30\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema30","id":"d49aaf82-1063-490d-bedb-3c63d639e097","savedPayload":{"position":{"x":12753.012489328126,"y":20964.38897050382},"targetPosition":{"x":12546.54422226249,"y":20802.46933036564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c92e3720-fc04-45ff-99e7-95abc2ddabea","savedPayload":{"position":{"x":12546.54422226249,"y":20802.46933036564},"targetPosition":{"x":12254.118086400284,"y":20573.20784280615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA60","config":"{\n \"codeName\": \"ema60\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema60","id":"47f6b7dc-d0e0-4707-9e20-4113af4916ce","savedPayload":{"position":{"x":12514.234676171209,"y":21151.825842953822},"targetPosition":{"x":12406.553921753833,"y":20912.25924470139},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d489aab4-6b93-490a-95b0-5b586a80960a","savedPayload":{"position":{"x":12406.553921753833,"y":20912.25924470139},"targetPosition":{"x":12254.118086400284,"y":20573.20784280615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA90","config":"{\n \"codeName\": \"ema90\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema90","id":"d2ac9ce8-32ab-4802-ab41-b959112a696b","savedPayload":{"position":{"x":12215.932826278326,"y":21206.240599668927},"targetPosition":{"x":12231.692575464453,"y":20944.711711465163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7b763dc2-e990-44b7-b67f-93d27e5b7507","savedPayload":{"position":{"x":12231.692575464453,"y":20944.711711465163},"targetPosition":{"x":12254.118086400284,"y":20573.20784280615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA120","config":"{\n \"codeName\": \"ema120\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema120","id":"41283546-a88c-41a6-87a6-48f178b378f5","savedPayload":{"position":{"x":11926.242736022878,"y":21115.711087806376},"targetPosition":{"x":12061.658182779187,"y":20891.640989859017},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"19b80a14-7510-4066-aa0a-43e8d92f8bec","savedPayload":{"position":{"x":12061.658182779187,"y":20891.640989859017},"targetPosition":{"x":12254.118086400284,"y":20573.20784280615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA150","config":"{\n \"codeName\": \"ema150\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema150","id":"d82aeb70-2857-4d97-8f42-6fa22acc3ec1","savedPayload":{"position":{"x":11711.923281068159,"y":20900.995429499544},"targetPosition":{"x":11935.916151208612,"y":20765.584559830506},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2dcea6aa-8e40-44d9-b540-e831f54b0e19","savedPayload":{"position":{"x":11935.916151208612,"y":20765.584559830506},"targetPosition":{"x":12254.118086400284,"y":20573.20784280615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA300","config":"{\n \"codeName\": \"ema300\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema300","id":"3bfc5b00-3b36-4b7e-b549-4cac3826de4f","savedPayload":{"position":{"x":11620.57149391141,"y":20611.524368574937},"targetPosition":{"x":11883.654329441057,"y":20595.62355318675},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7cc56b79-f74d-465e-8e4d-070be004c71b","savedPayload":{"position":{"x":11883.654329441057,"y":20595.62355318675},"targetPosition":{"x":12254.118086400284,"y":20573.20784280615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA600","config":"{\n \"codeName\": \"ema600\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema600","id":"22bc84a5-61f6-479e-a87d-b1aee1b8416d","savedPayload":{"position":{"x":11675.542849114523,"y":20313.243707218542},"targetPosition":{"x":11914.759437661252,"y":20420.69749649581},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0e28ed26-69c1-4a8e-b13f-cef5faf27fc8","savedPayload":{"position":{"x":11914.759437661252,"y":20420.69749649581},"targetPosition":{"x":12254.118086400284,"y":20573.20784280615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA900","config":"{\n \"codeName\": \"ema900\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema900","id":"bd0354df-70f8-44e7-b988-49c514433ee3","savedPayload":{"position":{"x":11863.00201108847,"y":20074.60721069833},"targetPosition":{"x":12024.510958294877,"y":20280.428540224188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1dfbb7b7-1ddc-4079-a17d-abef03fcd978","savedPayload":{"position":{"x":12024.510958294877,"y":20280.428540224188},"targetPosition":{"x":12254.118086400284,"y":20573.20784280615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA1200","config":"{\n \"codeName\": \"ema1200\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema1200","id":"fed49d03-931b-45a8-ac59-60859500e8ea","savedPayload":{"position":{"x":12139.48686173964,"y":19949.853184144507},"targetPosition":{"x":12187.050504823046,"y":20207.841856597803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2854d03b-388d-42be-bd49-0b0ed1293a30","savedPayload":{"position":{"x":12187.050504823046,"y":20207.841856597803},"targetPosition":{"x":12254.118086400284,"y":20573.20784280615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA1500","config":"{\n \"codeName\": \"ema1500\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema1500","id":"1486d92f-10f4-4e34-b603-b0a18408713c","savedPayload":{"position":{"x":12438.143318205553,"y":19966.00151154543},"targetPosition":{"x":12364.753673750538,"y":20218.647865363648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9936d329-ffe9-4c8a-929c-b6f4a3a38954","savedPayload":{"position":{"x":12364.753673750538,"y":20218.647865363648},"targetPosition":{"x":12254.118086400284,"y":20573.20784280615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3dda31b0-7d30-43c2-9b91-74c25cffed38","savedPayload":{"position":{"x":12494.83304695229,"y":19772.15452818291},"targetPosition":{"x":12919.025202542127,"y":19347.6551569106},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\nvariable.ema30 = calculateEMA(30, candle.close, variable.previousEMA30)\nvariable.previousEMA30 = variable.ema30\n\nvariable.ema60 = calculateEMA(60, candle.close, variable.previousEMA60)\nvariable.previousEMA60 = variable.ema60\n\nvariable.ema90 = calculateEMA(90, candle.close, variable.previousEMA90)\nvariable.previousEMA90 = variable.ema90\n\nvariable.ema120 = calculateEMA(120, candle.close, variable.previousEMA120)\nvariable.previousEMA120 = variable.ema120\n\nvariable.ema150 = calculateEMA(150, candle.close, variable.previousEMA150)\nvariable.previousEMA150 = variable.ema150\n\nvariable.ema300 = calculateEMA(300, candle.close, variable.previousEMA300)\nvariable.previousEMA300 = variable.ema300\n\nvariable.ema600 = calculateEMA(600, candle.close, variable.previousEMA600)\nvariable.previousEMA600 = variable.ema600\n\nvariable.ema900 = calculateEMA(900, candle.close, variable.previousEMA900)\nvariable.previousEMA900 = variable.ema900\n\nvariable.ema1200 = calculateEMA(1200, candle.close, variable.previousEMA1200)\nvariable.previousEMA1200 = variable.ema1200\n\nvariable.ema1500 = calculateEMA(1500, candle.close, variable.previousEMA1500)\nvariable.previousEMA1500 = variable.ema1500\n\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}","id":"df900089-7554-4b01-88d1-801706c194a5","savedPayload":{"position":{"x":12169.759795908278,"y":19669.258598254088},"targetPosition":{"x":12325.417841498778,"y":19543.26241672143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ff38e18a-c36c-4c4a-8d5b-b7230451c098","savedPayload":{"position":{"x":12325.417841498778,"y":19543.26241672143},"targetPosition":{"x":12481.206551514848,"y":19417.050128138868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\nvariable.previousEMA30 = 0\nvariable.previousEMA60 = 0\nvariable.previousEMA90 = 0\nvariable.previousEMA120 = 0\nvariable.previousEMA150 = 0\nvariable.previousEMA300 = 0\nvariable.previousEMA600 = 0\nvariable.previousEMA900 = 0\nvariable.previousEMA1200 = 0\nvariable.previousEMA1500 = 0\n","id":"14cfa602-002c-439e-b658-24cc8d2d1c14","savedPayload":{"position":{"x":12120.487455787414,"y":19296.379750681168},"targetPosition":{"x":12312.125986530373,"y":19367.622390804372},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2489fa2c-03cb-4007-b426-88158b8ab442","savedPayload":{"position":{"x":12312.125986530373,"y":19367.622390804372},"targetPosition":{"x":12481.206551514848,"y":19417.050128138868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ff57a6a1-1133-4cce-abab-d958d5936360","savedPayload":{"position":{"x":12481.206551514848,"y":19417.050128138868},"targetPosition":{"x":12919.025202542127,"y":19347.6551569106},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4394346c-7c25-478f-9be7-04f071dc673c","savedPayload":{"position":{"x":12910.93583766776,"y":19377.310265074007},"targetPosition":{"x":13106.547681452128,"y":18993.5176709163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"274a20f7-97c3-452d-9ef7-aa35f482f5e3","savedPayload":{"position":{"x":13153.787003308258,"y":19040.383852418185},"targetPosition":{"x":12824.153406676238,"y":18710.73255185816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"MACD","config":"{\n\"codeName\": \"MACD\",\n\"repo\": \"MACD-Indicator-Bot\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Produces the MACD indicator.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\",\n \"startDate\": {\n },\n \"endDate\": {\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market MACD 122609","id":"b1bf9ad6-e21f-43a9-b7a5-7d5dd0485b2e","savedPayload":{"position":{"x":13508.805779951199,"y":18860.720910705117},"targetPosition":{"x":13506.727109011174,"y":19062.231882055763},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"01d43ed0-2a80-4eca-bee6-db2fe40470fc"}}},{"type":"Output Dataset","name":"Multi-Period-Market MACD 031016","id":"a8aa057b-aa19-45cb-bca0-7c3b57a350f7","savedPayload":{"position":{"x":13629.307938632588,"y":18901.229457776975},"targetPosition":{"x":13506.727109011174,"y":19062.231882055763},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"19b1d791-d2ea-4f25-a6e1-fe0a64450745"}}},{"type":"Output Dataset","name":"Multi-Period-Market MACD 081709","id":"150637f5-1917-439e-916f-71e86edccd49","savedPayload":{"position":{"x":13700.648166794588,"y":19001.954624804377},"targetPosition":{"x":13506.727109011174,"y":19062.231882055763},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"c390cbd3-0ba0-4507-8614-42c88f4ce7e6"}}},{"type":"Output Dataset","name":"Multi-Period-Market MACD 245209","id":"6854acc9-b22d-46e6-8967-e3843ca6db76","savedPayload":{"position":{"x":13676.179373838124,"y":19137.42572290051},"targetPosition":{"x":13506.727109011174,"y":19062.231882055763},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"89254c6c-9be2-4037-b063-467edc660d10"}}}],"outputDatasetFolders":[],"id":"af39ab1b-b1c0-4869-9093-47ad8ff63494","savedPayload":{"position":{"x":13506.727109011174,"y":19062.231882055763},"targetPosition":{"x":13183.860429136093,"y":19283.74139951685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"MACD Multi-Period-Market","config":"{\"mainUtility\": \"Self Reference\"}","id":"7e17f51a-deed-4976-a53b-d34c2e45f92f","savedPayload":{"position":{"x":13802.439636400804,"y":19100.0142171896},"targetPosition":{"x":13648.60796542571,"y":19254.71145649831},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"101cc7d6-d35b-4907-b530-f28d5e02ff0a"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"473dbe5e-6332-4005-8457-c77c3f5c65d0","savedPayload":{"position":{"x":13850.147044964318,"y":19239.840733934132},"targetPosition":{"x":13648.60796542571,"y":19254.71145649831},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"fa10270c-f94c-479d-9094-f974018e2029","savedPayload":{"position":{"x":13801.812711565946,"y":19385.616976782283},"targetPosition":{"x":13648.60796542571,"y":19254.71145649831},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"7a34fbb2-19de-4b82-88f2-c016f6959f74","savedPayload":{"position":{"x":13648.60796542571,"y":19254.71145649831},"targetPosition":{"x":13183.860429136093,"y":19283.74139951685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"101cc7d6-d35b-4907-b530-f28d5e02ff0a","savedPayload":{"position":{"x":13569.487850815993,"y":19470.36022050578},"targetPosition":{"x":13183.860429136093,"y":19283.74139951685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"1bc17bd6-0c20-4dfe-87dd-68db36113733","savedPayload":{"position":{"x":13426.055016982127,"y":19638.938100067564},"targetPosition":{"x":13183.860429136093,"y":19283.74139951685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f2eca95a-37ae-448b-8ff9-c6dc4b133245","savedPayload":{"position":{"x":13216.696023916918,"y":19711.98877364456},"targetPosition":{"x":13183.860429136093,"y":19283.74139951685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"44019efe-950a-4eec-a546-cd2ee26818b9","savedPayload":{"position":{"x":13196.907372784139,"y":19289.208436592577},"targetPosition":{"x":12823.965784495549,"y":19110.505878450538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Produces the MACD indicator.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\",\n \"startDate\": {\n \"takeItFromStatusDependency\": 0\n },\n \"endDate\": {\n \"takeItFromStatusDependency\": 1\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily MACD 122609","id":"c79ae046-983f-4acf-9c73-ab7e5d24fd85","savedPayload":{"position":{"x":13549.268702732636,"y":19184.334810055218},"targetPosition":{"x":13460.601210974186,"y":19364.527878265482},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"dd5d3067-ff7b-4353-ba4f-c030bd3da796"}}},{"type":"Output Dataset","name":"Multi-Period-Daily MACD 081709","id":"daa8862c-2eda-4846-97d5-8684673baf3f","savedPayload":{"position":{"x":13641.8688690355,"y":19272.359859475935},"targetPosition":{"x":13460.601210974186,"y":19364.527878265482},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"29e18539-f188-4d29-9531-25cd3ee8f282"}}},{"type":"Output Dataset","name":"Multi-Period-Daily MACD 245209","id":"59cb9a88-ccd4-4306-8822-bf9d0e526c02","savedPayload":{"position":{"x":13659.723175424122,"y":19379.010234897025},"targetPosition":{"x":13460.601210974186,"y":19364.527878265482},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"8a9dde13-e4b8-40f3-80bc-ea51050b2f08"}}},{"type":"Output Dataset","name":"Multi-Period-Daily MACD 031016","id":"b09b8313-baaf-45f4-a0fb-b33614d58699","savedPayload":{"position":{"x":13573.394657761217,"y":19508.27549057181},"targetPosition":{"x":13460.601210974186,"y":19364.527878265482},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"ec2611a6-699b-45a5-beec-679dd4b7734a"}}}],"outputDatasetFolders":[],"id":"a95e4b61-4e49-4b99-bfb8-8bb917afe8df","savedPayload":{"position":{"x":13460.601210974186,"y":19364.527878265482},"targetPosition":{"x":13073.1043447539,"y":19423.65528978744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"MACD Multi-Period-Daily","config":"{\"mainUtility\": \"Self Reference\"}","id":"e02fb6a2-c775-46de-bce6-a40f7d40cd5c","savedPayload":{"position":{"x":13705.144361738387,"y":19494.956783472426},"targetPosition":{"x":13505.101048300787,"y":19597.542023638765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a9d544cb-9643-4f7e-9220-d3ec7397bcdf"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"650627ec-3cab-4024-a17d-a43174f869e9","savedPayload":{"position":{"x":13711.182416816095,"y":19616.99361500149},"targetPosition":{"x":13505.101048300787,"y":19597.542023638765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\"mainUtility\": \"Market Starting Point\"}","id":"62a1b4d7-e2fd-44bf-9e37-3108a7b5b956","savedPayload":{"position":{"x":13663.432952129488,"y":19732.625472066487},"targetPosition":{"x":13505.101048300787,"y":19597.542023638765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"38aa26d5-f3b2-43e6-8533-cd51d7128221","savedPayload":{"position":{"x":13548.4473064246,"y":19797.759748255947},"targetPosition":{"x":13505.101048300787,"y":19597.542023638765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"e8291604-ea73-4217-b00c-51f65bdec1d6","savedPayload":{"position":{"x":13505.101048300787,"y":19597.542023638765},"targetPosition":{"x":13073.1043447539,"y":19423.65528978744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"a9d544cb-9643-4f7e-9220-d3ec7397bcdf","savedPayload":{"position":{"x":13339.410857598774,"y":19759.13162496537},"targetPosition":{"x":13073.1043447539,"y":19423.65528978744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"35b430c4-60bd-41ff-8a3a-7907146b0238","savedPayload":{"position":{"x":13136.07331888974,"y":19847.923804134552},"targetPosition":{"x":13073.1043447539,"y":19423.65528978744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"c6191bb8-66bf-4d67-9d1b-9364e7e6e84e","savedPayload":{"position":{"x":12916.054800407006,"y":19822.438477647105},"targetPosition":{"x":13073.1043447539,"y":19423.65528978744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8e5db945-8507-4489-9288-21cfa1e9301c","savedPayload":{"position":{"x":13081.16464754457,"y":19434.092017119117},"targetPosition":{"x":12823.965784495549,"y":19110.505878450538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"MACD 122609","config":"{\n \"codeName\": \"MACD-122609\",\n \"singularVariableName\": \"macd122609\",\n \"pluralVariableName\": \"macd122609s\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"01d43ed0-2a80-4eca-bee6-db2fe40470fc","savedPayload":{"position":{"x":13175.45541860896,"y":19614.024829919763},"targetPosition":{"x":12911.478560496982,"y":19500.1645183867},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"dd5d3067-ff7b-4353-ba4f-c030bd3da796","savedPayload":{"position":{"x":13058.860300296958,"y":19748.21409146986},"targetPosition":{"x":12911.478560496982,"y":19500.1645183867},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"c30a9207-3220-4aa4-b96e-64a82200e356","savedPayload":{"position":{"x":13373.754591781571,"y":20967.56602619811},"targetPosition":{"x":13152.887978684243,"y":21151.44119207834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"16c55335-8817-4121-a068-1c2d184fd814","savedPayload":{"position":{"x":13152.887978684243,"y":21151.44119207834},"targetPosition":{"x":12891.41866099047,"y":21369.551232197922},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"0f82ce78-91ac-4b61-b514-bb1a67c2ef0e","savedPayload":{"position":{"x":13517.347384846982,"y":21425.9238864361},"targetPosition":{"x":13230.08448484813,"y":21400.0535769181},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dedc2ef0-61e4-45bd-921d-187c9a6f3ae1","savedPayload":{"position":{"x":13230.08448484813,"y":21400.0535769181},"targetPosition":{"x":12891.41866099047,"y":21369.551232197922},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Line","config":"{\n \"codeName\": \"line\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.line","id":"42754005-58a0-4a8b-b839-938d11aeb0ab","savedPayload":{"position":{"x":13293.630512578167,"y":21851.549199961224},"targetPosition":{"x":13109.424237483776,"y":21630.812069271688},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5fe10f78-a397-4fb1-bfeb-a506d44d60ef","savedPayload":{"position":{"x":13109.424237483776,"y":21630.812069271688},"targetPosition":{"x":12891.41866099047,"y":21369.551232197922},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Signal","config":"{\n \"codeName\": \"signal\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.signal","id":"588045df-e0fb-4c07-adf3-1acd832088af","savedPayload":{"position":{"x":12835.431044629642,"y":21995.11659004121},"targetPosition":{"x":12861.126945206184,"y":21707.87663876537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2926733e-3962-4e7b-a492-7fcb437f536e","savedPayload":{"position":{"x":12861.126945206184,"y":21707.87663876537},"targetPosition":{"x":12891.41866099047,"y":21369.551232197922},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA12","config":"{\n \"codeName\": \"ema12\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema12","id":"d9f6340c-15cd-499b-ba74-007b4c569b22","savedPayload":{"position":{"x":12405.745358992279,"y":21775.204928884617},"targetPosition":{"x":12626.641888970697,"y":21590.715748798997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"29fb3e14-c1fd-4fa6-af1a-62b1c61ff1fc","savedPayload":{"position":{"x":12626.641888970697,"y":21590.715748798997},"targetPosition":{"x":12891.41866099047,"y":21369.551232197922},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA26","config":"{\n \"codeName\": \"ema26\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema26","id":"748ed791-c88b-4776-b2cb-742758821641","savedPayload":{"position":{"x":12266.012295751398,"y":21313.932509827748},"targetPosition":{"x":12552.731300768524,"y":21339.40645604549},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d1b7a8ce-c89b-4e0f-ac04-0f45d575524d","savedPayload":{"position":{"x":12552.731300768524,"y":21339.40645604549},"targetPosition":{"x":12891.41866099047,"y":21369.551232197922},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Histogram","config":"{\n \"codeName\": \"histogram\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.histogram","id":"9652e52e-55c0-47ee-a90c-a1a700f6b989","savedPayload":{"position":{"x":12488.412106686223,"y":20887.87725372453},"targetPosition":{"x":12673.398246693707,"y":21108.5903033724},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6157c979-57a2-473c-b19f-f79bb2f12c09","savedPayload":{"position":{"x":12673.398246693707,"y":21108.5903033724},"targetPosition":{"x":12891.41866099047,"y":21369.551232197922},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7985ad16-8c8a-460f-9445-711df5e062a7","savedPayload":{"position":{"x":12858.000747746364,"y":20098.080581532173},"targetPosition":{"x":12911.478560496982,"y":19500.1645183867},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\n/* EMA12 and EMA26 Calculation */\n\nlet candle = record.current\n\nvariable.ema12 = calculateEMA(12, candle.close, variable.previousEMA12)\nvariable.previousEMA12 = variable.ema12\n\nvariable.ema26 = calculateEMA(26, candle.close, variable.previousEMA26)\nvariable.previousEMA26 = variable.ema26\n\n\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}\n\n\n/* MACD Line Calculation */\n\nmacdLine = variable.ema12 - variable.ema26\n\nvariable.line = macdLine.toFixed(2)\n\n/* Signal Line Calculation (EMA9 of MACD Line) */\n\nmacdSignal = calculateSignalEMA(9, variable.line, variable.previousSignal)\nvariable.signal = macdSignal.toFixed(2)\nvariable.previousSignal = variable.signal \n \nfunction calculateSignalEMA(periods, currentSignal, previousEMA) {\n let k = 2 / (periods + 1)\n return currentSignal * k + variable.previousSignal * (1-k)\n}\n\n/* Histogram Calculation */\n\nhistogram = variable.line - variable.signal\nvariable.histogram = histogram.toFixed(2)","id":"e1e871f6-1e87-423f-8214-ece80c4295eb","savedPayload":{"position":{"x":12542.490085775393,"y":20227.082779070697},"targetPosition":{"x":12581.030279992388,"y":20030.96870518072},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c3390f8c-4865-42b1-aa00-eaa49d293121","savedPayload":{"position":{"x":12581.030279992388,"y":20030.96870518072},"targetPosition":{"x":12619.852555436097,"y":19834.14991545957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\n/* SMA Calculation */\n\n/* \nAlthough we don't really need to set an array to access a number of candles,\nwe will do so in order to reuse the code built for the SMA indicator, and also\nso that the same code may be used for other MACD products that may require\naccessing more candles than are available in the span of two days.\n*/\n\nvariable.last100 = []\n//console.log(timeFrameLabel + \" - Initialization of SMA - *************\")\n\n/* EMA Calculation */\n\nvariable.previousEMA12 = 0\nvariable.previousEMA26 = 0\n\n/* MACD Line calculation */\n\nvariable.previousSignal = 0","id":"a9600d4d-ddc7-4639-a8bd-d5f6840a1f04","savedPayload":{"position":{"x":12240.917205726264,"y":19963.863151118723},"targetPosition":{"x":12430.125434628255,"y":19899.393246443182},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f8ff5320-c74f-4f6e-8b15-f7284242f24e","savedPayload":{"position":{"x":12430.125434628255,"y":19899.393246443182},"targetPosition":{"x":12619.852555436097,"y":19834.14991545957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c69aae16-d38f-4d9a-8174-4e664a22e579","savedPayload":{"position":{"x":12619.852555436097,"y":19834.14991545957},"targetPosition":{"x":12911.478560496982,"y":19500.1645183867},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6c0c9bf0-90af-4497-b4fb-49b5872b1119","savedPayload":{"position":{"x":12919.01360537118,"y":19530.755093418556},"targetPosition":{"x":12823.965784495549,"y":19110.505878450538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"MACD 122609","id":"fb08cb11-7983-4106-8b03-edf70baad4a0"}}},{"type":"Product Definition","name":"MACD 031016","config":"{\n \"codeName\": \"MACD-031016\",\n \"singularVariableName\": \"macd031016\",\n \"pluralVariableName\": \"macd031016s\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/Sparta/MACD/Output/MACD-031016/Multi-Period-Market/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"19b1d791-d2ea-4f25-a6e1-fe0a64450745","savedPayload":{"position":{"x":12924.201519047647,"y":19715.88879002571},"targetPosition":{"x":12734.977851446276,"y":19499.37720308457},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/Sparta/MACD/Output/MACD-031016/Multi-Period-Daily/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/Sparta/MACD/Output/MACD-031016/Multi-Period-Daily\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"ec2611a6-699b-45a5-beec-679dd4b7734a","savedPayload":{"position":{"x":12760.829423792844,"y":19786.368014300122},"targetPosition":{"x":12734.977851446276,"y":19499.37720308457},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"7e2e4448-6bc6-4c1c-9a7f-54185fea3831","savedPayload":{"position":{"x":12720.650237704247,"y":19950.348706264496},"targetPosition":{"x":12575.018402927717,"y":19969.700944799566},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"399e67a5-1b3c-4f13-b1a8-c8333b013471","savedPayload":{"position":{"x":12575.018402927717,"y":19969.700944799566},"targetPosition":{"x":12427.630438990847,"y":20014.2602887777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"0e12c2f0-25f8-48c6-9920-4291c0154f92","savedPayload":{"position":{"x":12694.748620669207,"y":20172.664030032094},"targetPosition":{"x":12565.043769886146,"y":20094.590457484323},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1588b3ba-04e6-498f-baeb-857c55bf0c2f","savedPayload":{"position":{"x":12565.043769886146,"y":20094.590457484323},"targetPosition":{"x":12427.630438990847,"y":20014.2602887777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Line","config":"{\n \"codeName\": \"line\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.line","id":"5d5b5bb6-fcd8-4834-9da9-858c8fc756d6","savedPayload":{"position":{"x":12503.372933323628,"y":20317.007976468798},"targetPosition":{"x":12466.638182094124,"y":20169.882206269493},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a1c75f48-5568-46da-a828-6d26a69b5021","savedPayload":{"position":{"x":12466.638182094124,"y":20169.882206269493},"targetPosition":{"x":12427.630438990847,"y":20014.2602887777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Signal","config":"{\n \"codeName\": \"signal\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.signal","id":"a42bb9fd-fb33-4c25-b3d3-7ce7c8839e08","savedPayload":{"position":{"x":12267.189008709309,"y":20282.127821361773},"targetPosition":{"x":12344.827207356948,"y":20151.865527734935},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7d0b5eee-4b62-4e35-a421-e3825b0cdb2c","savedPayload":{"position":{"x":12344.827207356948,"y":20151.865527734935},"targetPosition":{"x":12427.630438990847,"y":20014.2602887777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA3","config":"{\n \"codeName\": \"ema3\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema3","id":"c725639d-6fa1-480f-b962-90be561f8464","savedPayload":{"position":{"x":12125.158968505919,"y":20090.656607221772},"targetPosition":{"x":12271.904935798757,"y":20053.124346991335},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4406003b-bf04-4d4e-b9e5-fb444be155ee","savedPayload":{"position":{"x":12271.904935798757,"y":20053.124346991335},"targetPosition":{"x":12427.630438990847,"y":20014.2602887777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA10","config":"{\n \"codeName\": \"ema10\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema10","id":"fbfc968a-1b7e-48f6-935b-b40fe63bdc85","savedPayload":{"position":{"x":12169.209892029332,"y":19860.32277789225},"targetPosition":{"x":12290.356327640764,"y":19932.147469485095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d5cc4f53-cc80-457a-842f-a2259450f02f","savedPayload":{"position":{"x":12290.356327640764,"y":19932.147469485095},"targetPosition":{"x":12427.630438990847,"y":20014.2602887777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Histogram","config":"{\n \"codeName\": \"histogram\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.histogram","id":"9724655b-b624-425d-b21c-87c69ede1d0a","savedPayload":{"position":{"x":12355.827098261881,"y":19752.68324187417},"targetPosition":{"x":12401.386230057255,"y":19861.92286911359},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d0f070bb-08a6-4c05-8e49-49f7b6a3aa15","savedPayload":{"position":{"x":12401.386230057255,"y":19861.92286911359},"targetPosition":{"x":12427.630438990847,"y":20014.2602887777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b5df9321-87e6-4c0b-892b-0af0e9b47d8d","savedPayload":{"position":{"x":12427.630438990847,"y":20014.2602887777},"targetPosition":{"x":12734.977851446276,"y":19499.37720308457},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\n/* EMA3 and EMA10 Calculation */\n\nlet candle = record.current\n\nvariable.ema3 = calculateEMA(3, candle.close, variable.previousEMA3)\nvariable.previousEMA3 = variable.ema3\n\nvariable.ema10 = calculateEMA(10, candle.close, variable.previousEMA10)\nvariable.previousEMA10 = variable.ema10\n\n\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}\n\n/* MACD Line Calculation */\n\nmacdLine = variable.ema3 - variable.ema10\n\nvariable.line = macdLine.toFixed(2)\n\n/* Signal Line Calculation (EMA16 of MACD Line) */\n\nmacdSignal = calculateSignalEMA(16, variable.line, variable.previousSignal)\nvariable.signal = macdSignal.toFixed(2)\nvariable.previousSignal = variable.signal \n \nfunction calculateSignalEMA(periods, currentSignal, previousEMA) {\n let k = 2 / (periods + 1)\n return currentSignal * k + variable.previousSignal * (1-k)\n}\n\n/* Histogram Calculation */\n\nhistogram = variable.line - variable.signal\nvariable.histogram = histogram.toFixed(2)","id":"6e3e0c8a-7600-4cf4-aa00-a29c8e94b42a","savedPayload":{"position":{"x":12066.606091836344,"y":19938.272706134132},"targetPosition":{"x":12207.610088540376,"y":19763.298349202436},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ba2052e5-b0b2-4cae-b4a8-3212eb5cbe62","savedPayload":{"position":{"x":12207.610088540376,"y":19763.298349202436},"targetPosition":{"x":12312.046730802902,"y":19633.733684018604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\n/* SMA Calculation */\n\n/* \nAlthough we don't really need to set an array to access a number of candles,\nwe will do so in order to reuse the code built for the SMA indicator, and also\nso that the same code may be used for other MACD products that may require\naccessing more candles than are available in the span of two days.\n*/\n\nvariable.last100 = []\n//console.log(timeFrameLabel + \" - Initialization of SMA - *************\")\n\n/* EMA Calculation */\n\nvariable.previousEMA3 = 0\nvariable.previousEMA10 = 0\n\n/* MACD Line calculation */\n\nvariable.previousSignal = 0","id":"e009ff8c-ac89-4cff-b3c4-27777ff2173c","savedPayload":{"position":{"x":11914.077330967848,"y":19585.40171927106},"targetPosition":{"x":12113.227831390801,"y":19609.86112835811},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fba3e3c4-5cf5-4925-9e02-36981e662f0d","savedPayload":{"position":{"x":12113.227831390801,"y":19609.86112835811},"targetPosition":{"x":12312.046730802902,"y":19633.733684018604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6659182a-7112-4c25-8fac-69f8745f9d2f","savedPayload":{"position":{"x":12312.046730802902,"y":19633.733684018604},"targetPosition":{"x":12734.977851446276,"y":19499.37720308457},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d1482dc0-e9f1-47ba-b75e-961fa914a53a","savedPayload":{"position":{"x":12727.940323667437,"y":19530.779143372885},"targetPosition":{"x":12823.965784495549,"y":19110.505878450538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"MACD 031016","id":"03816d0f-361f-4c6c-8f85-0bf2dfff1c21"}}},{"type":"Product Definition","name":"MACD 081709","config":"{\n \"codeName\": \"MACD-081709\",\n \"singularVariableName\": \"macd081709\",\n \"pluralVariableName\": \"macd081709s\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/Sparta/MACD/Output/MACD-081709/Multi-Period-Market/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"c390cbd3-0ba0-4507-8614-42c88f4ce7e6","savedPayload":{"position":{"x":12650.998643504317,"y":19700.546617582622},"targetPosition":{"x":12574.694360890162,"y":19422.494905775293},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/Sparta/MACD/Output/MACD-081709/Multi-Period-Daily/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/Sparta/MACD/Output/MACD-081709/Multi-Period-Daily\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"29e18539-f188-4d29-9531-25cd3ee8f282","savedPayload":{"position":{"x":12473.126086480112,"y":19692.288853864953},"targetPosition":{"x":12574.694360890162,"y":19422.494905775293},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"94ec28d4-c1bc-4c6d-8887-75877f9a2343","savedPayload":{"position":{"x":12042.255325966433,"y":20843.846498306877},"targetPosition":{"x":11760.34622062418,"y":20785.745075649575},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5135ffe3-47fa-4642-8c46-0994438d7e7a","savedPayload":{"position":{"x":11760.34622062418,"y":20785.745075649575},"targetPosition":{"x":11387.704796456675,"y":20709.378755145262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"d3388f28-900d-452f-b83c-936c50b4344e","savedPayload":{"position":{"x":11755.245102496641,"y":21267.079058743413},"targetPosition":{"x":11597.029127434324,"y":21026.95154977728},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8056d769-ea76-4ec0-88ff-952921e48d2c","savedPayload":{"position":{"x":11597.029127434324,"y":21026.95154977728},"targetPosition":{"x":11387.704796456675,"y":20709.378755145262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Line","config":"{\n \"codeName\": \"line\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.line","id":"3864df8c-ee73-4f0e-be03-718954a4dbfc","savedPayload":{"position":{"x":11253.776798815155,"y":21363.84238170059},"targetPosition":{"x":11311.554315066829,"y":21081.392051175742},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a69347ff-6f46-464a-834a-4d441b8ff291","savedPayload":{"position":{"x":11311.554315066829,"y":21081.392051175742},"targetPosition":{"x":11387.704796456675,"y":20709.378755145262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Signal","config":"{\n \"codeName\": \"signal\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.signal","id":"9db26074-5aaf-4f3e-83aa-bb1064981c64","savedPayload":{"position":{"x":10830.519750572357,"y":21077.078720928843},"targetPosition":{"x":11070.649751710023,"y":20918.629773864297},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cf022fb7-6c7e-432d-ae6a-fe0f4ed28116","savedPayload":{"position":{"x":11070.649751710023,"y":20918.629773864297},"targetPosition":{"x":11387.704796456675,"y":20709.378755145262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA8","config":"{\n \"codeName\": \"ema8\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema8","id":"93f62cc4-1f47-4b75-8a7c-c8dbd75b0c9f","savedPayload":{"position":{"x":10733.424845006737,"y":20575.944203448744},"targetPosition":{"x":11015.63819093433,"y":20633.472335904768},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"80e1f38f-36c5-440e-a12b-f9154efede9f","savedPayload":{"position":{"x":11015.63819093433,"y":20633.472335904768},"targetPosition":{"x":11387.704796456675,"y":20709.378755145262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA17","config":"{\n \"codeName\": \"ema17\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema17","id":"73b43260-1688-460b-862c-b8fb7406cc10","savedPayload":{"position":{"x":11019.291419700568,"y":20152.140174097585},"targetPosition":{"x":11178.153696930078,"y":20392.38778742557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a2552af4-df0a-4fcf-85ae-1e35dbcb2608","savedPayload":{"position":{"x":11178.153696930078,"y":20392.38778742557},"targetPosition":{"x":11387.704796456675,"y":20709.378755145262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Histogram","config":"{\n \"codeName\": \"histogram\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.histogram","id":"94cb6751-f4a9-4bad-a8a9-d53d3375a77c","savedPayload":{"position":{"x":11520.518592870494,"y":20054.906642723625},"targetPosition":{"x":11463.63654076238,"y":20336.60940549324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"52e3a47c-f282-4edc-83cb-8bce988e054b","savedPayload":{"position":{"x":11463.63654076238,"y":20336.60940549324},"targetPosition":{"x":11387.704796456675,"y":20709.378755145262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f5a29a3d-06eb-4298-80d0-3d6e22957829","savedPayload":{"position":{"x":12073.939852114805,"y":19753.135007056},"targetPosition":{"x":12574.694360890162,"y":19422.494905775293},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\n/* EMA8 and EMA26 Calculation */\n\nlet candle = record.current\n\nvariable.ema8 = calculateEMA(8, candle.close, variable.previousEMA8)\nvariable.previousEMA8 = variable.ema8\n\nvariable.ema17 = calculateEMA(17, candle.close, variable.previousEMA17)\nvariable.previousEMA17 = variable.ema17\n\n\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}\n\n/* MACD Line Calculation */\n\nmacdLine = variable.ema8 - variable.ema17\n\nvariable.line = macdLine.toFixed(2)\n\n/* Signal Line Calculation (EMA9 of MACD Line) */\n\nmacdSignal = calculateSignalEMA(9, variable.line, variable.previousSignal)\nvariable.signal = macdSignal.toFixed(2)\nvariable.previousSignal = variable.signal \n \nfunction calculateSignalEMA(periods, currentSignal, previousEMA) {\n let k = 2 / (periods + 1)\n return currentSignal * k + variable.previousSignal * (1-k)\n}\n\n/* Histogram Calculation */\n\nhistogram = variable.line - variable.signal\nvariable.histogram = histogram.toFixed(2)","id":"0290fa4a-851b-4e21-b35e-61e106fc8f81","savedPayload":{"position":{"x":11777.091809024987,"y":19587.477888463287},"targetPosition":{"x":11953.661266167572,"y":19495.16659670009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d2a30807-83b5-4c99-8f27-55783b4487ce","savedPayload":{"position":{"x":11953.661266167572,"y":19495.16659670009},"targetPosition":{"x":12131.691024592214,"y":19403.05951271726},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\n/* SMA Calculation */\n\n/* \nAlthough we don't really need to set an array to access a number of candles,\nwe will do so in order to reuse the code built for the SMA indicator, and also\nso that the same code may be used for other MACD products that may require\naccessing more candles than are available in the span of two days.\n*/\n\nvariable.last100 = []\n//console.log(timeFrameLabel + \" - Initialization of SMA - *************\")\n\n/* EMA Calculation */\n\nvariable.previousEMA8 = 0\nvariable.previousEMA17 = 0\n\n/* MACD Line calculation */\n\nvariable.previousSignal = 0","id":"b8dca759-eb3d-4b8b-8a20-99679727f272","savedPayload":{"position":{"x":11458.229420458807,"y":18972.91659047591},"targetPosition":{"x":11794.053955658988,"y":19187.89393259227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a16923a7-9b13-4526-818d-9278fdc509a0","savedPayload":{"position":{"x":11794.053955658988,"y":19187.89393259227},"targetPosition":{"x":12131.691024592214,"y":19403.05951271726},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8136f190-cf6a-4ca3-8620-7153ad82a295","savedPayload":{"position":{"x":12131.691024592214,"y":19403.05951271726},"targetPosition":{"x":12574.694360890162,"y":19422.494905775293},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"683e6b29-9f82-4a8e-93eb-20ac0e81a750","savedPayload":{"position":{"x":12555.207822936552,"y":19447.51668582789},"targetPosition":{"x":12823.965784495549,"y":19110.505878450538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"MACD 081709","id":"43695164-d8aa-40d8-bbf4-ee8cbbdec3f0"}}},{"type":"Product Definition","name":"MACD 245209","config":"{\n \"codeName\": \"MACD-245209\",\n \"singularVariableName\": \"macd245209\",\n \"pluralVariableName\": \"macd245209s\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/Sparta/MACD/Output/MACD-245209/Multi-Period-Market/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"89254c6c-9be2-4037-b063-467edc660d10","savedPayload":{"position":{"x":12413.61960743799,"y":19566.742138022546},"targetPosition":{"x":12464.35611516412,"y":19283.40894421901},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/Sparta/MACD/Output/MACD-245209/Multi-Period-Daily/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/Sparta/MACD/Output/MACD-245209/Multi-Period-Daily\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"8a9dde13-e4b8-40f3-80bc-ea51050b2f08","savedPayload":{"position":{"x":12256.476843346289,"y":19482.723524965983},"targetPosition":{"x":12464.35611516412,"y":19283.40894421901},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.begin","id":"adee537e-2c4d-4454-9006-05171c09313a","savedPayload":{"position":{"x":12102.5768009303,"y":19552.417543644566},"targetPosition":{"x":11996.534797464064,"y":19450.885162270104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"38a52afc-8a7c-49c9-8068-dbe438ac64d0","savedPayload":{"position":{"x":11996.534797464064,"y":19450.885162270104},"targetPosition":{"x":11869.964629714841,"y":19363.75179635065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"83439522-7972-454e-af41-d516ee51b26f","savedPayload":{"position":{"x":11912.272508164877,"y":19671.631272314273},"targetPosition":{"x":11892.945941194672,"y":19521.703975221404},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"03c98b2f-4e9c-4800-9d9b-5c6ef3f94665","savedPayload":{"position":{"x":11892.945941194672,"y":19521.703975221404},"targetPosition":{"x":11869.964629714841,"y":19363.75179635065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Line","config":"{\n \"codeName\": \"line\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.line","id":"6aa9ee37-3044-444c-bc27-e09dd444f182","savedPayload":{"position":{"x":11681.09022366042,"y":19611.33990423493},"targetPosition":{"x":11773.267525400717,"y":19491.200707039694},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c9237bcd-4d76-4460-bcbb-8474843efc03","savedPayload":{"position":{"x":11773.267525400717,"y":19491.200707039694},"targetPosition":{"x":11869.964629714841,"y":19363.75179635065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Signal","config":"{\n \"codeName\": \"signal\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.signal","id":"35ac625e-5516-4a15-b92d-f3a5dc4d8ec0","savedPayload":{"position":{"x":11560.61481154781,"y":19405.343079704566},"targetPosition":{"x":11711.226974816687,"y":19385.093684780873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8dd22ed9-76d1-4108-8a7f-ed4c03d7eede","savedPayload":{"position":{"x":11711.226974816687,"y":19385.093684780873},"targetPosition":{"x":11869.964629714841,"y":19363.75179635065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA24","config":"{\n \"codeName\": \"ema24\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema24","id":"e56fbdd1-4b1c-484b-bcbb-6b9ec6414080","savedPayload":{"position":{"x":11617.861963670199,"y":19178.209324125364},"targetPosition":{"x":11742.536958210836,"y":19266.38218297498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"57f32362-cb33-471d-a855-2c3cddb88bf9","savedPayload":{"position":{"x":11742.536958210836,"y":19266.38218297498},"targetPosition":{"x":11869.964629714841,"y":19363.75179635065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"EMA52","config":"{\n \"codeName\": \"ema52\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.ema52","id":"619feddc-3ff2-4a97-aa8b-a924b80bd099","savedPayload":{"position":{"x":11818.292126377515,"y":19036.882711247865},"targetPosition":{"x":11860.850190169096,"y":19209.161810425638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"93f3c29f-178d-44fb-8f64-21e617d2387e","savedPayload":{"position":{"x":11860.850190169096,"y":19209.161810425638},"targetPosition":{"x":11869.964629714841,"y":19363.75179635065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Histogram","config":"{\n \"codeName\": \"histogram\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.histogram","id":"615f9b7a-676f-444b-8fc8-8355c8c8aef6","savedPayload":{"position":{"x":12594.68867199008,"y":18408.7606579512},"targetPosition":{"x":12232.692007169768,"y":18885.954109463066},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"650fc7dc-1ea8-426d-a720-89efdec4292e","savedPayload":{"position":{"x":12232.692007169768,"y":18885.954109463066},"targetPosition":{"x":11869.964629714841,"y":19363.75179635065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"371d2f8e-8868-4933-baee-9827c0496fc1","savedPayload":{"position":{"x":11869.964629714841,"y":19363.75179635065},"targetPosition":{"x":12464.35611516412,"y":19283.40894421901},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\n/* EMA24 and EMA52 Calculation */\n\nlet candle = record.current\n\nvariable.ema24 = calculateEMA(24, candle.close, variable.previousEMA24)\nvariable.previousEMA24 = variable.ema24\n\nvariable.ema52 = calculateEMA(52, candle.close, variable.previousEMA52)\nvariable.previousEMA52 = variable.ema52\n\n\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}\n\n/* MACD Line Calculation */\n\nmacdLine = variable.ema24 - variable.ema52\n\nvariable.line = macdLine.toFixed(2)\n\n/* Signal Line Calculation (EMA9 of MACD Line) */\n\nmacdSignal = calculateSignalEMA(9, variable.line, variable.previousSignal)\nvariable.signal = macdSignal.toFixed(2)\nvariable.previousSignal = variable.signal \n \nfunction calculateSignalEMA(periods, currentSignal, previousEMA) {\n let k = 2 / (periods + 1)\n return currentSignal * k + variable.previousSignal * (1-k)\n}\n\n/* Histogram Calculation */\n\nhistogram = variable.line - variable.signal\nvariable.histogram = histogram.toFixed(2)","id":"4f4e66a9-4791-494a-ada7-72f3d5db7415","savedPayload":{"position":{"x":11714.085476950855,"y":19111.54746296612},"targetPosition":{"x":11919.45103505026,"y":19103.872775853823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d8e07801-1e77-44a5-a232-fd672264f252","savedPayload":{"position":{"x":11919.45103505026,"y":19103.872775853823},"targetPosition":{"x":12073.999739238483,"y":19072.909948767403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\n/* SMA Calculation */\n\n/* \nAlthough we don't really need to set an array to access a number of candles,\nwe will do so in order to reuse the code built for the SMA indicator, and also\nso that the same code may be used for other MACD products that may require\naccessing more candles than are available in the span of two days.\n*/\n\nvariable.last100 = []\n//console.log(timeFrameLabel + \" - Initialization of SMA - *************\")\n\n/* EMA Calculation */\n\nvariable.previousEMA24 = 0\nvariable.previousEMA52 = 0\n\n/* MACD Line calculation */\n\nvariable.previousSignal = 0","id":"5f25ca07-07ce-49a7-a397-5d2f3e89c0c3","savedPayload":{"position":{"x":11854.66499397367,"y":18733.39223585201},"targetPosition":{"x":11968.822598888542,"y":18902.477680369637},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dd01ebc2-8204-4b51-83d9-92d416521553","savedPayload":{"position":{"x":11968.822598888542,"y":18902.477680369637},"targetPosition":{"x":12073.999739238483,"y":19072.909948767403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e1a8b841-84d8-4ddd-822b-d81fe2b9a313","savedPayload":{"position":{"x":12073.999739238483,"y":19072.909948767403},"targetPosition":{"x":12464.35611516412,"y":19283.40894421901},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"47984765-8180-45cf-a9eb-f0a8b22d165d","savedPayload":{"position":{"x":12435.812498410416,"y":19297.3659904132},"targetPosition":{"x":12823.965784495549,"y":19110.505878450538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"MACD 245209","id":"2fe60a0e-dd3a-4bb8-a321-4742389ab930"}}}],"id":"7724b857-30aa-4d3c-9ab7-e70895229f2a","savedPayload":{"position":{"x":12824.153165026528,"y":19176.935616776485},"targetPosition":{"x":12824.153406676238,"y":18710.73255185816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"RSI","config":"{\n\"codeName\": \"RSI\",\n\"repo\": \"RSI-Indicator-Bot\"\n}","processes":[{"type":"Process Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"description\": \"Calculates RSI.\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Market\",\n \"startDate\": {\n },\n \"endDate\": {\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market RSI14","id":"41eb05b7-0222-49b7-9b62-f14f43302f8f","savedPayload":{"position":{"x":12967.278586001876,"y":20090.96495607309},"targetPosition":{"x":12632.826412090946,"y":20090.96495607309},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"5ec62760-e144-4496-98ab-0415a4b315ec"}}}],"outputDatasetFolders":[],"id":"35d2683b-470d-44e0-97bb-6075e6b5cc92","savedPayload":{"position":{"x":12632.826412090946,"y":20090.96495607309},"targetPosition":{"x":12330.548380684371,"y":19916.444653270395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"ea692963-60c5-445b-921c-f2be614186d7","savedPayload":{"position":{"x":12505.068683487067,"y":20567.600318372857},"targetPosition":{"x":12505.068683487067,"y":20218.72268467697},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"RSI Multi-Period-Market","config":"{\"mainUtility\": \"Self Reference\"}","id":"4211e16a-a54f-4049-941e-fd3be8244852","savedPayload":{"position":{"x":12205.829104463804,"y":20391.488736178242},"targetPosition":{"x":12505.068683487067,"y":20218.72268467697},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"bbff3247-937a-429e-9959-c896b8207f26"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"9d9b2836-9eab-437b-9426-2cef828cd0e3","savedPayload":{"position":{"x":12199.643491038025,"y":20042.38536759922},"targetPosition":{"x":12505.068683487067,"y":20218.72268467697},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"1a42abe3-eaab-444f-8687-c3930dc28a06","savedPayload":{"position":{"x":12505.068683487067,"y":20218.72268467697},"targetPosition":{"x":12330.548380684371,"y":19916.444653270395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"bbff3247-937a-429e-9959-c896b8207f26","savedPayload":{"position":{"x":12330.548380684371,"y":20265.485258875786},"targetPosition":{"x":12330.548380684371,"y":19916.444653270395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Market","id":"b2babf3e-22f6-4064-b4e5-840eec9ff707","savedPayload":{"position":{"x":11999.259364238913,"y":19808.802326681638},"targetPosition":{"x":12330.548380684371,"y":19916.444653270395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"ae4d9310-3446-41b3-88b9-90978defd305","savedPayload":{"position":{"x":12028.270349277796,"y":20090.96495607309},"targetPosition":{"x":12330.548380684371,"y":19916.444653270395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"96f31416-5090-428a-be83-985a0b3ab275","savedPayload":{"position":{"x":12542.001435846169,"y":19406.927121873297},"targetPosition":{"x":12541.676872641467,"y":18993.343000640725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"description\": \"Calculates RSI\",\n \"startMode\": {\n \"allMonths\": {\n \"run\": \"false\",\n \"minYear\": \"\",\n \"maxYear\": \"\"\n },\n \"oneMonth\": {\n \"run\": \"false\",\n \"year\": \"\",\n \"month\": \"\"\n },\n \"noTime\": {\n \"run\": \"true\"\n },\n \"fixedInterval\": {\n \"run\": \"false\",\n \"interval\": 0\n }\n },\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Period-Daily\",\n \"startDate\": {\n \"takeItFromStatusDependency\": 0\n },\n \"endDate\": {\n \"takeItFromStatusDependency\": 1\n }\n }\n}","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Daily RSI14","id":"7539f591-7ca7-4fd5-9142-a6b470f8ef8e","savedPayload":{"position":{"x":12099.460861966729,"y":20049.1287357035},"targetPosition":{"x":11927.268778663101,"y":20049.1287357035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"f1556d09-f134-4678-83fb-04002d1dcd34"}}}],"outputDatasetFolders":[],"id":"f5a20865-68a4-4e3f-8547-afc741d7fb85","savedPayload":{"position":{"x":11927.268778663101,"y":20049.1287357035},"targetPosition":{"x":11836.930422418309,"y":19711.981400325676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"RSI Multi-Period-Daily","config":"{\"mainUtility\": \"Self Reference\"}","id":"632dbd10-6cf7-453a-8e5c-4a74d33fcaf4","savedPayload":{"position":{"x":11746.592066173516,"y":20221.39838280591},"targetPosition":{"x":11746.592066173516,"y":20049.1287357035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2d1d4e5a-49c3-4d9a-958a-195d3f0949c2"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Daily","config":"{\"mainUtility\": \"Market Ending Point\"}","id":"5a1a8917-5d85-4f33-b552-a314ee6c54db","savedPayload":{"position":{"x":11615.666887416,"y":20180.053914461016},"targetPosition":{"x":11746.592066173516,"y":20049.1287357035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\"mainUtility\": \"Market Starting Point\"}","id":"9ea493a4-33b1-445e-975d-b202994079c8","savedPayload":{"position":{"x":11556.488076365256,"y":20049.1287357035},"targetPosition":{"x":11746.592066173516,"y":20049.1287357035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"86af23c8-eb30-499a-9d88-39e0e9df06e5","savedPayload":{"position":{"x":11627.319438937093,"y":19929.856108467076},"targetPosition":{"x":11746.592066173516,"y":20049.1287357035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"6e2f9722-24f9-40dc-9e38-f4dcbbbeb38a","savedPayload":{"position":{"x":11746.592066173516,"y":20049.1287357035},"targetPosition":{"x":11836.930422418309,"y":19711.981400325676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"2d1d4e5a-49c3-4d9a-958a-195d3f0949c2","savedPayload":{"position":{"x":11590.121443285278,"y":19958.790379458707},"targetPosition":{"x":11836.930422418309,"y":19711.981400325676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Candles Volumes Multi-Period-Daily","id":"525140eb-d037-4b8d-9eef-f01574ca49ff","savedPayload":{"position":{"x":11466.263309377196,"y":19591.54435455283},"targetPosition":{"x":11836.930422418309,"y":19711.981400325676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"9162d141-5486-4a0d-a3e4-71c74060beb8","savedPayload":{"position":{"x":11499.783087040485,"y":19621.643044080884},"targetPosition":{"x":11836.930422418309,"y":19711.981400325676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f1177bcd-22dc-425b-8f30-878844aa82b8","savedPayload":{"position":{"x":12250.119854145269,"y":19285.772074616227},"targetPosition":{"x":12541.676872641467,"y":18993.343000640725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"RSI14","config":"{\n \"codeName\": \"RSI-14\",\n \"singularVariableName\": \"rsi14\",\n \"pluralVariableName\": \"rsi14s\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\"\n }","id":"5ec62760-e144-4496-98ab-0415a4b315ec","savedPayload":{"position":{"x":11996.667612156556,"y":19160.069541798093},"targetPosition":{"x":12111.0680107403,"y":18992.930266347485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","id":"f1556d09-f134-4678-83fb-04002d1dcd34","savedPayload":{"position":{"x":11916.93710859901,"y":19050.019660830596},"targetPosition":{"x":12111.0680107403,"y":18992.930266347485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","formula":{"type":"Formula","name":"Begin","code":"record.current.begin","id":"069fdb18-b72b-4fd2-9255-061f7a4f0b7e","savedPayload":{"position":{"x":11555.356170854315,"y":19011.91841785303},"targetPosition":{"x":11668.805991008145,"y":18951.899098080798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"309f6917-c246-4d84-89ac-abca872eb828","savedPayload":{"position":{"x":11668.805991008145,"y":18951.899098080798},"targetPosition":{"x":11775.501565468023,"y":18871.277600700247},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"record.current.end","id":"2128f049-e006-4e71-b9a5-91655bfcb290","savedPayload":{"position":{"x":11515.96237378739,"y":18801.902602003418},"targetPosition":{"x":11634.30242812538,"y":18837.67755351421},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"38a593cc-3232-4977-9597-18939c86bb5d","savedPayload":{"position":{"x":11634.30242812538,"y":18837.67755351421},"targetPosition":{"x":11775.501565468023,"y":18871.277600700247},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Value","config":"{\n \"codeName\": \"value\",\n \"isString\": false\n}","formula":{"type":"Formula","code":"variable.value","id":"c5e2ca09-53a7-4655-b0dc-242b7fbd11f0","savedPayload":{"position":{"x":11667.351056236337,"y":18666.283401626806},"targetPosition":{"x":11730.497867316246,"y":18755.001419301265},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5988292a-69bf-4e2d-833b-dccb78aa32a8","savedPayload":{"position":{"x":11730.497867316246,"y":18755.001419301265},"targetPosition":{"x":11775.501565468023,"y":18871.277600700247},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b12a20d9-1b6a-4525-b50c-8edf1fc3bff8","savedPayload":{"position":{"x":11775.501565468023,"y":18871.277600700247},"targetPosition":{"x":12111.0680107403,"y":18992.930266347485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","loop":{"type":"Procedure Loop","name":"New Procedure Loop","javascriptCode":{"type":"Javascript Code","code":"/* Loop Code */\n\n/* \nCalculation method credit: https://www.macroption.com/rsi-calculation/\n\nRSI Calculation Formula\n\n RSI = 100 – 100 / ( 1 + RS )\n RS = Relative Strength = AvgU / AvgD\n AvgU = average of all up moves in the last N price bars\n AvgD = average of all down moves in the last N price bars\n N = the period of RSI\n There are 3 different commonly used methods for the exact calculation of AvgU and AvgD (see details below)\n\nRSI Calculation Step by Step\n\n Calculate up moves and down moves (get U and D)\n Average the up moves and down moves (get AvgU and AvgD)\n Calculate Relative Strength (get RS)\n Calculate the Relative Strength Index (get RSI)\n*/\n\n/* Calculating Up Moves and Down Moves */\n\n//let candle = record.current // Our main dependencies are candles \n//let candlePrevious = record.previous\n\nif (record.previous !== undefined) {\n if (record.current.close > record.previous.close) {\n variable.last14U.push(record.current.close - record.previous.close) // Add win to last 14 array.\n } else {\n variable.last14U.push(0) // Add 0 to keep proper count of records in the last 14 array.\n }\n \n if (record.current.close < record.previous.close) {\n variable.last14D.push(record.previous.close - record.current.close) // Add win to last 14 array.\n } else {\n variable.last14D.push(0) // Add 0 to keep proper count of records in the last 14 array.\n }\n \n if (variable.last14U.length > 14) {\n variable.last14U.splice(0, 1) // Remove the first element of the array to keep it at a maximun of 14 elements.\n }\n \n if (variable.last14D.length > 14) {\n variable.last14D.splice(0, 1) // Remove the first element of the array to keep it at a maximun of 14 elements.\n }\n \n /* Calculating Averages of Up Moves and Down Moves */\n \n variable.avgU = calculateAVGU(14)\n variable.avgD = calculateAVGD(14)\n \n /* Calculating Relative Strength */\n \n if (variable.avgD > 0) {\n relativeStrength = variable.avgU / variable.avgD\n } else {\n relativeStrength = 0\n }\n\n /* Calculating RSI */\n\n relativeStrengthIndex = 100 - 100 / ( 1 + relativeStrength)\n\n if (relativeStrengthIndex !== undefined) {\n variable.value = relativeStrengthIndex.toFixed(2)\n } else {\n variable.value = 0\n }\n} else {\n variable.value = 0\n}\n\nfunction calculateAVGU(periods) { // Having a function avoids us to repeat code.\n /* We check we have enough values to make the calculation */\n if (variable.last14U.length < periods) { return 0 } // If we dont, we define the value is zero.\n\n let sumU = 0 // Initialize sum variable. \n for (let j = variable.last14U.length - periods; j < variable.last14U.length; j++) { // Iterate through the last periods\n sumU = sumU + variable.last14U[j]\n }\n let averageU = sumU / periods\n return averageU\n}\n\nfunction calculateAVGD(periods) { // Having a function avoids us to repeat code.\n /* We check we have enough values to make the calculation */\n if (variable.last14D.length < periods) { return 0 } // If we dont, we define the value is zero.\n\n let sumD = 0 // Initialize sum variable. \n for (let i = variable.last14D.length - periods; i < variable.last14D.length; i++) { // Iterate through the last periods\n sumD = sumD + variable.last14D[i]\n }\n let averageD = sumD / periods\n return averageD\n}","id":"a00ed092-3bc1-4288-979d-34c204713d65","savedPayload":{"position":{"x":11503.38922845128,"y":18460.28757240044},"targetPosition":{"x":11687.191910728776,"y":18541.88924084513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c2f8b23a-4e60-4181-9c19-ed243eb151cb","savedPayload":{"position":{"x":11687.191910728776,"y":18541.88924084513},"targetPosition":{"x":11863.485802732735,"y":18664.371690198317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","javascriptCode":{"type":"Javascript Code","code":"/* Initialization Code*/\n\n/* \nWe keep two separate arrays to store last 14 price increments or losses.\n*/\n\nvariable.last14U = []\nvariable.last14D = []","id":"59da2324-377e-4307-a6d1-b9cf170733ba","savedPayload":{"position":{"x":11821.868345458059,"y":18265.789839151534},"targetPosition":{"x":11843.141884673716,"y":18465.13208869595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"aca0a380-6355-42b9-876b-6932d6d13105","savedPayload":{"position":{"x":11843.141884673716,"y":18465.13208869595},"targetPosition":{"x":11863.485802732735,"y":18664.371690198317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5c066df5-2a29-4c74-b7bc-dc5ea1329089","savedPayload":{"position":{"x":11863.485802732735,"y":18664.371690198317},"targetPosition":{"x":12111.0680107403,"y":18992.930266347485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e24248b9-90df-4b26-b5cc-0bac80efa0c7","savedPayload":{"position":{"x":12111.0680107403,"y":18992.930266347485},"targetPosition":{"x":12541.676872641467,"y":18993.343000640725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"RSI 14","id":"72403d40-2a64-4e51-8eaf-b1a872e4474e"}}}],"id":"276e2181-0c8d-4d56-94e0-1999ec317cb5","savedPayload":{"position":{"x":12494.546585191913,"y":19040.42507139788},"targetPosition":{"x":12824.153406676238,"y":18710.73255185816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"plotters":[{"type":"Plotter","name":"SMA","config":"{\n\"codeName\": \"Plotter SMA\"\n}","modules":[{"type":"Plotter Module","name":"SMA Popular","config":"{\n\t\"codeName\": \"SMA-Popular\",\n \"icon\": \"moving-average\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"SMA 20 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma20","id":"81557791-d18b-472c-b152-612294f281cc","savedPayload":{"position":{"x":10272.422346832018,"y":19936.94116207015},"targetPosition":{"x":11331.49315275108,"y":19844.284472680967},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b932c738-3b05-4b1f-a822-2ba7bae30252","savedPayload":{"position":{"x":11331.49315275108,"y":19844.284472680967},"targetPosition":{"x":12390.563958670142,"y":19751.627783291784},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 20 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma20","id":"dd573845-585b-4a89-8518-425173e02916","savedPayload":{"position":{"x":10648.856203394591,"y":18532.07088368953},"targetPosition":{"x":11519.710081032366,"y":19141.849333490656},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"44ba79ce-2ad1-4bb7-87db-df0aa58e6440","savedPayload":{"position":{"x":11519.710081032366,"y":19141.849333490656},"targetPosition":{"x":12390.563958670142,"y":19751.627783291784},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 50 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma50","id":"054b7477-497f-46f9-b33e-de27dc3d494f","savedPayload":{"position":{"x":11840.25447557614,"y":17697.84483249799},"targetPosition":{"x":12115.40921712314,"y":18724.736307894887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"00efabf8-701d-44b1-a590-b8399149dfbb","savedPayload":{"position":{"x":12115.40921712314,"y":18724.736307894887},"targetPosition":{"x":12390.563958670142,"y":19751.627783291784},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 50 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma50","id":"2e18404b-0350-4720-95d1-77533ced3986","savedPayload":{"position":{"x":13289.14867090601,"y":17824.606649237867},"targetPosition":{"x":12839.856314788076,"y":18788.117216264825},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"084b4468-49d2-4ad2-a716-ebc338c34248","savedPayload":{"position":{"x":12839.856314788076,"y":18788.117216264825},"targetPosition":{"x":12390.563958670142,"y":19751.627783291784},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 100 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma100","id":"9e730b8b-7f20-41df-9126-9d9aae2f8ca6","savedPayload":{"position":{"x":14317.585092724059,"y":18853.043071055916},"targetPosition":{"x":13354.0745256971,"y":19302.33542717385},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bbacba1b-6b2d-48b7-a440-986a04c61858","savedPayload":{"position":{"x":13354.0745256971,"y":19302.33542717385},"targetPosition":{"x":12390.563958670142,"y":19751.627783291784},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 100 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma100","id":"922d462b-1e9f-4766-859d-330041428bc0","savedPayload":{"position":{"x":14444.346909463935,"y":20301.937266385787},"targetPosition":{"x":13417.455434067038,"y":20026.782524838785},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"270a8be8-ad51-4061-abe1-a4c7234eb88a","savedPayload":{"position":{"x":13417.455434067038,"y":20026.782524838785},"targetPosition":{"x":12390.563958670142,"y":19751.627783291784},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 200 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma200","id":"4278cffb-da8c-458e-b014-449f8487204b","savedPayload":{"position":{"x":13610.120858272398,"y":21493.335538567335},"targetPosition":{"x":13000.34240847127,"y":20622.48166092956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cd242031-8d7a-4cee-a680-156b0be7c7c7","savedPayload":{"position":{"x":13000.34240847127,"y":20622.48166092956},"targetPosition":{"x":12390.563958670142,"y":19751.627783291784},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 200 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma200","id":"a3b73c57-a9b2-4a55-9232-9bacf741a933","savedPayload":{"position":{"x":12205.250579891775,"y":21869.769395129908},"targetPosition":{"x":12297.907269280959,"y":20810.698589210846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"328b048e-eb4a-4a02-ad95-a17cd170c4a7","savedPayload":{"position":{"x":12297.907269280959,"y":20810.698589210846},"targetPosition":{"x":12390.563958670142,"y":19751.627783291784},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6755d98f-e1de-4ae9-b688-d06ab9cc543e","savedPayload":{"position":{"x":12390.563958670142,"y":19751.627783291784},"targetPosition":{"x":11638.827224820247,"y":20503.36451714168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"SMA 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"6368c66e-47fc-486d-8c03-e2ed303de825","savedPayload":{"position":{"x":13216.028183311146,"y":18724.736307894887},"targetPosition":{"x":12940.873441764144,"y":19751.627783291784},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"b0d22693-8100-49e9-b92e-11a8a55a5480","savedPayload":{"position":{"x":12940.873441764144,"y":19751.627783291784},"targetPosition":{"x":12665.718700217143,"y":20778.51925868868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 20 End","id":"d9dae274-33d5-403d-a5ff-5514104df62e","savedPayload":{"position":{"x":12123.474903334538,"y":21717.713064978412},"targetPosition":{"x":12665.718700217143,"y":20778.51925868868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 20 End","id":"44ba79ce-2ad1-4bb7-87db-df0aa58e6440"}}},{"type":"Polygon Vertex","name":"SMA 20 Begin","id":"45823ead-7d67-409c-8160-ea36496c412e","savedPayload":{"position":{"x":12138.981787278039,"y":19866.184163256166},"targetPosition":{"x":12665.718700217143,"y":20778.51925868868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 20 Begin","id":"b932c738-3b05-4b1f-a822-2ba7bae30252"}}}],"id":"ffe11ebb-d04f-4bf6-b6ff-43382be7c347","savedPayload":{"position":{"x":12665.718700217143,"y":20778.51925868868},"targetPosition":{"x":11638.827224820247,"y":20503.36451714168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 50","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"b0de67a4-9a26-40ce-aa19-f5336145f871","savedPayload":{"position":{"x":13967.764917161041,"y":20979.946509444573},"targetPosition":{"x":12940.873441764144,"y":21255.101250991574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"f06c2d68-11d4-40e0-99df-43a758ca0123","savedPayload":{"position":{"x":12940.873441764144,"y":21255.101250991574},"targetPosition":{"x":11913.981966367248,"y":21530.255992538576},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 50 End","id":"baf11fde-1f46-4e77-a8fe-d19a3ee8a4b2","savedPayload":{"position":{"x":11393.656715486874,"y":22431.485763524408},"targetPosition":{"x":11913.981966367248,"y":21530.255992538576},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 50 End","id":"084b4468-49d2-4ad2-a716-ebc338c34248"}}},{"type":"Polygon Vertex","name":"SMA 50 Begin","id":"bb6ef8cd-1473-4200-9c0e-35b5eab40259","savedPayload":{"position":{"x":11388.735132466298,"y":20620.501789707443},"targetPosition":{"x":11913.981966367248,"y":21530.255992538576},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 50 Begin","id":"00efabf8-701d-44b1-a590-b8399149dfbb"}}}],"id":"c867bef2-aa91-4753-9b27-68f88d42370e","savedPayload":{"position":{"x":11913.981966367248,"y":21530.255992538576},"targetPosition":{"x":11638.827224820247,"y":20503.36451714168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 100","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"b03ef9cb-fef3-4a54-bf5a-a85528fa2699","savedPayload":{"position":{"x":12701.943509164821,"y":22006.83798484147},"targetPosition":{"x":11638.827224820247,"y":22006.83798484147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"baf25122-e7de-4283-b638-cfe2766220ac","savedPayload":{"position":{"x":11638.827224820247,"y":22006.83798484147},"targetPosition":{"x":10887.090490970351,"y":21255.101250991574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 100 Begin","id":"8657980b-1796-4291-bba6-87520122b302","savedPayload":{"position":{"x":10351.565271562764,"y":22182.658139739986},"targetPosition":{"x":10887.090490970351,"y":21255.101250991574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 100 Begin","id":"bbacba1b-6b2d-48b7-a440-986a04c61858"}}},{"type":"Polygon Vertex","name":"SMA 100 End","id":"45403abf-a4b1-4f8a-9d18-8ee72fef1792","savedPayload":{"position":{"x":10360.988225263025,"y":20343.865396809386},"targetPosition":{"x":10887.090490970351,"y":21255.101250991574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 100 End","id":"270a8be8-ad51-4061-abe1-a4c7234eb88a"}}}],"id":"7473f9b9-7737-4ee1-8418-39b96d8365c3","savedPayload":{"position":{"x":10887.090490970351,"y":21255.101250991574},"targetPosition":{"x":11638.827224820247,"y":20503.36451714168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 200","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"9475aa23-1561-45f6-8129-9d7ffaf0bb22","savedPayload":{"position":{"x":10061.626266329347,"y":22281.99272638847},"targetPosition":{"x":10336.781007876349,"y":21255.101250991574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"9007d9ad-f2b5-45fb-a7b3-b9579c74866d","savedPayload":{"position":{"x":10336.781007876349,"y":21255.101250991574},"targetPosition":{"x":10611.93574942335,"y":20228.209775594678},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 200 Begin","id":"0b3d001b-060a-4d72-94e7-d8e9f76ef1ae","savedPayload":{"position":{"x":10086.744287689695,"y":21137.868071018733},"targetPosition":{"x":10611.93574942335,"y":20228.209775594678},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 200 Begin","id":"cd242031-8d7a-4cee-a680-156b0be7c7c7"}}},{"type":"Polygon Vertex","name":"SMA 200 End","id":"178f2776-a5db-4cb9-b8c7-11ecb471bf12","savedPayload":{"position":{"x":10079.818395499942,"y":19306.555483010226},"targetPosition":{"x":10611.93574942335,"y":20228.209775594678},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 200 End","id":"328b048e-eb4a-4a02-ad95-a17cd170c4a7"}}}],"id":"5dbe47bb-9414-4edd-be08-5ab50755a852","savedPayload":{"position":{"x":10611.93574942335,"y":20228.209775594678},"targetPosition":{"x":11638.827224820247,"y":20503.36451714168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"340dc986-ccc9-4b47-ac54-294187daa2e0","savedPayload":{"position":{"x":12148.985437663918,"y":20806.61368372887},"targetPosition":{"x":12528.58753718751,"y":19817.90445862964},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Popular SMA","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"SMA 20","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma20","id":"4f901876-b274-426e-9755-529b6241890d","savedPayload":{"position":{"x":10448.059422553588,"y":21324.63694104785},"targetPosition":{"x":10392.420215214968,"y":20262.977620622816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"57d75985-febe-441b-be12-31f5eb10881b","savedPayload":{"position":{"x":10392.420215214968,"y":20262.977620622816},"targetPosition":{"x":10336.781007876349,"y":19201.31830019778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 50","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma50","id":"dc2d66e9-8dc1-4092-bfa8-e147c7cf7226","savedPayload":{"position":{"x":8351.77189956729,"y":19963.29190609535},"targetPosition":{"x":9344.276453721819,"y":19582.305103146566},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"74e3faab-246a-4c05-ae0a-b68f2095aa73","savedPayload":{"position":{"x":9344.276453721819,"y":19582.305103146566},"targetPosition":{"x":10336.781007876349,"y":19201.31830019778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 100","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma100","id":"1b045b3c-13a9-4091-a804-0040340cf1be","savedPayload":{"position":{"x":8998.699496285988,"y":17548.925246322724},"targetPosition":{"x":9667.740252081168,"y":18375.121773260253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f46c7caf-8907-4cc4-b048-efe691a24049","savedPayload":{"position":{"x":9667.740252081168,"y":18375.121773260253},"targetPosition":{"x":10336.781007876349,"y":19201.31830019778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 200","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma200","id":"ef7a7e7d-dec3-4da6-9646-d087e03b7a71","savedPayload":{"position":{"x":11494.810262304729,"y":17418.10962423119},"targetPosition":{"x":10915.795635090539,"y":18309.713962214486},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8e1108c8-e8a4-4ae8-b6b1-765c4292580a","savedPayload":{"position":{"x":10915.795635090539,"y":18309.713962214486},"targetPosition":{"x":10336.781007876349,"y":19201.31830019778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7fc74763-c245-4b23-8121-7fe0d1e8e1db","savedPayload":{"position":{"x":11705.796953443807,"y":20484.651250812945},"targetPosition":{"x":12528.58753718751,"y":19817.90445862964},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ddf21e96-c312-4ebe-9e2b-f56e8ea072aa","savedPayload":{"position":{"x":12124.141968245023,"y":19230.248779194775},"targetPosition":{"x":12424.206554116216,"y":18710.734611771542},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"SMA Base 11","config":"{\n\t\"codeName\": \"SMA-Base11\",\n \"icon\": \"moving-average\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"SMA 11 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma11","id":"ab8c79b6-26ed-436e-a9ed-5581e48403a9","savedPayload":{"position":{"x":11420.661716551038,"y":19262.592848790773},"targetPosition":{"x":11581.82712015699,"y":19380.155900728823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"77d02772-853e-4e30-9efe-7bea8e829d51","savedPayload":{"position":{"x":11581.82712015699,"y":19380.155900728823},"targetPosition":{"x":11743.222658812634,"y":19497.537054954948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 11 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma11","id":"e7f8c6de-4085-4886-ad93-c207274eb90c","savedPayload":{"position":{"x":11599.232762859805,"y":19125.266987515377},"targetPosition":{"x":11671.198790593042,"y":19311.45287403034},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"185ca2e7-b561-4ce4-b219-bd54496885b5","savedPayload":{"position":{"x":11671.198790593042,"y":19311.45287403034},"targetPosition":{"x":11743.222658812634,"y":19497.537054954948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 22 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma22","id":"0c62dd54-916a-4187-be47-0715604a0632","savedPayload":{"position":{"x":11823.161132602576,"y":19106.60809147188},"targetPosition":{"x":11783.207192852346,"y":19302.098689134476},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"08b23cb2-cf78-48ae-bd9a-efe0e8df4578","savedPayload":{"position":{"x":11783.207192852346,"y":19302.098689134476},"targetPosition":{"x":11743.222658812634,"y":19497.537054954948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 22 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma22","id":"f1d537b7-09a0-4031-8565-02ea33b66261","savedPayload":{"position":{"x":12022.060479551723,"y":19212.330323197708},"targetPosition":{"x":11882.65737243759,"y":19354.92755444262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3871971f-7f4b-49a0-a0d7-b1d08a4db951","savedPayload":{"position":{"x":11882.65737243759,"y":19354.92755444262},"targetPosition":{"x":11743.222658812634,"y":19497.537054954948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 33 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma33","id":"5cbdb800-4b2b-49e6-a8ef-678587ecd626","savedPayload":{"position":{"x":12132.327282219843,"y":19408.81846863279},"targetPosition":{"x":11937.79098559702,"y":19453.1634027495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2734c9f2-1347-4b5b-8dbf-f7f42eb2c810","savedPayload":{"position":{"x":11937.79098559702,"y":19453.1634027495},"targetPosition":{"x":11743.222658812634,"y":19497.537054954948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 33 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma33","id":"d7051dab-455d-4d02-8e0b-59139c3546d3","savedPayload":{"position":{"x":12212.489730964999,"y":19666.84556157561},"targetPosition":{"x":11931.10677190366,"y":19565.354364797877},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{}}},"id":"ce242fe6-2b52-4b89-a203-ce398b3545fd","savedPayload":{"position":{"x":11931.10677190366,"y":19565.354364797877},"targetPosition":{"x":11743.222658812634,"y":19497.537054954948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 55 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma55","id":"2c8a5860-2c8c-4a04-b0aa-d353817d3dab","savedPayload":{"position":{"x":11986.094059307461,"y":19814.968914396126},"targetPosition":{"x":11864.659058908868,"y":19656.244091658857},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bdc5f0cf-2c2f-466c-963b-19d81a13b532","savedPayload":{"position":{"x":11864.659058908868,"y":19656.244091658857},"targetPosition":{"x":11743.222658812634,"y":19497.537054954948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 55 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma55","id":"62dfcbf0-e773-41db-80e0-bf46d47d977f","savedPayload":{"position":{"x":11776.047437672181,"y":19896.095265068263},"targetPosition":{"x":11759.622882925452,"y":19696.796376143746},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d2e58c59-c5d7-4b42-bb66-f012da23c12a","savedPayload":{"position":{"x":11759.622882925452,"y":19696.796376143746},"targetPosition":{"x":11743.222658812634,"y":19497.537054954948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 111 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma111","id":"b496251d-8005-4d21-9be0-1dec58cb58ba","savedPayload":{"position":{"x":11555.893124409658,"y":19850.682133246828},"targetPosition":{"x":11649.518710127513,"y":19674.076482476314},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"62ed1060-3233-4175-a4cc-8ad04a123105","savedPayload":{"position":{"x":11649.518710127513,"y":19674.076482476314},"targetPosition":{"x":11743.222658812634,"y":19497.537054954948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 11 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma111","id":"3e765b91-17a0-4b30-bcfb-d7491afa9635","savedPayload":{"position":{"x":11394.893562680705,"y":19692.986738335792},"targetPosition":{"x":11568.955554705075,"y":19595.16802594834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bdee0fe7-c635-483d-b547-6271410cc35a","savedPayload":{"position":{"x":11568.955554705075,"y":19595.16802594834},"targetPosition":{"x":11743.222658812634,"y":19497.537054954948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"853ae08f-85ed-48e9-82d9-7f00184ff7e7","savedPayload":{"position":{"x":11743.222658812634,"y":19497.537054954948},"targetPosition":{"x":10749.814619262712,"y":19445.02155215359},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"SMA 11","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"a36a0be4-c3be-4e17-8459-ce24d08c60d4","savedPayload":{"position":{"x":10865.641159742268,"y":20088.231727157225},"targetPosition":{"x":10822.08163266265,"y":19962.054917474088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"bc76dbe0-28fe-4811-b396-583cc810ad8c","savedPayload":{"position":{"x":10822.08163266265,"y":19962.054917474088},"targetPosition":{"x":10734.812945912769,"y":19710.572377007105},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 11 Begin","id":"007b0aa7-d129-4b66-97b1-a223b61465a9","savedPayload":{"position":{"x":10719.301189529137,"y":19976.524107250327},"targetPosition":{"x":10734.812945912769,"y":19710.572377007105},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 11 Begin","id":"77d02772-853e-4e30-9efe-7bea8e829d51"}}},{"type":"Polygon Vertex","name":"SMA 11 End","id":"8bf6c449-35d6-44c0-ac25-0da059e0c7d0","savedPayload":{"position":{"x":10652.324528194133,"y":19960.18655823744},"targetPosition":{"x":10734.812945912769,"y":19710.572377007105},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 11 End","id":"185ca2e7-b561-4ce4-b219-bd54496885b5"}}}],"id":"82eff706-25ff-45ba-b066-0f20b64e26e1","savedPayload":{"position":{"x":10734.812945912769,"y":19710.572377007105},"targetPosition":{"x":10749.814619262712,"y":19445.02155215359},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 22","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"48b5e69c-d187-40f8-aee9-89f02ac7b442","savedPayload":{"position":{"x":10555.28541602658,"y":20069.88999741685},"targetPosition":{"x":10570.85224502711,"y":19936.981974422146},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"13b6ae03-77c1-473a-9cd9-eee42cab5005","savedPayload":{"position":{"x":10570.85224502711,"y":19936.981974422146},"targetPosition":{"x":10620.572860595266,"y":19677.44455273868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 22 End","id":"5101118b-d0b2-46b3-b752-c1e8f3e09842","savedPayload":{"position":{"x":10479.502552283278,"y":19908.76975213226},"targetPosition":{"x":10620.572860595266,"y":19677.44455273868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 22 End","id":"3871971f-7f4b-49a0-a0d7-b1d08a4db951"}}},{"type":"Polygon Vertex","name":"SMA 22 Begin","id":"5d1290b9-98c2-4925-9da4-fcdf50d13c5b","savedPayload":{"position":{"x":10435.842423057222,"y":19864.417658478123},"targetPosition":{"x":10620.572860595266,"y":19677.44455273868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 22 Begin","id":"08b23cb2-cf78-48ae-bd9a-efe0e8df4578"}}}],"id":"b7186c69-0a02-4820-bb58-1e2cee5790b3","savedPayload":{"position":{"x":10620.572860595266,"y":19677.44455273868},"targetPosition":{"x":10749.814619262712,"y":19445.02155215359},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 33","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"a8183072-9dc8-4f7c-b72b-742477e4c8fd","savedPayload":{"position":{"x":10301.904623608427,"y":19922.331478246713},"targetPosition":{"x":10373.715970417163,"y":19809.361511352647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"98a87528-cb66-4e15-a3b0-aadb8d25fcec","savedPayload":{"position":{"x":10373.715970417163,"y":19809.361511352647},"targetPosition":{"x":10532.351714167127,"y":19598.07960388478},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 33 End","id":"242e470b-2971-40b2-9f06-a95bf95e23fc","savedPayload":{"position":{"x":10304.156223189637,"y":19744.830768656924},"targetPosition":{"x":10532.351714167127,"y":19598.07960388478},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 33 End","id":"ce242fe6-2b52-4b89-a203-ce398b3545fd"}}},{"type":"Polygon Vertex","name":"SMA 33 Begin","id":"106e4253-deab-440c-828a-ea55aea78c97","savedPayload":{"position":{"x":10284.588883339891,"y":19686.132765879553},"targetPosition":{"x":10532.351714167127,"y":19598.07960388478},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 33 Begin","id":"2734c9f2-1347-4b5b-8dbf-f7f42eb2c810"}}}],"id":"53f19bad-dcb0-476f-8b32-0d332d1ad130","savedPayload":{"position":{"x":10532.351714167127,"y":19598.07960388478},"targetPosition":{"x":10749.814619262712,"y":19445.02155215359},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 55","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"ea853676-6bdc-4723-a515-1a4c683fa1fa","savedPayload":{"position":{"x":10139.1908108849,"y":19680.158864245077},"targetPosition":{"x":10252.929062523372,"y":19609.59959768183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"1fd3b244-b5ae-4a96-add5-50b228eac931","savedPayload":{"position":{"x":10252.929062523372,"y":19609.59959768183},"targetPosition":{"x":10487.40328897588,"y":19488.245714148055},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 55 End","id":"c0102a15-8594-4582-9714-75e555e3f2ac","savedPayload":{"position":{"x":10217.998246864418,"y":19521.429695929008},"targetPosition":{"x":10487.40328897588,"y":19488.245714148055},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 55 End","id":"d2e58c59-c5d7-4b42-bb66-f012da23c12a"}}},{"type":"Polygon Vertex","name":"SMA 55 Begin","id":"aa781190-aa71-4407-bc72-db67ffd67c7e","savedPayload":{"position":{"x":10225.92833492984,"y":19460.059613494897},"targetPosition":{"x":10487.40328897588,"y":19488.245714148055},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 55 Begin","id":"bdc5f0cf-2c2f-466c-963b-19d81a13b532"}}}],"id":"8341d899-4df1-47f8-8e0d-bb87b76ed622","savedPayload":{"position":{"x":10487.40328897588,"y":19488.245714148055},"targetPosition":{"x":10749.814619262712,"y":19445.02155215359},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 111","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"85056d46-5dd2-4dc2-9c40-55ef936aeea8","savedPayload":{"position":{"x":10098.230670207258,"y":19391.5669366544},"targetPosition":{"x":10231.196436227687,"y":19377.416314641083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"bd5b197d-7425-461d-a2ab-5ad6446d00ee","savedPayload":{"position":{"x":10231.196436227687,"y":19377.416314641083},"targetPosition":{"x":10494.76064995173,"y":19369.705426474742},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 11 End","id":"fbd2d02d-d58e-4d04-a5a6-9bbc6e877244","savedPayload":{"position":{"x":10237.515447759475,"y":19282.75668512145},"targetPosition":{"x":10494.76064995173,"y":19369.705426474742},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 11 End","id":"bdee0fe7-c635-483d-b547-6271410cc35a"}}},{"type":"Polygon Vertex","name":"SMA 111 Begin","id":"e79d988b-7d4a-4201-839a-a95f99dc26fe","savedPayload":{"position":{"x":10291.03660811942,"y":19197.114963592077},"targetPosition":{"x":10494.76064995173,"y":19369.705426474742},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 111 Begin","id":"62ed1060-3233-4175-a4cc-8ad04a123105"}}}],"id":"5745a180-5f94-4109-b8e5-41b2c21e9f1a","savedPayload":{"position":{"x":10494.76064995173,"y":19369.705426474742},"targetPosition":{"x":10749.814619262712,"y":19445.02155215359},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"ade8af76-e9e6-4dda-8921-c3c5cc8a0ecc","savedPayload":{"position":{"x":10749.814619262712,"y":19445.02155215359},"targetPosition":{"x":11104.624128837446,"y":19050.832332670954},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"SMA Base 11","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"SMA 11","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma11","id":"bce6e5ba-e93b-4c0f-9013-db467727e721","savedPayload":{"position":{"x":9728.30738730596,"y":19153.768357697303},"targetPosition":{"x":9906.448684713376,"y":18956.25946393559},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f4794965-6a35-4289-9e0e-718b931028de","savedPayload":{"position":{"x":9906.448684713376,"y":18956.25946393559},"targetPosition":{"x":10084.37246443302,"y":18758.666886415132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 22","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma22","id":"e8837d50-025b-4bbc-8199-328df7afbdda","savedPayload":{"position":{"x":9578.208869722332,"y":18922.831389314677},"targetPosition":{"x":9831.329692415036,"y":18840.75877996038},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2b4712d6-5952-4bd0-bcac-7d396d95f842","savedPayload":{"position":{"x":9831.329692415036,"y":18840.75877996038},"targetPosition":{"x":10084.37246443302,"y":18758.666886415132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 33","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma33","id":"825bc681-cb31-4d26-85af-4f692538fc9d","savedPayload":{"position":{"x":9563.799574017024,"y":18648.240566944605},"targetPosition":{"x":9824.120513499221,"y":18703.444019671493},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"377ff3cb-9d7b-45aa-a2c1-3cabf3540c8e","savedPayload":{"position":{"x":9824.120513499221,"y":18703.444019671493},"targetPosition":{"x":10084.37246443302,"y":18758.666886415132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 55","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma55","id":"24c4a804-6686-43ab-a664-db08d860034c","savedPayload":{"position":{"x":9688.889243546653,"y":18402.873835829345},"targetPosition":{"x":9886.68486428209,"y":18580.74554521545},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4b0485d9-4d37-4402-939b-eb878c6750ec","savedPayload":{"position":{"x":9886.68486428209,"y":18580.74554521545},"targetPosition":{"x":10084.37246443302,"y":18758.666886415132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 111","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma111","id":"3d21e771-7edd-4460-aa23-da3c7880a629","savedPayload":{"position":{"x":9920.063195427034,"y":18253.05417987782},"targetPosition":{"x":10002.354229732156,"y":18505.79173901376},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"738b01bd-a4da-4f90-a816-c021eeb81030","savedPayload":{"position":{"x":10002.354229732156,"y":18505.79173901376},"targetPosition":{"x":10084.37246443302,"y":18758.666886415132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fc702308-8514-4e8d-85d3-5d052aad782c","savedPayload":{"position":{"x":10084.37246443302,"y":18758.666886415132},"targetPosition":{"x":11104.624128837446,"y":19050.832332670954},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4a61ac35-a1ae-40f4-b3da-f81ae796ee00","savedPayload":{"position":{"x":11904.443179791928,"y":19010.691652532943},"targetPosition":{"x":12424.206554116216,"y":18710.734611771542},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"SMA Base 7","config":"{\n\t\"codeName\": \"SMA-Base7\",\n \"icon\": \"moving-average\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"SMA 7 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma7","id":"b459dee1-24d0-4794-9c4d-d9c58972f6e6","savedPayload":{"position":{"x":9961.938331378236,"y":20209.48193233988},"targetPosition":{"x":10312.908978161888,"y":20607.87179398911},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8d6e2d59-fe23-4ba5-ad87-d9d15ad60340","savedPayload":{"position":{"x":10312.908978161888,"y":20607.87179398911},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 7 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma7","id":"3994ef79-ab0b-4552-bbde-f754a86f2e04","savedPayload":{"position":{"x":10203.309457680914,"y":20049.71716457022},"targetPosition":{"x":10433.634953530202,"y":20527.888864727585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a95fee99-4a06-44d7-a6c4-0eea9ccec4d9","savedPayload":{"position":{"x":10433.634953530202,"y":20527.888864727585},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 14 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma14","id":"40d386cb-84a9-49b0-b28e-3d39e9e274cb","savedPayload":{"position":{"x":10478.903762129603,"y":19960.931113655974},"targetPosition":{"x":10571.408608543667,"y":20483.467623451368},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c6d631e7-8cd0-4ccd-b7b4-90b8dda615d8","savedPayload":{"position":{"x":10571.408608543667,"y":20483.467623451368},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 21 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma21","id":"6d2cd604-9a38-4ab7-b19d-9e9e3ae8ad25","savedPayload":{"position":{"x":10767.723261823243,"y":19949.59830781004},"targetPosition":{"x":10715.84601415742,"y":20477.849681686595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4f1044fa-67dd-42dc-ba74-61e299e1f1e1","savedPayload":{"position":{"x":10715.84601415742,"y":20477.849681686595},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 21 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma21","id":"1de80488-5eeb-491c-bd5f-e5bd7569dc59","savedPayload":{"position":{"x":11049.178283722611,"y":20016.74057405776},"targetPosition":{"x":10856.6165418853,"y":20511.46010114233},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"df7e58c1-c042-443b-bfd3-69d57894d358","savedPayload":{"position":{"x":10856.6165418853,"y":20511.46010114233},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 28 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma28","id":"93b50d69-b003-4590-b098-ff59dc226e22","savedPayload":{"position":{"x":11302.049186621976,"y":20157.355627851925},"targetPosition":{"x":10983.091049549455,"y":20581.793668550778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7bd742dd-7c4c-4dfe-9415-e655a5e1cc88","savedPayload":{"position":{"x":10983.091049549455,"y":20581.793668550778},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 28 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma28","id":"36ddca01-d7c2-44e4-bac6-1efd92721b56","savedPayload":{"position":{"x":11507.59501294745,"y":20361.01108594181},"targetPosition":{"x":11085.891143194547,"y":20683.647052279375},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7678774b-b068-4757-962b-8e126342898a","savedPayload":{"position":{"x":11085.891143194547,"y":20683.647052279375},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 35 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma35","id":"e631b84b-646b-41f7-b87b-7cb4fbf8ac76","savedPayload":{"position":{"x":11650.562499236954,"y":20612.58044138436},"targetPosition":{"x":11157.385676871994,"y":20809.45771101852},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"93613bd9-2dbb-493c-a72e-414b0398733e","savedPayload":{"position":{"x":11157.385676871994,"y":20809.45771101852},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 35 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma35","id":"89e3900f-eeaf-47cb-97f6-9093b2f39811","savedPayload":{"position":{"x":11720.362527176303,"y":20893.405770631245},"targetPosition":{"x":11192.29407002208,"y":20949.900980163144},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f620fdbe-48b5-4831-995d-b3c721738d1b","savedPayload":{"position":{"x":11192.29407002208,"y":20949.900980163144},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 70 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma70","id":"cacaceaf-b19d-4b2a-81b3-5ac6b44877b7","savedPayload":{"position":{"x":11711.807255205878,"y":21182.243272905278},"targetPosition":{"x":11188.017030729387,"y":21094.346012254064},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9e506a85-5f72-4a3f-a773-cd85d8b15f21","savedPayload":{"position":{"x":11188.01003576402,"y":21094.342287588654},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 70 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma70","id":"8658d660-52c4-41f8-b423-db569ff19941","savedPayload":{"position":{"x":11625.512959818205,"y":21458.44698412378},"targetPosition":{"x":11144.861376500538,"y":21232.474162531234},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8392e1ff-33a6-4b95-baad-3f146bd3c121","savedPayload":{"position":{"x":11144.865284521942,"y":21232.480993004785},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 140 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma140","id":"a56e674e-ec4f-4448-a8bc-bfbc3a02eea4","savedPayload":{"position":{"x":11467.891825588913,"y":21701.134850946015},"targetPosition":{"x":11066.034273094718,"y":21353.840591500688},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"39e65adb-6125-4e9a-8f15-5403b21aac40","savedPayload":{"position":{"x":11066.04648133843,"y":21353.842949445538},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 140 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma140","id":"9aeb4594-c7e0-41e1-83b3-8df31b0d44b0","savedPayload":{"position":{"x":11250.6486811831,"y":21892.31049041636},"targetPosition":{"x":10957.397888202506,"y":21449.45215272121},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7559cbf5-acba-4a60-91b4-d95f90293f22","savedPayload":{"position":{"x":10957.39040372368,"y":21449.4584862964},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 210 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma210","id":"8856ee41-b264-4468-9dac-eb808b483df3","savedPayload":{"position":{"x":10989.852857645508,"y":22017.76816698824},"targetPosition":{"x":10826.974203599419,"y":21512.199087635116},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"479df802-576f-45f1-8322-6b2e493c5ecc","savedPayload":{"position":{"x":10826.986601686769,"y":21512.19863005761},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 210 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma210","id":"f4fa8a22-fe87-4174-bf51-cb574381ca0d","savedPayload":{"position":{"x":10704.88947644408,"y":22068.22319280227},"targetPosition":{"x":10684.463980444403,"y":21537.429514079813},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"45a926f2-4bb2-4562-b40f-bd2532ff1d10","savedPayload":{"position":{"x":10684.467467599357,"y":21537.41821058638},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 280 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma280","id":"49f183b2-f8d1-4055-947d-291b7787d846","savedPayload":{"position":{"x":10417.285018775483,"y":22039.940562589796},"targetPosition":{"x":10540.634122098623,"y":21523.28774644531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d5e455bf-bb27-41fa-ba41-c8e7d0aa4d5e","savedPayload":{"position":{"x":10540.64514244046,"y":21523.29017413021},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 280 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma280","id":"012f6580-f9e9-47f6-b6f4-82598b8e8aa7","savedPayload":{"position":{"x":10147.575278938364,"y":21935.00722474303},"targetPosition":{"x":10405.75555613149,"y":21470.804623034193},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"298d0ca9-1b4a-48d8-8efe-fda6b2fc2c34","savedPayload":{"position":{"x":10405.769206207418,"y":21470.808474019024},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 350 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma350","id":"4a3f6588-26e3-446b-ac4e-54ad3bc9ef3c","savedPayload":{"position":{"x":9916.184767882305,"y":21761.20025403292},"targetPosition":{"x":10290.041468479785,"y":21383.88524423005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f3c05d30-da2e-449e-8471-dcc216f4e630","savedPayload":{"position":{"x":10290.05563614024,"y":21383.883592878396},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 350 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma350","id":"1157762f-1236-43b1-a399-06d59a992d55","savedPayload":{"position":{"x":9740.276432641922,"y":21531.411878469913},"targetPosition":{"x":10202.077541677916,"y":21268.967506811314},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d6598381-9b15-4cb3-afba-b85ed6770ce3","savedPayload":{"position":{"x":10202.082023452977,"y":21268.955400921834},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"New Point","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.propertyA","id":"24151ce9-3ecb-4c6b-97e5-41a8a95b45a8","savedPayload":{"position":{"x":9632.886470834843,"y":21262.673695576545},"targetPosition":{"x":10148.37510133174,"y":21134.565811715707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"30f77a0a-81fd-4498-8510-cfca20b6b1d8","savedPayload":{"position":{"x":10148.372208398561,"y":21134.572515370044},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"New Point","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.propertyA","id":"0da81a21-3169-44c7-a896-17eb32bdfa17","savedPayload":{"position":{"x":9601.984499905424,"y":20975.33752365935},"targetPosition":{"x":10132.92659659292,"y":20990.85977306084},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6fd2e88e-f5e1-45d5-8baf-4bc724bf2bae","savedPayload":{"position":{"x":10132.92659659292,"y":20990.85977306084},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 14 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma14","id":"78e7fbfb-c210-44b6-8399-1567f81c73c9","savedPayload":{"position":{"x":9649.901690508634,"y":20689.855115806393},"targetPosition":{"x":10156.907664081727,"y":20848.04770951942},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d5f823d6-8b99-44b5-99dc-04724a531323","savedPayload":{"position":{"x":10156.907664081727,"y":20848.04770951942},"targetPosition":{"x":10664.040484450454,"y":21006.416346684095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e561ee2d-8458-4001-8904-61cd2a3a815e","savedPayload":{"position":{"x":10664.040484450454,"y":21006.416346684095},"targetPosition":{"x":10700.222264305385,"y":18888.0270830937},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"SMA 7","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"38522e0c-85c4-49ae-93ac-9a04470855e0","savedPayload":{"position":{"x":10289.924023731242,"y":19718.78844837654},"targetPosition":{"x":10339.077312275671,"y":19594.79744934367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"fcc0c4b0-28ea-4482-8da8-16a0c88c1e52","savedPayload":{"position":{"x":10339.077312275671,"y":19594.79744934367},"targetPosition":{"x":10411.49609446588,"y":19334.221567010358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 7 End","id":"f11dbba2-2bd3-4d0a-a182-2ef78a492d32","savedPayload":{"position":{"x":10264.115781686012,"y":19574.140988725434},"targetPosition":{"x":10411.49609446588,"y":19334.221567010358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 7 End","id":"a95fee99-4a06-44d7-a6c4-0eea9ccec4d9"}}},{"type":"Polygon Vertex","name":"SMA 7 Begin","id":"c50700bc-305d-4cb6-b1bf-1c03c7459d2b","savedPayload":{"position":{"x":10216.161250442916,"y":19503.92615371174},"targetPosition":{"x":10411.49609446588,"y":19334.221567010358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 7 Begin","id":"8d6e2d59-fe23-4ba5-ad87-d9d15ad60340"}}}],"id":"62ad882d-f16d-4476-8c17-0f6e2d6e2b76","savedPayload":{"position":{"x":10411.49609446588,"y":19334.221567010358},"targetPosition":{"x":10700.222264305385,"y":18888.0270830937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 14","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"14a21030-fa6b-44ef-8cb2-e4f3cb79126e","savedPayload":{"position":{"x":10074.856149478519,"y":19578.503824856853},"targetPosition":{"x":10154.843700573407,"y":19471.316182489863},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"ca2fa8f2-f6a1-4084-8606-a35495dfd596","savedPayload":{"position":{"x":10154.843700573407,"y":19471.316182489863},"targetPosition":{"x":10305.563679180172,"y":19243.928986815998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 14 Begin","id":"e7d170e8-3d4f-4a55-883a-3a3394fef2af","savedPayload":{"position":{"x":10101.829587263835,"y":19435.005216303114},"targetPosition":{"x":10305.563679180172,"y":19243.928986815998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 14 Begin","id":"d5f823d6-8b99-44b5-99dc-04724a531323"}}},{"type":"Polygon Vertex","name":"SMA 14 End","id":"2383789a-4600-4b8b-a49b-51cbeb46d4f1","savedPayload":{"position":{"x":10071.69832821408,"y":19356.99815480937},"targetPosition":{"x":10305.563679180172,"y":19243.928986815998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 14 End","id":"c6d631e7-8cd0-4ccd-b7b4-90b8dda615d8"}}}],"id":"ab179cef-53c3-46f7-a83b-af29ccd8bc90","savedPayload":{"position":{"x":10305.563679180172,"y":19243.928986815998},"targetPosition":{"x":10700.222264305385,"y":18888.0270830937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 21","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"f8f0733e-0890-4d54-8d77-1b1fc8b8c92b","savedPayload":{"position":{"x":9916.472102330465,"y":19392.519732407916},"targetPosition":{"x":10021.646123555658,"y":19309.703324171696},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"a0f2de63-1abd-4945-9c8c-84e21fd121e0","savedPayload":{"position":{"x":10021.646123555658,"y":19309.703324171696},"targetPosition":{"x":10226.796970278016,"y":19129.481421401593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 21 End","id":"69c3f249-07bf-4a03-b8a1-9d74d0255f23","savedPayload":{"position":{"x":9980.043473674517,"y":19261.007998418063},"targetPosition":{"x":10226.796970278016,"y":19129.481421401593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 21 End","id":"df7e58c1-c042-443b-bfd3-69d57894d358"}}},{"type":"Polygon Vertex","name":"SMA 21 Begin","id":"959961b9-9bf9-48ce-9ee0-08d2d6a62b8e","savedPayload":{"position":{"x":9971.933475030188,"y":19177.86038679286},"targetPosition":{"x":10226.796970278016,"y":19129.481421401593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 21 Begin","id":"4f1044fa-67dd-42dc-ba74-61e299e1f1e1"}}}],"id":"9a17429f-8213-4a7e-8167-dc36d761973e","savedPayload":{"position":{"x":10226.796970278016,"y":19129.481421401593},"targetPosition":{"x":10700.222264305385,"y":18888.0270830937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 28","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"713c60e9-ee11-4551-ab62-58ce9c16e066","savedPayload":{"position":{"x":9812.039002405605,"y":19172.27855876475},"targetPosition":{"x":9935.122720630823,"y":19119.556407333897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"725a4d2f-0838-4d78-a8fa-a2b129feda2f","savedPayload":{"position":{"x":9935.122720630823,"y":19119.556407333897},"targetPosition":{"x":10180.362548175026,"y":18998.58915368689},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 28 Begin","id":"f4c161f4-6510-47a2-97f7-3f9f848d9892","savedPayload":{"position":{"x":9908.025943369588,"y":19061.685192946632},"targetPosition":{"x":10180.362548175026,"y":18998.58915368689},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 28 Begin","id":"7bd742dd-7c4c-4dfe-9415-e655a5e1cc88"}}},{"type":"Polygon Vertex","name":"SMA 28 End","id":"b1b22a6f-0a69-401f-90ea-2306baee0ea2","savedPayload":{"position":{"x":9921.542262817815,"y":18979.430345718498},"targetPosition":{"x":10180.362548175026,"y":18998.58915368689},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 28 End","id":"7678774b-b068-4757-962b-8e126342898a"}}}],"id":"4f6e0c60-00a8-4a76-b1b1-4eaa25c5824c","savedPayload":{"position":{"x":10180.362548175026,"y":18998.58915368689},"targetPosition":{"x":10700.222264305385,"y":18888.0270830937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 35","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"73f591c5-286b-4441-aa59-f647f738e40e","savedPayload":{"position":{"x":9637.200211316258,"y":18951.75249723331},"targetPosition":{"x":9900.905799622617,"y":18913.635300710986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"2c56cb10-43c9-447b-8b8a-30dae8e7fab8","savedPayload":{"position":{"x":9900.905799622617,"y":18913.635300710986},"targetPosition":{"x":10169.44808288467,"y":18860.35841173567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 35 End","id":"3ad24108-1339-4c6d-abc6-27a9aa5bc046","savedPayload":{"position":{"x":9890.324185323354,"y":18850.867993557367},"targetPosition":{"x":10169.44808288467,"y":18860.35841173567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 35 End","id":"f620fdbe-48b5-4831-995d-b3c721738d1b"}}},{"type":"Polygon Vertex","name":"SMA 35 Begin","id":"abfdefe3-b9d4-4816-b2cc-7aa64bb69734","savedPayload":{"position":{"x":9924.174092698775,"y":18774.748645245993},"targetPosition":{"x":10169.44808288467,"y":18860.35841173567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 35 Begin","id":"93613bd9-2dbb-493c-a72e-414b0398733e"}}}],"id":"a8a09eca-7bee-4f17-b7db-1f43f419441c","savedPayload":{"position":{"x":10169.44808288467,"y":18860.35841173567},"targetPosition":{"x":10700.222264305385,"y":18888.0270830937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 70","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"9ac33f9d-bce7-407a-8de9-3334bb263b69","savedPayload":{"position":{"x":9657.181322753973,"y":18674.690225965536},"targetPosition":{"x":9921.763450753066,"y":18705.930936789948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"ea184e1f-5a0f-4ed3-b3ed-6ba18e7237f9","savedPayload":{"position":{"x":9921.763450753066,"y":18705.930936789948},"targetPosition":{"x":10194.735249503445,"y":18723.878795708064},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 70 Begin","id":"5505dd50-5ad7-48fc-9256-14cab581d92f","savedPayload":{"position":{"x":9927.600601400447,"y":18642.523637335282},"targetPosition":{"x":10194.735249503445,"y":18723.878795708064},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 70 Begin","id":"9e506a85-5f72-4a3f-a773-cd85d8b15f21"}}},{"type":"Polygon Vertex","name":"SMA 70 End","id":"b255b251-b73a-469c-a41f-e273d2909af2","savedPayload":{"position":{"x":9979.911504314909,"y":18577.67157736404},"targetPosition":{"x":10194.735249503445,"y":18723.878795708064},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 70 End","id":"8392e1ff-33a6-4b95-baad-3f146bd3c121"}}}],"id":"31cf093b-6de4-4e4a-a8f4-f3ff989dd374","savedPayload":{"position":{"x":10194.735249503445,"y":18723.878795708064},"targetPosition":{"x":10700.222264305385,"y":18888.0270830937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 140","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"e9088da2-eb17-4e48-9fba-5bd00fba6a2b","savedPayload":{"position":{"x":9748.336241845374,"y":18412.11855411127},"targetPosition":{"x":9995.76119446138,"y":18510.737426426906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"b93ae9ca-6c4e-47db-a998-045e845ab9cd","savedPayload":{"position":{"x":9995.76119446138,"y":18510.737426426906},"targetPosition":{"x":10254.54761969282,"y":18598.578058957475},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 140 Begin","id":"e1bdea5b-664c-4146-adf6-858405354f8c","savedPayload":{"position":{"x":10017.521847336264,"y":18450.773408842324},"targetPosition":{"x":10254.54761969282,"y":18598.578058957475},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 140 Begin","id":"39e65adb-6125-4e9a-8f15-5403b21aac40"}}},{"type":"Polygon Vertex","name":"SMA 140 End","id":"3d994072-d0b7-4065-a8be-3c718de28086","savedPayload":{"position":{"x":10085.043467783975,"y":18401.80377604246},"targetPosition":{"x":10254.54761969282,"y":18598.578058957475},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 140 End","id":"7559cbf5-acba-4a60-91b4-d95f90293f22"}}}],"id":"41a149aa-efdf-4f53-82cf-cce9e904a000","savedPayload":{"position":{"x":10254.54761969282,"y":18598.578058957475},"targetPosition":{"x":10700.222264305385,"y":18888.0270830937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 210","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"08949257-633e-4013-b770-bbb798972d2d","savedPayload":{"position":{"x":9904.288707082525,"y":18182.034690135093},"targetPosition":{"x":10117.651515786018,"y":18341.22446523032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"53e088d8-8ec5-4dbe-b732-c65f31005105","savedPayload":{"position":{"x":10117.651515786018,"y":18341.22446523032},"targetPosition":{"x":10344.785182178593,"y":18492.98625633458},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 210 Begin","id":"15882e16-4782-48e8-9cac-fbb1d07ae51d","savedPayload":{"position":{"x":10154.168308629947,"y":18288.909454043325},"targetPosition":{"x":10344.785182178593,"y":18492.98625633458},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 210 Begin","id":"479df802-576f-45f1-8322-6b2e493c5ecc"}}},{"type":"Polygon Vertex","name":"SMA 210 End","id":"a6f51174-ea46-4282-a476-4e809f456682","savedPayload":{"position":{"x":10232.10427234063,"y":18259.018786403358},"targetPosition":{"x":10344.785182178593,"y":18492.98625633458},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 210 End","id":"45a926f2-4bb2-4562-b40f-bd2532ff1d10"}}}],"id":"c3ee15c5-a5b3-4318-bc09-a9fd03592d83","savedPayload":{"position":{"x":10344.785182178593,"y":18492.98625633458},"targetPosition":{"x":10700.222264305385,"y":18888.0270830937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 280","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"942d9600-7935-4ca6-81d8-9bd014df736f","savedPayload":{"position":{"x":10114.82573678089,"y":18000.115302466253},"targetPosition":{"x":10279.367464614383,"y":18209.049898809873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"1c6e0c3f-8ac7-4b0b-9da8-0f7faf9befd1","savedPayload":{"position":{"x":10279.367464614383,"y":18209.049898809873},"targetPosition":{"x":10459.360226873649,"y":18414.334514276627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 280 Begin","id":"cc54382b-cf2b-42c7-8958-8816809dd7ba","savedPayload":{"position":{"x":10328.065625293051,"y":18167.51336811247},"targetPosition":{"x":10459.360226873649,"y":18414.334514276627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 280 Begin","id":"d5e455bf-bb27-41fa-ba41-c8e7d0aa4d5e"}}},{"type":"Polygon Vertex","name":"SMA 280 End","id":"3629786a-8eed-4cff-9780-0e685aeed577","savedPayload":{"position":{"x":10411.3916324197,"y":18159.573913953518},"targetPosition":{"x":10459.360226873649,"y":18414.334514276627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 280 End","id":"298d0ca9-1b4a-48d8-8efe-fda6b2fc2c34"}}}],"id":"3bbf5574-e89c-4538-a95c-2da58e5a74d7","savedPayload":{"position":{"x":10459.360226873649,"y":18414.334514276627},"targetPosition":{"x":10700.222264305385,"y":18888.0270830937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 350","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.BLACK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"8142bd21-31e4-4edd-97d5-217e30321e0a","savedPayload":{"position":{"x":10365.052900737488,"y":17878.333212489364},"targetPosition":{"x":10469.768982222407,"y":18122.858201840594},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"6eade211-19cf-48a7-87ac-faf30e387e10","savedPayload":{"position":{"x":10469.768982222407,"y":18122.858201840594},"targetPosition":{"x":10590.5873883291,"y":18367.991007224307},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 350 End","id":"f16d8eac-9e78-4167-b087-9803637412a6","savedPayload":{"position":{"x":10522.732369538791,"y":18094.26917737883},"targetPosition":{"x":10590.5873883291,"y":18367.991007224307},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 350 End","id":"d6598381-9b15-4cb3-afba-b85ed6770ce3"}}},{"type":"Polygon Vertex","name":"SMA 350 Begin","id":"b94a339d-5abf-4563-a693-edb5d812c24e","savedPayload":{"position":{"x":10633.168464914737,"y":18107.42988236712},"targetPosition":{"x":10590.5873883291,"y":18367.991007224307},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 350 Begin","id":"f3c05d30-da2e-449e-8471-dcc216f4e630"}}}],"id":"046240f2-f70b-471d-b07b-0e7490222f0d","savedPayload":{"position":{"x":10590.5873883291,"y":18367.991007224307},"targetPosition":{"x":10700.222264305385,"y":18888.0270830937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"391b803a-4b4e-4c0b-bb6b-b4d68e989c9c","savedPayload":{"position":{"x":10700.222264305385,"y":18888.0270830937},"targetPosition":{"x":11104.927063717978,"y":18394.24364826131},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"SMA Base 7","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"SMA 7","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma7","id":"1c683838-c882-49bd-997a-2f4255347854","savedPayload":{"position":{"x":9969.24646150106,"y":17943.513035284126},"targetPosition":{"x":9926.886497689387,"y":17681.63181044258},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c26c14bd-b9ab-4121-89b2-eb3044534cf2","savedPayload":{"position":{"x":9926.886497689387,"y":17681.63181044258},"targetPosition":{"x":9884.160240869833,"y":17419.44139796691},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 14","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma14","id":"1060ea54-bb29-4c3b-8db0-522893543a36","savedPayload":{"position":{"x":9672.077200371385,"y":17906.91613922136},"targetPosition":{"x":9778.171101887418,"y":17663.234478095925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"94b29f18-cad5-49df-8b87-d6ef10f5ae61","savedPayload":{"position":{"x":9778.171101887418,"y":17663.234478095925},"targetPosition":{"x":9884.160240869833,"y":17419.44139796691},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 21","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma21","id":"c0287e9c-4b88-4b92-b6ac-f17474649958","savedPayload":{"position":{"x":9441.835195746096,"y":17715.06492476221},"targetPosition":{"x":9662.99051276551,"y":17567.260408882958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ffcb7173-b2bf-4d5d-90e5-6f8b26af4b86","savedPayload":{"position":{"x":9662.99051276551,"y":17567.260408882958},"targetPosition":{"x":9884.160240869833,"y":17419.44139796691},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 28","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma28","id":"9f1615e0-e437-4221-8e9a-a6dcb4556022","savedPayload":{"position":{"x":9351.94607680628,"y":17429.051765261072},"targetPosition":{"x":9618.019044983937,"y":17424.229338175894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"186d8c1a-5eef-44a1-aa09-b28e4f5b6b0e","savedPayload":{"position":{"x":9618.019044983937,"y":17424.229338175894},"targetPosition":{"x":9884.160240869833,"y":17419.44139796691},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 35","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma35","id":"423f3069-d5a3-4d29-bb35-68802f367c50","savedPayload":{"position":{"x":9430.981529039795,"y":17140.178250828718},"targetPosition":{"x":9657.533550518796,"y":17279.778004640833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6b047d8e-451d-4267-adc4-6e9496aa0025","savedPayload":{"position":{"x":9657.533550518796,"y":17279.778004640833},"targetPosition":{"x":9884.160240869833,"y":17419.44139796691},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 70","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma70","id":"62ed074e-5b1a-4306-b411-cd436680147d","savedPayload":{"position":{"x":9653.87508688327,"y":16939.500225994543},"targetPosition":{"x":9768.996924651778,"y":17179.424131780106},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9676685c-f20e-4d65-a0fe-8551e80132ee","savedPayload":{"position":{"x":9768.996924651778,"y":17179.424131780106},"targetPosition":{"x":9884.160240869833,"y":17419.44139796691},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 140","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma140","id":"2200abd2-2897-4eff-9804-f599c0e18f42","savedPayload":{"position":{"x":9949.454797776607,"y":16891.157139261075},"targetPosition":{"x":9916.807825648279,"y":17155.253085836594},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a44d3c89-8463-4493-b195-70ee4146bbdb","savedPayload":{"position":{"x":9916.807825648279,"y":17155.253085836594},"targetPosition":{"x":9884.160240869833,"y":17419.44139796691},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 210","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma210","id":"38e3066f-1951-4c96-8a36-3bcf778328bd","savedPayload":{"position":{"x":10224.542601324209,"y":17010.49657580431},"targetPosition":{"x":10054.373129303718,"y":17214.93920072093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"44198c4d-4d98-43a2-9c03-2d8794b9edac","savedPayload":{"position":{"x":10054.373129303718,"y":17214.93920072093},"targetPosition":{"x":9884.160240869833,"y":17419.44139796691},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 280","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma280","id":"eca55243-4492-4983-9e03-04694437c8ae","savedPayload":{"position":{"x":10391.414096271632,"y":17259.612804224},"targetPosition":{"x":10137.818732589223,"y":17339.524233307595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"96706885-fa55-4fad-82bd-fb43a2f331d7","savedPayload":{"position":{"x":10137.818732589223,"y":17339.524233307595},"targetPosition":{"x":9884.160240869833,"y":17419.44139796691},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 350","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma350","id":"64ea1867-2fb1-4191-a4c7-b5ac37f7be7a","savedPayload":{"position":{"x":10397.02721782891,"y":17558.96599112552},"targetPosition":{"x":10140.601168133837,"y":17489.307921027594},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9f208b33-3d80-4d2e-ad88-13139a8e93f8","savedPayload":{"position":{"x":10140.601168133837,"y":17489.307921027594},"targetPosition":{"x":9884.160240869833,"y":17419.44139796691},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b73ac725-eea1-4aa2-974c-937de300b456","savedPayload":{"position":{"x":9884.160240869833,"y":17419.44139796691},"targetPosition":{"x":11104.927063717978,"y":18394.24364826131},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"515565ff-dee2-4adf-adaf-b4cfea5f5dbd","savedPayload":{"position":{"x":11824.15247437407,"y":18710.822750173273},"targetPosition":{"x":12424.206554116216,"y":18710.734611771542},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"SMA Base 6","config":"{\n\t\"codeName\": \"SMA-Base6\",\n \"icon\": \"moving-average\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"SMA 6 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma6","id":"28dce892-9996-45ac-af68-55d0056b6af2","savedPayload":{"position":{"x":10822.406260298632,"y":18073.895505906192},"targetPosition":{"x":10520.998850986582,"y":18810.586334771204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dece94e6-77de-4d21-9376-c2efc825b567","savedPayload":{"position":{"x":10520.998850986582,"y":18810.586334771204},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 6 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma6","id":"f878b59a-0787-4c44-a341-02db47b15aad","savedPayload":{"position":{"x":11170.033164428185,"y":18269.612328287385},"targetPosition":{"x":10694.752847723792,"y":18908.698881663695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"32025fb3-9ec4-4f50-b4c9-9a73100ce864","savedPayload":{"position":{"x":10694.752847723792,"y":18908.698881663695},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 12 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma12","id":"d3c24df7-68df-4d50-92d6-9f722ee8816a","savedPayload":{"position":{"x":11457.41898685328,"y":18546.635228276096},"targetPosition":{"x":10838.554220435182,"y":19046.960640658363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8662f4a4-41a4-4992-a333-017cd8764cd1","savedPayload":{"position":{"x":10838.554220435182,"y":19046.960640658363},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 18 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma18","id":"fc0e1a4a-8966-4340-83bc-2c43992486ed","savedPayload":{"position":{"x":11667.318636236132,"y":18886.23060713431},"targetPosition":{"x":10943.575441744271,"y":19216.813433289593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3260182a-83b5-4362-8962-84ec488b69cb","savedPayload":{"position":{"x":10943.575441744271,"y":19216.813433289593},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 18 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma18","id":"53ce5612-9c75-4a89-98cd-7dd278f67df3","savedPayload":{"position":{"x":11786.511457814891,"y":19267.17430488821},"targetPosition":{"x":11003.22436859903,"y":19407.215506861463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"942b73d2-241e-43dd-b83b-0d3724f331a4","savedPayload":{"position":{"x":11003.22436859903,"y":19407.215506861463},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 24 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma24","id":"9c2d5563-016b-40e7-a45f-973a874ee6e3","savedPayload":{"position":{"x":11807.13773613571,"y":19665.266271901786},"targetPosition":{"x":11013.523527965446,"y":19606.260950051943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c0b2d03c-3cec-4ca2-b344-cdd99cb28362","savedPayload":{"position":{"x":11013.523527965446,"y":19606.260950051943},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 24 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma24","id":"3b3a0b5b-0290-47a3-8bef-d5b289e4f7b6","savedPayload":{"position":{"x":11727.982783979578,"y":20056.372975659222},"targetPosition":{"x":10973.927910162898,"y":19801.832217110183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4b33b779-8111-415c-a1e5-893ed5f49527","savedPayload":{"position":{"x":10973.927910162898,"y":19801.832217110183},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 30 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma30","id":"876a382a-7632-4dcf-b0d5-b36d8df8b92c","savedPayload":{"position":{"x":11554.025571267748,"y":20415.510927314164},"targetPosition":{"x":10886.931944534865,"y":19981.420992681677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fef118ef-22cb-4ff5-b971-c90c2a01265a","savedPayload":{"position":{"x":10886.931944534865,"y":19981.420992681677},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 30 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma30","id":"59c1198f-77ea-4780-b25b-e17b11bd0a0e","savedPayload":{"position":{"x":11296.197370445365,"y":20720.10850950046},"targetPosition":{"x":10758.003901631457,"y":20133.737392562005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8e2f5657-06b0-4e46-aa7e-8676683ffb77","savedPayload":{"position":{"x":10758.003901631457,"y":20133.737392562005},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 60 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma60","id":"deea8750-3324-4bdc-bc4d-7fc9db32ceca","savedPayload":{"position":{"x":10970.706529039026,"y":20951.022745801693},"targetPosition":{"x":10595.246819489044,"y":20249.206915268056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8e7fb950-9b88-4aaf-95a1-982abf35b9f3","savedPayload":{"position":{"x":10595.246819489044,"y":20249.206915268056},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 60 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma60","id":"4c4c6ec2-0ae2-4c37-bf9e-a2753f2b6ac5","savedPayload":{"position":{"x":10598.004499629527,"y":21093.747448109185},"targetPosition":{"x":10408.884802427217,"y":20320.581854750624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"173b07f4-37d0-4831-8d6b-1b989d9e3213","savedPayload":{"position":{"x":10408.884802427217,"y":20320.581854750624},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 120 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma120","id":"4fae8019-4feb-4608-b26e-1b84bfa92eca","savedPayload":{"position":{"x":10201.90475077108,"y":21139.291696731892},"targetPosition":{"x":10210.82572361045,"y":20343.36233717695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2fb358ff-8b9f-4b95-95f8-8be509b5b3a1","savedPayload":{"position":{"x":10210.82572361045,"y":20343.36233717695},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 120 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma120","id":"94a5dfc2-27fa-48e5-8d60-125c185ee02c","savedPayload":{"position":{"x":9703.582936331923,"y":21467.863893051777},"targetPosition":{"x":10013.129039280231,"y":20316.129457026196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{}}},"id":"682e079f-319c-43dc-91a2-5732c3fb28c8","savedPayload":{"position":{"x":10013.129039280231,"y":20316.129457026196},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 180 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma180","id":"c2b1772b-a983-4ecd-baec-c3ca0c346515","savedPayload":{"position":{"x":9437.159153920142,"y":20933.7503613839},"targetPosition":{"x":9828.413433277134,"y":20240.59236233591},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5a2a1087-3910-4dd5-90d6-2370dc8949fa","savedPayload":{"position":{"x":9828.413433277134,"y":20240.59236233591},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 180 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma180","id":"b7886b86-1f12-4645-b2fb-ecb4182dbec2","savedPayload":{"position":{"x":9116.905705275438,"y":20695.566050780577},"targetPosition":{"x":9668.273345855332,"y":20121.49914693617},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1b5a66be-de8e-40c3-b3f2-e193e5deaeed","savedPayload":{"position":{"x":9668.273345855332,"y":20121.49914693617},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 240 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma240","id":"219f9e45-38cc-4c5f-a396-f7a0788f973e","savedPayload":{"position":{"x":8865.973833459671,"y":20385.262592723182},"targetPosition":{"x":9542.801440792797,"y":19966.353479111076},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"854a73e9-f8d2-4b85-a0dd-65284e175ca0","savedPayload":{"position":{"x":9542.801440792797,"y":19966.353479111076},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 240 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma240","id":"57299592-e72a-4e7e-ac7a-e055ac925792","savedPayload":{"position":{"x":8700.070541519724,"y":20022.337109208212},"targetPosition":{"x":9459.831960159065,"y":19784.904102835604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"13eca50c-c1fb-4baa-8618-1f7eafde66c9","savedPayload":{"position":{"x":9459.831960159065,"y":19784.904102835604},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 300 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma300","id":"fc7307b3-aeb1-49c0-bac9-ac2d27ad5d05","savedPayload":{"position":{"x":8618.194366360565,"y":19633.991316242547},"targetPosition":{"x":9413.181201637779,"y":19592.922265039855},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"45ae2073-5312-48dc-b4ed-61326a2ce947","savedPayload":{"position":{"x":9413.181201637779,"y":19592.922265039855},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 300 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma300","id":"9754f895-ef8d-4165-ae3b-efd97f52f9ce","savedPayload":{"position":{"x":8659.028238476438,"y":19232.071764660777},"targetPosition":{"x":9439.206840617544,"y":19389.78872279338},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"31514c9e-d4f7-4c54-94ca-4e04e5f1df5c","savedPayload":{"position":{"x":9439.206840617544,"y":19389.78872279338},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 12 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma12","id":"cb472a55-eacc-4dec-b337-087a1116e39f","savedPayload":{"position":{"x":8800.895785919993,"y":18832.915478230316},"targetPosition":{"x":9517.514514975095,"y":19179.638954508362},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"48fe3ebc-6bbf-4a33-9068-2766eaf1599a","savedPayload":{"position":{"x":9517.514514975095,"y":19179.638954508362},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 600 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma600","id":"a22c9eff-f7ff-4867-ba2e-c123b4036f99","savedPayload":{"position":{"x":9004.577258706866,"y":18519.006584655337},"targetPosition":{"x":9612.099536804913,"y":19033.142508646742},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3ecee44a-2a84-41ac-b579-f6f48acc590a","savedPayload":{"position":{"x":9612.099536804913,"y":19033.142508646742},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 600 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma600","id":"2197c8c8-f750-4adf-a521-b1e4b347663c","savedPayload":{"position":{"x":9290.53001758113,"y":18256.82493433982},"targetPosition":{"x":9751.528473868211,"y":18905.67013133771},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9bd8a9e7-09cf-4989-a9fa-c2f73d361134","savedPayload":{"position":{"x":9751.528473868211,"y":18905.67013133771},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 1200 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma1200","id":"17399e4a-5716-4e7b-9348-995fef5766eb","savedPayload":{"position":{"x":9651.240063938823,"y":18060.459896071086},"targetPosition":{"x":9935.620879146309,"y":18803.69871232929},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0481ec1e-ae49-4c99-a5ad-16c427db6e45","savedPayload":{"position":{"x":9935.620879146309,"y":18803.69871232929},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 1200 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma1200","id":"5df49dd0-4b42-4be0-8493-2d762fa6b9c2","savedPayload":{"position":{"x":10038.419022412609,"y":17965.64209045629},"targetPosition":{"x":10129.284733097773,"y":18756.36913698971},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"eacd5f37-bdf2-4756-b7db-46db919b08a7","savedPayload":{"position":{"x":10129.284733097773,"y":18756.36913698971},"targetPosition":{"x":10219.72972409669,"y":19547.274262557443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ddf91804-9a1f-44db-aea2-11db8bcd6aa1","savedPayload":{"position":{"x":10219.61631345783,"y":19547.319835131897},"targetPosition":{"x":10436.250691487223,"y":17973.61983501151},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"SMA 6","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"34040727-f963-4459-9d11-6dfe71da067f","savedPayload":{"position":{"x":9907.951115844264,"y":19746.498401953573},"targetPosition":{"x":9956.012973463186,"y":19485.02534486223},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"ec04ffcd-829f-41db-9aa0-c3807ff916ef","savedPayload":{"position":{"x":9956.012973463186,"y":19485.02534486223},"targetPosition":{"x":10044.009670155008,"y":18960.45927956067},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 6 End","id":"143eac37-51eb-4384-9455-94a62c781a28","savedPayload":{"position":{"x":9850.849541901664,"y":19457.55742384799},"targetPosition":{"x":10044.009670155008,"y":18960.45927956067},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 6 End","id":"32025fb3-9ec4-4f50-b4c9-9a73100ce864"}}},{"type":"Polygon Vertex","name":"SMA 6 Begin","id":"ffabc963-65ea-44af-9d15-d8bf6896a781","savedPayload":{"position":{"x":9744.332497438625,"y":19400.354305594952},"targetPosition":{"x":10044.009670155008,"y":18960.45927956067},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 6 Begin","id":"dece94e6-77de-4d21-9376-c2efc825b567"}}}],"id":"12470549-c8b6-453f-a87a-396921a0a871","savedPayload":{"position":{"x":10044.009670155008,"y":18960.45927956067},"targetPosition":{"x":10436.250691487223,"y":17973.61983501151},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 12","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"065e548b-05c8-4419-9bd1-0ef305c8b868","savedPayload":{"position":{"x":9491.536629792276,"y":19564.346017432792},"targetPosition":{"x":9600.86938009317,"y":19321.964460232455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"bb849209-1786-43ce-b2cc-cb1d43252144","savedPayload":{"position":{"x":9600.86938009317,"y":19321.964460232455},"targetPosition":{"x":9819.077846075017,"y":18837.77304967455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 12 Begin","id":"9af3283c-bb60-4843-beae-89f1d065c8ba","savedPayload":{"position":{"x":9510.39933599538,"y":19269.981207389108},"targetPosition":{"x":9819.077846075017,"y":18837.77304967455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 12 Begin","id":"48fe3ebc-6bbf-4a33-9068-2766eaf1599a"}}},{"type":"Polygon Vertex","name":"SMA 12 End","id":"fee1b2e2-fdd0-4a53-b277-b7549e08aaf8","savedPayload":{"position":{"x":9431.893772926871,"y":19201.282592689266},"targetPosition":{"x":9819.077846075017,"y":18837.77304967455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 12 End","id":"8662f4a4-41a4-4992-a333-017cd8764cd1"}}}],"id":"986a8bf8-3b7a-4421-80bd-940fa3bfe496","savedPayload":{"position":{"x":9819.077846075017,"y":18837.77304967455},"targetPosition":{"x":10436.250691487223,"y":17973.61983501151},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 18","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"4ee42ccb-7981-4865-990b-09a84732f649","savedPayload":{"position":{"x":9138.102155497903,"y":19291.8062618121},"targetPosition":{"x":9302.301381089017,"y":19082.67323678186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"557e774e-833c-4373-a833-24a2b8e1c98b","savedPayload":{"position":{"x":9302.301381089017,"y":19082.67323678186},"targetPosition":{"x":9630.088723877127,"y":18664.818437705355},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 18 End","id":"b73a1590-a667-4c62-b1b0-319bc1c35264","savedPayload":{"position":{"x":9226.902829381599,"y":19010.54731533408},"targetPosition":{"x":9630.088723877127,"y":18664.818437705355},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 18 End","id":"942b73d2-241e-43dd-b83b-0d3724f331a4"}}},{"type":"Polygon Vertex","name":"SMA 18 Begin","id":"370a951b-b7cb-47fe-8e09-799f7da546a6","savedPayload":{"position":{"x":9167.093078692405,"y":18925.019901004565},"targetPosition":{"x":9630.088723877127,"y":18664.818437705355},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 18 Begin","id":"3260182a-83b5-4362-8962-84ec488b69cb"}}}],"id":"9f9eeee3-ebd5-4f65-9079-cd0ac3c373da","savedPayload":{"position":{"x":9630.088723877127,"y":18664.818437705355},"targetPosition":{"x":10436.250691487223,"y":17973.61983501151},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 24","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"b30aa3da-65ea-4e03-88d0-d452114f94bc","savedPayload":{"position":{"x":8074.056951482982,"y":19426.32792669228},"targetPosition":{"x":8387.936691106532,"y":19180.947145814487},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"42bded2a-28e5-457d-b8de-a71218db1630","savedPayload":{"position":{"x":8387.936691106532,"y":19180.947145814487},"targetPosition":{"x":9014.91384229759,"y":18690.603309059676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 24 Begin","id":"a7a1b3d2-2c0a-47d0-8177-991c5b860ed4","savedPayload":{"position":{"x":8304.222505480686,"y":19049.0540680058},"targetPosition":{"x":9014.91384229759,"y":18690.603309059676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 24 Begin","id":"c0b2d03c-3cec-4ca2-b344-cdd99cb28362"}}},{"type":"Polygon Vertex","name":"SMA 24 End","id":"8aac2b0b-8089-4adc-93d2-1544e0113105","savedPayload":{"position":{"x":8247.88220950679,"y":18903.381974669366},"targetPosition":{"x":9014.91384229759,"y":18690.603309059676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 24 End","id":"4b33b779-8111-415c-a1e5-893ed5f49527"}}}],"id":"5cde1b9e-eed8-4e90-9f31-9d0f38d4aef9","savedPayload":{"position":{"x":9014.91384229759,"y":18690.603309059676},"targetPosition":{"x":10436.250691487223,"y":17973.61983501151},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 30","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"682c040c-2367-4838-92d2-5c14e6d65e0a","savedPayload":{"position":{"x":8432.236378136377,"y":18646.19123068696},"targetPosition":{"x":8916.759920443857,"y":18428.8398842136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"e80caa85-ac79-4b2b-ab2d-04f54c46b24b","savedPayload":{"position":{"x":8916.759920443857,"y":18428.8398842136},"targetPosition":{"x":9401.230939070678,"y":18211.184929220602},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 30 End","id":"985225d1-7a9d-45f7-93d2-59fe91c4450c","savedPayload":{"position":{"x":8883.494624673198,"y":18329.88439729509},"targetPosition":{"x":9401.230939070678,"y":18211.184929220602},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 30 End","id":"8e2f5657-06b0-4e46-aa7e-8676683ffb77"}}},{"type":"Polygon Vertex","name":"SMA 30 Begin","id":"0e1a912e-34be-4976-8d43-141b0f89a8ee","savedPayload":{"position":{"x":8870.28506284534,"y":18226.405516049774},"targetPosition":{"x":9401.230939070678,"y":18211.184929220602},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 30 Begin","id":"fef118ef-22cb-4ff5-b971-c90c2a01265a"}}}],"id":"ba9cdf50-c1e0-42c5-a81c-dbc068c3b10e","savedPayload":{"position":{"x":9401.230939070678,"y":18211.184929220602},"targetPosition":{"x":10436.250691487223,"y":17973.61983501151},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 60","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"85247bae-4a81-4247-affa-a8889f32987c","savedPayload":{"position":{"x":8329.36481713394,"y":18147.04234599783},"targetPosition":{"x":8851.884164702666,"y":18051.960461929437},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"9a153786-a0a0-4686-b83d-f55fb7513c56","savedPayload":{"position":{"x":8851.884164702666,"y":18051.960461929437},"targetPosition":{"x":9374.423475012141,"y":17956.651539377654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 60 Begin","id":"389d9bf7-3844-4b65-9607-17dec104368f","savedPayload":{"position":{"x":8843.278011935514,"y":17948.170371060907},"targetPosition":{"x":9374.423475012141,"y":17956.651539377654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 60 Begin","id":"8e7fb950-9b88-4aaf-95a1-982abf35b9f3"}}},{"type":"Polygon Vertex","name":"SMA 60 End","id":"0386e3c3-f9a3-442c-b2e4-c9d069621958","savedPayload":{"position":{"x":8855.221238425447,"y":17844.534182228457},"targetPosition":{"x":9374.423475012141,"y":17956.651539377654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 60 End","id":"173b07f4-37d0-4831-8d6b-1b989d9e3213"}}}],"id":"8170049e-056a-4818-8f0a-1a23f9c51bff","savedPayload":{"position":{"x":9374.423475012141,"y":17956.651539377654},"targetPosition":{"x":10436.250691487223,"y":17973.61983501151},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 120","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"613b4c9b-b002-4c65-87b7-8b9d41eda4df","savedPayload":{"position":{"x":8349.054211000059,"y":17638.066956221195},"targetPosition":{"x":8879.173948488979,"y":17670.619241116736},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"27a6e346-8da3-4900-83c4-41680d2168f4","savedPayload":{"position":{"x":8879.173948488979,"y":17670.619241116736},"targetPosition":{"x":9409.370814566979,"y":17702.968300169494},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 120 Begin","id":"956a6867-d00a-4888-9ffe-cbfabcfbe4fa","savedPayload":{"position":{"x":8895.707035776386,"y":17567.59282902},"targetPosition":{"x":9409.370814566979,"y":17702.968300169494},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 120 Begin","id":"2fb358ff-8b9f-4b95-95f8-8be509b5b3a1"}}},{"type":"Polygon Vertex","name":"SMA 120 End","id":"040f4fe5-147d-4ba9-9a2d-fa134ca5d178","savedPayload":{"position":{"x":8932.108608135311,"y":17469.824655344375},"targetPosition":{"x":9409.370814566979,"y":17702.968300169494},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 120 End","id":"682e079f-319c-43dc-91a2-5732c3fb28c8"}}}],"id":"7da9bd30-a7f8-410b-93a5-6b76ac57708b","savedPayload":{"position":{"x":9409.370814566979,"y":17702.968300169494},"targetPosition":{"x":10436.250691487223,"y":17973.61983501151},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 240","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"d2ac585e-594d-4031-b17d-2274efc677ec","savedPayload":{"position":{"x":8490.098802343016,"y":17148.219080773437},"targetPosition":{"x":8996.99977366785,"y":17306.71398089713},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"4e402467-2d78-4d95-ba03-3910f5120122","savedPayload":{"position":{"x":8996.99977366785,"y":17306.71398089713},"targetPosition":{"x":9504.020662336572,"y":17465.038056082834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 180 Begin","id":"efe56d7d-f6e6-4944-aa32-26d3c4ed055b","savedPayload":{"position":{"x":9037.709968447196,"y":17210.63808251907},"targetPosition":{"x":9504.020662336572,"y":17465.038056082834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 180 Begin","id":"5a2a1087-3910-4dd5-90d6-2370dc8949fa"}}},{"type":"Polygon Vertex","name":"SMA 180 End","id":"ec3a6f4b-adf2-4be1-ab28-313bbffb7491","savedPayload":{"position":{"x":9096.454215477761,"y":17124.422283596054},"targetPosition":{"x":9504.020662336572,"y":17465.038056082834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 180 End","id":"1b5a66be-de8e-40c3-b3f2-e193e5deaeed"}}}],"id":"adf40814-2b9a-4ee8-a154-364bfca32f7a","savedPayload":{"position":{"x":9504.020662336572,"y":17465.038056082834},"targetPosition":{"x":10436.250691487223,"y":17973.61983501151},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 300","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"e79c6ed7-e52f-4191-a423-b14965211a19","savedPayload":{"position":{"x":8744.302686505604,"y":16706.35980928972},"targetPosition":{"x":9198.513290894096,"y":16981.58108460665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"e5cd42c0-f52d-4608-91d5-966cc7bf39b3","savedPayload":{"position":{"x":9198.513290894096,"y":16981.58108460665},"targetPosition":{"x":9652.873006177308,"y":17256.672176019438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 240 Begin","id":"f29f45ac-86bb-4490-b8b1-9a50dc736782","savedPayload":{"position":{"x":9261.035423472787,"y":16898.0397719639},"targetPosition":{"x":9652.873006177308,"y":17256.672176019438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 240 Begin","id":"854a73e9-f8d2-4b85-a0dd-65284e175ca0"}}},{"type":"Polygon Vertex","name":"SMA 240 End","id":"eb330333-6b0f-4fad-97a7-a34e93cc3dee","savedPayload":{"position":{"x":9338.710046709131,"y":16828.387748865094},"targetPosition":{"x":9652.873006177308,"y":17256.672176019438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 240 End","id":"13eca50c-c1fb-4baa-8618-1f7eafde66c9"}}}],"id":"60c00cdc-dbf4-460b-b021-7339dd7bbec8","savedPayload":{"position":{"x":9652.873006177308,"y":17256.672176019438},"targetPosition":{"x":10436.250691487223,"y":17973.61983501151},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 600","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"182273b1-1d73-4dc7-93dc-b2a4644b18f1","savedPayload":{"position":{"x":9096.921747642113,"y":16338.166432931968},"targetPosition":{"x":9472.030527200704,"y":16714.10973427657},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"3342f900-2346-4377-b6b0-34566787d6d9","savedPayload":{"position":{"x":9472.030527200704,"y":16714.10973427657},"targetPosition":{"x":9847.297702286885,"y":17089.9703811725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 600 Begin","id":"5b6c238c-a7cb-4002-85e5-5e84cd6ffdf8","savedPayload":{"position":{"x":9552.73522450448,"y":16647.95921619608},"targetPosition":{"x":9847.297702286885,"y":17089.9703811725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 600 Begin","id":"3ecee44a-2a84-41ac-b579-f6f48acc590a"}}},{"type":"Polygon Vertex","name":"SMA 600 End","id":"b60e6d28-cb70-49c5-9e06-c67cfe81b1f1","savedPayload":{"position":{"x":9644.833054329983,"y":16598.920335955718},"targetPosition":{"x":9847.297702286885,"y":17089.9703811725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 600 End","id":"9bd8a9e7-09cf-4989-a9fa-c2f73d361134"}}}],"id":"93c1746c-2470-4032-84e1-c16a2d4e3921","savedPayload":{"position":{"x":9847.297702286885,"y":17089.9703811725},"targetPosition":{"x":10436.250691487223,"y":17973.61983501151},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 1200","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"f0b2a565-d33f-42d4-85ed-d61766b82af7","savedPayload":{"position":{"x":9527.566954871489,"y":16065.041230720504},"targetPosition":{"x":9801.751338861033,"y":16519.84021184836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"e108f855-0252-4113-8bd3-2cf2581abc47","savedPayload":{"position":{"x":9801.751338861033,"y":16519.84021184836},"targetPosition":{"x":10076.057221609988,"y":16974.612001179503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 1200 Begin","id":"f15e631f-a4ef-4493-bb68-8c3a082ba0aa","savedPayload":{"position":{"x":9895.969065833558,"y":16474.927296206522},"targetPosition":{"x":10076.057221609988,"y":16974.612001179503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 1200 Begin","id":"0481ec1e-ae49-4c99-a5ad-16c427db6e45"}}},{"type":"Polygon Vertex","name":"SMA 1200 End","id":"cf097102-9c66-4f90-95cd-1c1c9efc113b","savedPayload":{"position":{"x":9997.206582819736,"y":16449.343695433974},"targetPosition":{"x":10076.057221609988,"y":16974.612001179503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 1200 End","id":"eacd5f37-bdf2-4756-b7db-46db919b08a7"}}}],"id":"790efcb9-f3af-4e01-86f2-adbfcda6a356","savedPayload":{"position":{"x":10076.057221609988,"y":16974.612001179503},"targetPosition":{"x":10436.250691487223,"y":17973.61983501151},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"93675e57-6b0f-4fe5-8c8a-a4c02f794650","savedPayload":{"position":{"x":10276.1497418637,"y":18723.06369922679},"targetPosition":{"x":11195.181786051313,"y":18191.550437399546},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"SMA Base 6","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"SMA 6","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma6","id":"bf5de8a3-8c0b-41e8-8d21-bef5a721133f","savedPayload":{"position":{"x":11165.587875574687,"y":17347.15561031499},"targetPosition":{"x":11263.876847597005,"y":17100.154362933412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"995dd126-9cef-4b6e-960f-6828cfc41777","savedPayload":{"position":{"x":11263.876847597005,"y":17100.154362933412},"targetPosition":{"x":11379.761018164832,"y":16808.468242504023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 12","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma12","id":"9d4756de-3019-4ab6-a77d-7a1452ce1813","savedPayload":{"position":{"x":10939.627786369469,"y":17185.65885506571},"targetPosition":{"x":11141.585030272223,"y":17012.626368184545},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"414bd6ad-d6c6-4100-867e-232c6e649de2","savedPayload":{"position":{"x":11141.585030272223,"y":17012.626368184545},"targetPosition":{"x":11379.761018164832,"y":16808.468242504023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 18","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma18","id":"8c7a57b7-0d00-4239-b7ce-018b8da0fce7","savedPayload":{"position":{"x":10814.825740899329,"y":16937.765549199823},"targetPosition":{"x":11074.183218575827,"y":16878.426698997802},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2b73a8b5-c7a5-47b2-acad-87fa5aec85be","savedPayload":{"position":{"x":11074.183218575827,"y":16878.426698997802},"targetPosition":{"x":11379.761018164832,"y":16808.468242504023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 24","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma24","id":"3880e650-f608-4c97-8b5a-6956c8c2fba7","savedPayload":{"position":{"x":10819.518060346914,"y":16660.83864171104},"targetPosition":{"x":11076.810175106128,"y":16728.634478702006},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7655b5d6-708e-4e05-9499-2058d8511689","savedPayload":{"position":{"x":11076.810175106128,"y":16728.634478702006},"targetPosition":{"x":11379.761018164832,"y":16808.468242504023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 30","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma30","id":"ae5edcfd-b4be-4c3e-bb28-333fade4b88d","savedPayload":{"position":{"x":10952.502046159114,"y":16417.465713513124},"targetPosition":{"x":11148.756554509187,"y":16597.067425825422},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ad60eba1-2b62-4b1f-bed9-de38285f4acc","savedPayload":{"position":{"x":11148.756554509187,"y":16597.067425825422},"targetPosition":{"x":11379.761018164832,"y":16808.468242504023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 60","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma60","id":"cd97e51b-fa6a-4d6e-b7dd-43c9299bde4d","savedPayload":{"position":{"x":11183.24719515621,"y":16263.718951751107},"targetPosition":{"x":11273.536017287623,"y":16514.024825399676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5baddfba-9384-417f-954a-37abf160567e","savedPayload":{"position":{"x":11273.536017287623,"y":16514.024825399676},"targetPosition":{"x":11379.761018164832,"y":16808.468242504023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 120","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma120","id":"189b3ffd-8d2b-4124-af4c-52a9756c3409","savedPayload":{"position":{"x":11458.519183965893,"y":16234.705743932496},"targetPosition":{"x":11422.340359141976,"y":16498.33651500921},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"980faff9-33a9-4c63-b64c-3bdbeeeb1b8a","savedPayload":{"position":{"x":11422.340359141976,"y":16498.33651500921},"targetPosition":{"x":11379.761018164832,"y":16808.468242504023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 180","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma180","id":"7dac036e-a376-493f-8e5a-d8a7e211f262","savedPayload":{"position":{"x":11716.165475970049,"y":16337.128481029842},"targetPosition":{"x":11561.68579751727,"y":16553.58344585292},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d22d8f06-1510-43c7-a233-7a5dc67f809b","savedPayload":{"position":{"x":11561.68579751727,"y":16553.58344585292},"targetPosition":{"x":11379.761018164832,"y":16808.468242504023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 240","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma240","id":"2b86e2e4-bf2d-4b68-a54e-a781e56458bf","savedPayload":{"position":{"x":11896.908229088009,"y":16547.463184138825},"targetPosition":{"x":11659.378272174466,"y":16667.35540397411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"696305ab-09c2-41af-bfb3-85ce4fb5e705","savedPayload":{"position":{"x":11659.378272174466,"y":16667.35540397411},"targetPosition":{"x":11379.761018164832,"y":16808.468242504023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 300 ","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma300","id":"03bc78eb-d57f-41fc-a8ba-3592e222d5cc","savedPayload":{"position":{"x":11959.08669878587,"y":16817.376569966385},"targetPosition":{"x":11693.201931138958,"y":16813.32424190119},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f34223f9-87e3-49fe-8acf-77080dffa25f","savedPayload":{"position":{"x":11693.201931138958,"y":16813.32424190119},"targetPosition":{"x":11379.761018164832,"y":16808.468242504023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 600 ","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma600","id":"c6511ef3-8c3a-445c-9d90-1bb91a1763fb","savedPayload":{"position":{"x":11888.490310169718,"y":17085.803312586308},"targetPosition":{"x":11655.094023485233,"y":16958.613254047967},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ff4236e0-4c9b-4b98-9dd3-b3c152bb12e2","savedPayload":{"position":{"x":11655.094023485233,"y":16958.613254047967},"targetPosition":{"x":11379.761018164832,"y":16808.468242504023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 1200 ","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma1200","id":"931713d5-2d25-428f-95bc-0a21e01892f7","savedPayload":{"position":{"x":11700.96924341981,"y":17290.72949070201},"targetPosition":{"x":11553.609277591573,"y":17069.60109399913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e3345124-6aed-4164-ab86-041fd39608b0","savedPayload":{"position":{"x":11553.609277591573,"y":17069.60109399913},"targetPosition":{"x":11379.761018164832,"y":16808.468242504023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"40313dff-6c5d-4650-bd51-8767bba6f6ad","savedPayload":{"position":{"x":10665.460921199881,"y":17273.652539069823},"targetPosition":{"x":11195.181786051313,"y":18191.550437399546},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6ace920a-3a4b-4d28-8f04-4c2ecd3dfeb8","savedPayload":{"position":{"x":11904.684297867172,"y":18410.581728429683},"targetPosition":{"x":12424.206554116216,"y":18710.734611771542},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"SMA Base 5","config":"{\n\t\"codeName\": \"SMA-Base7\",\n \"icon\": \"moving-average\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"SMA 5 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma5","id":"37d1cd48-3a3f-4477-a125-76dcec51195b","savedPayload":{"position":{"x":13292.084739065906,"y":13437.564898720619},"targetPosition":{"x":13426.833275152809,"y":15016.653151959306},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9eca5bc8-cdb2-46fb-9a26-1c2da03b8818","savedPayload":{"position":{"x":13426.833275152809,"y":15016.653151959306},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 5 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma5","id":"3537c835-0158-465b-81d1-5440a40a649b","savedPayload":{"position":{"x":14085.243658747682,"y":13469.85202708622},"targetPosition":{"x":13823.459822244959,"y":15032.796443010859},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"db00298d-2997-4640-93fe-17125aeb7f0e","savedPayload":{"position":{"x":13823.459822244959,"y":15032.796443010859},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 10 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma10","id":"3f1d398f-6d0a-4713-8fbf-29cbb133be3e","savedPayload":{"position":{"x":14846.131858197607,"y":13698.725665933054},"targetPosition":{"x":14203.891615923478,"y":15147.223758553275},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b2e038ee-355d-4862-a454-514f7bcf31cf","savedPayload":{"position":{"x":14203.891615923478,"y":15147.223758553275},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 15 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma15","id":"cadaa709-8956-4c7a-9215-76ac92a53517","savedPayload":{"position":{"x":15526.25910692931,"y":14109.28764231174},"targetPosition":{"x":14543.965220873748,"y":15352.48188261238},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"02f80e02-080a-4950-9ffc-2f3b5770b404","savedPayload":{"position":{"x":14543.965220873748,"y":15352.48188261238},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 15 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma15","id":"e4212208-3b31-47c0-aebd-966d4a77c0f9","savedPayload":{"position":{"x":16082.982706343739,"y":14676.037818597033},"targetPosition":{"x":14822.31331134993,"y":15635.858963100318},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"32c7c4d3-a210-4d4d-8d10-bb23f91edcda","savedPayload":{"position":{"x":14822.31331134993,"y":15635.858963100318},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 20 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma20","id":"73c6c2a6-b4b7-4d2a-be7e-5810261e68c7","savedPayload":{"position":{"x":16481.255947480437,"y":15363.383806299818},"targetPosition":{"x":15021.445202238387,"y":15979.54818864555},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6b07cc40-e7da-48bc-a49b-cac5a0615c34","savedPayload":{"position":{"x":15021.445202238387,"y":15979.54818864555},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 20 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma20","id":"c8dd3770-668a-47d7-aad8-db412890bc28","savedPayload":{"position":{"x":16696.496676209943,"y":16128.204778723994},"targetPosition":{"x":15129.07339892979,"y":16361.958380848468},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e2f2041d-b896-44d7-b251-85eb1cd7fadf","savedPayload":{"position":{"x":15129.07339892979,"y":16361.958380848468},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 25 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma25","id":"d7265ad0-64e1-4fb7-8cd0-bdbf329b3d6d","savedPayload":{"position":{"x":16714.43942403089,"y":16921.73843671435},"targetPosition":{"x":15138.045425531882,"y":16758.713056055098},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"78b96701-c691-41fa-91d2-3bdb00e2e0fa","savedPayload":{"position":{"x":15138.045425531882,"y":16758.713056055098},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 25 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma25","id":"5cefb3f2-2429-478b-80a8-8f9e07e12c00","savedPayload":{"position":{"x":16533.779953903708,"y":17695.46244682541},"targetPosition":{"x":15047.73443803414,"y":17145.540334117264},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c9293d92-6255-4c96-9bf9-f4c6dcf419a1","savedPayload":{"position":{"x":15047.73443803414,"y":17145.540334117264},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 50 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma50","id":"cfa001a1-ac90-4713-b542-4fab32f377e0","savedPayload":{"position":{"x":16166.89724239935,"y":18399.952182637637},"targetPosition":{"x":14864.264092041782,"y":17497.79086773366},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1d352202-ba2e-41a7-9d4b-c4c97d2e391d","savedPayload":{"position":{"x":14864.264092041782,"y":17497.79086773366},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 50 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma50","id":"1655e27e-3738-4b5d-8961-105e11b5070c","savedPayload":{"position":{"x":15636.520896966302,"y":18990.956120445022},"targetPosition":{"x":14599.043743405391,"y":17793.29215551921},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4e34e6e6-d370-4127-b4fe-0c9fd591e730","savedPayload":{"position":{"x":14599.043743405391,"y":17793.29215551921},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 100 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma100","id":"44d9a566-3392-4f8f-ae69-f16de47bdd50","savedPayload":{"position":{"x":14965.399756418405,"y":19449.231959490106},"targetPosition":{"x":14268.850231645682,"y":18013.33906213689},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"651f424a-51be-4b25-a895-d50f75329384","savedPayload":{"position":{"x":14268.850231645682,"y":18013.33906213689},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 100 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma100","id":"05d2a007-3c1e-4e61-8cef-0aa1bdb3c0f5","savedPayload":{"position":{"x":14161.166219902816,"y":19653.232072490217},"targetPosition":{"x":13828.77636002342,"y":18095.10101005288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"aada5c3d-5ff5-4afd-8dd1-298ce8fce853","savedPayload":{"position":{"x":13828.77636002342,"y":18095.10101005288},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 150 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma150","id":"f5f1a287-14c5-4b05-9032-85623b3e948f","savedPayload":{"position":{"x":13433.584982026508,"y":19763.007411242095},"targetPosition":{"x":13497.746512848162,"y":18179.30841027937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"55d6b376-dd20-4044-b6c2-51acd03bee71","savedPayload":{"position":{"x":13497.746512848162,"y":18179.30841027937},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 150 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma150","id":"e8805c13-2905-47dd-ad3d-eea5d645fd2f","savedPayload":{"position":{"x":12650.259664021874,"y":19630.93969211146},"targetPosition":{"x":13105.913754376974,"y":18113.220525425542},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"812b92a9-2ba5-44e2-b255-976f8354e841","savedPayload":{"position":{"x":13105.913754376974,"y":18113.220525425542},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 200 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma200","id":"13b0144f-8413-43d8-97f9-61a50712a17b","savedPayload":{"position":{"x":11923.328034624226,"y":19308.023902601562},"targetPosition":{"x":12742.359294621705,"y":17951.14212119927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"652e1cae-11c0-489c-a820-03296a362c77","savedPayload":{"position":{"x":12742.359294621705,"y":17951.14212119927},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 200 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma200","id":"51211e13-8719-4d03-afb1-a7bb2f656f68","savedPayload":{"position":{"x":11300.69162170937,"y":18815.934252876155},"targetPosition":{"x":12431.150921903225,"y":17705.559805681},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4e4458f4-c6ca-4235-8734-8e833d3722f2","savedPayload":{"position":{"x":12431.150921903225,"y":17705.559805681},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 250 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma250","id":"a37e3e5a-dc59-4373-97c3-98de0c09fbb7","savedPayload":{"position":{"x":10819.34482686873,"y":18183.86756834356},"targetPosition":{"x":12190.632530989116,"y":17389.680293275927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"52aefae1-6ceb-47c4-a82d-ac55a7b91b25","savedPayload":{"position":{"x":12190.632530989116,"y":17389.680293275927},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 250 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.sma250","id":"aae7721e-b9d3-4629-94be-eecd49675c8f","savedPayload":{"position":{"x":10510.615509997568,"y":17452.287805340795},"targetPosition":{"x":12036.161028820135,"y":17023.82101677327},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8ddf18b2-93b4-4422-9e64-f9fc22f5de52","savedPayload":{"position":{"x":12036.161028820135,"y":17023.82101677327},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 500 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.propertyA","id":"65cfa112-3dc1-4bbd-9f90-13076e630272","savedPayload":{"position":{"x":10375.037818688854,"y":16663.47689933154},"targetPosition":{"x":11977.169480875198,"y":16630.98901241236},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d1ec756e-a71c-433b-ad10-ef8234617768","savedPayload":{"position":{"x":11977.169480875198,"y":16630.98901241236},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 500 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.propertyA","id":"577145f8-de78-4ded-a41e-86f9b54ec8a2","savedPayload":{"position":{"x":10475.07883263998,"y":15876.755806384623},"targetPosition":{"x":12018.363509296747,"y":16236.240996082859},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0b2fbef6-9a30-4ed6-a98e-5ccceb77aea3","savedPayload":{"position":{"x":12018.363509296747,"y":16236.240996082859},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 10 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.sma10","id":"520c2e51-b036-4267-928d-53f69d83747b","savedPayload":{"position":{"x":10754.442907611834,"y":15132.700638150312},"targetPosition":{"x":12156.493041303527,"y":15863.765851313756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7fe319a5-1a75-4f65-97da-20345cc502c2","savedPayload":{"position":{"x":12156.493041303527,"y":15863.765851313756},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 1000 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.propertyA","id":"3514870d-ad16-4bee-b5fa-a68739f3b332","savedPayload":{"position":{"x":11193.833336415444,"y":14484.879395958045},"targetPosition":{"x":12382.710979927442,"y":15537.240827538142},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"db6c9de6-aeb9-46ff-a46d-893ac56a32a2","savedPayload":{"position":{"x":12382.710979927442,"y":15537.240827538142},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SMA 1000 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.propertyA","id":"9cd8a206-16f2-446d-b63e-43faa32d7abd","savedPayload":{"position":{"x":11804.25363541726,"y":13958.844846754919},"targetPosition":{"x":12683.047640809886,"y":15277.200513766476},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e518b92f-f678-4868-ae0c-a0bd31f480eb","savedPayload":{"position":{"x":12683.047640809886,"y":15277.200513766476},"targetPosition":{"x":13561.648048633788,"y":16595.743164117568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f32ec0d3-ec1a-4f9d-b0dc-a394dac962ba","savedPayload":{"position":{"x":13561.648048633788,"y":16595.743164117568},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"SMA 5","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"a7e019b1-8c26-45dc-a717-de61a361f789","savedPayload":{"position":{"x":7936.105004441915,"y":17814.27070322124},"targetPosition":{"x":8279.094016659774,"y":17612.04999359333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"7da673e1-96be-42bb-ac8e-ba94da835b8d","savedPayload":{"position":{"x":8279.094016659774,"y":17612.04999359333},"targetPosition":{"x":8963.727197496932,"y":17207.981096843174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 5 End","id":"e755e4bb-ff8f-4591-b0ae-878d71639fd5","savedPayload":{"position":{"x":8213.38110090633,"y":17470.451300366713},"targetPosition":{"x":8963.727197496932,"y":17207.981096843174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 5 End","id":"db00298d-2997-4640-93fe-17125aeb7f0e"}}},{"type":"Polygon Vertex","name":"SMA 5 Begin","id":"c452cccc-8d2b-4630-9219-fb5e4d89fb1e","savedPayload":{"position":{"x":8176.450472030077,"y":17318.85927187963},"targetPosition":{"x":8963.727197496932,"y":17207.981096843174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 5 Begin","id":"9eca5bc8-cdb2-46fb-9a26-1c2da03b8818"}}}],"id":"9de00c59-ad47-414f-93f4-976d1a798e33","savedPayload":{"position":{"x":8963.727197496932,"y":17207.981096843174},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 10","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"d99069f1-59c4-4dd2-a77f-15de8869aeaf","savedPayload":{"position":{"x":7747.707391174028,"y":17222.619324173487},"targetPosition":{"x":8127.11846499314,"y":17101.951678088964},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"6867a6be-eb3c-4c1f-a83e-f630c5a40ba3","savedPayload":{"position":{"x":8127.11846499314,"y":17101.951678088964},"targetPosition":{"x":8884.417610815557,"y":16860.60080037946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 10 Begin","id":"43ddbce7-424a-4718-9012-bd9327a7b6e0","savedPayload":{"position":{"x":8094.517467061187,"y":16949.365698590915},"targetPosition":{"x":8884.417610815557,"y":16860.60080037946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 10 Begin","id":"7fe319a5-1a75-4f65-97da-20345cc502c2"}}},{"type":"Polygon Vertex","name":"SMA 10 End","id":"f48c16c1-ca4a-4a64-ae78-78cbc754888e","savedPayload":{"position":{"x":8092.118627064299,"y":16793.834910359867},"targetPosition":{"x":8884.417610815557,"y":16860.60080037946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 10 End","id":"b2e038ee-355d-4862-a454-514f7bcf31cf"}}}],"id":"0c387d26-20c4-4a66-aac4-599d98b8300e","savedPayload":{"position":{"x":8884.417610815557,"y":16860.60080037946},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 15","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"e52e6176-fecb-48d3-ad99-7b66e11b02de","savedPayload":{"position":{"x":7695.515450657507,"y":16605.00946305544},"targetPosition":{"x":8092.386403792612,"y":16571.836633550975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"3850ed1d-dc3b-47b2-bee7-7aa961acfaa2","savedPayload":{"position":{"x":8092.386403792612,"y":16571.836633550975},"targetPosition":{"x":8884.46266646213,"y":16504.96219025992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 15 End","id":"3f50ad9c-b951-420f-92cb-564d050f144e","savedPayload":{"position":{"x":8094.486917507513,"y":16416.021123037226},"targetPosition":{"x":8884.46266646213,"y":16504.96219025992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 15 End","id":"32c7c4d3-a210-4d4d-8d10-bb23f91edcda"}}},{"type":"Polygon Vertex","name":"SMA 15 Begin","id":"5cce1576-091c-49fa-a98f-0ebcf033c933","savedPayload":{"position":{"x":8127.110956869676,"y":16263.407750610222},"targetPosition":{"x":8884.46266646213,"y":16504.96219025992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 15 Begin","id":"02f80e02-080a-4950-9ffc-2f3b5770b404"}}}],"id":"9f49d18a-dfd7-4d55-8a1e-c186dbfc043e","savedPayload":{"position":{"x":8884.46266646213,"y":16504.96219025992},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"e9126aac-9402-4bfc-9f89-b6996780d7ba","savedPayload":{"position":{"x":7782.031125536325,"y":15991.121402126304},"targetPosition":{"x":8176.144701835443,"y":16046.781106304172},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"9ec36dc5-91e0-4861-8748-9f9b7d92bacc","savedPayload":{"position":{"x":8176.144701835443,"y":16046.781106304172},"targetPosition":{"x":8963.490638312369,"y":16157.721314999586},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 20 Begin","id":"6a595b60-ea82-4ef7-ad14-f698d4885e0d","savedPayload":{"position":{"x":8213.04196196094,"y":15895.087224377221},"targetPosition":{"x":8963.490638312369,"y":16157.721314999586},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 20 Begin","id":"6b07cc40-e7da-48bc-a49b-cac5a0615c34"}}},{"type":"Polygon Vertex","name":"SMA 20 End","id":"3d4d3854-f28c-462a-b08a-21db3bdf9d82","savedPayload":{"position":{"x":8278.842732196257,"y":15753.662496438345},"targetPosition":{"x":8963.490638312369,"y":16157.721314999586},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 20 End","id":"e2f2041d-b896-44d7-b251-85eb1cd7fadf"}}}],"id":"39db09d1-e5b2-4e83-80b5-41b5af443e3f","savedPayload":{"position":{"x":8963.490638312369,"y":16157.721314999586},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 25","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"938779af-a8c9-48dc-a936-7f196f976c5a","savedPayload":{"position":{"x":7631.5645974861345,"y":15268.450028745443},"targetPosition":{"x":8374.723813640567,"y":15553.793898608012},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"c905d757-47ba-4c5b-9f85-73db3050e897","savedPayload":{"position":{"x":8374.723813640567,"y":15553.793898608012},"targetPosition":{"x":9118.04483856914,"y":15836.98248870111},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 25 End","id":"a952acf4-c97a-40f5-8f9d-edbae371305d","savedPayload":{"position":{"x":8444.888351002062,"y":15413.907747930749},"targetPosition":{"x":9118.04483856914,"y":15836.98248870111},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 25 End","id":"c9293d92-6255-4c96-9bf9-f4c6dcf419a1"}}},{"type":"Polygon Vertex","name":"SMA 25 Begin","id":"88efd4f2-dc1e-43d6-96f0-7e60ed1d4177","savedPayload":{"position":{"x":8540.250397382284,"y":15290.581204849412},"targetPosition":{"x":9118.04483856914,"y":15836.98248870111},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 25 Begin","id":"78b96701-c691-41fa-91d2-3bdb00e2e0fa"}}}],"id":"9b80c90a-521b-4d8e-ba2b-781f3aee1fb2","savedPayload":{"position":{"x":9118.04483856914,"y":15836.98248870111},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 50","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"b8842dee-7b08-40e5-818d-54df493e6e20","savedPayload":{"position":{"x":8011.698431350995,"y":14669.37292271195},"targetPosition":{"x":8673.36465881143,"y":15111.476226242794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"c1dfcdd1-96a1-49ee-82e6-7d78077c43c0","savedPayload":{"position":{"x":8679.039415377376,"y":15115.710046465347},"targetPosition":{"x":9339.936041984396,"y":15558.484483315895},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 50 Begin","id":"cdbfa16a-32ae-43e0-ba6f-940351c04786","savedPayload":{"position":{"x":8777.902495283617,"y":14996.390202331262},"targetPosition":{"x":9339.936041984396,"y":15558.484483315895},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 50 Begin","id":"1d352202-ba2e-41a7-9d4b-c4c97d2e391d"}}},{"type":"Polygon Vertex","name":"SMA 50 End","id":"5e17d592-e906-4b8b-b48b-97b98cdd2cd1","savedPayload":{"position":{"x":8898.489624342017,"y":14897.485956436656},"targetPosition":{"x":9339.936041984396,"y":15558.484483315895},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 50 End","id":"4e34e6e6-d370-4127-b4fe-0c9fd591e730"}}}],"id":"39d6a3fc-1380-4e2d-8de6-13d0b9e7a8e3","savedPayload":{"position":{"x":9339.936041984396,"y":15558.484483315895},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 100","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"2a39fe15-bcc6-49a4-9dcd-41c882a4b361","savedPayload":{"position":{"x":8520.497645036268,"y":14174.885939418908},"targetPosition":{"x":9067.073889729314,"y":14753.071000995298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"ea97087b-647a-4900-8de5-2aabe7f95095","savedPayload":{"position":{"x":9067.21101478093,"y":14753.089982211659},"targetPosition":{"x":9614.04054283292,"y":15331.406429885517},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 100 Begin","id":"d87c3f75-6f43-4087-ab8b-0493e77a3a25","savedPayload":{"position":{"x":9195.474390477231,"y":14663.126458706183},"targetPosition":{"x":9618.508681038538,"y":15336.363986772794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 100 Begin","id":"651f424a-51be-4b25-a895-d50f75329384"}}},{"type":"Polygon Vertex","name":"SMA 100 End","id":"b6782eed-6d13-4cf8-98c1-b623da09e0d1","savedPayload":{"position":{"x":9335.234001763949,"y":14593.394739942569},"targetPosition":{"x":9618.508681038538,"y":15336.363986772794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 100 End","id":"aada5c3d-5ff5-4afd-8dd1-298ce8fce853"}}}],"id":"c7c55c53-c6ee-4edc-8b4e-eab2ece17db9","savedPayload":{"position":{"x":9618.508681038538,"y":15336.363986772794},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 150","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"7e3e32b9-1c64-43f1-85ab-6bb2d777c5a5","savedPayload":{"position":{"x":9127.579264619826,"y":13808.328240974126},"targetPosition":{"x":9531.524747869165,"y":14493.234976623618},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"91bbb7a8-0800-4d46-a3ba-bd195153f61e","savedPayload":{"position":{"x":9530.671911238425,"y":14491.165146915018},"targetPosition":{"x":9935.0499862292,"y":15176.685327338964},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 150 Begin","id":"db2a660d-2315-482c-a29a-38acac0ca453","savedPayload":{"position":{"x":9676.805209025288,"y":14431.647205043108},"targetPosition":{"x":9939.298575565566,"y":15182.047383748322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 150 Begin","id":"55d6b376-dd20-4044-b6c2-51acd03bee71"}}},{"type":"Polygon Vertex","name":"SMA 150 End","id":"2c0a8a74-58c0-4331-a438-2154306fb317","savedPayload":{"position":{"x":9828.241646453434,"y":14394.89163364556},"targetPosition":{"x":9939.298575565566,"y":15182.047383748322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 150 End","id":"812b92a9-2ba5-44e2-b255-976f8354e841"}}}],"id":"5c7935c9-6393-4e0f-8561-742533c1ebcf","savedPayload":{"position":{"x":9939.298575565566,"y":15182.047383748322},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 200","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"0ab949bd-a21b-43e8-ae5d-ba2067fa9436","savedPayload":{"position":{"x":9799.972517901437,"y":13583.594184070062},"targetPosition":{"x":10041.339683010383,"y":14341.242123792628},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"838799c3-76c5-4e9e-9291-e297d352969c","savedPayload":{"position":{"x":10040.956549045664,"y":14339.074216958887},"targetPosition":{"x":10282.60969634264,"y":15097.355937288108},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 200 Begin","id":"f36ca4d6-1114-4958-9bf2-09cd34536077","savedPayload":{"position":{"x":10197.466223660545,"y":14312.56688431269},"targetPosition":{"x":10286.420470430357,"y":15102.83102213839},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 200 Begin","id":"652e1cae-11c0-489c-a820-03296a362c77"}}},{"type":"Polygon Vertex","name":"SMA 200 End","id":"af95d8b6-43cf-4529-910a-8713ab69fb13","savedPayload":{"position":{"x":10353.072734633215,"y":14310.703839370548},"targetPosition":{"x":10286.420470430357,"y":15102.83102213839},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 200 End","id":"4e4458f4-c6ca-4235-8734-8e833d3722f2"}}}],"id":"796fa379-26a6-4443-b515-1be86217f891","savedPayload":{"position":{"x":10286.420470430357,"y":15102.83102213839},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 250","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.BLACK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"6f488fbe-fb26-4965-9ad2-be64bc66477e","savedPayload":{"position":{"x":10505.240328474572,"y":13514.104303199956},"targetPosition":{"x":10571.922844110088,"y":14306.491309076428},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"1860376f-2657-41cb-84d1-10c324f64535","savedPayload":{"position":{"x":10572.064770423507,"y":14304.29622310422},"targetPosition":{"x":10638.895992508604,"y":15097.360255465344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 250 End","id":"e513348c-19d0-49e5-a77f-e6059d459335","savedPayload":{"position":{"x":10731.20531753577,"y":14312.830283297384},"targetPosition":{"x":10642.205372102066,"y":15102.926045629918},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 250 End","id":"8ddf18b2-93b4-4422-9e64-f9fc22f5de52"}}},{"type":"Polygon Vertex","name":"SMA 250 Begin","id":"ddd52ba0-601f-4121-908e-9cd42450ecaa","savedPayload":{"position":{"x":10883.636990289668,"y":14345.427534459894},"targetPosition":{"x":10642.205372102066,"y":15102.926045629918},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 250 Begin","id":"52aefae1-6ceb-47c4-a82d-ac55a7b91b25"}}}],"id":"3ec27802-69a6-4c76-8bf5-ba92335ff928","savedPayload":{"position":{"x":10642.205372102066,"y":15102.926045629918},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 500","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.BLACK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"b8892640-241d-4817-90b9-142d50f45575","savedPayload":{"position":{"x":11208.019895875923,"y":13603.379141339732},"targetPosition":{"x":11096.953447624825,"y":14390.759272540978},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"640d28c5-0762-4fe0-8d3b-b2b2fd178cbe","savedPayload":{"position":{"x":11097.589030148816,"y":14388.579642718407},"targetPosition":{"x":10986.441002944428,"y":15176.70443216003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 500 Begin","id":"cc1d57e4-c69b-4faf-987e-1ecc6402d774","savedPayload":{"position":{"x":11251.911393242977,"y":14431.477306406241},"targetPosition":{"x":10989.278767350674,"y":15182.047440045822},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 500 Begin","id":"d1ec756e-a71c-433b-ad10-ef8234617768"}}},{"type":"Polygon Vertex","name":"SMA 500 End","id":"f5f0ed9f-dc7d-40cb-94cb-9fca1de4aacf","savedPayload":{"position":{"x":11393.290695188147,"y":14497.427008013783},"targetPosition":{"x":10989.278767350674,"y":15182.047440045822},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 500 End","id":"0b2fbef6-9a30-4ed6-a98e-5ccceb77aea3"}}}],"id":"d638a3eb-6f91-4c41-9f65-981ba269343a","savedPayload":{"position":{"x":10989.278767350674,"y":15182.047440045822},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 1000","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.BLACK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"accb8fb4-da01-4314-bda3-a127f32443db","savedPayload":{"position":{"x":11874.867271537658,"y":13845.06826020797},"targetPosition":{"x":11591.272290013383,"y":14588.169884162255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"2139584e-6960-4ac5-a6b2-d45aae1cfae3","savedPayload":{"position":{"x":11591.66614508968,"y":14587.89371543587},"targetPosition":{"x":11307.865994118534,"y":15331.493608163139},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"SMA 1000 Begin","id":"82d72489-eb93-4293-8b96-498e6756e89d","savedPayload":{"position":{"x":11733.254293637381,"y":14663.490387922293},"targetPosition":{"x":11310.25993739503,"y":15336.502530605925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 1000 Begin","id":"db6c9de6-aeb9-46ff-a46d-893ac56a32a2"}}},{"type":"Polygon Vertex","name":"SMA 1000 End","id":"e781d4f3-58b9-4fce-82aa-27b669582090","savedPayload":{"position":{"x":11856.589858642468,"y":14759.053526369356},"targetPosition":{"x":11310.25993739503,"y":15336.502530605925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SMA 1000 End","id":"e518b92f-f678-4868-ae0c-a0bd31f480eb"}}}],"id":"8042e9e4-b3be-4d8b-94bc-558b8b97a3f0","savedPayload":{"position":{"x":11310.25993739503,"y":15336.502530605925},"targetPosition":{"x":10464.185647386725,"y":16682.654734791136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"9847b54e-34cd-4a44-b43f-be3c091f5ec0","savedPayload":{"position":{"x":10464.185647386725,"y":16682.654734791136},"targetPosition":{"x":11584.304220456166,"y":17802.78630970266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"SMA Base 5","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"SMA 5","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma5","id":"5c11d2b4-671b-42ec-88b0-9dbbf0ba5a57","savedPayload":{"position":{"x":11314.569814847871,"y":17255.7475585118},"targetPosition":{"x":11438.371539225029,"y":17019.99586448666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ec513f64-7c7c-4693-ac51-b2e36f2f858c","savedPayload":{"position":{"x":11438.371539225029,"y":17019.99586448666},"targetPosition":{"x":11583.941529724021,"y":16742.191779462733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 10","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma10","id":"5e333385-55ff-48d1-abb0-0757ef26a20c","savedPayload":{"position":{"x":11102.539236928993,"y":17074.065084205246},"targetPosition":{"x":11321.67460031888,"y":16923.08185225503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c599221d-9b35-48c5-bb4d-4c4fd0c8c4e8","savedPayload":{"position":{"x":11321.67460031888,"y":16923.08185225503},"targetPosition":{"x":11583.941529724021,"y":16742.191779462733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 15","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma15","id":"0cb3bdcb-7c0b-4cfa-9357-0b142c1e230b","savedPayload":{"position":{"x":11008.640822118092,"y":16811.5477765058},"targetPosition":{"x":11273.112465901015,"y":16779.695659497633},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f3ff46f2-80e9-458f-b7ca-8f0fe7c7cff2","savedPayload":{"position":{"x":11273.112465901015,"y":16779.695659497633},"targetPosition":{"x":11583.941529724021,"y":16742.191779462733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 20","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma20","id":"8dc1f569-2c1e-4842-b135-528ba461ca30","savedPayload":{"position":{"x":11041.778393318515,"y":16536.620646698884},"targetPosition":{"x":11291.470805190942,"y":16631.29218114058},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"14a4ef21-076b-418a-98a6-7b3ff64f2a9f","savedPayload":{"position":{"x":11291.470805190942,"y":16631.29218114058},"targetPosition":{"x":11583.941529724021,"y":16742.191779462733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 25","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma25","id":"2d76e840-cdda-48e8-9290-342c2a143b6d","savedPayload":{"position":{"x":11200.254787979784,"y":16309.006874866069},"targetPosition":{"x":11376.30869682204,"y":16507.776289896174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d8d31fc6-55db-4a89-bcc8-4e33a3583542","savedPayload":{"position":{"x":11376.30869682204,"y":16507.776289896174},"targetPosition":{"x":11583.941529724021,"y":16742.191779462733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 50","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma50","id":"9a0af05e-b760-4a22-85ab-8b3c64b3ef29","savedPayload":{"position":{"x":11445.260442586927,"y":16178.86583657123},"targetPosition":{"x":11509.30478131644,"y":16439.069948447548},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"48d5643b-e652-4c4d-b7cf-37e9656bfd43","savedPayload":{"position":{"x":11509.30478131644,"y":16439.069948447548},"targetPosition":{"x":11583.941529724021,"y":16742.191779462733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 100","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma100","id":"1987b0ae-9510-45e9-b7ed-3802c3f28e1d","savedPayload":{"position":{"x":11722.062620611485,"y":16180.215102848057},"targetPosition":{"x":11658.81565868019,"y":16437.587790817925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4ad1bbaa-2c37-4009-bbdd-d154be78b2d0","savedPayload":{"position":{"x":11658.81565868019,"y":16437.587790817925},"targetPosition":{"x":11583.941529724021,"y":16742.191779462733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 150","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma150","id":"611d7c8b-2cb8-412b-bd1b-2a04b3a796c0","savedPayload":{"position":{"x":11967.643645003891,"y":16308.66852156722},"targetPosition":{"x":11790.95207681339,"y":16508.302633851992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8ef64a02-b88d-4635-8d88-99121a55ed73","savedPayload":{"position":{"x":11790.95207681339,"y":16508.302633851992},"targetPosition":{"x":11583.941529724021,"y":16742.191779462733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 200","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma200","id":"d8bbc57a-1eda-43c8-a865-1ceeb879a755","savedPayload":{"position":{"x":12125.572631055018,"y":16536.668695824956},"targetPosition":{"x":11876.45498648051,"y":16631.196612699347},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"06680ab8-0ec9-448e-9854-97bf413f4133","savedPayload":{"position":{"x":11876.45498648051,"y":16631.196612699347},"targetPosition":{"x":11583.941529724021,"y":16742.191779462733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 250","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma250","id":"496ce598-2c93-40df-8f2e-effaeff2b665","savedPayload":{"position":{"x":12159.211205738708,"y":16811.49057845358},"targetPosition":{"x":11895.01921667113,"y":16779.707729186706},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"503ab933-6f8f-4fcb-a0e6-ecf1b6e8b24b","savedPayload":{"position":{"x":11895.01921667113,"y":16779.707729186706},"targetPosition":{"x":11583.941529724021,"y":16742.191779462733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 500","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma500","id":"67dd80e5-30f9-48b2-b661-e40acde070cc","savedPayload":{"position":{"x":12060.423795408087,"y":17070.835695444443},"targetPosition":{"x":11842.011316350343,"y":16920.26022576025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a4ab02a6-f6c0-4b8f-98d9-e24b66e492ab","savedPayload":{"position":{"x":11842.011316350343,"y":16920.26022576025},"targetPosition":{"x":11583.941529724021,"y":16742.191779462733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"SMA 1000","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sma1000","id":"359489a0-97b9-49f8-8f35-2f6247b570a9","savedPayload":{"position":{"x":11852.543457489652,"y":17254.983143972735},"targetPosition":{"x":11729.164498565717,"y":17019.644501483603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"88560ba5-2c50-4236-90b6-47d19ac3afa5","savedPayload":{"position":{"x":11729.164498565717,"y":17019.644501483603},"targetPosition":{"x":11583.941529724021,"y":16742.191779462733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"aa2c0f1e-8a0e-4da1-97df-6815890e5770","savedPayload":{"position":{"x":11584.31003617939,"y":16744.103874993616},"targetPosition":{"x":11584.304220456166,"y":17802.78630970266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"888c381d-457d-4421-8401-a7475b42ff03","savedPayload":{"position":{"x":12124.101328139192,"y":18190.896482083226},"targetPosition":{"x":12424.206554116216,"y":18710.734611771542},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9b2443b7-9276-4fa3-b4b3-b9b991d886d8","savedPayload":{"position":{"x":12369.069081443851,"y":18710.731620347717},"targetPosition":{"x":12824.153406676238,"y":18710.73255185816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"RSI","config":"{\n\"codeName\": \"Plotter RSI\"\n}","modules":[{"type":"Plotter Module","name":"RSI 14","config":"{\n\t\"codeName\": \"RSI 14\",\n\t\"slot\": {\n\t\t\"number\": 3,\n\t\t\"minValue\": 0,\n\t\t\"maxValue\": 100\n\t},\n \"banner\": \"Oscillator\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"Grid","points":[{"type":"Point","name":"Begin 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"88e15149-215e-42c8-bc00-78b63343daa0","savedPayload":{"position":{"x":11078.946989626109,"y":17559.955622255628},"targetPosition":{"x":11130.002874627402,"y":17690.042902995952},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e376a028-b688-4bb5-a100-00be6d161bd6","savedPayload":{"position":{"x":11130.002874627402,"y":17690.042902995952},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 0","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"6904030c-e751-4eb9-844a-d1cf45caa1f2","savedPayload":{"position":{"x":11182.353135389347,"y":17511.794959254126},"targetPosition":{"x":11184.80837388598,"y":17655.617347596468},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f562d9d7-357b-4677-ac4b-3ddbb735ca2b","savedPayload":{"position":{"x":11184.80837388598,"y":17655.617347596468},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 20","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 20","id":"4fc2797d-7023-461e-912e-23f2834d4141","savedPayload":{"position":{"x":11277.123846389886,"y":17548.396855686842},"targetPosition":{"x":11234.856220778665,"y":17680.40621356719},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8227114d-f503-4f27-ae0b-4bc2804e2cdb","savedPayload":{"position":{"x":11234.856220778665,"y":17680.40621356719},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 20","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 20","id":"e6640285-69e5-4a37-8907-9d8bbcc2008b","savedPayload":{"position":{"x":11404.277976894175,"y":17573.12359689318},"targetPosition":{"x":11315.914749849248,"y":17688.737468285955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c9de9989-11da-44a7-bcbf-137435767d90","savedPayload":{"position":{"x":11315.914749849248,"y":17688.737468285955},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 30","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 30","id":"db815155-dbec-4824-9132-470a173d328b","savedPayload":{"position":{"x":11410.210385080687,"y":17666.946664081},"targetPosition":{"x":11264.966398076425,"y":17764.421980094055},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0f0a70c3-9f37-4e58-a93c-fcfcf9686c09","savedPayload":{"position":{"x":11264.966398076425,"y":17764.421980094055},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 30","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 30","id":"db6c3539-81f5-465d-9d79-8004a60ac5fb","savedPayload":{"position":{"x":11479.000881428785,"y":17741.176139775835},"targetPosition":{"x":11377.609680244657,"y":17762.700908591287},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ac82bb81-5d37-4eea-ab52-0f698de71014","savedPayload":{"position":{"x":11377.609680244657,"y":17762.700908591287},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 50","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 50","id":"a6a8718f-2c9a-4c5f-af7a-7029bddfb839","savedPayload":{"position":{"x":11432.31850696678,"y":17856.40258671872},"targetPosition":{"x":11304.130427920381,"y":17818.14861621234},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a0cdc721-996a-44b2-b619-bbc0ef97cd62","savedPayload":{"position":{"x":11304.130427920381,"y":17818.14861621234},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 50","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 50","id":"c996c1b4-2b1f-4d11-acd4-8aba4d3e3e5d","savedPayload":{"position":{"x":11475.351176517806,"y":17958.32262804593},"targetPosition":{"x":11351.015937551632,"y":17909.74022808284},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"59a77a0b-bcee-4c1e-855c-854c3d3bc521","savedPayload":{"position":{"x":11351.015937551632,"y":17909.74022808284},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 70","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 70","id":"bdcd3323-0da6-4667-95c2-b017623500af","savedPayload":{"position":{"x":11381.282390507937,"y":18005.071760274168},"targetPosition":{"x":11273.405454535949,"y":17882.682375721088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"228edebc-3b5b-4760-9791-2229cb76a662","savedPayload":{"position":{"x":11273.405454535949,"y":17882.682375721088},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 70","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 70","id":"9977888b-2cf4-472e-8468-d6705690a57c","savedPayload":{"position":{"x":11302.455787085199,"y":18090.75650386037},"targetPosition":{"x":11269.200653845133,"y":17984.370391016204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4cbfd9aa-d595-4e06-ac82-a87bfdf9f680","savedPayload":{"position":{"x":11269.200653845133,"y":17984.370391016204},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 80","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 80","id":"75cda528-f689-4d21-a8ed-ba08705d5ec7","savedPayload":{"position":{"x":11179.447900751571,"y":18022.18125563961},"targetPosition":{"x":11205.670407972824,"y":17888.95714164306},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e7b453a3-5312-48e6-8797-6d96e058766b","savedPayload":{"position":{"x":11205.670407972824,"y":17888.95714164306},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Eng 80","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 80","id":"df4c7f58-96c7-4ffb-9ce3-ff1b35ddf3c3","savedPayload":{"position":{"x":11048.95530956979,"y":18117.29532871257},"targetPosition":{"x":11121.293786490654,"y":17997.105395834664},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d64e2ceb-abb9-4cc0-b929-211bcbd934a7","savedPayload":{"position":{"x":11121.293786490654,"y":17997.105395834664},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin 100","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 100","id":"79f20ec4-c499-41ca-aa79-f56fe5b7bcbc","savedPayload":{"position":{"x":11034.56049509183,"y":17939.335596770685},"targetPosition":{"x":11153.164023178864,"y":17863.833756339638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7d5d4922-1d7d-45a3-b5ff-75d14016ee1d","savedPayload":{"position":{"x":11153.164023178864,"y":17863.833756339638},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End 100","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 100","id":"58d10fb8-87e5-4a4c-95ab-99be2f5b14ea","savedPayload":{"position":{"x":10925.813886724149,"y":17903.916062850203},"targetPosition":{"x":11038.060098483382,"y":17872.521429510223},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dc11ae4c-bce1-4e88-986a-457a3612102a","savedPayload":{"position":{"x":11038.060098483382,"y":17872.521429510223},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"RSI Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.value","id":"e068d3fa-623c-4349-a10f-4abdd6263b07","savedPayload":{"position":{"x":10968.696551895557,"y":17794.356137276678},"targetPosition":{"x":11134.193624872298,"y":17790.05415498021},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7f687c2f-3a91-4b53-b00d-8a651e82c97d","savedPayload":{"position":{"x":11134.193624872298,"y":17790.05415498021},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"RSI End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.value","id":"bb45d3f0-e6e7-473a-b2f4-7016c65bd7ee","savedPayload":{"position":{"x":10950.643640192882,"y":17696.39609908415},"targetPosition":{"x":11063.138850159232,"y":17757.369280872477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f5d97a45-0db5-4d48-bf32-efdd6b2726c0","savedPayload":{"position":{"x":11063.138850159232,"y":17757.369280872477},"targetPosition":{"x":11203.414792488265,"y":17813.374523192248},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ff9f35c7-b1ca-446e-905c-c971ca51dfbe","savedPayload":{"position":{"x":11203.414792488265,"y":17813.374523192248},"targetPosition":{"x":10819.456143684829,"y":17458.105303941884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Box 0-20","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.25,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.35,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"9e7202ce-11e7-4526-80d5-52f0dbdcb91c","savedPayload":{"position":{"x":10266.459377706122,"y":18728.030071408433},"targetPosition":{"x":10188.797093704265,"y":18477.670652567955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"8716fe80-7aa5-4707-93d9-f47ac26e9a53","savedPayload":{"position":{"x":10188.797093704265,"y":18477.670652567955},"targetPosition":{"x":10110.745536788187,"y":18227.20591008804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 0","id":"89a7b82e-5d1d-4359-80a8-0b85d997a62c","savedPayload":{"position":{"x":10053.247318493502,"y":18483.376513611503},"targetPosition":{"x":10110.745536788187,"y":18227.20591008804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 0","id":"e376a028-b688-4bb5-a100-00be6d161bd6"}}},{"type":"Polygon Vertex","name":"End 0","id":"4ddfe945-d3dd-431a-a0bf-477d2f0c0af1","savedPayload":{"position":{"x":9933.044369382986,"y":18420.40768768195},"targetPosition":{"x":10110.745536788187,"y":18227.20591008804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 0","id":"f562d9d7-357b-4677-ac4b-3ddbb735ca2b"}}},{"type":"Polygon Vertex","name":"End 20","id":"1fd4c8e3-47e3-4e05-8739-a34e8239b178","savedPayload":{"position":{"x":9860.437668284036,"y":18305.676418072577},"targetPosition":{"x":10110.745536788187,"y":18227.20591008804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 20","id":"c9de9989-11da-44a7-bcbf-137435767d90"}}},{"type":"Polygon Vertex","name":"Begin 20","id":"2920b1c1-1d61-44b8-b31a-31e2d87fa9e4","savedPayload":{"position":{"x":9857.601005991057,"y":18169.871684557274},"targetPosition":{"x":10110.745536788187,"y":18227.20591008804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 20","id":"8227114d-f503-4f27-ae0b-4bc2804e2cdb"}}}],"id":"0dce63e6-acf6-482e-bcf9-3e44b7487cbf","savedPayload":{"position":{"x":10110.745536788187,"y":18227.20591008804},"targetPosition":{"x":10819.456143684829,"y":17458.105303941884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Box 80-100","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.25,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.35,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"f95287c0-8123-4025-8018-370eb91b6189","savedPayload":{"position":{"x":9596.163629582834,"y":18737.8716441884},"targetPosition":{"x":9713.397881288232,"y":18503.30512617228},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"c46a4519-e917-410e-98d7-faf0ad80a99a","savedPayload":{"position":{"x":9713.397881288232,"y":18503.30512617228},"targetPosition":{"x":9947.275667845772,"y":18034.72177110188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 80","id":"eb76ec36-eae3-424a-9105-d26eefca1b67","savedPayload":{"position":{"x":9599.892279513306,"y":18426.677830852983},"targetPosition":{"x":9947.275667845772,"y":18034.72177110188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 80","id":"e7b453a3-5312-48e6-8797-6d96e058766b"}}},{"type":"Polygon Vertex","name":"Eng 80","id":"6facb2b7-b324-4e01-a53f-5d72541ba64f","savedPayload":{"position":{"x":9510.249063215046,"y":18323.462185951343},"targetPosition":{"x":9947.275667845772,"y":18034.72177110188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Eng 80","id":"d64e2ceb-abb9-4cc0-b929-211bcbd934a7"}}},{"type":"Polygon Vertex","name":"End 100","id":"2e7bfaf4-7828-4021-9895-58882a03987e","savedPayload":{"position":{"x":9450.381120915166,"y":18200.594544361586},"targetPosition":{"x":9947.275667845772,"y":18034.72177110188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 100","id":"dc11ae4c-bce1-4e88-986a-457a3612102a"}}},{"type":"Polygon Vertex","name":"Begin 100","id":"d2a601ff-7a5d-414e-bc06-be93e13e6ddb","savedPayload":{"position":{"x":9424.34663271623,"y":18066.346622681653},"targetPosition":{"x":9947.275667845772,"y":18034.72177110188},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 100","id":"7d5d4922-1d7d-45a3-b5ff-75d14016ee1d"}}}],"id":"2429edaa-20db-4fd9-b834-c84953e78bf3","savedPayload":{"position":{"x":9947.275667845772,"y":18034.72177110188},"targetPosition":{"x":10819.456143684829,"y":17458.105303941884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Box 20-30","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"f1ac3d45-3f00-4269-a41f-872bcbc99620","savedPayload":{"position":{"x":9759.726951015293,"y":18196.584509076616},"targetPosition":{"x":9786.537808952455,"y":18066.49132424239},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"1aa28d17-1653-496a-8b8a-35fdf6691e0b","savedPayload":{"position":{"x":9786.537808952455,"y":18066.49132424239},"targetPosition":{"x":9834.334964340565,"y":17809.06861099799},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 20","id":"2e88069b-6333-45f8-8199-021fe3896667","savedPayload":{"position":{"x":9663.925747835749,"y":18008.70493851861},"targetPosition":{"x":9834.334964340565,"y":17809.06861099799},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 20","id":"8227114d-f503-4f27-ae0b-4bc2804e2cdb"}}},{"type":"Polygon Vertex","name":"End 20","id":"cdea2bf9-a545-4877-8d65-5a027352bb8a","savedPayload":{"position":{"x":9586.87666837207,"y":17897.185396191944},"targetPosition":{"x":9834.334964340565,"y":17809.06861099799},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 20","id":"c9de9989-11da-44a7-bcbf-137435767d90"}}},{"type":"Polygon Vertex","name":"End 30","id":"bfb22589-c1af-4822-8944-1767e3e691bc","savedPayload":{"position":{"x":9581.633939325939,"y":17788.234947364464},"targetPosition":{"x":9834.334964340565,"y":17809.06861099799},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 30","id":"ac82bb81-5d37-4eea-ab52-0f698de71014"}}},{"type":"Polygon Vertex","name":"Begin 30","id":"208c9dfc-a7fb-41ab-becc-3b68104e07ed","savedPayload":{"position":{"x":9639.236833480218,"y":17636.093891154553},"targetPosition":{"x":9834.334964340565,"y":17809.06861099799},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 30","id":"0f0a70c3-9f37-4e58-a93c-fcfcf9686c09"}}}],"id":"4a0db3d1-061d-4587-9c05-f42c09c0b271","savedPayload":{"position":{"x":9834.334964340565,"y":17809.06861099799},"targetPosition":{"x":10819.456143684829,"y":17458.105303941884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Box 70-80","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.2,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"6335d57f-9462-4d19-b954-2f511308b9c8","savedPayload":{"position":{"x":9342.001089166575,"y":17846.094036796152},"targetPosition":{"x":9555.115370330912,"y":17692.75665399465},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"b01a727e-5773-47c2-b094-c19ad0ac71f4","savedPayload":{"position":{"x":9555.115370330912,"y":17692.75665399465},"targetPosition":{"x":9778.965297490706,"y":17562.835587891674},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 70","id":"c59e52e4-9b7e-4985-ab53-35f5cd29f250","savedPayload":{"position":{"x":9289.003996845478,"y":17748.2986472087},"targetPosition":{"x":9778.965297490706,"y":17562.835587891674},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 70","id":"228edebc-3b5b-4760-9791-2229cb76a662"}}},{"type":"Polygon Vertex","name":"End 70","id":"957f8c1e-cb14-4241-b805-abfdc50c07d0","savedPayload":{"position":{"x":9257.681180932219,"y":17615.25645355395},"targetPosition":{"x":9778.965297490706,"y":17562.835587891674},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 70","id":"4cbfd9aa-d595-4e06-ac82-a87bfdf9f680"}}},{"type":"Polygon Vertex","name":"Eng 80","id":"37688deb-5377-4f52-bde8-5e8abbf6e25f","savedPayload":{"position":{"x":9250.424462132416,"y":17508.451806175875},"targetPosition":{"x":9778.965297490706,"y":17562.835587891674},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Eng 80","id":"d64e2ceb-abb9-4cc0-b929-211bcbd934a7"}}},{"type":"Polygon Vertex","name":"Begin 80","id":"6d346213-f33f-4b5a-a519-5e1c3fb42e50","savedPayload":{"position":{"x":9305.364288139948,"y":17329.16883396939},"targetPosition":{"x":9778.965297490706,"y":17562.835587891674},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 80","id":"e7b453a3-5312-48e6-8797-6d96e058766b"}}}],"id":"5835d367-23bc-4039-b2c1-1a23f3ca652f","savedPayload":{"position":{"x":9778.965297490706,"y":17562.835587891674},"targetPosition":{"x":10819.456143684829,"y":17458.105303941884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"6ad882da-10d9-427c-8fb5-3a7c55b678a1","savedPayload":{"position":{"x":9282.859607989305,"y":17430.15701625634},"targetPosition":{"x":9529.693299169297,"y":17376.240779442607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"fa05777f-6288-4dd2-9b7a-61194bc43681","savedPayload":{"position":{"x":9529.693299169297,"y":17376.240779442607},"targetPosition":{"x":9783.821077715658,"y":17310.990174988943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 20","id":"a9a9dd2d-d7f8-4a25-b81d-d1e2a2f9d5a6","savedPayload":{"position":{"x":9523.924417271863,"y":17274.0239729387},"targetPosition":{"x":9783.821077715658,"y":17310.990174988943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 20","id":"8227114d-f503-4f27-ae0b-4bc2804e2cdb"}}},{"type":"Polygon Vertex","name":"End 20","id":"a717c7d2-3bc7-4d8c-9e9f-e1fb75fd0d42","savedPayload":{"position":{"x":9558.117245362026,"y":17177.192448765087},"targetPosition":{"x":9783.821077715658,"y":17310.990174988943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 20","id":"c9de9989-11da-44a7-bcbf-137435767d90"}}}],"id":"27aab97e-ce7f-47fc-bd22-d9b70ffec2d1","savedPayload":{"position":{"x":9783.821077715658,"y":17310.990174988943},"targetPosition":{"x":10819.456143684829,"y":17458.105303941884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 30","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"0b1d6f25-076c-4495-b462-435a8d1900d2","savedPayload":{"position":{"x":9194.041341297945,"y":17073.134291667164},"targetPosition":{"x":9325.438679223449,"y":17072.4597685291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"6cb61271-a82a-47a1-ac0c-404dc28b05e5","savedPayload":{"position":{"x":9325.438679223449,"y":17072.4597685291},"targetPosition":{"x":9849.10382509227,"y":17067.514637950142},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End 30","id":"e656c0ce-1b57-420e-84f5-cd62a9bb602d","savedPayload":{"position":{"x":9363.24104149944,"y":16872.06273786901},"targetPosition":{"x":9849.10382509227,"y":17067.514637950142},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 30","id":"ac82bb81-5d37-4eea-ab52-0f698de71014"}}},{"type":"Polygon Vertex","name":"Begin 30","id":"8e2ee705-7be7-4705-a32f-242a5c1d286d","savedPayload":{"position":{"x":9492.660335988503,"y":16669.80455830182},"targetPosition":{"x":9849.10382509227,"y":17067.514637950142},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 30","id":"0f0a70c3-9f37-4e58-a93c-fcfcf9686c09"}}}],"id":"18e4afd3-7536-405b-97b6-d36ec7ddc692","savedPayload":{"position":{"x":9849.10382509227,"y":17067.514637950142},"targetPosition":{"x":10819.456143684829,"y":17458.105303941884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 50","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"68ca10ec-d83d-4f61-b9ee-6a0f3a74cb12","savedPayload":{"position":{"x":9442.569790800584,"y":16757.460059197336},"targetPosition":{"x":9715.352384308744,"y":16786.765310135586},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"fefbf0c0-287c-4bb7-81a7-6b745dcfcf3b","savedPayload":{"position":{"x":9715.352384308744,"y":16786.765310135586},"targetPosition":{"x":9970.792821089677,"y":16846.71759583377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 50","id":"cfa25adf-05eb-49d0-956a-69e4fde9bacf","savedPayload":{"position":{"x":9757.885543767212,"y":16693.28185484328},"targetPosition":{"x":9970.792821089677,"y":16846.71759583377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 50","id":"a0cdc721-996a-44b2-b619-bbc0ef97cd62"}}},{"type":"Polygon Vertex","name":"End 50","id":"de1447aa-e70f-419b-bab5-d94b333612c7","savedPayload":{"position":{"x":9833.138666703782,"y":16623.30322043414},"targetPosition":{"x":9970.792821089677,"y":16846.71759583377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 50","id":"59a77a0b-bcee-4c1e-855c-854c3d3bc521"}}}],"id":"bbe48886-b71e-4507-b6e8-7f073b691a6a","savedPayload":{"position":{"x":9970.792821089677,"y":16846.71759583377},"targetPosition":{"x":10819.456143684829,"y":17458.105303941884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 70","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"913293ac-040f-4348-ade4-5b3103fe1375","savedPayload":{"position":{"x":9442.322783021833,"y":16302.914979391513},"targetPosition":{"x":9675.77065408221,"y":16422.595771514447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"8640a48e-f7ca-419c-a687-3f52c3a5afa9","savedPayload":{"position":{"x":9675.77065408221,"y":16422.595771514447},"targetPosition":{"x":10141.829509763573,"y":16661.353396466464},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End 70","id":"bc77b107-0a70-4038-86a6-3034ab4e86dd","savedPayload":{"position":{"x":9802.428606764553,"y":16262.11626387863},"targetPosition":{"x":10141.829509763573,"y":16661.353396466464},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 70","id":"4cbfd9aa-d595-4e06-ac82-a87bfdf9f680"}}},{"type":"Polygon Vertex","name":"Begin 70","id":"36882cd2-2ec4-4d2d-af00-98b4c54bf1e7","savedPayload":{"position":{"x":9980.981818575243,"y":16163.030624728319},"targetPosition":{"x":10141.829509763573,"y":16661.353396466464},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 70","id":"228edebc-3b5b-4760-9791-2229cb76a662"}}}],"id":"508b71cf-79d3-4db4-a6d3-0b26226ad5b9","savedPayload":{"position":{"x":10141.829509763573,"y":16661.353396466464},"targetPosition":{"x":10819.456143684829,"y":17458.105303941884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line 80","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.15,\n \"lineWidth\": 1,\n \"lineDash\": [3,3],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n }\n}","id":"9506c6ad-440b-45a1-aadf-89004f5311fb","savedPayload":{"position":{"x":9855.252768269389,"y":16355.873146381884},"targetPosition":{"x":10103.671044896631,"y":16438.972754846473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"59804538-89e9-485a-a2b1-88ff78eb5661","savedPayload":{"position":{"x":10103.671044896631,"y":16438.972754846473},"targetPosition":{"x":10352.239311877182,"y":16522.342518329027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 80","id":"23df3ac4-6427-4a69-a5a3-8230186b46f3","savedPayload":{"position":{"x":10235.021983681932,"y":16287.557938610842},"targetPosition":{"x":10352.239311877182,"y":16522.342518329027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 80","id":"e7b453a3-5312-48e6-8797-6d96e058766b"}}},{"type":"Polygon Vertex","name":"Eng 80","id":"7a5139be-30b6-4eab-994a-bb8b74be455d","savedPayload":{"position":{"x":10432.83175932101,"y":16275.157293627486},"targetPosition":{"x":10352.239311877182,"y":16522.342518329027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Eng 80","id":"d64e2ceb-abb9-4cc0-b929-211bcbd934a7"}}}],"id":"8499947d-a392-40ed-be9d-225a28429642","savedPayload":{"position":{"x":10352.239311877182,"y":16522.342518329027},"targetPosition":{"x":10819.456143684829,"y":17458.105303941884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"RSI Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"90fe9ece-e33a-4e2e-904a-779327e7155a","savedPayload":{"position":{"x":10086.94831009226,"y":15841.998738069415},"targetPosition":{"x":10288.439530426649,"y":16009.93546831993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"(record.previous.value < 20 && record.value < 20) || (record.previous.value > 80 && record.value > 80)","style":{"type":"Style","name":"New Style","config":"{\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n}","id":"58f58e7a-3056-49c7-9117-f2a514d4479e","savedPayload":{"position":{"x":10107.819613410496,"y":15517.48567156448},"targetPosition":{"x":10198.225068509933,"y":15763.620268327395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9fcf2614-7ec8-407f-93a2-3c749f6683ef","savedPayload":{"position":{"x":10198.225068509933,"y":15763.620268327395},"targetPosition":{"x":10288.439530426649,"y":16009.93546831993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6dc77d6e-5aa6-41ab-b247-43c4391fcc96","savedPayload":{"position":{"x":10288.439530426649,"y":16009.93546831993},"targetPosition":{"x":10589.930554132987,"y":16437.845961748393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"RSI Begin","id":"5312ee43-9c15-4d4b-9255-5fb7259c5734","savedPayload":{"position":{"x":10475.186490074773,"y":15926.932655206638},"targetPosition":{"x":10589.930554132987,"y":16437.845961748393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"RSI Begin","id":"7f687c2f-3a91-4b53-b00d-8a651e82c97d"}}},{"type":"Polygon Vertex","name":"RSI End","id":"01981eaa-b1c6-41e1-84b4-2dc8106ac095","savedPayload":{"position":{"x":10679.08695770829,"y":15921.761645611638},"targetPosition":{"x":10589.930554132987,"y":16437.845961748393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"RSI End","id":"f5d97a45-0db5-4d48-bf32-efdd6b2726c0"}}}],"id":"e8eb9949-277b-4493-a9f4-cbcb502aacbc","savedPayload":{"position":{"x":10589.930554132987,"y":16437.845961748393},"targetPosition":{"x":10819.456143684829,"y":17458.105303941884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Box 30-70","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.05,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n }\n}","id":"5b04f4bb-2cc4-48a5-b421-667c96b2dd27","savedPayload":{"position":{"x":10506.98588332773,"y":16206.35046304628},"targetPosition":{"x":10617.100531761627,"y":16276.338707304903},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"208ca141-b231-4a70-8b31-eeae09576822","savedPayload":{"position":{"x":10617.100531761627,"y":16276.338707304903},"targetPosition":{"x":10840.940144818846,"y":16412.35940283603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin 30","id":"7956c253-3704-46c0-b188-f6662bb58904","savedPayload":{"position":{"x":10715.017618836862,"y":16182.255946258223},"targetPosition":{"x":10840.940144818846,"y":16412.35940283603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 30","id":"0f0a70c3-9f37-4e58-a93c-fcfcf9686c09"}}},{"type":"Polygon Vertex","name":"End 30","id":"b043ae0f-a172-4ebe-922b-a895b8a888c9","savedPayload":{"position":{"x":10846.455981034103,"y":16149.81021641953},"targetPosition":{"x":10840.940144818846,"y":16412.35940283603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 30","id":"ac82bb81-5d37-4eea-ab52-0f698de71014"}}},{"type":"Polygon Vertex","name":"End 70","id":"5830f66c-dca5-4f62-8102-d7d8ea588d0d","savedPayload":{"position":{"x":10976.816392955681,"y":16187.679575646775},"targetPosition":{"x":10840.940144818846,"y":16412.35940283603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End 70","id":"4cbfd9aa-d595-4e06-ac82-a87bfdf9f680"}}},{"type":"Polygon Vertex","name":"Begin 70","id":"a8eb0500-2421-4879-9459-2ecdb4ae09d5","savedPayload":{"position":{"x":11070.849518522062,"y":16285.870587185484},"targetPosition":{"x":10840.940144818846,"y":16412.35940283603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin 70","id":"228edebc-3b5b-4760-9791-2229cb76a662"}}}],"id":"b294fd86-15d6-4bc8-9379-0532df288eee","savedPayload":{"position":{"x":10840.940144818846,"y":16412.35940283603},"targetPosition":{"x":10819.456143684829,"y":17458.105303941884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"bc1170cc-a04b-4453-bd28-0e522f747617","savedPayload":{"position":{"x":10819.456143684829,"y":17458.105303941884},"targetPosition":{"x":11829.887183004508,"y":17729.736173372014},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"RSI 14","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"RSI 14","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.value","id":"fbec83cc-a090-491b-8cfb-833d40b2b843","savedPayload":{"position":{"x":11656.955398044951,"y":17075.218045539314},"targetPosition":{"x":11701.461842121678,"y":17244.336173038453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e5fd8d57-8920-417e-8b9b-c1e0d6868a7a","savedPayload":{"position":{"x":11701.461842121678,"y":17244.336173038453},"targetPosition":{"x":11745.986299070371,"y":17413.540272343762},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ff06d653-f886-44f4-8b28-82bab51aa98d","savedPayload":{"position":{"x":11745.986299070371,"y":17413.540272343762},"targetPosition":{"x":11829.887183004508,"y":17729.736173372014},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"72403d40-2a64-4e51-8eaf-b1a872e4474e","savedPayload":{"position":{"x":12231.516630943917,"y":18117.717583339156},"targetPosition":{"x":12541.05260058979,"y":18427.590659682006},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"bbc529df-b938-47b5-8cb7-a5579c859b99","savedPayload":{"position":{"x":12502.31701694956,"y":18388.914455401115},"targetPosition":{"x":12824.153406676238,"y":18710.73255185816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"MACD","config":"{\n\"codeName\": \"Plotter-MACD\"\n}","modules":[{"type":"Plotter Module","name":"MACD 122609","config":"{\n\t\"codeName\": \"Module-MACD-122609\",\n \"icon\": \"histogram\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Line Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.line","id":"013bf1cc-f8e0-4355-9690-6fb63ca3d103","savedPayload":{"position":{"x":11995.194328663418,"y":17564.989740102723},"targetPosition":{"x":12013.021538759205,"y":17915.802173218686},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"94440a25-a6c7-4e2d-a254-6479c643ff09","savedPayload":{"position":{"x":12013.021538759205,"y":17915.802173218686},"targetPosition":{"x":11935.988764217522,"y":18214.087064798387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Line End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.line","id":"3c8d9416-40db-43cd-a0ae-07a9e0635ef7","savedPayload":{"position":{"x":12534.950929574965,"y":17957.064300909522},"targetPosition":{"x":12195.34595329589,"y":18048.88399254602},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0b988153-3df8-402b-9c04-7e74699887f7","savedPayload":{"position":{"x":12195.34595329589,"y":18048.88399254602},"targetPosition":{"x":11935.988764217522,"y":18214.087064798387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Signal Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.signal","id":"91037bb8-b0c7-4967-9706-9ead7aaecd8b","savedPayload":{"position":{"x":12537.9854623648,"y":18291.303830250075},"targetPosition":{"x":12221.427969237158,"y":18258.108729268475},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"365f7baa-2fd3-48cc-aaff-24844093e7eb","savedPayload":{"position":{"x":12221.427969237158,"y":18258.108729268475},"targetPosition":{"x":11935.988764217522,"y":18214.087064798387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Signal End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.signal","id":"39df31ee-2e46-4a02-a8fb-8629589eb362","savedPayload":{"position":{"x":12377.555431681662,"y":18672.034319600254},"targetPosition":{"x":12156.759846882715,"y":18443.10851242834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4c82a32a-feff-405d-bc3f-036793beee1b","savedPayload":{"position":{"x":12156.759846882715,"y":18443.10851242834},"targetPosition":{"x":11935.988764217522,"y":18214.087064798387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"5522b77c-b212-4da0-b875-ec3ed641d6b9","savedPayload":{"position":{"x":11979.78478138755,"y":18849.295656214956},"targetPosition":{"x":11957.861971161126,"y":18531.36435935035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c0cd1824-c456-4b8a-ba66-d74f5141f9d1","savedPayload":{"position":{"x":11957.861971161126,"y":18531.36435935035},"targetPosition":{"x":11935.988764217522,"y":18214.087064798387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"0f1eceef-4664-4e5f-9f78-1e16eea87c82","savedPayload":{"position":{"x":11561.503930055735,"y":18729.080555666216},"targetPosition":{"x":11748.711902237419,"y":18471.51515114751},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"580f0304-770f-4fe3-aa42-8e8556096b71","savedPayload":{"position":{"x":11748.711902237419,"y":18471.51515114751},"targetPosition":{"x":11935.988764217522,"y":18214.087064798387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = (record.end - record.begin)/2 + record.begin\ny = 0","id":"266e904b-ce67-4b66-9474-4a4b030e055c","savedPayload":{"position":{"x":11318.239723874654,"y":18368.169105113284},"targetPosition":{"x":11627.054609560875,"y":18291.09769855866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ceed0b7c-ddfd-4395-ba25-d85353ed9b0c","savedPayload":{"position":{"x":11627.054609560875,"y":18291.09769855866},"targetPosition":{"x":11935.988764217522,"y":18214.087064798387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Histogram","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = (record.end - record.begin)/2 + record.begin\ny = record.histogram","id":"82de3468-fabd-41ab-bb34-aa7be6f9a564","savedPayload":{"position":{"x":11363.978549425907,"y":17935.51779376845},"targetPosition":{"x":11649.893895269777,"y":18074.720251104423},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"274108bd-33fb-46a0-b744-6500621a56c6","savedPayload":{"position":{"x":11649.893895269777,"y":18074.720251104423},"targetPosition":{"x":11935.988764217522,"y":18214.087064798387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f2b8d463-e10e-4db3-b2b8-ed4d4a980312","savedPayload":{"position":{"x":11935.988764217522,"y":18214.087064798387},"targetPosition":{"x":11677.651016685084,"y":17633.49873084153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Line Zero","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"eb2c7353-ba05-45d2-8abf-e605899e2c25","savedPayload":{"position":{"x":10658.419175931098,"y":18354.155562733038},"targetPosition":{"x":10877.492684805611,"y":18123.379672903473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"35816f89-9448-4bd4-89fe-2d6a626c127e","savedPayload":{"position":{"x":10877.492684805611,"y":18123.379672903473},"targetPosition":{"x":11096.48129583354,"y":17892.341666684304},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Zero Begin","id":"53278a2d-78c8-44f4-a450-46dd8a33967c","savedPayload":{"position":{"x":10805.623859051926,"y":18021.905834722606},"targetPosition":{"x":11096.48129583354,"y":17892.341666684304},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero Begin","id":"c0cd1824-c456-4b8a-ba66-d74f5141f9d1"}}},{"type":"Polygon Vertex","name":"Zero End","id":"8e67d151-e3aa-4831-8bf8-027cfc4caa17","savedPayload":{"position":{"x":10773.848796040666,"y":17928.64667329109},"targetPosition":{"x":11096.48129583354,"y":17892.341666684304},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero End","id":"580f0304-770f-4fe3-aa42-8e8556096b71"}}}],"id":"7efecae7-d203-47c5-8526-bb7135cf7581","savedPayload":{"position":{"x":11096.48129583354,"y":17892.341666684304},"targetPosition":{"x":11677.651016685084,"y":17633.49873084153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Histogram","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"87cb111c-9ab9-4708-a631-ea69bbe2ce9b","savedPayload":{"position":{"x":10788.95553296921,"y":17828.595373123953},"targetPosition":{"x":11056.132364921725,"y":17690.660677115462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.histogram < 0","style":{"type":"Style","name":"New Style","config":"{\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n}","id":"2f2bb59f-6665-45c6-ab49-dc5e3c886790","savedPayload":{"position":{"x":10419.665838553186,"y":17706.856413356436},"targetPosition":{"x":10737.822977356029,"y":17698.659230499863},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5d880310-15ff-48fa-bdaa-2b5f756078ae","savedPayload":{"position":{"x":10737.822977356029,"y":17698.659230499863},"targetPosition":{"x":11056.132364921725,"y":17690.660677115462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ccbf5840-9d7d-4ff6-9072-2d6643b10017","savedPayload":{"position":{"x":11056.132364921725,"y":17690.660677115462},"targetPosition":{"x":11361.286896899635,"y":17600.34417369337},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Zero","id":"6791722d-5183-48b7-b905-8c1604acae96","savedPayload":{"position":{"x":11044.65906372167,"y":17567.07243089109},"targetPosition":{"x":11361.286896899635,"y":17600.34417369337},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero","id":"ceed0b7c-ddfd-4395-ba25-d85353ed9b0c"}}},{"type":"Polygon Vertex","name":"Histogram","id":"0ceaf5d8-b8c7-4d39-a8b3-fd58e402cf37","savedPayload":{"position":{"x":11081.557018676374,"y":17448.440673614023},"targetPosition":{"x":11361.286896899635,"y":17600.34417369337},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Histogram","id":"274108bd-33fb-46a0-b744-6500621a56c6"}}}],"id":"e0c98602-420c-4f55-bad0-e27649a79e25","savedPayload":{"position":{"x":11361.286896899635,"y":17600.34417369337},"targetPosition":{"x":11677.651016685084,"y":17633.49873084153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"b027e8fb-cfc7-4658-89dd-28be20660c11","savedPayload":{"position":{"x":10543.838766354706,"y":17111.016858928957},"targetPosition":{"x":10853.277442990466,"y":17185.31475367571},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"29f3ad41-e970-4817-8285-732bb172e30f","savedPayload":{"position":{"x":10853.277442990466,"y":17185.31475367571},"targetPosition":{"x":11162.896636466348,"y":17259.477557519862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Line End","id":"6819d608-167a-4d7f-a636-cd4f5a01969a","savedPayload":{"position":{"x":10905.300693559018,"y":17072.313705598113},"targetPosition":{"x":11162.896636466348,"y":17259.477557519862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Line End","id":"0b988153-3df8-402b-9c04-7e74699887f7"}}},{"type":"Polygon Vertex","name":"Line Begin","id":"6d212921-f546-4874-a1ca-655ac05d6587","savedPayload":{"position":{"x":10996.573070942975,"y":16988.00646495266},"targetPosition":{"x":11162.896636466348,"y":17259.477557519862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Line Begin","id":"94440a25-a6c7-4e2d-a254-6479c643ff09"}}}],"id":"c5b15661-b8ab-46b6-bd98-9c2b74ebf550","savedPayload":{"position":{"x":11162.896636466348,"y":17259.477557519862},"targetPosition":{"x":11677.651016685084,"y":17633.49873084153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Signal","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"016d7265-d869-4534-8669-f6182a573d85","savedPayload":{"position":{"x":11086.965763339764,"y":16904.235954164607},"targetPosition":{"x":11317.606074096117,"y":17123.628836971264},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"257492c0-dffd-4e78-854d-90bbf6423652","savedPayload":{"position":{"x":11317.606074096117,"y":17123.628836971264},"targetPosition":{"x":11548.425776679136,"y":17342.771159933618},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Signal End","id":"7c9842d1-9d91-49d2-bdd2-2b443b94a237","savedPayload":{"position":{"x":11419.065117982207,"y":17051.909426569942},"targetPosition":{"x":11548.425776679136,"y":17342.771159933618},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Signal End","id":"4c82a32a-feff-405d-bc3f-036793beee1b"}}},{"type":"Polygon Vertex","name":"Signal Begin","id":"5f1617a3-28fe-4fbc-9e92-c466c30141a1","savedPayload":{"position":{"x":11540.393362570494,"y":17024.559274626125},"targetPosition":{"x":11548.425776679136,"y":17342.771159933618},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Signal Begin","id":"365f7baa-2fd3-48cc-aaff-24844093e7eb"}}}],"id":"a783436f-fdf6-42e1-8394-633220627cf6","savedPayload":{"position":{"x":11548.425776679136,"y":17342.771159933618},"targetPosition":{"x":11677.651016685084,"y":17633.49873084153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"4c2df818-f24d-4458-84d5-eb5e50c413e5","savedPayload":{"position":{"x":11677.651016685084,"y":17633.49873084153},"targetPosition":{"x":12309.535036167812,"y":17699.886994075452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"MACD 122609","config":"{ \n\"codeName\": \"Panel-MACD-122609\"\n}","panelData":[{"type":"Panel Data","name":"Line","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.line","id":"52edc6fd-3d02-4f47-ad41-f2937d00ff3d","savedPayload":{"position":{"x":11457.665502746086,"y":16890.43721016825},"targetPosition":{"x":11754.563874433117,"y":17004.95944659666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a39ffdbe-3b95-48b9-b8b6-a760f44def62","savedPayload":{"position":{"x":11754.563874433117,"y":17004.95944659666},"targetPosition":{"x":12051.302985598313,"y":17119.184532977204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Signal","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.signal","id":"f8089efa-fde3-41df-b096-1a00df3581ae","savedPayload":{"position":{"x":11792.805691764925,"y":16537.57385488619},"targetPosition":{"x":11922.082631617539,"y":16828.36215310923},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fadd439a-0ae7-473c-940c-4e0119bfa325","savedPayload":{"position":{"x":11922.082631617539,"y":16828.36215310923},"targetPosition":{"x":12051.302985598313,"y":17119.184532977204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Histogram","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.histogram","id":"1bfbffeb-bd62-4f0e-bf46-a69d97a19af7","savedPayload":{"position":{"x":12279.345271892607,"y":16524.95970028724},"targetPosition":{"x":12165.362475919455,"y":16822.057645676887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9b0b1888-dbfb-4ec1-ae2e-3cfa9fbd51fe","savedPayload":{"position":{"x":12165.362475919455,"y":16822.057645676887},"targetPosition":{"x":12051.302985598313,"y":17119.184532977204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"20625002-d334-440f-a473-88140625598f","savedPayload":{"position":{"x":12051.302985598313,"y":17119.184532977204},"targetPosition":{"x":12309.535036167812,"y":17699.886994075452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fb08cb11-7983-4106-8b03-edf70baad4a0","savedPayload":{"position":{"x":12309.270256929945,"y":17700.081062902853},"targetPosition":{"x":12824.157292027643,"y":18074.15364135208},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"MACD 031016","config":"{\n\t\"codeName\": \"Module-MACD-031016\",\n \"icon\": \"histogram\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Line Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.line","id":"b5d7cbce-d6e7-401c-b79e-121856736ff4","savedPayload":{"position":{"x":12455.190638772388,"y":17171.9268857264},"targetPosition":{"x":12262.827423371515,"y":17469.050555635193},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1f9c9003-b080-49e5-8ab7-2b5b17086596","savedPayload":{"position":{"x":12262.827423371515,"y":17469.050555635193},"targetPosition":{"x":12023.354459959979,"y":17665.127973684725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Line End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.line","id":"032146dc-0480-4dbe-a91e-ad8067da7659","savedPayload":{"position":{"x":12677.19469443564,"y":17803.52593872232},"targetPosition":{"x":12341.845408443378,"y":17673.856977285253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"aecccad2-09c2-483f-ad7e-b58d463ecc31","savedPayload":{"position":{"x":12341.845408443378,"y":17673.856977285253},"targetPosition":{"x":12023.354459959979,"y":17665.127973684725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Signal Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.signal","id":"8016a3c1-2c79-4449-8075-3be7d559e628","savedPayload":{"position":{"x":12495.84649131011,"y":18090.998519021323},"targetPosition":{"x":12259.540457769968,"y":17878.30134654881},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"10c05c23-c90c-45df-8aba-a2828c90f7e1","savedPayload":{"position":{"x":12259.540457769968,"y":17878.30134654881},"targetPosition":{"x":12023.354459959979,"y":17665.127973684725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Signal End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.signal","id":"4e570054-6ad8-4894-994f-33008806def2","savedPayload":{"position":{"x":12110.989119786207,"y":18295.38401891384},"targetPosition":{"x":12067.206774505708,"y":17980.276975564822},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f3abb57c-7d3c-4803-9939-cf0bd64964d2","savedPayload":{"position":{"x":12067.206774505708,"y":17980.276975564822},"targetPosition":{"x":12023.354459959979,"y":17665.127973684725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"17fa15b8-c752-45e7-9ab0-91ceab45e38f","savedPayload":{"position":{"x":11685.640295423143,"y":18204.831290273665},"targetPosition":{"x":11854.471385924697,"y":17935.020047185877},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"adbe6c72-d20f-4e31-a636-2efde1ffb8fe","savedPayload":{"position":{"x":11854.471385924697,"y":17935.020047185877},"targetPosition":{"x":12023.354459959979,"y":17665.127973684725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"11f10b6a-4de7-4c2e-8b08-ff25a0f391fe","savedPayload":{"position":{"x":11417.680110940693,"y":17861.736995875774},"targetPosition":{"x":11720.460165684259,"y":17763.4481725291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ba91f45f-78ef-4776-b0db-76626b4ab6a9","savedPayload":{"position":{"x":11720.460165684259,"y":17763.4481725291},"targetPosition":{"x":12023.354459959979,"y":17665.127973684725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero Middle","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = (record.end - record.begin)/2 + record.begin\ny = 0","id":"d6c3344a-031a-4abe-a954-84fb5f3a348a","savedPayload":{"position":{"x":11432.90387521454,"y":17426.909520911428},"targetPosition":{"x":11728.08127396666,"y":17545.99102737803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7910022b-7f2a-42c1-a8bb-a7dbfd7173fb","savedPayload":{"position":{"x":11728.08127396666,"y":17545.99102737803},"targetPosition":{"x":12023.354459959979,"y":17665.127973684725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Histogram","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = (record.end - record.begin)/2 + record.begin\ny = record.histogram","id":"9feab5b3-5a73-456b-a177-6a5cbbd1a542","savedPayload":{"position":{"x":11724.359689001698,"y":17103.594630610736},"targetPosition":{"x":11873.83673616728,"y":17384.244875727796},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"aa1b0de1-8ca0-414f-915b-b03fd6322cb7","savedPayload":{"position":{"x":11873.83673616728,"y":17384.244875727796},"targetPosition":{"x":12023.354459959979,"y":17665.127973684725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"95bb8ee2-447e-465c-aa18-fdf3cd1d9fe7","savedPayload":{"position":{"x":12023.354459959979,"y":17665.127973684725},"targetPosition":{"x":12155.7429538862,"y":17043.66429903006},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Line Zero","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"d3aedc59-15d6-43d5-9edb-41b17ba0b9a7","savedPayload":{"position":{"x":10907.407729504494,"y":17027.574811379924},"targetPosition":{"x":11220.34030977091,"y":16969.713728765946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"c9204ab8-9aa4-461f-bfef-f16e80dfcfde","savedPayload":{"position":{"x":11220.34030977091,"y":16969.713728765946},"targetPosition":{"x":11533.363354503652,"y":16911.591274740582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Zero Begin","id":"a26ab460-419c-4c64-94b3-f344d333e427","savedPayload":{"position":{"x":11221.84376730762,"y":16845.57492544887},"targetPosition":{"x":11533.363354503652,"y":16911.591274740582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero Begin","id":"adbe6c72-d20f-4e31-a636-2efde1ffb8fe"}}},{"type":"Polygon Vertex","name":"Zero End","id":"8bcffc78-e71a-4a5b-b874-98335342557a","savedPayload":{"position":{"x":11251.044541123943,"y":16751.40453281491},"targetPosition":{"x":11533.363354503652,"y":16911.591274740582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero End","id":"ba91f45f-78ef-4776-b0db-76626b4ab6a9"}}}],"id":"b8ddf2bf-44ec-455e-b9e0-3aea2fe4c03b","savedPayload":{"position":{"x":11533.363354503652,"y":16911.591274740582},"targetPosition":{"x":12155.7429538862,"y":17043.66429903006},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Histogram","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"8387bbc3-546c-45d6-9bd3-efe1abdd3511","savedPayload":{"position":{"x":11321.936871965807,"y":16679.3844389676},"targetPosition":{"x":11619.314290096043,"y":16724.664622566663},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.histogram < 0","style":{"type":"Style","name":"New Style","config":"{\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n}","id":"8b8ca847-0ee9-4a50-93d8-219afad9d2bb","savedPayload":{"position":{"x":11094.764897646359,"y":16363.902561006409},"targetPosition":{"x":11357.034740378853,"y":16544.157023460455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"18c65f10-ca47-46aa-a74d-50ed3a7b3c21","savedPayload":{"position":{"x":11357.034740378853,"y":16544.157023460455},"targetPosition":{"x":11619.314290096043,"y":16724.664622566663},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"836ad43b-dbbe-4145-b584-f06f92971981","savedPayload":{"position":{"x":11619.314290096043,"y":16724.664622566663},"targetPosition":{"x":11919.338919822281,"y":16830.84324290179},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Zero Middle","id":"d41ccd8f-9abd-4701-a00d-a0582cf90328","savedPayload":{"position":{"x":11682.795204414806,"y":16617.77916831542},"targetPosition":{"x":11919.338919822281,"y":16830.84324290179},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero Middle","id":"7910022b-7f2a-42c1-a8bb-a7dbfd7173fb"}}},{"type":"Polygon Vertex","name":"Histogram","id":"5d816817-9b56-41c0-8e3d-9ee2c13d4a2d","savedPayload":{"position":{"x":11782.376207999523,"y":16543.490111205738},"targetPosition":{"x":11919.338919822281,"y":16830.84324290179},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Histogram","id":"aa1b0de1-8ca0-414f-915b-b03fd6322cb7"}}}],"id":"34dac9ae-bbb4-4c68-9462-986a7102e87e","savedPayload":{"position":{"x":11919.338919822281,"y":16830.84324290179},"targetPosition":{"x":12155.7429538862,"y":17043.66429903006},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"8c239919-8420-451f-8d50-282b389d47cd","savedPayload":{"position":{"x":11545.752752841445,"y":15954.391074231937},"targetPosition":{"x":11752.364017195878,"y":16196.426049183154},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"6c3dfcca-7012-4442-91be-64a8215832d5","savedPayload":{"position":{"x":11752.364017195878,"y":16196.426049183154},"targetPosition":{"x":11959.198109004652,"y":16438.460712432243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Line End","id":"340835c7-b097-4be7-a0f5-76958ceb2e46","savedPayload":{"position":{"x":11860.869257282406,"y":16135.587963905387},"targetPosition":{"x":11959.198109004652,"y":16438.460712432243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Line End","id":"aecccad2-09c2-483f-ad7e-b58d463ecc31"}}},{"type":"Polygon Vertex","name":"Line Begin","id":"c14a8ccb-9184-4483-a0c7-73d2259fa7eb","savedPayload":{"position":{"x":11984.060546790652,"y":16121.030215707673},"targetPosition":{"x":11959.198109004652,"y":16438.460712432243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Line Begin","id":"1f9c9003-b080-49e5-8ab7-2b5b17086596"}}}],"id":"bfe93326-71d6-47d7-a34f-221c188a22a9","savedPayload":{"position":{"x":11959.198109004652,"y":16438.460712432243},"targetPosition":{"x":12155.7429538862,"y":17043.66429903006},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Signal","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"3536f467-d468-4b5b-974d-6835b3932a5c","savedPayload":{"position":{"x":12106.489817636177,"y":16106.340655557706},"targetPosition":{"x":12164.06227261535,"y":16419.444288796913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"2b5adcee-bef1-4a94-b045-8c52317c89f7","savedPayload":{"position":{"x":12164.06227261535,"y":16419.444288796913},"targetPosition":{"x":12221.935516862084,"y":16732.453242020274},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Signal End","id":"c7c53102-0db0-44d5-935f-b4609ce0ad1a","savedPayload":{"position":{"x":12288.102311952456,"y":16421.061141007485},"targetPosition":{"x":12221.935516862084,"y":16732.453242020274},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Signal End","id":"f3abb57c-7d3c-4803-9939-cf0bd64964d2"}}},{"type":"Polygon Vertex","name":"Signal Begin","id":"f6b5228a-83bf-42ee-b652-b7b71674e710","savedPayload":{"position":{"x":12402.334234743133,"y":16470.24830757053},"targetPosition":{"x":12221.935516862084,"y":16732.453242020274},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Signal Begin","id":"10c05c23-c90c-45df-8aba-a2828c90f7e1"}}}],"id":"004e01d2-9a9b-4cec-935d-fd5427397838","savedPayload":{"position":{"x":12221.935516862084,"y":16732.453242020274},"targetPosition":{"x":12155.7429538862,"y":17043.66429903006},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"cff04172-4157-400a-ba23-98428f3f8505","savedPayload":{"position":{"x":12155.7429538862,"y":17043.66429903006},"targetPosition":{"x":12627.877086604212,"y":17468.835112354805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"MACD 031016","config":"{ \n\"codeName\": \"Panel-MACD-031016\"\n}","panelData":[{"type":"Panel Data","name":"Line","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.line","id":"30e7b23c-7d15-4eb2-971b-442ef569578d","savedPayload":{"position":{"x":12414.475580341006,"y":16313.111975355409},"targetPosition":{"x":12587.294984881313,"y":16580.322021884032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fc80e234-9a51-434b-9a75-776ac31fb892","savedPayload":{"position":{"x":12587.294984881313,"y":16580.322021884032},"targetPosition":{"x":12760.159402668954,"y":16847.201144444978},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Signal","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.signal","id":"e4b2dfeb-834f-4daf-8c65-5f10885d4dfa","savedPayload":{"position":{"x":12892.618963558607,"y":16224.62628314045},"targetPosition":{"x":12826.422875588623,"y":16535.91544147715},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fe1b0c2a-0a40-42b7-a275-dfe9d14f0a7c","savedPayload":{"position":{"x":12826.422875588623,"y":16535.91544147715},"targetPosition":{"x":12760.159402668954,"y":16847.201144444978},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Histogram","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.histogram","id":"3698be44-3c02-481a-94fa-d3b759c3fd16","savedPayload":{"position":{"x":13293.97479793141,"y":16500.63267036097},"targetPosition":{"x":13027.107288294048,"y":16673.92709470097},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"251d6cd3-674e-4269-86ac-4ef977924055","savedPayload":{"position":{"x":13027.107288294048,"y":16673.92709470097},"targetPosition":{"x":12760.159402668954,"y":16847.201144444978},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d05c86b5-c035-4dde-967b-fd9ec3f33d8d","savedPayload":{"position":{"x":12760.159402668954,"y":16847.201144444978},"targetPosition":{"x":12627.877086604212,"y":17468.835112354805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"03816d0f-361f-4c6c-8f85-0bf2dfff1c21","savedPayload":{"position":{"x":12627.584296941457,"y":17468.818843670855},"targetPosition":{"x":12824.157292027643,"y":18074.15364135208},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"MACD 081709","config":"{\n\t\"codeName\": \"Module-MACD-081709\",\n \"icon\": \"histogram\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Line Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.line","id":"9a6467e7-6106-454b-b7ef-e7d3ef9bf6ff","savedPayload":{"position":{"x":12999.286223882593,"y":17078.61604512165},"targetPosition":{"x":12688.643917448304,"y":17227.784121386518},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6d3d1eb7-854c-48c1-9f53-9a81d3d40d6a","savedPayload":{"position":{"x":12688.643917448304,"y":17227.784121386518},"targetPosition":{"x":12416.517550043156,"y":17272.333761664628},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Line End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.line","id":"0820faf8-ca0c-4188-9af8-ebd57e41dfa3","savedPayload":{"position":{"x":12784.270269394166,"y":17778.55709666649},"targetPosition":{"x":12622.364717648152,"y":17467.41721543881},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"075592ad-acd5-4389-ac67-5cc0cb03b92a","savedPayload":{"position":{"x":12622.364717648152,"y":17467.41721543881},"targetPosition":{"x":12416.517550043156,"y":17272.333761664628},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Signal Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.signal","id":"eba62e43-3d37-46e0-aa8e-19f394d28745","savedPayload":{"position":{"x":12548.213615254224,"y":17894.728392241865},"targetPosition":{"x":12482.310441943098,"y":17583.628458431995},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"96975ec0-b8cd-41d9-90b1-4b3a7acdb4c2","savedPayload":{"position":{"x":12482.310441943098,"y":17583.628458431995},"targetPosition":{"x":12416.517550043156,"y":17272.333761664628},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Signal End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.signal","id":"48465d15-62ec-4961-9b7c-b0f90cb6b661","savedPayload":{"position":{"x":12116.943309558153,"y":17833.650679960163},"targetPosition":{"x":12266.716277535505,"y":17552.73635169677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d6442860-3c2e-43f4-97b2-d4dfff64c72f","savedPayload":{"position":{"x":12266.716277535505,"y":17552.73635169677},"targetPosition":{"x":12416.517550043156,"y":17272.333761664628},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"c83ddb1a-8e52-4163-b80e-3868cf6529a0","savedPayload":{"position":{"x":11825.964492575868,"y":17510.391273597317},"targetPosition":{"x":12121.172688022814,"y":17391.335094153987},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2ae7ce7b-794a-454e-8260-1868d6b2909e","savedPayload":{"position":{"x":12121.172688022814,"y":17391.335094153987},"targetPosition":{"x":12416.517550043156,"y":17272.333761664628},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"7e353304-2d0b-4718-8cfa-cc6a925ad6a5","savedPayload":{"position":{"x":11810.874257352838,"y":17075.678836365874},"targetPosition":{"x":12113.633109826207,"y":17173.97197149409},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6fc15982-383b-4a39-8c6e-5acbf13ac87c","savedPayload":{"position":{"x":12113.633109826207,"y":17173.97197149409},"targetPosition":{"x":12416.517550043156,"y":17272.333761664628},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = (record.end - record.begin)/2 + record.begin\ny = 0","id":"06a7bc4a-17b4-4aef-bfa0-c949e5c53484","savedPayload":{"position":{"x":12078.920398144191,"y":16732.638686032566},"targetPosition":{"x":12247.704788598325,"y":17002.422572023428},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"00562b76-47c9-49fd-b8f2-902f22484df5","savedPayload":{"position":{"x":12247.704788598325,"y":17002.422572023428},"targetPosition":{"x":12416.517550043156,"y":17272.333761664628},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Histogram","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = (record.end - record.begin)/2 + record.begin\ny = record.histogram","id":"65c9be94-3e68-4aba-9b52-e7b8848064ea","savedPayload":{"position":{"x":12504.414212066631,"y":16642.341132276015},"targetPosition":{"x":12460.527526450036,"y":16957.215990589593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f4fe4dc0-d4ab-4812-bd09-96953df3813a","savedPayload":{"position":{"x":12460.527526450036,"y":16957.215990589593},"targetPosition":{"x":12416.517550043156,"y":17272.333761664628},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"247d8d0e-3330-4aa0-9e5e-0f3823bd7258","savedPayload":{"position":{"x":12416.517550043156,"y":17272.333761664628},"targetPosition":{"x":12889.002827304948,"y":16847.482817625998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Line Zero","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"a75405f5-da8a-487f-871c-6e2b7e800c42","savedPayload":{"position":{"x":11888.510842372312,"y":16100.941821349585},"targetPosition":{"x":12175.730673250002,"y":16237.935056581906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"2bb22bfc-5bc6-46bd-b780-4269bd800d69","savedPayload":{"position":{"x":12175.730673250002,"y":16237.935056581906},"targetPosition":{"x":12463.180781876335,"y":16374.770754616839},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Zero Begin","id":"0ead2c7c-b1e2-4297-86c4-f1515df7f077","savedPayload":{"position":{"x":12250.031964436346,"y":16138.22756528722},"targetPosition":{"x":12463.180781876335,"y":16374.770754616839},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero Begin","id":"2ae7ce7b-794a-454e-8260-1868d6b2909e"}}},{"type":"Polygon Vertex","name":"Zero End","id":"5da8d9fb-ca1e-429e-87e9-605b2493e037","savedPayload":{"position":{"x":12329.011748533305,"y":16079.197510668379},"targetPosition":{"x":12463.180781876335,"y":16374.770754616839},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero End","id":"6fc15982-383b-4a39-8c6e-5acbf13ac87c"}}}],"id":"19fac3f2-d743-4b88-b051-294f37589fe5","savedPayload":{"position":{"x":12463.180781876335,"y":16374.770754616839},"targetPosition":{"x":12889.002827304948,"y":16847.482817625998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Histogram","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"6383ddc1-5bd7-4cd2-83ce-b7ffe7dbabff","savedPayload":{"position":{"x":12428.768312358252,"y":16062.585738343343},"targetPosition":{"x":12642.661468765154,"y":16274.034555316257},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.histogram < 0","style":{"type":"Style","name":"New Style","config":"{\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n}","id":"6ce4860c-7dc9-4fa0-9ac1-e768b669141b","savedPayload":{"position":{"x":12430.496423995393,"y":15673.78710323264},"targetPosition":{"x":12536.647845938029,"y":15973.806664006037},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"038a1be4-9af1-4942-a4db-258ccdbce08c","savedPayload":{"position":{"x":12536.647845938029,"y":15973.806664006037},"targetPosition":{"x":12642.661468765154,"y":16274.034555316257},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7fc825fc-7db0-47dc-bbdb-14d269d1fcb4","savedPayload":{"position":{"x":12642.661468765154,"y":16274.034555316257},"targetPosition":{"x":12822.904961663326,"y":16536.316400270738},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Zero","id":"d48a6d8f-eab0-49f1-9b7f-1fc503cd1df9","savedPayload":{"position":{"x":12756.847495992288,"y":16224.878030925332},"targetPosition":{"x":12822.904961663326,"y":16536.316400270738},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero","id":"00562b76-47c9-49fd-b8f2-902f22484df5"}}},{"type":"Polygon Vertex","name":"Histogram","id":"6892eda6-1689-49a2-8145-9ffd38d4bc3d","savedPayload":{"position":{"x":12880.878322578172,"y":16223.30933890893},"targetPosition":{"x":12822.904961663326,"y":16536.316400270738},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Histogram","id":"f4fe4dc0-d4ab-4812-bd09-96953df3813a"}}}],"id":"68162ec3-a643-4567-818b-83362fc9e843","savedPayload":{"position":{"x":12822.904961663326,"y":16536.316400270738},"targetPosition":{"x":12889.002827304948,"y":16847.482817625998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"b93e8f5b-41db-44e6-8d00-b1aac544377a","savedPayload":{"position":{"x":13035.788053518068,"y":15607.601163506242},"targetPosition":{"x":13060.599133914739,"y":15924.88668965833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"541af95f-c876-4ba2-aaef-56e43a140ffd","savedPayload":{"position":{"x":13060.599133914739,"y":15924.88668965833},"targetPosition":{"x":13085.593018425987,"y":16242.301715141277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Line End","id":"a2c0de4e-cf82-4b65-a591-a364e6c3f9e8","savedPayload":{"position":{"x":13183.944243939672,"y":15939.447590527236},"targetPosition":{"x":13085.593018425987,"y":16242.301715141277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Line End","id":"075592ad-acd5-4389-ac67-5cc0cb03b92a"}}},{"type":"Polygon Vertex","name":"Line Begin","id":"1c1fd64b-34ee-447c-b0d3-76ca645588c6","savedPayload":{"position":{"x":13292.325690089196,"y":16000.198570472106},"targetPosition":{"x":13085.593018425987,"y":16242.301715141277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Line Begin","id":"6d3d1eb7-854c-48c1-9f53-9a81d3d40d6a"}}}],"id":"9e96b118-c85c-4707-8063-a2651ae44740","savedPayload":{"position":{"x":13085.593018425987,"y":16242.301715141277},"targetPosition":{"x":12889.002827304948,"y":16847.482817625998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Signal","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"c1d9c98e-657c-4895-a557-bd2074056db5","savedPayload":{"position":{"x":13399.90231571644,"y":16060.255978072106},"targetPosition":{"x":13262.563133363192,"y":16347.42686115822},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"64c671b3-60a7-4fc0-b7ba-a597fce77d38","savedPayload":{"position":{"x":13262.563133363192,"y":16347.42686115822},"targetPosition":{"x":13125.516599748431,"y":16634.697001598255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Signal End","id":"faff0d49-252e-45e3-a42d-fa041b77dd34","savedPayload":{"position":{"x":13362.142032884678,"y":16421.763779650388},"targetPosition":{"x":13125.516599748431,"y":16634.697001598255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Signal End","id":"d6442860-3c2e-43f4-97b2-d4dfff64c72f"}}},{"type":"Polygon Vertex","name":"Signal Begin","id":"0469d29c-4fd7-4ab3-a5fc-433cd33e82c8","savedPayload":{"position":{"x":13425.646806701176,"y":16528.696088061595},"targetPosition":{"x":13125.516599748431,"y":16634.697001598255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Signal Begin","id":"96975ec0-b8cd-41d9-90b1-4b3a7acdb4c2"}}}],"id":"d3737a2f-c760-4373-a2ed-bc3c321a87b6","savedPayload":{"position":{"x":13125.516599748431,"y":16634.697001598255},"targetPosition":{"x":12889.002827304948,"y":16847.482817625998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"e89f491f-20db-434b-810f-6c93c0096d3f","savedPayload":{"position":{"x":12889.002827304948,"y":16847.482817625998},"targetPosition":{"x":13021.005539069009,"y":17469.020753174795},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"MACD 081709","config":"{ \n\"codeName\": \"Panel-MACD-081709\"\n}","panelData":[{"type":"Panel Data","name":"Line","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.line","id":"10eb7ea2-b8dd-4ddd-b200-71d0ecea3c6e","savedPayload":{"position":{"x":13527.436177343547,"y":16408.474824051496},"targetPosition":{"x":13510.320354282981,"y":16726.285644878393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1e07f765-13e9-49f2-8f76-90cb6e4466af","savedPayload":{"position":{"x":13510.320354282981,"y":16726.285644878393},"targetPosition":{"x":13493.440315190235,"y":17043.78543471881},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Signal","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.signal","id":"f2dcbee4-39a8-42aa-8fdd-8e4c3addb6d2","savedPayload":{"position":{"x":13966.495371013623,"y":16618.19892866538},"targetPosition":{"x":13729.945429015543,"y":16831.063533054603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"95d59325-db92-413c-a74a-5a12fea61b82","savedPayload":{"position":{"x":13729.945429015543,"y":16831.063533054603},"targetPosition":{"x":13493.440315190235,"y":17043.78543471881},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Histogram","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.histogram","id":"387de792-7d66-46a8-b11d-a96403f09dfe","savedPayload":{"position":{"x":14129.115747365127,"y":17076.908605931698},"targetPosition":{"x":13811.322109542312,"y":17060.390239838587},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9d00b3d7-779a-452f-b800-6d2949df7a03","savedPayload":{"position":{"x":13811.322109542312,"y":17060.390239838587},"targetPosition":{"x":13493.440315190235,"y":17043.78543471881},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a858c3e2-ad02-4ee4-aea3-fd60ab8fe9d7","savedPayload":{"position":{"x":13493.440315190235,"y":17043.78543471881},"targetPosition":{"x":13021.005539069009,"y":17469.020753174795},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"43695164-d8aa-40d8-bbf4-ee8cbbdec3f0","savedPayload":{"position":{"x":13020.732272048086,"y":17468.81848773541},"targetPosition":{"x":12824.157292027643,"y":18074.15364135208},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"MACD 245209","config":"{\n\t\"codeName\": \"Module-MACD-245209\",\n \"icon\": \"histogram\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Line Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.line","id":"48f415e0-0abb-4867-a7d7-454bc5450e6b","savedPayload":{"position":{"x":13565.046425784765,"y":17443.504492295247},"targetPosition":{"x":13225.45681490327,"y":17351.50729026298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"36adae0b-9c21-40b9-abfb-e511d72f2b5d","savedPayload":{"position":{"x":13225.45681490327,"y":17351.50729026298},"targetPosition":{"x":12965.532240082915,"y":17186.31270187648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Line End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.line","id":"1e3e4460-9762-470f-9cbc-0efd86f722da","savedPayload":{"position":{"x":13033.08061810084,"y":17849.732604011504},"targetPosition":{"x":13053.607871481161,"y":17491.33118142024},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6f0173db-8cbd-4530-a30d-ebe66906c578","savedPayload":{"position":{"x":13053.607871481161,"y":17491.33118142024},"targetPosition":{"x":12965.532240082915,"y":17186.31270187648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Signal Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.signal","id":"8f397084-7cae-4586-b410-c5970593562e","savedPayload":{"position":{"x":12706.343916137104,"y":17767.197780045302},"targetPosition":{"x":12835.828297289407,"y":17476.824202927546},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0cc9c494-c307-4bfe-9baf-8ed796fb602d","savedPayload":{"position":{"x":12835.828297289407,"y":17476.824202927546},"targetPosition":{"x":12965.532240082915,"y":17186.31270187648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Signal End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.signal","id":"dd38ae56-a770-4332-899e-6f8239fa815b","savedPayload":{"position":{"x":12393.037474788862,"y":17463.88213010133},"targetPosition":{"x":12679.38835956992,"y":17324.917825596516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cd80c183-d19f-48a6-b7fc-a69b1b794b2a","savedPayload":{"position":{"x":12679.38835956992,"y":17324.917825596516},"targetPosition":{"x":12965.532240082915,"y":17186.31270187648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"4939828f-043d-4764-be8b-eafcd061b524","savedPayload":{"position":{"x":12347.610597467496,"y":17031.74162826977},"targetPosition":{"x":12656.540005081408,"y":17108.937559526617},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"957cc3a3-ac48-4a0e-b7b3-b0ad7f529cf4","savedPayload":{"position":{"x":12656.540005081408,"y":17108.937559526617},"targetPosition":{"x":12965.532240082915,"y":17186.31270187648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"eb1dcee7-230c-4970-9326-0359d3e67857","savedPayload":{"position":{"x":12591.196481826877,"y":16671.01981858262},"targetPosition":{"x":12778.3305864105,"y":16928.574439539505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"749f8342-4448-48d8-b663-9840ad6295c2","savedPayload":{"position":{"x":12778.3305864105,"y":16928.574439539505},"targetPosition":{"x":12965.532240082915,"y":17186.31270187648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = (record.end - record.begin)/2 + record.begin\ny = 0","id":"7de51d6d-a086-4c6f-b801-5f13b37c9feb","savedPayload":{"position":{"x":13009.266498692361,"y":16551.080996998735},"targetPosition":{"x":12987.42617530656,"y":16868.611220339586},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d2d60df1-8bd2-4371-9ce1-60a328cc80d3","savedPayload":{"position":{"x":12987.42617530656,"y":16868.611220339586},"targetPosition":{"x":12965.532240082915,"y":17186.31270187648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Histogram","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = (record.end - record.begin)/2 + record.begin\ny = record.histogram","id":"b8f5d987-aa7a-415e-ac1e-e36a3afa7db1","savedPayload":{"position":{"x":13406.820428535406,"y":16728.372680950786},"targetPosition":{"x":13186.323401676984,"y":16957.256826600325},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4292d954-54aa-45e3-acb4-a52622471108","savedPayload":{"position":{"x":13186.323401676984,"y":16957.256826600325},"targetPosition":{"x":12965.532240082915,"y":17186.31270187648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fd10b89d-abb6-4a47-b82b-1efc5196c46b","savedPayload":{"position":{"x":12965.532240082915,"y":17186.31270187648},"targetPosition":{"x":13597.276996471572,"y":17120.4612128716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Line Zero","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"c93101ad-3f34-469d-8141-6bbb810cf79c","savedPayload":{"position":{"x":13226.797147518935,"y":15928.427618355796},"targetPosition":{"x":13378.538775956118,"y":16208.1250676451},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"c4c38f4b-d3a5-4a1c-8862-ebd87269fe24","savedPayload":{"position":{"x":13378.538775956118,"y":16208.1250676451},"targetPosition":{"x":13530.669481121678,"y":16487.826653918015},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Zero Begin","id":"0c3f9cb5-0866-4694-97e4-c195f216059e","savedPayload":{"position":{"x":13497.303422027135,"y":16171.063422546089},"targetPosition":{"x":13530.669481121678,"y":16487.826653918015},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero Begin","id":"957cc3a3-ac48-4a0e-b7b3-b0ad7f529cf4"}}},{"type":"Polygon Vertex","name":"Zero End","id":"a6fba16b-f5a7-4c45-8348-28bb07430bad","savedPayload":{"position":{"x":13595.70424947628,"y":16169.621557510653},"targetPosition":{"x":13530.669481121678,"y":16487.826653918015},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero End","id":"749f8342-4448-48d8-b663-9840ad6295c2"}}}],"id":"579cce76-9e03-43a3-b252-9d62ba988ed3","savedPayload":{"position":{"x":13530.669481121678,"y":16487.826653918015},"targetPosition":{"x":13597.276996471572,"y":17120.4612128716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Histogram","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","id":"83f50f64-2a7f-49b1-9649-dd23f86374b1","savedPayload":{"position":{"x":13686.078203653646,"y":16214.954801669475},"targetPosition":{"x":13734.648617748806,"y":16511.706258642545},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.histogram < 0","style":{"type":"Style","name":"New Style","config":"{\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n}","id":"de351dae-2678-4a8a-a5cc-e2a42418f558","savedPayload":{"position":{"x":13915.587613157508,"y":15901.26760741377},"targetPosition":{"x":13825.278333563992,"y":16206.430086334105},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6d9e5ad0-dd68-4192-ad7f-9986f34050af","savedPayload":{"position":{"x":13825.278333563992,"y":16206.430086334105},"targetPosition":{"x":13734.648617748806,"y":16511.706258642545},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0c056547-f273-4157-8c55-ca13da5adeb5","savedPayload":{"position":{"x":13734.648617748806,"y":16511.706258642545},"targetPosition":{"x":13726.49106629845,"y":16829.883195817627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Zero","id":"02e0cf18-f0d8-4c59-ae6a-37a1e516b67a","savedPayload":{"position":{"x":13855.982988458805,"y":16539.014095357656},"targetPosition":{"x":13726.49106629845,"y":16829.883195817627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero","id":"d2d60df1-8bd2-4371-9ce1-60a328cc80d3"}}},{"type":"Polygon Vertex","name":"Histogram","id":"e4c545cd-400d-4616-bf3a-f24a1fd24794","savedPayload":{"position":{"x":13957.411735345746,"y":16610.79119492677},"targetPosition":{"x":13726.49106629845,"y":16829.883195817627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Histogram","id":"4292d954-54aa-45e3-acb4-a52622471108"}}}],"id":"83a0d615-06f0-4daf-a684-211e42345717","savedPayload":{"position":{"x":13726.49106629845,"y":16829.883195817627},"targetPosition":{"x":13597.276996471572,"y":17120.4612128716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"cd8d0c68-f06e-43be-9c1c-d4d2b79fc680","savedPayload":{"position":{"x":14444.44672599936,"y":16203.663399156121},"targetPosition":{"x":14278.159627725965,"y":16474.967783336797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"dec1dd79-8e14-4104-86e1-ab9b5919055c","savedPayload":{"position":{"x":14278.159627725965,"y":16474.967783336797},"targetPosition":{"x":14111.975236642413,"y":16746.559432097074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Line End","id":"8a24dd4a-0202-40ea-95d6-127abe4893bf","savedPayload":{"position":{"x":14369.628437998826,"y":16559.39084919471},"targetPosition":{"x":14111.975236642413,"y":16746.559432097074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Line End","id":"6f0173db-8cbd-4530-a30d-ebe66906c578"}}},{"type":"Polygon Vertex","name":"Line Begin","id":"11bd728e-9c76-4cd3-97e5-27965f60bd9d","savedPayload":{"position":{"x":14421.597245006093,"y":16672.26813572691},"targetPosition":{"x":14111.975236642413,"y":16746.559432097074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Line Begin","id":"36adae0b-9c21-40b9-abfb-e511d72f2b5d"}}}],"id":"c5dff6f5-ceea-4cf7-8d51-3f2bd9423d10","savedPayload":{"position":{"x":14111.975236642413,"y":16746.559432097074},"targetPosition":{"x":13597.276996471572,"y":17120.4612128716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Signal","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"263c0cb6-735f-48ae-a2fc-9835403317dc","savedPayload":{"position":{"x":14473.436011072268,"y":16784.27067115829},"targetPosition":{"x":14193.41640934998,"y":16935.699416601503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"630155a8-17d7-414a-801b-933cff540e61","savedPayload":{"position":{"x":14193.41640934998,"y":16935.699416601503},"targetPosition":{"x":13913.657375828077,"y":17087.47636098804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Signal End","id":"9d1ae188-aa8e-4c73-a417-31c3968a9e6f","savedPayload":{"position":{"x":14230.286434058618,"y":17054.36918498096},"targetPosition":{"x":13913.657375828077,"y":17087.47636098804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Signal End","id":"cd80c183-d19f-48a6-b7fc-a69b1b794b2a"}}},{"type":"Polygon Vertex","name":"Signal Begin","id":"9ef44a8e-4e95-4e21-a7f7-0950844c58f3","savedPayload":{"position":{"x":14218.763598176474,"y":17177.999417488747},"targetPosition":{"x":13913.657375828077,"y":17087.47636098804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Signal Begin","id":"0cc9c494-c307-4bfe-9baf-8ed796fb602d"}}}],"id":"1c32305b-ed73-433e-af91-5c221e1c8254","savedPayload":{"position":{"x":13913.657375828077,"y":17087.47636098804},"targetPosition":{"x":13597.276996471572,"y":17120.4612128716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"b1a0e87f-af0a-4354-a9a3-74ee5a667593","savedPayload":{"position":{"x":13597.276996471572,"y":17120.4612128716},"targetPosition":{"x":13339.096330606537,"y":17700.505663331624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"MACD 245209","config":"{ \n\"codeName\": \"Panel-MACD-245209\"\n}","panelData":[{"type":"Panel Data","name":"Line","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.line","id":"7449cbcf-82e3-44a9-b623-8ce89d3d0a90","savedPayload":{"position":{"x":14371.949155007247,"y":17140.89830347455},"targetPosition":{"x":14171.14008059777,"y":17387.73724876552},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"03f0b78f-d66e-43d9-93fb-28ec2a0c78ad","savedPayload":{"position":{"x":14171.14008059777,"y":17387.73724876552},"targetPosition":{"x":13970.792919458248,"y":17634.497324516156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Signal","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.signal","id":"d32b0179-d71f-4cc4-a53e-f65d850da700","savedPayload":{"position":{"x":14603.830579736697,"y":17568.51743589505},"targetPosition":{"x":14287.315808143025,"y":17601.55055757185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"22cd37eb-620d-4fc6-ba86-e09d58614393","savedPayload":{"position":{"x":14287.315808143025,"y":17601.55055757185},"targetPosition":{"x":13970.792919458248,"y":17634.497324516156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Histogram","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.histogram","id":"bddd9afa-785d-4791-8d87-e2c984a74f12","savedPayload":{"position":{"x":14465.33911740971,"y":18034.887443167303},"targetPosition":{"x":14218.057446137644,"y":17834.75033977208},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bfa738fb-7d49-4539-97be-707922adde3e","savedPayload":{"position":{"x":14218.057446137644,"y":17834.75033977208},"targetPosition":{"x":13970.792919458248,"y":17634.497324516156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e864cbe9-0b24-45c0-b08b-85c2486bef8d","savedPayload":{"position":{"x":13970.792919458248,"y":17634.497324516156},"targetPosition":{"x":13339.096330606537,"y":17700.505663331624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2fe60a0e-dd3a-4bb8-a321-4742389ab930","savedPayload":{"position":{"x":13338.964234194931,"y":17700.069254242226},"targetPosition":{"x":12824.157292027643,"y":18074.15364135208},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"24146ce7-bc0d-461a-8a43-0d2bd3059886","savedPayload":{"position":{"x":12824.148798349737,"y":18255.647915828347},"targetPosition":{"x":12824.153406676238,"y":18710.73255185816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"EMA","config":"{\n\"codeName\": \"Plotter EMA\"\n}","modules":[{"type":"Plotter Module","name":"EMA Popular","config":"{\n\t\"codeName\": \"EMA-Popular\",\n \"icon\": \"moving-average\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"EMA 20 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema20","id":"7bf83ec0-5a84-4a81-a111-19d913e12135","savedPayload":{"position":{"x":13034.923141253237,"y":17394.545209274955},"targetPosition":{"x":12870.74025461331,"y":17454.086561635177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6e1ff74e-36ba-460c-9f78-c8ee0b5e0837","savedPayload":{"position":{"x":12870.74025461331,"y":17454.086561635177},"targetPosition":{"x":12628.733313034778,"y":17527.10099712985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 20 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema20","id":"12164218-7531-4063-bbd3-32855e7f7847","savedPayload":{"position":{"x":13046.771469518988,"y":17679.132262994186},"targetPosition":{"x":12882.128912944272,"y":17619.15699978971},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"83f1d130-42bd-45ae-9078-ed3f825531bb","savedPayload":{"position":{"x":12882.128912944272,"y":17619.15699978971},"targetPosition":{"x":12628.733313034778,"y":17527.10099712985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 50 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema50","id":"580ad5c4-aee7-4af2-b85d-0ef86d020823","savedPayload":{"position":{"x":12850.445899639244,"y":17911.35143618475},"targetPosition":{"x":12763.27838075395,"y":17760.514100663513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7084c0a2-8874-46a7-b240-d9605a7baf49","savedPayload":{"position":{"x":12763.27838075395,"y":17760.514100663513},"targetPosition":{"x":12628.733313034778,"y":17527.10099712985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 50 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema50","id":"1e7a4d05-3daf-4d0a-97ff-b53e35eab2aa","savedPayload":{"position":{"x":12551.572282537456,"y":17963.1989021477},"targetPosition":{"x":12582.027990476896,"y":17791.40620145336},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3861b379-3e51-43e2-b607-e3b7fba16a34","savedPayload":{"position":{"x":12582.027990476896,"y":17791.40620145336},"targetPosition":{"x":12628.733313034778,"y":17527.10099712985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 100 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema100","id":"b50c3599-e7bd-45ef-b348-4ddf85460bbf","savedPayload":{"position":{"x":12289.39467311622,"y":17811.87420200572},"targetPosition":{"x":12423.635091286053,"y":17699.19067654026},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d3b1e9cb-8098-4e62-94ea-4e89852b4f6a","savedPayload":{"position":{"x":12423.635091286053,"y":17699.19067654026},"targetPosition":{"x":12628.733313034778,"y":17527.10099712985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 100 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema100","id":"f5cf8bb1-98bf-4c38-9e7c-f31678a656e4","savedPayload":{"position":{"x":12185.542748045124,"y":17527.074896562543},"targetPosition":{"x":12360.669973919792,"y":17527.080772794427},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"32ca337a-699d-4c2f-9b6a-73d9a4481e78","savedPayload":{"position":{"x":12360.669973919792,"y":17527.080772794427},"targetPosition":{"x":12628.733313034778,"y":17527.10099712985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 200 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema200","id":"451d4c20-a9ad-4b8d-a116-fae9406ee356","savedPayload":{"position":{"x":12289.142904373259,"y":17242.49779820151},"targetPosition":{"x":12422.870659469505,"y":17354.487798781596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"33d1fe7c-ff86-440a-8b42-0de9c296a632","savedPayload":{"position":{"x":12422.870659469505,"y":17354.487798781596},"targetPosition":{"x":12628.733313034778,"y":17527.10099712985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 200 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema200","id":"24e42cf3-2dc8-4257-a511-7dc52dc6f060","savedPayload":{"position":{"x":12551.519317002998,"y":17089.819499591486},"targetPosition":{"x":12582.042792444858,"y":17262.414661688377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"87e2a3ab-afc2-44cb-b2ca-03a715a4d673","savedPayload":{"position":{"x":12582.042792444858,"y":17262.414661688377},"targetPosition":{"x":12628.733313034778,"y":17527.10099712985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dd70bea3-9a52-4b2b-a364-31917b08d98d","savedPayload":{"position":{"x":12628.439138411619,"y":17527.328773740723},"targetPosition":{"x":12976.859242824956,"y":16924.293055595892},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"SMA 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"d468c2f1-2586-4fe4-aa0c-fc3737d992f5","savedPayload":{"position":{"x":12323.207087662633,"y":16720.726507051502},"targetPosition":{"x":12496.407853724248,"y":16743.34098539802},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"23236076-e29a-451e-8c95-e3812064279c","savedPayload":{"position":{"x":12496.407853724248,"y":16743.34098539802},"targetPosition":{"x":12674.85414422742,"y":16750.463124310507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 20 Begin","id":"5f877b66-2ca6-4a8f-967e-70948cefc9ea","savedPayload":{"position":{"x":12511.074307227975,"y":16663.668141712515},"targetPosition":{"x":12674.85414422742,"y":16750.463124310507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 20 Begin","id":"6e1ff74e-36ba-460c-9f78-c8ee0b5e0837"}}},{"type":"Polygon Vertex","name":"EMA 20 End","id":"d5971215-2792-4415-bfea-2e4b2b5b98fe","savedPayload":{"position":{"x":12585.907351232016,"y":16596.345863662715},"targetPosition":{"x":12674.85414422742,"y":16750.463124310507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 20 End","id":"83f1d130-42bd-45ae-9078-ed3f825531bb"}}}],"id":"17ca2f43-9ddf-47f8-9929-e4612b00dd4f","savedPayload":{"position":{"x":12674.85414422742,"y":16750.463124310507},"targetPosition":{"x":12976.859242824956,"y":16924.293055595892},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 50","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"330fba24-ff59-48d2-a297-b4e6903efc3d","savedPayload":{"position":{"x":12513.080344983637,"y":16420.12411197188},"targetPosition":{"x":12651.642117486006,"y":16526.766300800453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"0806f6fe-730c-4fde-b730-dcdf31825733","savedPayload":{"position":{"x":12651.642117486006,"y":16526.766300800453},"targetPosition":{"x":12802.614826187777,"y":16622.505054153564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 50 End","id":"b00cf575-af36-4653-97ec-441912af5bb8","savedPayload":{"position":{"x":12704.25219349563,"y":16464.646497242487},"targetPosition":{"x":12802.614826187777,"y":16622.505054153564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 50 End","id":"3861b379-3e51-43e2-b607-e3b7fba16a34"}}},{"type":"Polygon Vertex","name":"EMA 50 Begin","id":"da71a6f7-2917-4c07-bd77-dc1b0334c5ec","savedPayload":{"position":{"x":12803.097793983388,"y":16444.448240272246},"targetPosition":{"x":12802.614826187777,"y":16622.505054153564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 50 Begin","id":"7084c0a2-8874-46a7-b240-d9605a7baf49"}}}],"id":"36482493-d7f7-4a41-9588-a348e3204025","savedPayload":{"position":{"x":12802.614826187777,"y":16622.505054153564},"targetPosition":{"x":12976.859242824956,"y":16924.293055595892},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 100","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"278d84a3-2d10-4db3-90cc-b38f6af88ecf","savedPayload":{"position":{"x":12827.404312840152,"y":16255.387724643411},"targetPosition":{"x":12894.073335079544,"y":16417.141117533178},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"612138e2-6896-4f8f-956a-d5bf1b8c043a","savedPayload":{"position":{"x":12894.073335079544,"y":16417.141117533178},"targetPosition":{"x":12976.926709679608,"y":16575.722265384415},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 100 Begin","id":"fc01c5ca-4323-4a71-9d83-1f288b80e8ed","savedPayload":{"position":{"x":12970.78220629669,"y":16389.70813307474},"targetPosition":{"x":12976.926709679608,"y":16575.722265384415},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 100 Begin","id":"d3b1e9cb-8098-4e62-94ea-4e89852b4f6a"}}},{"type":"Polygon Vertex","name":"EMA 100 End","id":"fbd76a9e-5a2e-4cb8-a2ed-35d2616d9a2e","savedPayload":{"position":{"x":13066.46311807378,"y":16421.855514979547},"targetPosition":{"x":12976.926709679608,"y":16575.722265384415},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 100 End","id":"32ca337a-699d-4c2f-9b6a-73d9a4481e78"}}}],"id":"37a16b86-6ee7-4dfa-b32a-c8b9bcb9b484","savedPayload":{"position":{"x":12976.926709679608,"y":16575.722265384415},"targetPosition":{"x":12976.859242824956,"y":16924.293055595892},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 200","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"b170fc33-32c4-452d-919d-cf2df82c224f","savedPayload":{"position":{"x":13182.195159057383,"y":16270.448483171582},"targetPosition":{"x":13159.162935627346,"y":16443.90424852404},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"ad1ad1fa-9fe8-4a56-aade-dcade3d90c38","savedPayload":{"position":{"x":13159.162935627346,"y":16443.90424852404},"targetPosition":{"x":13151.536215577149,"y":16622.596016064927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 200 End","id":"a98d63cf-bb2b-43f0-80cd-680c59ef741a","savedPayload":{"position":{"x":13239.287962827,"y":16458.621145656984},"targetPosition":{"x":13151.536215577149,"y":16622.596016064927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 200 End","id":"87e2a3ab-afc2-44cb-b2ca-03a715a4d673"}}},{"type":"Polygon Vertex","name":"EMA 200 Begin","id":"c9ce7524-76dd-4399-92d8-58d1d757ed89","savedPayload":{"position":{"x":13306.324884684675,"y":16534.447781077914},"targetPosition":{"x":13151.536215577149,"y":16622.596016064927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 200 Begin","id":"33d1fe7c-ff86-440a-8b42-0de9c296a632"}}}],"id":"2e225665-d05d-46cd-91d0-4b36803bcf67","savedPayload":{"position":{"x":13151.536215577149,"y":16622.596016064927},"targetPosition":{"x":12976.859242824956,"y":16924.293055595892},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"5ea59fb9-f0d6-438b-b1a7-a62ed1750004","savedPayload":{"position":{"x":12976.859242824956,"y":16924.293055595892},"targetPosition":{"x":13324.891836218352,"y":17527.023713714272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"EMA Popular","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"EMA 20","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema20","id":"c79a60a8-e960-4a7d-86b0-bb8d65272b30","savedPayload":{"position":{"x":13156.2534384349,"y":17129.692733826883},"targetPosition":{"x":13326.712060177784,"y":17165.70412658381},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"80fa0565-6440-406f-a49d-57adcdaf20ae","savedPayload":{"position":{"x":13326.712060177784,"y":17165.70412658381},"targetPosition":{"x":13506.914731563638,"y":17212.34906969397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"EMA 50","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema50","id":"ad4b2bc1-bc45-4a8f-b07f-aa0f79f5e884","savedPayload":{"position":{"x":13471.632567160426,"y":16865.103347252956},"targetPosition":{"x":13489.486677653766,"y":17038.438102880835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f43975ff-c552-42b8-a504-d2b6a3a46b18","savedPayload":{"position":{"x":13489.486677653766,"y":17038.438102880835},"targetPosition":{"x":13506.914731563638,"y":17212.34906969397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"EMA 100","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema100","id":"2bfe0bed-a18d-452e-a59a-9ddbd135dd0a","savedPayload":{"position":{"x":13826.221001907843,"y":17070.347183177764},"targetPosition":{"x":13666.72565031118,"y":17141.067549155403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9507a099-6a7f-4d00-8b6e-623a7003055c","savedPayload":{"position":{"x":13666.72565031118,"y":17141.067549155403},"targetPosition":{"x":13506.914731563638,"y":17212.34906969397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"EMA 200","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema200","id":"ee01f76f-2b56-4d87-a278-4dd98436dca7","savedPayload":{"position":{"x":13751.796663948555,"y":17464.271545880332},"targetPosition":{"x":13634.568393585514,"y":17334.909078747696},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5bf57692-7070-4a12-9bc3-487a841125b0","savedPayload":{"position":{"x":13634.568393585514,"y":17334.909078747696},"targetPosition":{"x":13506.914731563638,"y":17212.34906969397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a819c354-b152-4946-a403-62a8cf0f650f","savedPayload":{"position":{"x":13506.914731563638,"y":17212.34906969397},"targetPosition":{"x":13324.891836218352,"y":17527.023713714272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"79bf7438-f77a-4c8d-a450-67027d5fd8bc","savedPayload":{"position":{"x":13324.378698774859,"y":17525.86929633753},"targetPosition":{"x":13324.887053497392,"y":18224.02696387497},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"EMA Base 11","config":"{\n\t\"codeName\": \"EMA-Base11\",\n \"icon\": \"moving-average\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"EMA 11 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema11","id":"41b049dc-e0da-471f-82f7-5f2c1eb61f90","savedPayload":{"position":{"x":13709.393802072313,"y":17378.823478815644},"targetPosition":{"x":13534.618203957552,"y":17350.654218359385},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c961312c-6bb2-4b38-a142-9f03d0b3eba4","savedPayload":{"position":{"x":13534.618203957552,"y":17350.654218359385},"targetPosition":{"x":13359.842605842792,"y":17322.484957903125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 11 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema11","id":"55db8355-8155-4c70-85b5-4a629aeefa45","savedPayload":{"position":{"x":13623.444880575864,"y":17558.861582127374},"targetPosition":{"x":13491.643743209328,"y":17440.67327001525},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"750547e8-4963-4008-aa2b-8edc565afd79","savedPayload":{"position":{"x":13491.643743209328,"y":17440.67327001525},"targetPosition":{"x":13359.842605842792,"y":17322.484957903125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 22 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema22","id":"bda3c179-331d-444e-9b1e-e3cfd1a26bb7","savedPayload":{"position":{"x":13453.804099376326,"y":17663.85177740533},"targetPosition":{"x":13406.82335260956,"y":17493.168367654227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8ac0329a-2d0d-483f-a047-305198817a24","savedPayload":{"position":{"x":13406.82335260956,"y":17493.168367654227},"targetPosition":{"x":13359.842605842792,"y":17322.484957903125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 22 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema22","id":"08508d15-658f-40da-a580-76a5b512414d","savedPayload":{"position":{"x":13254.331207880086,"y":17660.460419474013},"targetPosition":{"x":13307.08690686144,"y":17491.47268868857},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"adc1fb05-93dd-4a32-98dd-30577e4a68de","savedPayload":{"position":{"x":13307.08690686144,"y":17491.47268868857},"targetPosition":{"x":13359.842605842792,"y":17322.484957903125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 33 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema33","id":"bceee9f7-3824-498c-beb1-866463df7a7e","savedPayload":{"position":{"x":13088.357439729092,"y":17549.764240514447},"targetPosition":{"x":13224.100022785942,"y":17436.124599208786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"25fd3a99-95c4-4514-b7f3-d195c9ee3189","savedPayload":{"position":{"x":13224.100022785942,"y":17436.124599208786},"targetPosition":{"x":13359.842605842792,"y":17322.484957903125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 33 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema33","id":"6c2cc6ab-b520-4d47-8165-db2abfd53ed8","savedPayload":{"position":{"x":13008.578293596676,"y":17366.908495204454},"targetPosition":{"x":13184.210449719734,"y":17344.69672655379},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0fe0c9b1-3079-499b-ad49-1b13e1e0af82","savedPayload":{"position":{"x":13184.210449719734,"y":17344.69672655379},"targetPosition":{"x":13359.842605842792,"y":17322.484957903125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 55 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema55","id":"5df6eee6-f3a0-406f-be6c-2e6bce745054","savedPayload":{"position":{"x":13040.323084687368,"y":17169.948590683005},"targetPosition":{"x":13200.08284526508,"y":17246.216774293065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"27b05f8b-84e9-4ab2-944d-46b10c2a978c","savedPayload":{"position":{"x":13200.08284526508,"y":17246.216774293065},"targetPosition":{"x":13359.842605842792,"y":17322.484957903125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 55 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema55","id":"508f7fdf-3889-4b3f-bec4-9ee071f7aa21","savedPayload":{"position":{"x":13173.513066127858,"y":17021.417904983475},"targetPosition":{"x":13266.677835985325,"y":17171.9514314433},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1eeef11e-809a-4e49-8b3b-48a955f42ce3","savedPayload":{"position":{"x":13266.677835985325,"y":17171.9514314433},"targetPosition":{"x":13359.842605842792,"y":17322.484957903125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 111 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema111","id":"b9f04b17-af03-4983-8266-0e63f8f3271c","savedPayload":{"position":{"x":13365.86135988622,"y":16968.473881347792},"targetPosition":{"x":13362.851982864506,"y":17145.47941962546},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cb15539c-b3a0-4641-9417-861c48bd62ac","savedPayload":{"position":{"x":13362.851982864506,"y":17145.47941962546},"targetPosition":{"x":13359.842605842792,"y":17322.484957903125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 11 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema111","id":"abc69976-c994-40d1-a923-fd64ded26938","savedPayload":{"position":{"x":13556.298741762284,"y":17027.925873195683},"targetPosition":{"x":13458.070673802538,"y":17175.205415549404},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"afa38489-5525-4f32-b766-cfe85d683a65","savedPayload":{"position":{"x":13458.070673802538,"y":17175.205415549404},"targetPosition":{"x":13359.842605842792,"y":17322.484957903125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"573429d9-05d9-41ea-9fac-5eaf95fcc06c","savedPayload":{"position":{"x":13359.842605842792,"y":17322.484957903125},"targetPosition":{"x":14008.882771310464,"y":17039.311628463183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"SMA 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"02c6627c-956c-4022-a3f9-a132627d02d8","savedPayload":{"position":{"x":13215.71448038391,"y":15899.00228000652},"targetPosition":{"x":13470.711961127216,"y":16144.636871501016},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"48f091c0-5895-4615-a56d-f779d35b60c6","savedPayload":{"position":{"x":13470.711961127216,"y":16144.636871501016},"targetPosition":{"x":13725.709441870522,"y":16390.27146299551},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 11 End","id":"1143164d-0f70-46f0-80fe-6107db66ce29","savedPayload":{"position":{"x":13383.571781185792,"y":16481.94697287626},"targetPosition":{"x":13725.709441870522,"y":16390.27146299551},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 11 End","id":"750547e8-4963-4008-aa2b-8edc565afd79"}}},{"type":"Polygon Vertex","name":"EMA 11 Begin","id":"31fd051d-973f-4d8c-b9d3-ac1c13621ab0","savedPayload":{"position":{"x":13367.10059319218,"y":16294.182511593495},"targetPosition":{"x":13725.709441870522,"y":16390.27146299551},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 11 Begin","id":"c961312c-6bb2-4b38-a142-9f03d0b3eba4"}}}],"id":"01f54960-957d-490a-91c7-cfd01f2bf806","savedPayload":{"position":{"x":13725.709441870522,"y":16390.27146299551},"targetPosition":{"x":14008.882771310464,"y":17039.311628463183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"76712d22-b3a8-490e-a964-b1f51641d472","savedPayload":{"position":{"x":13789.024518037348,"y":15667.78558190894},"targetPosition":{"x":13912.19245456637,"y":15999.733962135873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"61487dfb-c30e-41b5-b3bb-a52bbe476c22","savedPayload":{"position":{"x":13912.19245456637,"y":15999.733962135873},"targetPosition":{"x":14035.360391095392,"y":16331.682342362807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 22 End","id":"bd3f3676-7a98-43ca-b661-395e53cc2d9c","savedPayload":{"position":{"x":13713.505409597596,"y":16417.923124735076},"targetPosition":{"x":14035.360391095392,"y":16331.682342362807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 22 End","id":"adc1fb05-93dd-4a32-98dd-30577e4a68de"}}},{"type":"Polygon Vertex","name":"EMA 22 Begin","id":"6a2c8c60-7c69-4372-bc67-b5bac89eb8a5","savedPayload":{"position":{"x":13667.558970302804,"y":16233.130248686413},"targetPosition":{"x":14035.360391095392,"y":16331.682342362807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 22 Begin","id":"8ac0329a-2d0d-483f-a047-305198817a24"}}}],"id":"c9043797-16f8-4dc7-85c0-bd9d995dcec1","savedPayload":{"position":{"x":14035.360391095392,"y":16331.682342362807},"targetPosition":{"x":14008.882771310464,"y":17039.311628463183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"9ee24b06-2b0b-472a-9272-23f52d3ddc05","savedPayload":{"position":{"x":14405.880179136062,"y":15708.216437994532},"targetPosition":{"x":14372.823651065612,"y":16060.732159170238},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"12acb041-6cf9-4cab-bc99-7d3413860838","savedPayload":{"position":{"x":14372.823651065612,"y":16060.732159170238},"targetPosition":{"x":14339.767122995161,"y":16413.247880345945},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 33 End","id":"e5ec4acb-cef0-48cc-8eb4-432547dc0541","savedPayload":{"position":{"x":14003.290523807302,"y":16503.406513370304},"targetPosition":{"x":14339.767122995161,"y":16413.247880345945},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 33 End","id":"0fe0c9b1-3079-499b-ad49-1b13e1e0af82"}}},{"type":"Polygon Vertex","name":"EMA 33 Begin","id":"46dfb895-487c-4a14-a8f4-e39f77a98f34","savedPayload":{"position":{"x":14006.208074592561,"y":16323.871002698375},"targetPosition":{"x":14339.767122995161,"y":16413.247880345945},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 33 Begin","id":"25fd3a99-95c4-4514-b7f3-d195c9ee3189"}}}],"id":"d6e73bfe-e6af-4fff-b482-df4889701cf7","savedPayload":{"position":{"x":14339.767122995161,"y":16413.247880345945},"targetPosition":{"x":14008.882771310464,"y":17039.311628463183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"cb42e26b-ace9-47f5-a272-15645af64e39","savedPayload":{"position":{"x":14944.105634761223,"y":16012.287021363638},"targetPosition":{"x":14761.371892887366,"y":16315.550021587667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"cd8235f2-8641-4f92-9029-d30375e43f1f","savedPayload":{"position":{"x":14761.371892887366,"y":16315.550021587667},"targetPosition":{"x":14578.638151013509,"y":16618.813021811697},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 55 End","id":"fff3b40f-45a5-424f-bbe3-b62c4811423d","savedPayload":{"position":{"x":14229.591470970552,"y":16712.33979784997},"targetPosition":{"x":14578.638151013509,"y":16618.813021811697},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 55 End","id":"1eeef11e-809a-4e49-8b3b-48a955f42ce3"}}},{"type":"Polygon Vertex","name":"EMA 55 Begin","id":"e644af79-d267-4c8b-bebd-2d919eb5efd9","savedPayload":{"position":{"x":14240.30102104704,"y":16528.155861067717},"targetPosition":{"x":14578.638151013509,"y":16618.813021811697},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 55 Begin","id":"27b05f8b-84e9-4ab2-944d-46b10c2a978c"}}}],"id":"001084ac-f732-465a-aea1-bb8c63770971","savedPayload":{"position":{"x":14578.638151013509,"y":16618.813021811697},"targetPosition":{"x":14008.882771310464,"y":17039.311628463183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 20","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"5d5e3413-6b2a-49e0-8b7e-14441b448203","savedPayload":{"position":{"x":15297.098732524244,"y":16519.772423799026},"targetPosition":{"x":15000.880435507372,"y":16713.71774660039},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"d1c5bddf-9fc3-47b8-b026-a0fd18fc7efd","savedPayload":{"position":{"x":15000.880435507372,"y":16713.71774660039},"targetPosition":{"x":14704.6621384905,"y":16907.66306940175},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 11 End","id":"2aed0f5f-77bd-4297-a131-77c0c08914d5","savedPayload":{"position":{"x":14402.013578369819,"y":17082.39729705728},"targetPosition":{"x":14704.6621384905,"y":16907.66306940175},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 11 End","id":"afa38489-5525-4f32-b766-cfe85d683a65"}}},{"type":"Polygon Vertex","name":"EMA 111 Begin","id":"dff4ca7d-4499-4a8a-834b-7315e9e784e4","savedPayload":{"position":{"x":14355.350507572699,"y":16814.06529999053},"targetPosition":{"x":14704.6621384905,"y":16907.66306940175},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 111 Begin","id":"cb15539c-b3a0-4641-9417-861c48bd62ac"}}}],"id":"47ab5422-37ad-4070-a2eb-248bbe9b007f","savedPayload":{"position":{"x":14704.6621384905,"y":16907.66306940175},"targetPosition":{"x":14008.882771310464,"y":17039.311628463183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"951aba38-5a6a-43df-8f70-f311d621c98d","savedPayload":{"position":{"x":14008.882771310464,"y":17039.311628463183},"targetPosition":{"x":13825.606671096104,"y":17723.307346276255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"EMA 11","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"EMA 11","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema11","id":"ee21f97e-daa4-45b8-bebd-5c53d872534b","savedPayload":{"position":{"x":13917.24472120328,"y":17381.309487369715},"targetPosition":{"x":14042.42462560296,"y":17506.489391769395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a96b4bae-0ce3-4dc6-88df-af120452af6b","savedPayload":{"position":{"x":14042.42462560296,"y":17506.489391769395},"targetPosition":{"x":14167.60453000264,"y":17631.669296169075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"EMA 22","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema22","id":"583909a2-6932-4bfa-952d-a0c81123cc3f","savedPayload":{"position":{"x":14259.242580109816,"y":17289.67143726254},"targetPosition":{"x":14213.423555056228,"y":17460.670366715807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2a2f4d65-a013-4c73-b851-1c9ac3dceb9f","savedPayload":{"position":{"x":14213.423555056228,"y":17460.670366715807},"targetPosition":{"x":14167.60453000264,"y":17631.669296169075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"EMA 33","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema33","id":"067efa03-229a-49e1-9dff-579ead9e6603","savedPayload":{"position":{"x":14509.602388909176,"y":17540.0312460619},"targetPosition":{"x":14338.603459455908,"y":17585.850271115487},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a51bde01-b164-49bd-99fc-d048468e4cc0","savedPayload":{"position":{"x":14338.603459455908,"y":17585.850271115487},"targetPosition":{"x":14167.60453000264,"y":17631.669296169075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"EMA 55","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema55","id":"4663f0f2-cf79-4a80-b4c0-33c41bca9d88","savedPayload":{"position":{"x":14417.964338802,"y":17882.029104968435},"targetPosition":{"x":14292.78443440232,"y":17756.849200568755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"782092b0-9e6c-4de0-aec6-0d6b47fac8b4","savedPayload":{"position":{"x":14292.78443440232,"y":17756.849200568755},"targetPosition":{"x":14167.60453000264,"y":17631.669296169075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"EMA 111","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema111","id":"8064c04e-1499-4c01-b056-aac2a1aecc01","savedPayload":{"position":{"x":14075.966479895464,"y":17973.66715507561},"targetPosition":{"x":14121.785504949052,"y":17802.668225622343},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2c4a358f-23b6-433c-98de-623caad85051","savedPayload":{"position":{"x":14121.785504949052,"y":17802.668225622343},"targetPosition":{"x":14167.60453000264,"y":17631.669296169075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"efc451e7-a5c0-4377-877c-a6b1a60a6604","savedPayload":{"position":{"x":14167.60453000264,"y":17631.669296169075},"targetPosition":{"x":13825.606671096104,"y":17723.307346276255},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cef26be6-07a9-415a-8439-99d06b1e1cfb","savedPayload":{"position":{"x":13809.808208271641,"y":17744.33946401178},"targetPosition":{"x":13324.887053497392,"y":18224.02696387497},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"EMA Base 7","config":"{\n\t\"codeName\": \"EMA-Base7\",\n \"icon\": \"moving-average\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"EMA 7 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema7","id":"d41ccc81-8740-46e9-9ed3-9ffc1df75ee0","savedPayload":{"position":{"x":14183.20190956952,"y":17903.66420165679},"targetPosition":{"x":14080.786613417831,"y":17762.349068323547},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d2bb8ca1-5fcc-4286-aba3-1d307d4f7168","savedPayload":{"position":{"x":14080.786613417831,"y":17762.349068323547},"targetPosition":{"x":13977.439612298875,"y":17621.333528427225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 7 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema7","id":"91431058-cccd-40c3-bb98-dd9484a0807d","savedPayload":{"position":{"x":14007.2302700768,"y":17972.263229058983},"targetPosition":{"x":13997.97886323192,"y":17797.807673461484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8ea750de-2b74-41ea-9897-637291621ae9","savedPayload":{"position":{"x":13997.97886323192,"y":17797.807673461484},"targetPosition":{"x":13977.439612298875,"y":17621.333528427225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 14 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema14","id":"753c8686-38ea-4fc2-9343-3598039aa890","savedPayload":{"position":{"x":13811.19094582712,"y":17934.207170553538},"targetPosition":{"x":13897.953003199624,"y":17781.83362488538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"77265bb0-8ba2-4c0b-a788-970cd44ddcc9","savedPayload":{"position":{"x":13897.953003199624,"y":17781.83362488538},"targetPosition":{"x":13977.439612298875,"y":17621.333528427225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 14 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema14","id":"c64e3670-c41d-44d0-bc7a-05c8f0a841b6","savedPayload":{"position":{"x":13696.538052447804,"y":17733.357068157402},"targetPosition":{"x":13864.787048441327,"y":17653.651578954235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cd04ee65-bd26-4fbc-abed-76c6fc5c964b","savedPayload":{"position":{"x":13864.787048441327,"y":17653.651578954235},"targetPosition":{"x":13977.439612298875,"y":17621.333528427225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 21 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema21","id":"be27efec-c4ed-43ec-925a-f7d862f999c1","savedPayload":{"position":{"x":13608.160721947459,"y":17577.687481912173},"targetPosition":{"x":13782.99822412577,"y":17593.61913656437},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2f13bba0-f9c2-435f-ad66-8ad73082c502","savedPayload":{"position":{"x":13782.99822412577,"y":17593.61913656437},"targetPosition":{"x":13977.439612298875,"y":17621.333528427225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 21 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema21","id":"e6af4547-c256-4f33-95fc-9d9f3cd5d111","savedPayload":{"position":{"x":13700.113892092033,"y":17404.190430832314},"targetPosition":{"x":13838.71942236979,"y":17512.159597062106},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a5e04840-b217-44cb-9f8f-2629bf4d1f6e","savedPayload":{"position":{"x":13838.71942236979,"y":17512.159597062106},"targetPosition":{"x":13977.439612298875,"y":17621.333528427225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 28 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema28","id":"a42e77a3-9107-4c33-853d-4ed8966f339d","savedPayload":{"position":{"x":13860.733125208628,"y":17288.39476219847},"targetPosition":{"x":13919.190707100532,"y":17454.18011626272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0d436286-6b79-4dca-a2f3-b7bd3b9a5671","savedPayload":{"position":{"x":13919.190707100532,"y":17454.18011626272},"targetPosition":{"x":13977.439612298875,"y":17621.333528427225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 28 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema28","id":"0e7f0922-d9b4-4ea3-9f5f-57ad9d4c9328","savedPayload":{"position":{"x":14058.113543982907,"y":17278.347789254818},"targetPosition":{"x":14018.173793760465,"y":17449.47974120746},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f50599e9-c04f-4b07-aca0-f276dd08ea94","savedPayload":{"position":{"x":14018.173793760465,"y":17449.47974120746},"targetPosition":{"x":13977.439612298875,"y":17621.333528427225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 35 Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.ema35","id":"db011cc5-705a-444a-9f7a-159466b19247","savedPayload":{"position":{"x":14229.748578301334,"y":17376.517241485675},"targetPosition":{"x":14103.982278923437,"y":17498.796443684754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d7ac980a-16ab-4077-b3f1-05cf1f4c3a39","savedPayload":{"position":{"x":14103.982278923437,"y":17498.796443684754},"targetPosition":{"x":13977.439612298875,"y":17621.333528427225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"EMA 35 End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.ema35","id":"6b3dc821-e0e9-4c09-965b-c8600bd3e9d5","savedPayload":{"position":{"x":14321.143852725238,"y":17553.666424065694},"targetPosition":{"x":14149.705890699091,"y":17588.26398917242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8992ec1b-4e8c-4f47-a08e-b6e18a0d9c31","savedPayload":{"position":{"x":14149.705890699091,"y":17588.26398917242},"targetPosition":{"x":13977.439612298875,"y":17621.333528427225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5a4d5b2f-63dc-403c-a545-6025652d9e81","savedPayload":{"position":{"x":13977.439612298875,"y":17621.333528427225},"targetPosition":{"x":14624.977263547293,"y":17876.143244650975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"SMA 7","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"496c35a4-5cf7-4def-97bc-ce71a6fc45f7","savedPayload":{"position":{"x":14612.354107433513,"y":17229.43412192888},"targetPosition":{"x":14681.946727901255,"y":17390.177705323837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"671a56e0-b5eb-4833-aa19-3dca720b5b0e","savedPayload":{"position":{"x":14681.946727901255,"y":17390.177705323837},"targetPosition":{"x":14751.845100796005,"y":17550.899406424902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 7 End","id":"b0be4203-a40d-4ee7-83e0-d1ac87f0bd31","savedPayload":{"position":{"x":14815.61510218141,"y":17387.330346188795},"targetPosition":{"x":14751.845100796005,"y":17550.899406424902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 7 End","id":"8ea750de-2b74-41ea-9897-637291621ae9"}}},{"type":"Polygon Vertex","name":"EMA 7 Begin","id":"afe09e1e-c8fd-4fc7-8f09-324ee7d7d012","savedPayload":{"position":{"x":14912.066655333745,"y":17480.18814890126},"targetPosition":{"x":14751.845100796005,"y":17550.899406424902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 7 Begin","id":"d2bb8ca1-5fcc-4286-aba3-1d307d4f7168"}}}],"id":"45946a01-a9fb-4ea8-bb82-ef6088fad08e","savedPayload":{"position":{"x":14751.845100796005,"y":17550.899406424902},"targetPosition":{"x":14624.977263547293,"y":17876.143244650975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 14","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"9c0f7800-bf53-4a63-94ba-fccbec15d0ea","savedPayload":{"position":{"x":15099.390132389903,"y":17161.281497048793},"targetPosition":{"x":15026.35832292312,"y":17320.54214706166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"651877b1-61a2-48a2-8fc4-86e809f89d42","savedPayload":{"position":{"x":15026.35832292312,"y":17320.54214706166},"targetPosition":{"x":14880.74085865457,"y":17638.548775971227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 14 End","id":"72f9e17d-9c36-408d-9a2e-13da010f4d97","savedPayload":{"position":{"x":15141.21561809235,"y":17383.23538666076},"targetPosition":{"x":14880.74085865457,"y":17638.548775971227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 14 End","id":"cd04ee65-bd26-4fbc-abed-76c6fc5c964b"}}},{"type":"Polygon Vertex","name":"EMA 14 Begin","id":"5a24fd6f-de93-4fcd-94f7-1f7fe268e8be","savedPayload":{"position":{"x":15210.708057014815,"y":17517.603064988783},"targetPosition":{"x":14880.74085865457,"y":17638.548775971227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 14 Begin","id":"77265bb0-8ba2-4c0b-a788-970cd44ddcc9"}}}],"id":"b1689975-de58-4f84-a802-c6f13e885dc6","savedPayload":{"position":{"x":14880.74085865457,"y":17638.548775971227},"targetPosition":{"x":14624.977263547293,"y":17876.143244650975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 21","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"14146df5-5a4a-46b7-9db5-4957b8445915","savedPayload":{"position":{"x":15117.37713504875,"y":17480.511268868075},"targetPosition":{"x":15040.958538082969,"y":17618.630479704705},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"2552b9ce-3620-4245-9803-d55ad53969da","savedPayload":{"position":{"x":15040.958538082969,"y":17618.630479704705},"targetPosition":{"x":14958.620024691447,"y":17773.341106261865},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 21 Begin","id":"803ffc35-a2e2-426d-a8d2-7c770e5d0a6a","savedPayload":{"position":{"x":15126.511610186613,"y":17721.674451873343},"targetPosition":{"x":14958.620024691447,"y":17773.341106261865},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 21 Begin","id":"2f13bba0-f9c2-435f-ad66-8ad73082c502"}}},{"type":"Polygon Vertex","name":"EMA 21 End","id":"a0449481-80c2-4160-adb3-49d4327bf921","savedPayload":{"position":{"x":15113.915071791127,"y":17854.680303361394},"targetPosition":{"x":14958.620024691447,"y":17773.341106261865},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 21 End","id":"a5e04840-b217-44cb-9f8f-2629bf4d1f6e"}}}],"id":"15f599b3-7620-4a0c-b9e0-29830383cd36","savedPayload":{"position":{"x":14958.620024691447,"y":17773.341106261865},"targetPosition":{"x":14624.977263547293,"y":17876.143244650975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 28","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"e4a06d7f-ecad-400a-acca-f3c340642354","savedPayload":{"position":{"x":15479.885619363124,"y":17802.14711646571},"targetPosition":{"x":15309.740176312605,"y":17844.136273628435},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"65f345ac-2766-411d-af4f-9390e525667c","savedPayload":{"position":{"x":15309.740176312605,"y":17844.136273628435},"targetPosition":{"x":14970.208939428312,"y":17928.270963796276},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 28 Begin","id":"ca1f7537-47e7-4c48-a056-fedd8820a1de","savedPayload":{"position":{"x":15331.88397802934,"y":17972.76167412245},"targetPosition":{"x":14970.208939428312,"y":17928.270963796276},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 28 Begin","id":"0d436286-6b79-4dca-a2f3-b7bd3b9a5671"}}},{"type":"Polygon Vertex","name":"EMA 28 End","id":"80c45995-463a-442a-a6d8-92cc9971a8b9","savedPayload":{"position":{"x":15270.540486583466,"y":18111.17299601841},"targetPosition":{"x":14970.208939428312,"y":17928.270963796276},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 28 End","id":"f50599e9-c04f-4b07-aca0-f276dd08ea94"}}}],"id":"e3c75e9c-a5ec-4755-9a86-909db1b690ca","savedPayload":{"position":{"x":14970.208939428312,"y":17928.270963796276},"targetPosition":{"x":14624.977263547293,"y":17876.143244650975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"SMA 35","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","id":"9d05ca49-9de9-4c97-b4da-891614ed84a5","savedPayload":{"position":{"x":15241.18356206125,"y":18015.254156076415},"targetPosition":{"x":15085.309222176993,"y":18041.697891784548},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"56422e5e-ccaa-4c0c-b5a1-79e62ebc1e74","savedPayload":{"position":{"x":15085.309222176993,"y":18041.697891784548},"targetPosition":{"x":14913.104880832741,"y":18073.328772389305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"EMA 35 Begin","id":"155db5be-8214-4154-a918-ab9469587cc7","savedPayload":{"position":{"x":15057.962771349501,"y":18172.50852794674},"targetPosition":{"x":14913.104880832741,"y":18073.328772389305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 35 Begin","id":"d7ac980a-16ab-4077-b3f1-05cf1f4c3a39"}}},{"type":"Polygon Vertex","name":"EMA 35 End","id":"ee71f62a-adc7-4411-aeb1-54ca5712ce34","savedPayload":{"position":{"x":14945.745978031855,"y":18245.664262979957},"targetPosition":{"x":14913.104880832741,"y":18073.328772389305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"EMA 35 End","id":"8992ec1b-4e8c-4f47-a08e-b6e18a0d9c31"}}}],"id":"3511cc8f-eb39-4dd0-8043-9f06a8faa698","savedPayload":{"position":{"x":14913.104880832741,"y":18073.328772389305},"targetPosition":{"x":14624.977263547293,"y":17876.143244650975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"8e7cd7e8-5c59-4cc2-8d9e-ea86d7554205","savedPayload":{"position":{"x":14624.977263547293,"y":17876.143244650975},"targetPosition":{"x":14022.219966075952,"y":18224.12272750716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"EMA Base 7","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"EMA 7","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema7","id":"9d9efe26-4895-475c-ac3c-149f0331c6f7","savedPayload":{"position":{"x":14324.31613854501,"y":18050.22524955794},"targetPosition":{"x":14324.186275964645,"y":18224.45222681911},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"aeaebf9b-54bf-41f3-a833-b0e4fcc55c00","savedPayload":{"position":{"x":14324.186275964645,"y":18224.45222681911},"targetPosition":{"x":14324.185770351016,"y":18398.5919726641},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"EMA 14","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema14","id":"7c922a65-b8a6-4ebf-a964-af3851b30367","savedPayload":{"position":{"x":14626.838288841538,"y":18225.15584747851},"targetPosition":{"x":14475.554739392706,"y":18311.80955962264},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f749c1c5-25f9-4c3f-af87-c8df30a177e0","savedPayload":{"position":{"x":14475.554739392706,"y":18311.80955962264},"targetPosition":{"x":14324.185770351016,"y":18398.5919726641},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"EMA 21","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema21","id":"f5a9c1c1-9331-4492-a263-1f69ff44711a","savedPayload":{"position":{"x":14627.318265432203,"y":18573.844563157574},"targetPosition":{"x":14475.684220147728,"y":18486.177389506563},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"92f7a1a7-bd42-403f-9d0e-2eb907e8abea","savedPayload":{"position":{"x":14475.684220147728,"y":18486.177389506563},"targetPosition":{"x":14324.185770351016,"y":18398.5919726641},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"EMA 28","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema28","id":"0fcdb422-d014-4dc8-927a-5484c5d7c34b","savedPayload":{"position":{"x":14324.912735518008,"y":18747.83456084457},"targetPosition":{"x":14324.36508513383,"y":18573.3393997687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4c51ef79-f3dd-4f24-ad22-4e38f42f3ff2","savedPayload":{"position":{"x":14324.36508513383,"y":18573.3393997687},"targetPosition":{"x":14324.185770351016,"y":18398.5919726641},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"EMA 35","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ema35","id":"c23e6dd3-f9d5-498f-a01c-c951b11cbdf6","savedPayload":{"position":{"x":14022.019928483396,"y":18573.272338735213},"targetPosition":{"x":14173.20793288636,"y":18485.943440015035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8cdd88af-871c-4f1b-966b-cf9d00483caa","savedPayload":{"position":{"x":14173.20793288636,"y":18485.943440015035},"targetPosition":{"x":14324.185770351016,"y":18398.5919726641},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"481ef93a-bef5-4fe3-b87b-f8032a63c69f","savedPayload":{"position":{"x":14324.185770351016,"y":18398.5919726641},"targetPosition":{"x":14022.219966075952,"y":18224.12272750716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a52a9764-3ef2-44e6-82bd-e6538058119d","savedPayload":{"position":{"x":14022.219966075952,"y":18224.12272750716},"targetPosition":{"x":13324.887053497392,"y":18224.02696387497},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6cb2807d-22bb-4f90-b4d8-c84cf84a0d5c","savedPayload":{"position":{"x":13145.918006424552,"y":18389.05149790718},"targetPosition":{"x":12824.153406676238,"y":18710.73255185816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"a"}}}],"id":"9cfffc48-486a-48cb-b641-98c82e314d3a","savedPayload":{"position":{"x":12824.153406676238,"y":18710.73255185816},"targetPosition":{"x":12824.153406676238,"y":18710.73255185816},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}}
\ No newline at end of file
diff --git a/Plugins/Super-Scripts/Masters.json b/Plugins/Super-Scripts/Masters.json
deleted file mode 100644
index 6d7c99476..000000000
--- a/Plugins/Super-Scripts/Masters.json
+++ /dev/null
@@ -1 +0,0 @@
-{"type":"Super Scripts","name":"Masters","config":"{ \n\"codeName\": \"Masters\"\n}","scriptsLibrary":{"type":"Scripts Library","name":"New Scripts Library","masterScripts":[],"id":"1dd2a75d-7d97-4994-8c95-b392d933b1c1","savedPayload":{"position":{"x":40191.05941020691,"y":31040.94023966275},"targetPosition":{"x":39643.041459281856,"y":31041.13836154292},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"S"}}},"id":"17b5ea06-62d8-4a79-b0ba-f9d3b997c17f","savedPayload":{"position":{"x":39643.041459281856,"y":31041.13836154292},"targetPosition":{"x":39643.041459281856,"y":31041.13836154292},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}
\ No newline at end of file
diff --git a/Plugins/Trading-Engines/Low-Frequency.json b/Plugins/Trading-Engines/Low-Frequency.json
deleted file mode 100644
index 20ed48f76..000000000
--- a/Plugins/Trading-Engines/Low-Frequency.json
+++ /dev/null
@@ -1 +0,0 @@
-{"type":"Trading Engine","name":"Low-Frequency","current":{"type":"Current","name":"New Current","episode":{"type":"Episode","name":"New Episode","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"5eb83933-432a-4029-8a3e-e4d8d760dd27","savedPayload":{"position":{"x":31114.85548677459,"y":23608.123239421617},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"8ba7fe0c-c5df-408e-be8a-ebde90f2a50d","savedPayload":{"position":{"x":31213.3772416773,"y":23479.64113201446},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"d7faf864-3fa8-4280-b7d3-a022338b0dfe","savedPayload":{"position":{"x":31332.61547866025,"y":23370.352855471876},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"f6722d05-77f9-4a68-ba69-38f56cdc7e91","savedPayload":{"position":{"x":31469.001079434187,"y":23283.45259364257},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"beginRate":{"type":"Begin Rate","name":"New Begin Rate","config":"{\n\"initialValue\": 0\n}","id":"613903ae-45e4-4eee-a178-d6ec049490ec","savedPayload":{"position":{"x":31618.397891771172,"y":23221.561954902598},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"endRate":{"type":"End Rate","name":"New End Rate","config":"{\n\"initialValue\": 0\n}","id":"b2bfb20d-64d5-4c98-b0cd-a466654c1e6a","savedPayload":{"position":{"x":31776.26866434818,"y":23186.555945271954},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"2615490b-e968-4607-a6e5-009c3ae78957","savedPayload":{"position":{"x":31937.618753176183,"y":23179.49582096675},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"6bcc264b-a189-4aca-8397-d3520bdf4078","savedPayload":{"position":{"x":32097.935845453678,"y":23200.594405110707},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"headOfTheMarket":{"type":"Head Of The Market","name":"New Head Of The Market","config":"{\n\"initialValue\": false\n}","id":"f7e00135-13b1-4265-95da-dd3a2c763b6f","savedPayload":{"position":{"x":32252.15083828583,"y":23249.208558658625},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"processDate":{"type":"Process Date","name":"New Process Date","config":"{\n\"initialValue\": 0\n}","id":"d9163f6e-0d50-4ddd-b13b-14f7b4124ec8","savedPayload":{"position":{"x":32395.576136870695,"y":23323.85833073421},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"episodeBaseAsset":{"type":"Episode Base Asset","name":"New Episode Base Asset","balance":{"type":"Balance","name":"Base Asset","config":"{\n\"initialValue\": 0\n}","id":"72f6a6b6-f35b-4d80-b8ad-4a4ed55f2387","savedPayload":{"position":{"x":32614.361190187592,"y":22500.324533425865},"targetPosition":{"x":32523.29728736959,"y":23423.099671638818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"beginBalance":{"type":"Begin Balance","name":"New Begin Balance","config":"{\n\"initialValue\": 0\n}","id":"0176b616-7628-42b1-8c06-4cfb1bfd05aa","savedPayload":{"position":{"x":32745.206945449754,"y":22522.773282385664},"targetPosition":{"x":32523.29728736959,"y":23423.099671638818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"endBalance":{"type":"End Balance","name":"New End Balance","config":"{\n\"initialValue\": 0\n}","id":"d3844a95-57a8-48f5-bfa9-e093bf815f57","savedPayload":{"position":{"x":32871.19499129817,"y":22563.564583985677},"targetPosition":{"x":32523.29728736959,"y":23423.099671638818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"hits":{"type":"Hits","name":"New Hits","config":"{\n\"initialValue\": 0\n}","id":"c5eff46f-38bc-4ab9-9d07-ed6c5e161895","savedPayload":{"position":{"x":32990.03457686934,"y":22621.857395005914},"targetPosition":{"x":32523.29728736959,"y":23423.099671638818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"fails":{"type":"Fails","name":"New Fails","config":"{\n\"initialValue\": 0\n}","id":"4a05a6d4-add4-4b8e-a64f-82f1cb8363cd","savedPayload":{"position":{"x":33099.34959198706,"y":22696.464354443466},"targetPosition":{"x":32523.29728736959,"y":23423.099671638818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"hitRatio":{"type":"Hit Ratio","name":"New Hit Ratio","config":"{\n\"initialValue\": 0\n}","id":"348b1305-f52f-4dd0-b8f7-d0950aed6604","savedPayload":{"position":{"x":33196.92787040488,"y":22785.868241269112},"targetPosition":{"x":32523.29728736959,"y":23423.099671638818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"profitLoss":{"type":"Profit Loss","name":"New Profit Loss","config":"{\n\"initialValue\": 0\n}","id":"be210037-a2bd-445e-8a18-081e3e4fc995","savedPayload":{"position":{"x":33280.788954388394,"y":22888.25336466626},"targetPosition":{"x":32523.29728736959,"y":23423.099671638818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"ROI":{"type":"ROI","name":"New ROI","config":"{\n\"initialValue\": 0\n}","id":"405d086e-9461-4e0d-b875-8decf729a434","savedPayload":{"position":{"x":33349.22966481311,"y":23001.547001565763},"targetPosition":{"x":32523.29728736959,"y":23423.099671638818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"annualizedRateOfReturn":{"type":"Annualized Rate Of Return","name":"New Annualized Rate Of Return","config":"{\n\"initialValue\": 0\n}","id":"2fa70a73-35be-40a2-a0e8-6ef12e76a105","savedPayload":{"position":{"x":33400.861737768006,"y":23123.483460360105},"targetPosition":{"x":32523.29728736959,"y":23423.099671638818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"hitFail":{"type":"Hit Fail","name":"New Hit Fail","config":"{\n\"initialValue\": \"\"\n}","id":"388b582a-74fb-4245-b831-892b19868e85","savedPayload":{"position":{"x":33434.655598760684,"y":23251.860259796467},"targetPosition":{"x":32523.29728736959,"y":23423.099671638818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"11def55a-16a2-4105-a2c0-2dc7b39422d5","savedPayload":{"position":{"x":32523.850362722565,"y":23422.270329436225},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"episodeQuotedAsset":{"type":"Episode Quoted Asset","name":"New Episode Quoted Asset","balance":{"type":"Balance","name":"Quoted Asset","config":"{\n\"initialValue\": 0\n}","id":"31600195-9fe6-48f2-a744-12609943a948","savedPayload":{"position":{"x":32883.14288209393,"y":22649.125362580937},"targetPosition":{"x":32633.0945868782,"y":23542.095881570807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"beginBalance":{"type":"Begin Balance","name":"New Begin Balance","config":"{\n\"initialValue\": 0\n}","id":"020629af-dc56-40f5-b724-aa7a38017577","savedPayload":{"position":{"x":33008.08786150176,"y":22693.95914685346},"targetPosition":{"x":32633.0945868782,"y":23542.095881570807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"endBalance":{"type":"End Balance","name":"New End Balance","config":"{\n\"initialValue\": 0\n}","id":"3dafbad0-221d-4728-a507-682516c5c7d2","savedPayload":{"position":{"x":33125.07578995915,"y":22756.01585614169},"targetPosition":{"x":32633.0945868782,"y":23542.095881570807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"hits":{"type":"Hits","name":"New Hits","config":"{\n\"initialValue\": 0\n}","id":"ff31de06-cf8f-4a56-8bd3-0fc978257133","savedPayload":{"position":{"x":33231.98644615458,"y":22834.068258422474},"targetPosition":{"x":32633.0945868782,"y":23542.095881570807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"fails":{"type":"Fails","name":"New Fails","config":"{\n\"initialValue\": 0\n}","id":"48db7b5c-f10c-4d10-9662-0f28bebcc16a","savedPayload":{"position":{"x":33326.68400639857,"y":22926.534280499156},"targetPosition":{"x":32633.0945868782,"y":23542.095881570807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"hitRatio":{"type":"Hit Ratio","name":"New Hit Ratio","config":"{\n\"initialValue\": 0\n}","id":"7e8dabb5-0d33-470a-9c62-92bfd48fbc66","savedPayload":{"position":{"x":33407.25242262616,"y":23031.535618516766},"targetPosition":{"x":32633.0945868782,"y":23542.095881570807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"profitLoss":{"type":"Profit Loss","name":"New Profit Loss","config":"{\n\"initialValue\": 0\n}","id":"b87d87fa-37b4-4a84-ab28-44e1f69bf485","savedPayload":{"position":{"x":33472.05578468797,"y":23146.9402837918},"targetPosition":{"x":32633.0945868782,"y":23542.095881570807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"ROI":{"type":"ROI","name":"New ROI","config":"{\n\"initialValue\": 0\n}","id":"37ab9b9a-d76c-4d1e-bbb0-8f81d852ef5f","savedPayload":{"position":{"x":33519.77570436028,"y":23270.411173681394},"targetPosition":{"x":32633.0945868782,"y":23542.095881570807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"annualizedRateOfReturn":{"type":"Annualized Rate Of Return","name":"New Annualized Rate Of Return","config":"{\n\"initialValue\": 0\n}","id":"3eefd2a4-05e5-45cc-8319-b2f473907651","savedPayload":{"position":{"x":33549.43703226065,"y":23399.474967012604},"targetPosition":{"x":32633.0945868782,"y":23542.095881570807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"hitFail":{"type":"Hit Fail","name":"New Hit Fail","config":"{\n\"initialValue\": \"\"\n}","id":"7b13fa53-921e-457b-bde5-dd4c13247936","savedPayload":{"position":{"x":33560.40659099431,"y":23531.774574557996},"targetPosition":{"x":32633.0945868782,"y":23542.095881570807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9d3a2c33-2d9f-4d01-a410-9c29b534b886","savedPayload":{"position":{"x":32633.06701668827,"y":23541.444542762598},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"episodeCounters":{"type":"Episode Counters","name":"New Episode Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"6c6579c8-fb13-41f6-a25b-1833d2963640","savedPayload":{"position":{"x":32679.880001023572,"y":23214.999516312484},"targetPosition":{"x":32720.085206597716,"y":23677.781893765983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"strategies":{"type":"Strategies","name":"New Strategies","config":"{\n\"initialValue\": 0\n}","id":"caf6b80c-fff7-4c1e-abf9-3b37cd8d3806","savedPayload":{"position":{"x":32859.81351609887,"y":23234.80138596745},"targetPosition":{"x":32720.085206597716,"y":23677.781893765983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"positions":{"type":"Positions","name":"New Positions","config":"{\n\"initialValue\": 0\n}","id":"e9184950-7342-4ba0-96cd-bf51ac20c432","savedPayload":{"position":{"x":33018.56087360951,"y":23321.91892234468},"targetPosition":{"x":32720.085206597716,"y":23677.781893765983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"orders":{"type":"Orders","name":"New Orders","config":"{\n\"initialValue\": 0\n}","id":"668e9060-80e2-41d4-8528-65b40a9dc523","savedPayload":{"position":{"x":33132.02363964819,"y":23463.103791510595},"targetPosition":{"x":32720.085206597716,"y":23677.781893765983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"hits":{"type":"Hits","name":"New Hits","config":"{\n\"initialValue\": 0\n}","id":"e9beeed6-f4c1-4862-a84a-9215a5dc0b76","savedPayload":{"position":{"x":33182.8001262378,"y":23636.763160354043},"targetPosition":{"x":32720.085206597716,"y":23677.781893765983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"fails":{"type":"Fails","name":"New Fails","config":"{\n\"initialValue\": 0\n}","id":"db9005e4-0895-4a13-80de-3d7592477457","savedPayload":{"position":{"x":33191.560036450064,"y":23785.415045052592},"targetPosition":{"x":32720.085206597716,"y":23677.781893765983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[{"type":"User Defined Counter","name":"New User Defined Counter","config":"{\n\"initialValue\": 0\n}","id":"43f2fef0-fffd-45d1-9ded-ba2bda6908cb","savedPayload":{"position":{"x":33063.97550104554,"y":23985.623378978828},"targetPosition":{"x":32720.085206597716,"y":23677.781893765983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"id":"5a0d3549-0f15-4815-b4b3-11b78cc0ee8f","savedPayload":{"position":{"x":32719.897099435817,"y":23677.786075205375},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"episodeStatistics":{"type":"Episode Statistics","name":"New Episode Statistics","profitLoss":{"type":"Profit Loss","name":"New Profit Loss","config":"{\n\"initialValue\": 0\n}","id":"e3d6d413-30e8-4d83-9fdb-0c344065bb25","savedPayload":{"position":{"x":32862.25840424959,"y":22904.14334273329},"targetPosition":{"x":32781.627519538335,"y":23827.672916656717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"ROI":{"type":"ROI","name":"New ROI","config":"{\n\"initialValue\": 0\n}","id":"9d578e19-1f24-46a0-95bc-ac1b0db612d8","savedPayload":{"position":{"x":33209.09350092782,"y":23005.816366277028},"targetPosition":{"x":32781.627519538335,"y":23827.672916656717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"hitFail":{"type":"Hit Fail","name":"New Hit Fail","config":"{\n\"initialValue\": \"\"\n}","id":"660dcca3-ccee-4e7c-91b2-2c23884d901e","savedPayload":{"position":{"x":33525.41600456259,"y":23220.438483089823},"targetPosition":{"x":32781.627519538335,"y":23827.672916656717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"2c041b27-ee4b-444d-a80f-d4441a072079","savedPayload":{"position":{"x":33666.01331454022,"y":23549.08791639396},"targetPosition":{"x":32781.627519538335,"y":23827.672916656717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"annualizedRateOfReturn":{"type":"Annualized Rate Of Return","name":"New Annualized Rate Of Return","config":"{\n\"initialValue\": 0\n}","id":"adaf52e7-6cfb-419c-a977-8453841db79c","savedPayload":{"position":{"x":33705.356833313796,"y":23908.395841036585},"targetPosition":{"x":32781.627519538335,"y":23827.672916656717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Write your Formula code here.","id":"03dfd055-de12-4acd-a2d6-09571bcb476b","savedPayload":{"position":{"x":33605.14483522259,"y":24255.736233147258},"targetPosition":{"x":33193.73885919225,"y":24041.68029870713},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c4634159-3ab1-4053-bcd3-ef6807874149","savedPayload":{"position":{"x":33193.73885919225,"y":24041.68029870713},"targetPosition":{"x":32781.627519538335,"y":23827.672916656717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Write your Formula code here.","id":"e26802c2-6390-430a-8223-a22b45fa625f","savedPayload":{"position":{"x":33378.37751896244,"y":24538.58586593574},"targetPosition":{"x":33080.231403728576,"y":24183.398434019473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"40e19232-9c8e-4f03-857e-98a57ac22551","savedPayload":{"position":{"x":33080.231403728576,"y":24183.398434019473},"targetPosition":{"x":32781.627519538335,"y":23827.672916656717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fb2b103c-aa99-4528-b517-26f8b19c8f2e","savedPayload":{"position":{"x":32781.73889010179,"y":23827.23063112246},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"distanceToEvent":{"type":"Distance To Event","name":"New Distance To Event","triggerOn":{"type":"Trigger On","name":"New Trigger On","config":"{\n\"initialValue\": 0\n}","id":"902bb26e-1767-438f-ad17-90ecdf895917","savedPayload":{"position":{"x":33502.62667445321,"y":23352.76971136797},"targetPosition":{"x":32819.77589579087,"y":23985.788269761615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"triggerOff":{"type":"Trigger Off","name":"New Trigger Off","config":"{\n\"initialValue\": 0\n}","id":"38a99470-0ba3-449b-b390-e91b641df71e","savedPayload":{"position":{"x":33593.38018482406,"y":23461.04388510572},"targetPosition":{"x":32819.77589579087,"y":23985.788269761615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"takePosition":{"type":"Take Position","name":"New Take Position","config":"{\n\"initialValue\": 0\n}","id":"2ab42094-807b-4a1b-a98e-0461ac76b96a","savedPayload":{"position":{"x":33662.601302689145,"y":23586.95737221317},"targetPosition":{"x":32819.77589579087,"y":23985.788269761615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"closePosition":{"type":"Close Position","name":"New Close Position","config":"{\n\"initialValue\": 0\n}","id":"266078a8-278e-4725-a40a-517565ed5be2","savedPayload":{"position":{"x":33715.18258424558,"y":23722.350498849493},"targetPosition":{"x":32819.77589579087,"y":23985.788269761615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhase":{"type":"Next Phase","name":"New Next Phase","config":"{\n\"initialValue\": 0\n}","id":"700d730c-0ce4-41e5-beb4-d247ea87ff39","savedPayload":{"position":{"x":33744.59510492296,"y":23865.175333765794},"targetPosition":{"x":32819.77589579087,"y":23985.788269761615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhase":{"type":"Move To Phase","name":"New Move To Phase","config":"{\n\"initialValue\": 0\n}","id":"db34eaee-4206-47f0-9611-5157b8e8b5be","savedPayload":{"position":{"x":33752.45390187273,"y":24011.19510453201},"targetPosition":{"x":32819.77589579087,"y":23985.788269761615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"createOrder":{"type":"Create Order","name":"New Create Order","config":"{\n\"initialValue\": 0\n}","id":"0bbe164f-0d90-4784-a367-f78123ec00d7","savedPayload":{"position":{"x":33736.67884785424,"y":24156.684877922067},"targetPosition":{"x":32819.77589579087,"y":23985.788269761615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"cancelOrder":{"type":"Cancel Order","name":"New Cancel Order","config":"{\n\"initialValue\": 0\n}","id":"8c07e14b-2113-4651-9370-ac2506b7662a","savedPayload":{"position":{"x":33698.81128871362,"y":24298.164029243115},"targetPosition":{"x":32819.77589579087,"y":23985.788269761615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"closeOrder":{"type":"Close Order","name":"New Close Order","config":"{\n\"initialValue\": 0\n}","id":"3a0488f3-87b0-4f44-92f9-5abc53a68d58","savedPayload":{"position":{"x":33618.80862109924,"y":24460.55256365876},"targetPosition":{"x":32819.77589579087,"y":23985.788269761615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5fa3b58c-7e8c-4327-acbf-d6b367c2248d","savedPayload":{"position":{"x":32816.772383942895,"y":23985.13864574346},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},"candle":{"type":"Candle","name":"New Candle","begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"99e6ab4d-b289-4ffa-8011-7cd6cc8e7be2","savedPayload":{"position":{"x":33020.129905496746,"y":23725.785731719396},"targetPosition":{"x":32823.8680603369,"y":24146.65526043812},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"30567d08-6c02-4566-b96e-9d308511550a","savedPayload":{"position":{"x":33166.29973287134,"y":23832.993047518277},"targetPosition":{"x":32823.8680603369,"y":24146.65526043812},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"open":{"type":"Open","name":"New Open","id":"3a56e6c9-1780-496e-88f1-8bad9ba7df83","savedPayload":{"position":{"x":33260.27844819011,"y":23987.92038050997},"targetPosition":{"x":32823.8680603369,"y":24146.65526043812},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"close":{"type":"Close","name":"New Close","id":"b2eaedfb-9589-49f1-8b38-91384c91821c","savedPayload":{"position":{"x":33287.82798018812,"y":24166.816178564237},"targetPosition":{"x":32823.8680603369,"y":24146.65526043812},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"min":{"type":"Min","name":"New Min","id":"ee29c140-d133-4265-a4ad-1d3f9bd098c6","savedPayload":{"position":{"x":33244.753028531886,"y":24342.825796488065},"targetPosition":{"x":32823.8680603369,"y":24146.65526043812},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"max":{"type":"Max","name":"New Max","id":"a6bcef43-3109-4da4-9fdc-fa9f03e5ce6b","savedPayload":{"position":{"x":33137.5934421225,"y":24488.96434293738},"targetPosition":{"x":32823.8680603369,"y":24146.65526043812},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"index":{"type":"Index","name":"New Index","config":"{\n\"initialValue\": 0\n}","id":"d4a0e8f8-bf5e-42d1-b5bc-b5de3ed078dc","savedPayload":{"position":{"x":32982.54511456207,"y":24582.987099757138},"targetPosition":{"x":32823.8680603369,"y":24146.65526043812},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"83f13bc0-737a-4679-aab3-e596a728693f","savedPayload":{"position":{"x":32823.8680603369,"y":24146.65526043812},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"cycle":{"type":"Cycle","name":"New Cycle","begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"c9986759-eca8-4a11-b5fa-4930d3022ecc","savedPayload":{"position":{"x":33119.73890203944,"y":24293.02361060985},"targetPosition":{"x":32802.70850770155,"y":24307.03522598302},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"c0aa558a-35de-42e0-a6c0-48c45da865a4","savedPayload":{"position":{"x":33083.99032172931,"y":24453.46463013121},"targetPosition":{"x":32802.70850770155,"y":24307.03522598302},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"10a54b94-404f-4107-9f37-5ab09b13a0e5","savedPayload":{"position":{"x":32802.635056412895,"y":24307.304462454824},"targetPosition":{"x":31897.252954726864,"y":24106.230920316222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"772a16fc-f0e4-4bfa-8045-bf8bc984eb53","savedPayload":{"position":{"x":31631.862254589007,"y":24343.430707696967},"targetPosition":{"x":31373.55093774257,"y":24967.049392142086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"strategy":{"type":"Strategy","name":"New Strategy","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"989dc7f3-b431-49a1-b77e-a44a9c5cb9dd","savedPayload":{"position":{"x":31718.71344420418,"y":23514.182533492483},"targetPosition":{"x":32198.303766163488,"y":24307.34508560717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"6d661273-f8fd-48ac-8258-d4851c18e9b5","savedPayload":{"position":{"x":31922.64797816796,"y":23422.352993003893},"targetPosition":{"x":32198.303766163488,"y":24307.34508560717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"6440a481-de19-4054-ada3-aaf4847f7bf5","savedPayload":{"position":{"x":32142.514008823884,"y":23382.052758268794},"targetPosition":{"x":32198.303766163488,"y":24307.34508560717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"d73398fd-bef4-439b-b015-7c485f323fd9","savedPayload":{"position":{"x":32365.311865445023,"y":23395.547130325023},"targetPosition":{"x":32198.303766163488,"y":24307.34508560717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"beginRate":{"type":"Begin Rate","name":"New Begin Rate","config":"{\n\"initialValue\": 0\n}","id":"8ab7d69f-a2e4-42dc-b3c8-e55c6e9395ed","savedPayload":{"position":{"x":32578.694240399192,"y":23462.040623816945},"targetPosition":{"x":32198.303766163488,"y":24307.34508560717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"endRate":{"type":"End Rate","name":"New End Rate","config":"{\n\"initialValue\": 0\n}","id":"752b56ac-dacf-4de6-b9cd-1f907c4639d8","savedPayload":{"position":{"x":32769.9625473435,"y":23577.666174587124},"targetPosition":{"x":32198.303766163488,"y":24307.34508560717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"95eaccfe-cf23-4bde-9cc3-4d4ac22c4147","savedPayload":{"position":{"x":32928.00024007593,"y":23735.698952304996},"targetPosition":{"x":32198.303766163488,"y":24307.34508560717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"\"\n}","id":"e982b53e-71c4-40bd-a158-b477b51c18e6","savedPayload":{"position":{"x":33043.63024656558,"y":23926.96540385107},"targetPosition":{"x":32198.303766163488,"y":24307.34508560717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"No Stage\"\n}","id":"b3fcda1e-aaed-4f29-8f4e-6a3c53f41d5c","savedPayload":{"position":{"x":33110.130733889135,"y":24140.338394092636},"targetPosition":{"x":32198.303766163488,"y":24307.34508560717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"index":{"type":"Index","name":"New Index","config":"{\n\"initialValue\": -1\n}","id":"2b5497a7-5945-4c6d-89c7-328f488efcd9","savedPayload":{"position":{"x":33123.62586725256,"y":24363.13071652675},"targetPosition":{"x":32198.303766163488,"y":24307.34508560717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"strategyName":{"type":"Strategy Name","name":"New Strategy Name","config":"{\n\"initialValue\": \"\"\n}","id":"165503a7-6932-4492-b55d-e1f078e84184","savedPayload":{"position":{"x":33083.32506958052,"y":24582.991503420435},"targetPosition":{"x":32198.303766163488,"y":24307.34508560717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"strategyCounters":{"type":"Strategy Counters","name":"New Strategy Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"6444a48f-005e-435d-971f-6f4b918b448b","savedPayload":{"position":{"x":33388.55320555063,"y":25026.910686268035},"targetPosition":{"x":32991.48636625059,"y":24786.9582140897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"0959dc76-33eb-416f-ba6d-49bf7bdedcfe","savedPayload":{"position":{"x":32991.48636625059,"y":24786.9582140897},"targetPosition":{"x":32198.303766163488,"y":24307.34508560717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4ae1a2e2-3986-426d-887c-854ffcd0bacf","savedPayload":{"position":{"x":31850.848015043488,"y":24489.752314841167},"targetPosition":{"x":31373.55093774257,"y":24967.049392142086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"position":{"type":"Position","name":"New Position","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"3477c173-53bc-42ea-a3b7-4f00a1c02015","savedPayload":{"position":{"x":31851.07288277947,"y":24049.738270489695},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"9261f02f-9032-4602-9770-072e9268313c","savedPayload":{"position":{"x":31967.726535716087,"y":24034.380525727895},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"f0b88792-57a2-4081-90d4-e38705f487cd","savedPayload":{"position":{"x":32085.274801936223,"y":24039.512793868325},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"3ef9a99a-9339-4ff9-b634-aa59a5f8e28a","savedPayload":{"position":{"x":32200.14603685307,"y":24064.979133540597},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"beginRate":{"type":"Begin Rate","name":"New Begin Rate","config":"{\n\"initialValue\": 0\n}","id":"4d36149a-9c7e-4646-8c15-64a9404c8970","savedPayload":{"position":{"x":32308.849936121336,"y":24110.00576290035},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"endRate":{"type":"End Rate","name":"New End Rate","config":"{\n\"initialValue\": 0\n}","id":"207d3050-dd30-4da0-ab7d-c29819d88f66","savedPayload":{"position":{"x":32408.083586768575,"y":24173.224570599064},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"a927c8ca-6401-40b6-a322-697e234c031c","savedPayload":{"position":{"x":32494.83182453452,"y":24252.71468515508},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"cabf5599-bd58-4d1c-92f5-9de5799d6aa4","savedPayload":{"position":{"x":32566.458848111386,"y":24346.060839661543},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"No Stage\"\n}","id":"eab14f99-22d2-492d-b398-1aac390d7066","savedPayload":{"position":{"x":32620.788306632807,"y":24450.42675844921},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"entryTargetRate":{"type":"Entry Target Rate","name":"New Entry Target Rate","config":"{\n\"initialValue\": 0\n}","id":"71b3e7d9-80d0-422d-999e-99549f5ab59d","savedPayload":{"position":{"x":32656.16942699364,"y":24562.64133588743},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitTargetRate":{"type":"Exit Target Rate","name":"New Exit Target Rate","config":"{\n\"initialValue\": 0\n}","id":"bc637b55-04bd-4701-9683-78593832cb09","savedPayload":{"position":{"x":32671.527171755442,"y":24679.294988824047},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"stopLoss":{"type":"Stop Loss","name":"New Stop Loss","config":"{\n\"initialValue\": 0\n}","stopLossPhase":{"type":"Stop Loss Phase","name":"New Stop Loss Phase","config":"{\n\"initialValue\": 0\n}","id":"cd72e0d5-5947-4dba-98e0-a6b245d0589a","savedPayload":{"position":{"x":33003.894903615015,"y":24796.843255044183},"targetPosition":{"x":32666.39490361501,"y":24796.843255044183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"stopLossPosition":{"type":"Stop Loss Position","name":"New Stop Loss Position","config":"{\n\"initialValue\": \"\"\n}","id":"952c2041-9073-4207-a65d-2676a4d17bf7","savedPayload":{"position":{"x":32992.39486998757,"y":24884.194682766283},"targetPosition":{"x":32666.39490361501,"y":24796.843255044183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6cc8dba0-5f83-4a35-af20-ec8c0f2cfcff","savedPayload":{"position":{"x":32666.39490361501,"y":24796.843255044183},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takeProfit":{"type":"Take Profit","name":"New Take Profit","config":"{\n\"initialValue\": 0\n}","takeProfitPhase":{"type":"Take Profit Phase","name":"New Take Profit Phase","config":"{\n\"initialValue\": 0\n}","id":"bb18fe69-5012-4f64-ad50-387872f0c4e2","savedPayload":{"position":{"x":32973.30118058436,"y":24970.32074992362},"targetPosition":{"x":32640.92856394274,"y":24911.714489961032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"takeProfitPosition":{"type":"Take Profit Position","name":"New Take Profit Position","config":"{\n\"initialValue\": \"\"\n}","id":"90a1092c-47e5-4d98-9d9a-c1cb2f057274","savedPayload":{"position":{"x":32946.807442067606,"y":25054.348153298517},"targetPosition":{"x":32640.92856394274,"y":24911.714489961032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"df523873-e747-41bb-ac2e-a4091fd911e5","savedPayload":{"position":{"x":32640.92856394274,"y":24911.714489961032},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"positionCounters":{"type":"Position Counters","name":"New Position Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"fb374cfd-85ce-434a-98fb-29262017b4df","savedPayload":{"position":{"x":32595.90193458299,"y":25020.418389229297},"targetPosition":{"x":32296.53577838534,"y":24864.578232262473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"9c24f6bf-cc20-4384-abf5-db31a0adfe75","savedPayload":{"position":{"x":32296.53577838534,"y":24864.578232262473},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"positionStatistics":{"type":"Position Statistics","name":"New Position Statistics","profitLoss":{"type":"Profit Loss","name":"New Profit Loss","config":"{\n\"initialValue\": 0\n}","id":"45ce7818-05a2-4bcb-b822-034f801e3efa","savedPayload":{"position":{"x":32867.295767597934,"y":25163.704629750802},"targetPosition":{"x":32532.683126884272,"y":25119.652039876535},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"ROI":{"type":"ROI","name":"New ROI","config":"{\n\"initialValue\": 0\n}","id":"c8373104-21d5-41d3-a551-71753683853b","savedPayload":{"position":{"x":32844.49246910683,"y":25248.80769829975},"targetPosition":{"x":32532.683126884272,"y":25119.652039876535},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"hitFail":{"type":"Hit Fail","name":"New Hit Fail","config":"{\n\"initialValue\": \"\"\n}","id":"c809d913-3522-46b3-9735-b63a32cbdc5b","savedPayload":{"position":{"x":32800.43987923257,"y":25325.10902216698},"targetPosition":{"x":32532.683126884272,"y":25119.652039876535},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"cedad2f7-7afc-4d24-8318-f800a3447b24","savedPayload":{"position":{"x":32738.140109174718,"y":25387.408792224825},"targetPosition":{"x":32532.683126884272,"y":25119.652039876535},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"03d2f3b4-3d5e-4b8d-b0ba-a73b52842cf0","savedPayload":{"position":{"x":32661.83878530749,"y":25431.461382099093},"targetPosition":{"x":32597.26095609588,"y":25275.556710987814},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"445bfb04-2212-4586-8507-831dcc60a4d4","savedPayload":{"position":{"x":32597.26095609588,"y":25275.556710987814},"targetPosition":{"x":32532.683126884272,"y":25119.652039876535},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dd3ec368-eae6-49cf-8753-b317c8e7725e","savedPayload":{"position":{"x":32532.683126884272,"y":25119.652039876535},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"positionBaseAsset":{"type":"Position Base Asset","name":"New Position Base Asset","beginBalance":{"type":"Begin Balance","name":"New Begin Balance","config":"{\n\"initialValue\": 0\n}","id":"8c6d01dc-f258-4957-81a9-743eff6367c4","savedPayload":{"position":{"x":33926.145573957176,"y":25511.995143789114},"targetPosition":{"x":33025.637756026634,"y":25292.09453041709},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"endBalance":{"type":"End Balance","name":"New End Balance","config":"{\n\"initialValue\": 0\n}","id":"7e0d3197-eb56-4390-b319-1e29888e5eb0","savedPayload":{"position":{"x":33865.81665654305,"y":25683.72174366692},"targetPosition":{"x":33025.637756026634,"y":25292.09453041709},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"entryTargetSize":{"type":"Entry Target Size","name":"New Entry Target Size","config":"{\n\"initialValue\": 0\n}","id":"4f34b4ec-74cb-42ad-be53-3ce37b6cf429","savedPayload":{"position":{"x":33773.21319557095,"y":25840.18852993227},"targetPosition":{"x":33025.637756026634,"y":25292.09453041709},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitTargetSize":{"type":"Exit Target Size","name":"New Exit Target Size","config":"{\n\"initialValue\": 0\n}","id":"543c7935-d286-45a0-944d-95fc013f54a6","savedPayload":{"position":{"x":33651.866528629245,"y":25975.53788820454},"targetPosition":{"x":33025.637756026634,"y":25292.09453041709},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"profitLoss":{"type":"Profit Loss","name":"New Profit Loss","config":"{\n\"initialValue\": 0\n}","id":"c6a22f90-dc9e-4f23-a5c6-db20864d5764","savedPayload":{"position":{"x":33506.44886577071,"y":26084.6227219441},"targetPosition":{"x":33025.637756026634,"y":25292.09453041709},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"ROI":{"type":"ROI","name":"New ROI","config":"{\n\"initialValue\": 0\n}","id":"f8d76bbb-9697-4244-beed-e180394b0190","savedPayload":{"position":{"x":33342.516084863855,"y":26163.228458701054},"targetPosition":{"x":33025.637756026634,"y":25292.09453041709},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"hitFail":{"type":"Hit Fail","name":"New Hit Fail","config":"{\n\"initialValue\": \"\"\n}","id":"f729b426-5742-4050-9f5f-17be937603fe","savedPayload":{"position":{"x":33166.19589721313,"y":26208.355149552284},"targetPosition":{"x":33025.637756026634,"y":25292.09453041709},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"49b6cd2f-d026-45a1-94a6-34da6a8a00d0","savedPayload":{"position":{"x":32453.19301232826,"y":25206.400277642482},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"positionQuotedAsset":{"type":"Position Quoted Asset","name":"New Position Quoted Asset","beginBalance":{"type":"Begin Balance","name":"New Begin Balance","config":"{\n\"initialValue\": 0\n}","id":"7ac0990c-72be-4a29-b8f5-742e3d3a187f","savedPayload":{"position":{"x":33744.688435589145,"y":25763.879770620337},"targetPosition":{"x":32895.910128232936,"y":25390.646803980148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"endBalance":{"type":"End Balance","name":"New End Balance","config":"{\n\"initialValue\": 0\n}","id":"7671b848-4e6e-4671-8180-984b622a5252","savedPayload":{"position":{"x":33655.388671130255,"y":25922.40111193139},"targetPosition":{"x":32895.910128232936,"y":25390.646803980148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"entryTargetSize":{"type":"Entry Target Size","name":"New Entry Target Size","config":"{\n\"initialValue\": 0\n}","id":"3f327b74-3799-4344-8694-b2b9affaec47","savedPayload":{"position":{"x":33536.98285411284,"y":26060.414570625602},"targetPosition":{"x":32895.910128232936,"y":25390.646803980148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitTargetSize":{"type":"Exit Target Size","name":"New Exit Target Size","config":"{\n\"initialValue\": 0\n}","id":"9340a64e-303d-4e87-a281-5aba9d0735c4","savedPayload":{"position":{"x":33394.00794481684,"y":26172.53491674229},"targetPosition":{"x":32895.910128232936,"y":25390.646803980148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"profitLoss":{"type":"Profit Loss","name":"New Profit Loss","config":"{\n\"initialValue\": 0\n}","id":"5af6674b-b49c-4f44-bddb-0316342fa013","savedPayload":{"position":{"x":33231.84873273896,"y":26254.63036330342},"targetPosition":{"x":32895.910128232936,"y":25390.646803980148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"ROI":{"type":"ROI","name":"New ROI","config":"{\n\"initialValue\": 0\n}","id":"fd0421eb-6448-4fe6-8758-54584c7b2c3c","savedPayload":{"position":{"x":33056.74836764316,"y":26303.689093948065},"targetPosition":{"x":32895.910128232936,"y":25390.646803980148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"hitFail":{"type":"Hit Fail","name":"New Hit Fail","config":"{\n\"initialValue\": \"\"\n}","id":"0ff63d38-707c-40a6-92ac-3e89744857c9","savedPayload":{"position":{"x":32875.51356322822,"y":26317.45642429175},"targetPosition":{"x":32895.910128232936,"y":25390.646803980148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"37210802-7554-4c5f-8154-b89ac2cef413","savedPayload":{"position":{"x":32359.846857821794,"y":25278.027301219347},"targetPosition":{"x":31997.16962218769,"y":24708.73807529565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"37e18e8e-1d1c-42b8-a39c-ae9f169298f7","savedPayload":{"position":{"x":31997.16962218769,"y":24708.73807529565},"targetPosition":{"x":31373.55093774257,"y":24967.049392142086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"strategyTriggerStage":{"type":"Strategy Trigger Stage","name":"New Strategy Trigger Stage","begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"931c5ac7-f366-43ad-9343-c2d742858956","savedPayload":{"position":{"x":32670.495869745806,"y":24544.837806706597},"targetPosition":{"x":32469.269393060757,"y":24963.04958981221},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"59e8db85-8e15-4cc8-b9f8-13ee48f3ac6e","savedPayload":{"position":{"x":32832.2148645378,"y":24673.692344738698},"targetPosition":{"x":32469.269393060757,"y":24963.04958981221},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"383a0db7-d66b-4737-a0ad-c0fbd83141b1","savedPayload":{"position":{"x":32921.86281353534,"y":24859.87336230458},"targetPosition":{"x":32469.269393060757,"y":24963.04958981221},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"98dd6291-cae7-42bb-bfe0-7258b98b3e48","savedPayload":{"position":{"x":32921.87699854413,"y":25066.21045798584},"targetPosition":{"x":32469.269393060757,"y":24963.04958981221},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"beginRate":{"type":"Begin Rate","name":"New Begin Rate","config":"{\n\"initialValue\": 0\n}","id":"af5e94f8-f9fa-4efd-b476-b39e73a17647","savedPayload":{"position":{"x":32832.185387212936,"y":25252.416083162818},"targetPosition":{"x":32469.269393060757,"y":24963.04958981221},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"endRate":{"type":"End Rate","name":"New End Rate","config":"{\n\"initialValue\": 0\n}","id":"ff9e5f2c-39ed-4132-85ad-ea1f8bc79c77","savedPayload":{"position":{"x":32670.50401547213,"y":25381.2777899075},"targetPosition":{"x":32469.269393060757,"y":24963.04958981221},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cf358488-11ec-493e-8fa1-f9e49ebc49a4","savedPayload":{"position":{"x":32048.55093774257,"y":24967.049392142086},"targetPosition":{"x":31373.55093774257,"y":24967.049392142086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"strategyOpenStage":{"type":"Strategy Open Stage","name":"New Strategy Open Stage","begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"479be369-3e1b-403b-8205-60b134ffe853","savedPayload":{"position":{"x":32700.693920004793,"y":24964.433326064773},"targetPosition":{"x":32399.28020069989,"y":25317.712314549357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"7f4c00d9-28f8-4217-acc8-28a0610697c4","savedPayload":{"position":{"x":32795.24405285206,"y":25075.035854816408},"targetPosition":{"x":32399.28020069989,"y":25317.712314549357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"f6545702-f89a-4e30-b35b-f2b9e8e0d54a","savedPayload":{"position":{"x":32850.89464463088,"y":25209.306913052686},"targetPosition":{"x":32399.28020069989,"y":25317.712314549357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"ff2a4db2-77c1-4e50-8e93-4b19e59da2f5","savedPayload":{"position":{"x":32862.32449730161,"y":25353.9781856045},"targetPosition":{"x":32399.28020069989,"y":25317.712314549357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"beginRate":{"type":"Begin Rate","name":"New Begin Rate","config":"{\n\"initialValue\": 0\n}","id":"ce4c89e0-d04d-42e1-9817-74076e9e7c4c","savedPayload":{"position":{"x":32828.437183360176,"y":25495.271315153466},"targetPosition":{"x":32399.28020069989,"y":25317.712314549357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"endRate":{"type":"End Rate","name":"New End Rate","config":"{\n\"initialValue\": 0\n}","id":"63c332fa-e15c-44ac-96eb-1dbc96754827","savedPayload":{"position":{"x":32752.525094220226,"y":25619.175124718215},"targetPosition":{"x":32399.28020069989,"y":25317.712314549357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"stageDefinedIn":{"type":"Stage Defined In","name":"New Stage Defined In","config":"{\n\"initialValue\": \"\"\n}","id":"d5138adf-43da-40c0-8c09-3469ce877c08","savedPayload":{"position":{"x":32642.034580917163,"y":25713.539684422318},"targetPosition":{"x":32399.28020069989,"y":25317.712314549357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"stageBaseAsset":{"type":"Stage Base Asset","name":"New Stage Base Asset","targetSize":{"type":"Target Size","name":"New Target Size","config":"{\n\"initialValue\": 0\n}","id":"ec5ef5ba-d046-4d53-b0da-d501792676be","savedPayload":{"position":{"x":32809.47889351252,"y":26121.756932855005},"targetPosition":{"x":32507.34891285769,"y":25768.985289418702},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sizePlaced":{"type":"Size Placed","name":"New Size Placed","config":"{\n\"initialValue\": 0\n}","id":"1026f6d6-b8dd-4ecf-81b9-11dfab3a552e","savedPayload":{"position":{"x":32685.337045231805,"y":26197.99772144105},"targetPosition":{"x":32507.34891285769,"y":25768.985289418702},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"shortcutKey":"r"}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"bb1b0ee5-f7f6-4646-aa36-0e08629a7042","savedPayload":{"position":{"x":32543.952778895356,"y":26231.95335289074},"targetPosition":{"x":32507.34891285769,"y":25768.985289418702},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"shortcutKey":""}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"9e964d4d-860e-4c93-9399-f06296a74049","savedPayload":{"position":{"x":32399.108636578167,"y":26220.377466400372},"targetPosition":{"x":32507.34891285769,"y":25768.985289418702},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"29dd1ff0-989e-403b-8d43-788a8140c9e1","savedPayload":{"position":{"x":32507.757789851326,"y":25769.12411304567},"targetPosition":{"x":32399.28020069989,"y":25317.712314549357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},"stageQuotedAsset":{"type":"Stage Quoted Asset","name":"New Stage Quoted Asset","targetSize":{"type":"Target Size","name":"New Target Size","config":"{\n\"initialValue\": 0\n}","id":"8727b1ed-fbd4-4b60-ae3c-05ffc4c2cd86","savedPayload":{"position":{"x":32540.84431167494,"y":26209.28149730856},"targetPosition":{"x":32362.827294671064,"y":25780.459758909245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sizePlaced":{"type":"Size Placed","name":"New Size Placed","config":"{\n\"initialValue\": 0\n}","id":"364ee3d9-3cdc-433c-8716-1d3b6bddd980","savedPayload":{"position":{"x":32399.34337624856,"y":26243.337503325216},"targetPosition":{"x":32362.827294671064,"y":25780.459758909245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"79c2e37f-7081-4d6e-b302-046e2ec27e79","savedPayload":{"position":{"x":32254.619267107017,"y":26231.92654433535},"targetPosition":{"x":32362.827294671064,"y":25780.459758909245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"7d0d2ba9-182a-4c72-b8b1-e9ba6d970293","savedPayload":{"position":{"x":32120.208528392126,"y":26176.147091351013},"targetPosition":{"x":32362.827294671064,"y":25780.459758909245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"48381545-119a-422d-b6ea-5868072f8cf4","savedPayload":{"position":{"x":32362.827294671064,"y":25780.459758909245},"targetPosition":{"x":32399.28020069989,"y":25317.712314549357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ecf3bffe-dd3d-4b29-b744-2a9a7dd3f7b7","savedPayload":{"position":{"x":31997.16962218769,"y":25225.360708988523},"targetPosition":{"x":31373.55093774257,"y":24967.049392142086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"strategyManageStage":{"type":"Strategy Manage Stage","name":"New Strategy Manage Stage","begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"a1884450-68d0-41fd-a7af-f55c1fa2ac98","savedPayload":{"position":{"x":32636.34611229984,"y":25465.448838243527},"targetPosition":{"x":32198.35034606709,"y":25618.628208123417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"c178d9c3-ab54-474a-aecc-e26890ba579f","savedPayload":{"position":{"x":32659.542815183064,"y":25670.183500318384},"targetPosition":{"x":32198.35034606709,"y":25618.628208123417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"f3b3a0fa-650a-4fdc-b080-98d71a5aeadb","savedPayload":{"position":{"x":32591.683814226788,"y":25865.57994192977},"targetPosition":{"x":32198.35034606709,"y":25618.628208123417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"02e7b009-0743-424a-b019-136886535362","savedPayload":{"position":{"x":32445.27259474241,"y":26011.47374948291},"targetPosition":{"x":32198.35034606709,"y":25618.628208123417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"beginRate":{"type":"Begin Rate","name":"New Begin Rate","config":"{\n\"initialValue\": 0\n}","id":"12c10a40-ec02-4ad5-aa19-7248bc152a09","savedPayload":{"position":{"x":32250.184531852814,"y":26079.77202172908},"targetPosition":{"x":32198.35034606709,"y":25618.628208123417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"endRate":{"type":"End Rate","name":"New End Rate","config":"{\n\"initialValue\": 0\n}","id":"6c5e211f-117b-4bdb-b5d0-d4ff9137d20f","savedPayload":{"position":{"x":32045.451804990058,"y":26056.96517430623},"targetPosition":{"x":32198.35034606709,"y":25618.628208123417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"23623d89-4f23-4827-bd18-d10ed8cd91ce","savedPayload":{"position":{"x":31850.848015043488,"y":25444.346469443004},"targetPosition":{"x":31373.55093774257,"y":24967.049392142086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"strategyCloseStage":{"type":"Strategy Close Stage","name":"New Strategy Close Stage","begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"77de6af4-78af-47eb-9d05-1b45bd90f432","savedPayload":{"position":{"x":32360.413914805977,"y":25783.107203404386},"targetPosition":{"x":31897.43603717759,"y":25819.74557088463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"ee5c568c-cc11-4ef1-b53d-528e54090442","savedPayload":{"position":{"x":32349.07367934739,"y":25927.994978768977},"targetPosition":{"x":31897.43603717759,"y":25819.74557088463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"171cfa7e-95e0-4c9d-a682-52b346e1f4d0","savedPayload":{"position":{"x":32293.464487306286,"y":26062.322255782834},"targetPosition":{"x":31897.43603717759,"y":25819.74557088463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"c7c4bde9-a2cf-40db-b7a4-23d84ec57389","savedPayload":{"position":{"x":32199.078211412954,"y":26172.85921898455},"targetPosition":{"x":31897.43603717759,"y":25819.74557088463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"beginRate":{"type":"Begin Rate","name":"New Begin Rate","config":"{\n\"initialValue\": 0\n}","id":"ac995378-3294-475b-9863-ec9d01a2c620","savedPayload":{"position":{"x":32075.160168265225,"y":26248.80920508027},"targetPosition":{"x":31897.43603717759,"y":25819.74557088463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"endRate":{"type":"End Rate","name":"New End Rate","config":"{\n\"initialValue\": 0\n}","id":"36633085-158f-42dd-8d0a-22d94af1d95f","savedPayload":{"position":{"x":31933.84425131375,"y":26282.742711719635},"targetPosition":{"x":31897.43603717759,"y":25819.74557088463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"stageDefinedIn":{"type":"Stage Defined In","name":"New Stage Defined In","config":"{\n\"initialValue\": \"\"\n}","id":"d0add24e-c4fb-4ffa-8d5c-f80712fb2e5f","savedPayload":{"position":{"x":31789.25521648328,"y":26271.337358437435},"targetPosition":{"x":31897.43603717759,"y":25819.74557088463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"stageBaseAsset":{"type":"Stage Base Asset","name":"New Stage Base Asset","targetSize":{"type":"Target Size","name":"New Target Size","config":"{\n\"initialValue\": 0\n}","id":"c3c3f2eb-97a1-49e2-9274-dae429f86bb7","savedPayload":{"position":{"x":31620.34720774029,"y":26679.066100959797},"targetPosition":{"x":31656.619838039398,"y":26215.250664427032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sizePlaced":{"type":"Size Placed","name":"New Size Placed","config":"{\n\"initialValue\": 0\n}","id":"32c52f90-73a0-40a3-b6b5-f66ae5c9bcf7","savedPayload":{"position":{"x":31479.54472354154,"y":26643.930351021998},"targetPosition":{"x":31656.619838039398,"y":26215.250664427032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"0b788290-7362-4697-8426-28d8256be6e4","savedPayload":{"position":{"x":31376.437375818605,"y":26559.73507384883},"targetPosition":{"x":31656.619838039398,"y":26215.250664427032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"4706a702-a16a-4382-bb31-60dd83460120","savedPayload":{"position":{"x":31260.868294695025,"y":26457.032405414866},"targetPosition":{"x":31656.619838039398,"y":26215.250664427032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ccf55d5f-01a0-4b6c-b6bd-6114040e1ea6","savedPayload":{"position":{"x":31655.049827390925,"y":26215.72793415701},"targetPosition":{"x":31897.43603717759,"y":25819.74557088463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"stageQuotedAsset":{"type":"Stage Quoted Asset","name":"New Stage Quoted Asset","targetSize":{"type":"Target Size","name":"New Target Size","config":"{\n\"initialValue\": 0\n}","id":"81269885-7567-4162-bdae-9ae3aaf02300","savedPayload":{"position":{"x":32527.0087396545,"y":26239.810461636134},"targetPosition":{"x":32349.432170918735,"y":25810.85758887941},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sizePlaced":{"type":"Size Placed","name":"New Size Placed","config":"{\n\"initialValue\": 0\n}","id":"8d101afe-a76b-452a-831b-3b8c5d45d27f","savedPayload":{"position":{"x":32385.420396619702,"y":26273.953427450906},"targetPosition":{"x":32349.432170918735,"y":25810.85758887941},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"5560b6f6-b787-4a6c-a082-6a5a9cc16d77","savedPayload":{"position":{"x":32240.60629452864,"y":26262.39521428991},"targetPosition":{"x":32349.432170918735,"y":25810.85758887941},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"8211c5c6-520d-4296-81b5-888d9c8fb90d","savedPayload":{"position":{"x":32106.317311841063,"y":26206.369883809886},"targetPosition":{"x":32349.432170918735,"y":25810.85758887941},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0851ffc1-4ce3-4977-9a68-61e0d1b89d32","savedPayload":{"position":{"x":31549.734918779308,"y":26126.963985161277},"targetPosition":{"x":31897.43603717759,"y":25819.74557088463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c7c28513-1e64-4ab8-8d7d-4448c0027721","savedPayload":{"position":{"x":31631.862254589007,"y":25590.668076587204},"targetPosition":{"x":31373.55093774257,"y":24967.049392142086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"9404147f-b225-4709-a1b5-394cf9903622","savedPayload":{"position":{"x":31373.55093774257,"y":24967.049392142086},"targetPosition":{"x":30923.55093774257,"y":24967.049392142086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"last":{"type":"Last","name":"New Last","position":{"type":"Position","name":"New Position","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"7cb38892-bc86-4771-b74e-edebdc17ec3a","savedPayload":{"position":{"x":31946.917803670884,"y":25562.248984257203},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"22d3c1b5-001d-4ca3-b38e-10f70610e1be","savedPayload":{"position":{"x":32024.71001411139,"y":25655.140705090143},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"df386025-376f-453b-aa1a-2a4ab2888c83","savedPayload":{"position":{"x":32083.602553242054,"y":25759.09100493308},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"5f07b765-ee12-4181-85c0-94748b03d839","savedPayload":{"position":{"x":32122.870962014735,"y":25871.048268447958},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"beginRate":{"type":"Begin Rate","name":"New Begin Rate","config":"{\n\"initialValue\": 0\n}","id":"d82fcc11-12d7-45e4-8a03-f8b2fe6bd28e","savedPayload":{"position":{"x":32141.658404343827,"y":25987.76172967603},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"endRate":{"type":"End Rate","name":"New End Rate","config":"{\n\"initialValue\": 0\n}","id":"e026edaf-074a-4eab-9f95-85ed3bc5003c","savedPayload":{"position":{"x":32139.71335333125,"y":26105.74122247602},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"45078dd6-c7e7-42b0-b0bf-db5927a4b404","savedPayload":{"position":{"x":32117.246631894384,"y":26221.458041865346},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"\"\n}","id":"e5d13ca1-1c13-4c44-9d97-50fd98de5755","savedPayload":{"position":{"x":32075.03277826593,"y":26331.457028181747},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"No Stage\"\n}","id":"20fcc6f8-e21c-4412-9ce8-833da712c35c","savedPayload":{"position":{"x":32014.364364881585,"y":26432.42593390222},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"entryTargetRate":{"type":"Entry Target Rate","name":"New Entry Target Rate","config":"{\n\"initialValue\": 0\n}","id":"7a3f4b4f-0ff4-424d-b35f-626ba3ea02e8","savedPayload":{"position":{"x":31937.085933832233,"y":26521.30946738299},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitTargetRate":{"type":"Exit Target Rate","name":"New Exit Target Rate","config":"{\n\"initialValue\": 0\n}","id":"cfedd274-c3ea-4048-95c8-ff040c67fefe","savedPayload":{"position":{"x":31845.545613455884,"y":26595.410582188568},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"stopLoss":{"type":"Stop Loss","name":"New Stop Loss","config":"{\n\"initialValue\": 0\n}","stopLossPhase":{"type":"Stop Loss Phase","name":"New Stop Loss Phase","config":"{\n\"initialValue\": 0\n}","id":"1e86cfaa-6316-4629-99e5-c19bf7690b00","savedPayload":{"position":{"x":31348.30825558574,"y":27564.267373480558},"targetPosition":{"x":31260.0809870632,"y":26896.56279467883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"stopLossPosition":{"type":"Stop Loss Position","name":"New Stop Loss Position","config":"{\n\"initialValue\": \"\"\n}","id":"fb0a2f9c-46fc-4a94-a137-bda440bb257e","savedPayload":{"position":{"x":31172.333674319416,"y":27564.341312912475},"targetPosition":{"x":31260.0809870632,"y":26896.56279467883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dde16cfc-ae9b-4f8f-a994-2023cc79e609","savedPayload":{"position":{"x":31742.518413075253,"y":26652.45854096632},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takeProfit":{"type":"Take Profit","name":"New Take Profit","config":"{\n\"initialValue\": 0\n}","takeProfitPhase":{"type":"Take Profit Phase","name":"New Take Profit Phase","config":"{\n\"initialValue\": 0\n}","id":"019e4501-c133-464f-9fbd-8635aed9e325","savedPayload":{"position":{"x":31113.576805988887,"y":27559.076313341866},"targetPosition":{"x":31142.607936187393,"y":26886.224725995256},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"takeProfitPosition":{"type":"Take Profit Position","name":"New Take Profit Position","config":"{\n\"initialValue\": \"\"\n}","id":"d105ba15-57a8-4330-b1ac-d57d235bc4d0","savedPayload":{"position":{"x":30939.957985546207,"y":27528.47365644222},"targetPosition":{"x":31142.607936187393,"y":26886.224725995256},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e9a86fd6-21b5-46db-b551-b4502467025e","savedPayload":{"position":{"x":31631.129100970298,"y":26690.640577996783},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"positionCounters":{"type":"Position Counters","name":"New Position Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"54222121-067d-4819-969b-ed18bf53b077","savedPayload":{"position":{"x":31526.908208574707,"y":26877.725823266737},"targetPosition":{"x":31514.80516247567,"y":26708.813221809512},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"6cfdc33a-accb-4fa6-99d2-cf90bc576452","savedPayload":{"position":{"x":31514.80516247567,"y":26708.813221809512},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"positionStatistics":{"type":"Position Statistics","name":"New Position Statistics","profitLoss":{"type":"Profit Loss","name":"New Profit Loss","config":"{\n\"initialValue\": 0\n}","id":"00306590-32f1-40b3-9d28-2a311c4907bc","savedPayload":{"position":{"x":31210.60779164675,"y":27109.73856962929},"targetPosition":{"x":31192.967804808028,"y":26773.147569589906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"ROI":{"type":"ROI","name":"New ROI","config":"{\n\"initialValue\": 0\n}","id":"c97c73f5-99a0-4267-b0cd-550265dabfc9","savedPayload":{"position":{"x":31122.89056245065,"y":27102.835073973627},"targetPosition":{"x":31192.967804808028,"y":26773.147569589906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"hitFail":{"type":"Hit Fail","name":"New Hit Fail","config":"{\n\"initialValue\": \"\"\n}","id":"391d41bd-a921-4273-b41e-caf758f04e01","savedPayload":{"position":{"x":31039.948981513095,"y":27073.46391972858},"targetPosition":{"x":31192.967804808028,"y":26773.147569589906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"53d86a40-81ed-41d2-a565-41b35f78a202","savedPayload":{"position":{"x":30967.435380507522,"y":27023.626702517817},"targetPosition":{"x":31192.967804808028,"y":26773.147569589906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"c691ada5-0a55-4c33-9eb7-770dcfe20fd1","savedPayload":{"position":{"x":30910.291441508078,"y":26956.719746334355},"targetPosition":{"x":31051.629623158053,"y":26864.93365796213},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1d77229e-c424-492e-a2f3-04e81345d118","savedPayload":{"position":{"x":31051.629623158053,"y":26864.93365796213},"targetPosition":{"x":31192.967804808028,"y":26773.147569589906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ca4c6442-d2f1-4eff-9b4f-03f51bc26246","savedPayload":{"position":{"x":31419.14480839183,"y":26704.761046298816},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"positionBaseAsset":{"type":"Position Base Asset","name":"New Position Base Asset","beginBalance":{"type":"Begin Balance","name":"New Begin Balance","config":"{\n\"initialValue\": 0\n}","id":"a033536f-b761-407b-bfcb-fdb4c6887af6","savedPayload":{"position":{"x":30754.59719967077,"y":27408.55577755761},"targetPosition":{"x":30827.076014362035,"y":26738.816500979367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"endBalance":{"type":"End Balance","name":"New End Balance","config":"{\n\"initialValue\": 0\n}","id":"a75ae534-5dc2-4af6-883e-15221b92911c","savedPayload":{"position":{"x":30624.83506127433,"y":27381.363701891154},"targetPosition":{"x":30827.076014362035,"y":26738.816500979367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"entryTargetSize":{"type":"Entry Target Size","name":"New Entry Target Size","config":"{\n\"initialValue\": 0\n}","id":"6d04c944-0069-4834-aebf-7ad11f6e87d9","savedPayload":{"position":{"x":30503.242724796062,"y":27329.44969946568},"targetPosition":{"x":30827.076014362035,"y":26738.816500979367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitTargetSize":{"type":"Exit Target Size","name":"New Exit Target Size","config":"{\n\"initialValue\": 0\n}","id":"1de6e566-f52e-447a-9558-6ea566eb44e6","savedPayload":{"position":{"x":30394.17883882052,"y":27254.83251126339},"targetPosition":{"x":30827.076014362035,"y":26738.816500979367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"profitLoss":{"type":"Profit Loss","name":"New Profit Loss","config":"{\n\"initialValue\": 0\n}","id":"299519f3-5af9-43f7-9d56-aebde2eb1646","savedPayload":{"position":{"x":30301.785567700066,"y":27160.36048149901},"targetPosition":{"x":30827.076014362035,"y":26738.816500979367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"ROI":{"type":"ROI","name":"New ROI","config":"{\n\"initialValue\": 0\n}","id":"a7b1ab74-2854-470a-8dce-318368b447d0","savedPayload":{"position":{"x":30229.589826552925,"y":27049.610188361483},"targetPosition":{"x":30827.076014362035,"y":26738.816500979367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"hitFail":{"type":"Hit Fail","name":"New Hit Fail","config":"{\n\"initialValue\": \"\"\n}","id":"e9dbeafb-424f-4aca-8560-02f8b66d584c","savedPayload":{"position":{"x":30180.313300573507,"y":26926.52640743328},"targetPosition":{"x":30827.076014362035,"y":26738.816500979367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"75f6f07f-522c-45ed-ad5d-c5b3cb7c6c07","savedPayload":{"position":{"x":31287.078693816504,"y":26701.263643777675},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"positionQuotedAsset":{"type":"Position Quoted Asset","name":"New Position Quoted Asset","beginBalance":{"type":"Begin Balance","name":"New Begin Balance","config":"{\n\"initialValue\": 0\n}","id":"814f50a4-a3c2-441e-9380-7adc1f50fe63","savedPayload":{"position":{"x":30851.49032922609,"y":27288.414587216226},"targetPosition":{"x":31005.99565097977,"y":26632.25394581618},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"endBalance":{"type":"End Balance","name":"New End Balance","config":"{\n\"initialValue\": 0\n}","id":"c19014a7-b345-4e4b-bc3c-9b7d4e44ec00","savedPayload":{"position":{"x":30726.44851483475,"y":27245.664151507153},"targetPosition":{"x":31005.99565097977,"y":26632.25394581618},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"entryTargetSize":{"type":"Entry Target Size","name":"New Entry Target Size","config":"{\n\"initialValue\": 0\n}","id":"eb40f77a-bf19-44c8-9842-42f81c8450d0","savedPayload":{"position":{"x":30612.149540113624,"y":27179.340705597788},"targetPosition":{"x":31005.99565097977,"y":26632.25394581618},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitTargetSize":{"type":"Exit Target Size","name":"New Exit Target Size","config":"{\n\"initialValue\": 0\n}","id":"2ae48a53-42f3-470f-afb7-b1201231ab67","savedPayload":{"position":{"x":30512.985850561643,"y":27091.993022319803},"targetPosition":{"x":31005.99565097977,"y":26632.25394581618},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"profitLoss":{"type":"Profit Loss","name":"New Profit Loss","config":"{\n\"initialValue\": 0\n}","id":"d89b53ac-e902-4399-871d-eb444acb4b9c","savedPayload":{"position":{"x":30432.768251156645,"y":26986.977824156427},"targetPosition":{"x":31005.99565097977,"y":26632.25394581618},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"ROI":{"type":"ROI","name":"New ROI","config":"{\n\"initialValue\": 0\n}","id":"4013695d-57f7-4d35-b926-a716130d5bd7","savedPayload":{"position":{"x":30374.579459257224,"y":26868.330786279883},"targetPosition":{"x":31005.99565097977,"y":26632.25394581618},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"hitFail":{"type":"Hit Fail","name":"New Hit Fail","config":"{\n\"initialValue\": \"\"\n}","id":"6a12c16d-6fd8-47b4-ae90-688b2990dd2d","savedPayload":{"position":{"x":30340.65563750342,"y":26740.611447817733},"targetPosition":{"x":31005.99565097977,"y":26632.25394581618},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5d48e215-20ac-47e3-9e19-4079bd8aa08c","savedPayload":{"position":{"x":31163.842397039356,"y":26609.036880410622},"targetPosition":{"x":31467.779932567784,"y":26035.297061187222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"aafaaba0-bc67-4f12-a749-f1f1c02d3a17","savedPayload":{"position":{"x":30881.58242712668,"y":25767.856279784257},"targetPosition":{"x":30698.55093774257,"y":25356.760823845085},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"strategy":{"type":"Strategy","name":"New Strategy","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"33eefe8a-94c7-4f43-b32b-cab99cf96e76","savedPayload":{"position":{"x":31802.05460590862,"y":26230.59103968442},"targetPosition":{"x":31131.286684508028,"y":26279.440347947595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"19e984be-3241-4542-ad9b-b271872888ae","savedPayload":{"position":{"x":31794.310665941855,"y":26392.512687602724},"targetPosition":{"x":31131.286684508028,"y":26279.440347947595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"97723b40-10c4-4bb4-b4d8-4f3e185f9662","savedPayload":{"position":{"x":31747.94348173699,"y":26547.987006997664},"targetPosition":{"x":31131.286684508028,"y":26279.440347947595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"48b58adb-c7d2-4635-95cb-45ea9eeda108","savedPayload":{"position":{"x":31665.727272114127,"y":26687.80164041368},"targetPosition":{"x":31131.286684508028,"y":26279.440347947595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"beginRate":{"type":"Begin Rate","name":"New Begin Rate","config":"{\n\"initialValue\": 0\n}","id":"ef8bbe43-9fb3-4e9e-84d9-3725e74ee42c","savedPayload":{"position":{"x":31552.43926587677,"y":26803.84101825383},"targetPosition":{"x":31131.286684508028,"y":26279.440347947595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"endRate":{"type":"End Rate","name":"New End Rate","config":"{\n\"initialValue\": 0\n}","id":"84b9ef17-7c4e-472a-ac52-46bb6ae33b64","savedPayload":{"position":{"x":31414.673759377016,"y":26889.3927256483},"targetPosition":{"x":31131.286684508028,"y":26279.440347947595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"50ede031-76b4-4eb6-ae73-0d56619ed6f3","savedPayload":{"position":{"x":31260.437016919743,"y":26939.52728636982},"targetPosition":{"x":31131.286684508028,"y":26279.440347947595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"\"\n}","id":"24635c41-8cf9-45ba-8bbb-71c2d1e21442","savedPayload":{"position":{"x":31099.01888422149,"y":26951.27579011939},"targetPosition":{"x":31131.286684508028,"y":26279.440347947595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"No Stage\"\n}","id":"3a505e32-35a6-4c5f-a5de-f20243cfc849","savedPayload":{"position":{"x":30939.179587695362,"y":26924.00048673324},"targetPosition":{"x":31131.286684508028,"y":26279.440347947595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"index":{"type":"Index","name":"New Index","config":"{\n\"initialValue\": -1\n}","id":"442baa35-4bf6-4b8b-8d3d-387e31345ab7","savedPayload":{"position":{"x":30790.48005971809,"y":26859.178270855482},"targetPosition":{"x":31131.286684508028,"y":26279.440347947595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"strategyName":{"type":"Strategy Name","name":"New Strategy Name","config":"{\n\"initialValue\": \"\"\n}","id":"a1afe24b-0e40-4faa-adf1-cb0f629a19d7","savedPayload":{"position":{"x":30661.637364726557,"y":26760.691424169345},"targetPosition":{"x":31131.286684508028,"y":26279.440347947595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"strategyCounters":{"type":"Strategy Counters","name":"New Strategy Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"72a7b066-ea44-44cc-bc9c-9645bb103846","savedPayload":{"position":{"x":30274.12288250862,"y":26811.386457073422},"targetPosition":{"x":30559.928650988786,"y":26633.876050683597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"89864f0c-2efe-4101-98ef-b9248a524207","savedPayload":{"position":{"x":30559.928650988786,"y":26633.876050683597},"targetPosition":{"x":31131.286684508028,"y":26279.440347947595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"886fcf92-e98b-4ba3-a5f7-29b2da8ee6c8","savedPayload":{"position":{"x":30604.99067687458,"y":25796.9272441753},"targetPosition":{"x":30698.55093774257,"y":25356.760823845085},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"limitOrders":{"type":"Limit Order","name":"New Limit Order","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"5c4a87d7-7e76-4cb4-b02f-a5b96faff9c9","savedPayload":{"position":{"x":31309.06618350683,"y":26598.16980634936},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"683fdd1f-306a-4e4e-bb90-a6152496f5be","savedPayload":{"position":{"x":31239.68892875669,"y":26703.549163627024},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"014b85ce-5670-4737-9ffe-e475a31abc7e","savedPayload":{"position":{"x":31152.346913824298,"y":26793.411314028534},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"7788884e-d628-4828-9f3c-d03b8ea0b2ed","savedPayload":{"position":{"x":31050.173413882163,"y":26865.241819161718},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"0f9906dc-ddff-4b6e-8a82-558d6c67e16e","savedPayload":{"position":{"x":30936.67529195336,"y":26916.874847720734},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"99919a0d-bd78-4a50-946a-bc033bfca7a0","savedPayload":{"position":{"x":30815.703440102763,"y":26946.68251216635},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"b88600a1-1a4f-49e8-aef5-9f66dd632842","savedPayload":{"position":{"x":30691.363201510594,"y":26953.675677808074},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"e161b4f7-99f0-43ee-9310-c06cab1b1ab0","savedPayload":{"position":{"x":30567.905802235608,"y":26937.613989911755},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"93510545-cf4c-4d2f-bdac-f5100e113f0c","savedPayload":{"position":{"x":30449.517727700666,"y":26899.14756490785},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"1ce311ec-e3ec-44a1-85c0-5562d626a602","savedPayload":{"position":{"x":30340.225035314732,"y":26839.578347009934},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"6678ca6b-6f7d-4fb8-ad26-becd97592a80","savedPayload":{"position":{"x":30238.917219170442,"y":26755.04933505301},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"6983f5e7-d2a4-43b2-996a-2d07bf022251","savedPayload":{"position":{"x":30112.980301934673,"y":26701.47638203304},"targetPosition":{"x":30389.377418261396,"y":26508.22339312771},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"b159cae7-c3d8-4bc5-bccf-217d5ed764f5","savedPayload":{"position":{"x":30389.377418261396,"y":26508.22339312771},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"84601506-b411-4098-b89b-a0fc25dab789","savedPayload":{"position":{"x":30104.556927878024,"y":26560.837476379238},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"b1d09bc5-fb51-49ec-ac2c-b717d549e76d","savedPayload":{"position":{"x":29871.1111355713,"y":26755.309447397827},"targetPosition":{"x":30062.62507157052,"y":26439.703106508397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"ecd9ad56-cd63-469b-91ae-adba390bf171","savedPayload":{"position":{"x":29703.869890018817,"y":26527.661101732152},"targetPosition":{"x":30062.62507157052,"y":26439.703106508397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"843d0988-74dd-4cef-8789-3f8cfaba0288","savedPayload":{"position":{"x":29746.52109484308,"y":26248.33424832098},"targetPosition":{"x":30062.62507157052,"y":26439.703106508397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6bd8cfef-5ca4-4c17-b492-5f377b2da318","savedPayload":{"position":{"x":30062.411442586636,"y":26441.84954279942},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"a3d7adcb-33e5-4707-bc03-12fc7c5f1a62","savedPayload":{"position":{"x":29385.048751678423,"y":25651.391279767893},"targetPosition":{"x":29772.173696601698,"y":25568.34776004245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"b998c6bd-9e7e-4950-9b74-c58a4f613b4c","savedPayload":{"position":{"x":29439.14724900936,"y":25353.25676532957},"targetPosition":{"x":29772.173696601698,"y":25568.34776004245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"314e7ea2-53a9-4e00-a530-77667403bbf1","savedPayload":{"position":{"x":29688.687575485987,"y":25180.380987669247},"targetPosition":{"x":29772.173696601698,"y":25568.34776004245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ececab38-e728-45bf-bab7-0ec18ab1f00c","savedPayload":{"position":{"x":30043.534476376124,"y":26317.94763012177},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"90fb70dd-b116-4dad-b100-10176078d976","savedPayload":{"position":{"x":29818.09502702225,"y":26430.58614839728},"targetPosition":{"x":30049.78190142275,"y":26185.929033294542},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"85f98313-ef05-4b22-abd4-019c5a150669","savedPayload":{"position":{"x":29718.593523685493,"y":26247.70160156394},"targetPosition":{"x":30049.78190142275,"y":26185.929033294542},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"shortcutKey":""}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"688b2648-42c0-448d-ba4d-48c4edea9317","savedPayload":{"position":{"x":29745.482542088725,"y":26041.472290208378},"targetPosition":{"x":30049.78190142275,"y":26185.929033294542},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"1f12b4f2-a850-4396-9f03-00b04c39e43a","savedPayload":{"position":{"x":29888.704413207783,"y":25889.894213275606},"targetPosition":{"x":29969.274665106524,"y":26038.02312133098},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"46b38d34-1481-42cf-91b6-e8f969d5667d","savedPayload":{"position":{"x":29969.274665106524,"y":26038.02312133098},"targetPosition":{"x":30049.78190142275,"y":26185.929033294542},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8ddd03e8-4355-4f1f-b9c0-1eaef13de32e","savedPayload":{"position":{"x":30049.78190142275,"y":26185.929033294542},"targetPosition":{"x":30716.07180180668,"y":26279.70827482063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"0f344181-126b-4235-97c5-92b1f8caa20d","savedPayload":{"position":{"x":30364.13576627774,"y":25657.869596706572},"targetPosition":{"x":30698.55093774257,"y":25356.760823845085},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"marketOrders":{"type":"Market Order","name":"New Market Order","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"4e19c5cd-06c8-41aa-88b6-c3e53500f2ce","savedPayload":{"position":{"x":30968.715430376014,"y":26744.699799527247},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"8638e802-8f3e-4eef-806a-689732daa685","savedPayload":{"position":{"x":30813.027948935614,"y":26748.888253848592},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"34cfab6e-fa47-41d1-9c7c-fc50251db9d6","savedPayload":{"position":{"x":30657.078963706288,"y":26729.747293278102},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"746e3b6d-1121-456a-a236-95f0e8f02bc9","savedPayload":{"position":{"x":30511.12277104263,"y":26675.832249730047},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"10b91c50-0ff3-4746-89f3-ea5a2bf10b78","savedPayload":{"position":{"x":30374.721939837353,"y":26601.470043377114},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"b9ff8ac5-6b93-4268-95fd-3e64a9d8ded1","savedPayload":{"position":{"x":30256.45603192796,"y":26496.170431179846},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"b6040957-3530-47b9-8798-1be2aa79ba91","savedPayload":{"position":{"x":30154.925993644756,"y":26377.94500659307},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"d2122053-2ec2-4879-a1eb-a05af04f6a37","savedPayload":{"position":{"x":30083.183598175237,"y":26239.242954638663},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"7c7100ce-fabe-4f5b-a875-0f73ec1bea7a","savedPayload":{"position":{"x":30032.14111395752,"y":26091.858620876043},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"a78a397d-2efc-41d9-b887-b3673c4a6caf","savedPayload":{"position":{"x":30012.007219508287,"y":25933.31414117403},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"6202ca96-5782-40e8-9a43-5187eab3825c","savedPayload":{"position":{"x":30020.926516146614,"y":25779.754220447343},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"7e7cbae6-c274-40d6-a41f-089e5fdc39f5","savedPayload":{"position":{"x":30059.917345491685,"y":25627.14576485146},"targetPosition":{"x":30462.672719056147,"y":25765.720929517927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"f6d8f35f-224e-4135-8685-6341d3e128c9","savedPayload":{"position":{"x":30462.672719056147,"y":25765.720929517927},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"1f66bae9-8ab5-4096-baf0-f03304ae3761","savedPayload":{"position":{"x":30123.46996602301,"y":25483.007063224915},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"05925960-9b83-4221-a42f-6b1b3101f37f","savedPayload":{"position":{"x":34396.588360301845,"y":23112.836469163103},"targetPosition":{"x":34094.275899128086,"y":23388.055785734163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"f2f1aca9-c603-4c63-ae7a-ceec8bcf539f","savedPayload":{"position":{"x":34479.186054978774,"y":23249.6868655966},"targetPosition":{"x":34094.275899128086,"y":23388.055785734163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"b5cd9cdf-7786-4d90-bfab-8fd9f2c6b55e","savedPayload":{"position":{"x":34502.62998264696,"y":23407.36970216163},"targetPosition":{"x":34094.275899128086,"y":23388.055785734163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6078ba38-48d9-4123-9464-b671acb313df","savedPayload":{"position":{"x":30211.68841115206,"y":25354.078413682397},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"e40ea964-d259-4779-acbc-6133cbbdf983","savedPayload":{"position":{"x":34479.55930378377,"y":23318.568394430386},"targetPosition":{"x":34131.89955066111,"y":23533.79769034117},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"66ba7df9-f806-4985-b1cd-d6ce3a36bf0e","savedPayload":{"position":{"x":34535.690544643745,"y":23468.93469703929},"targetPosition":{"x":34131.89955066111,"y":23533.79769034117},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"195c9857-33af-4dfa-b5a9-cafc956b6b67","savedPayload":{"position":{"x":34542.715678746325,"y":23642.542394784516},"targetPosition":{"x":34131.89955066111,"y":23533.79769034117},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e06730c6-fa37-4125-b497-79711fc685cb","savedPayload":{"position":{"x":30326.8956139457,"y":25244.575506602247},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"ce8ba99f-24ae-4415-8bec-0ff5e4c93c28","savedPayload":{"position":{"x":34507.75903026903,"y":23583.085242167264},"targetPosition":{"x":34139.64229933887,"y":23760.164307174604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"2440e044-a31c-47ff-834f-e7079a5f9d2e","savedPayload":{"position":{"x":34544.50015320121,"y":23706.09626813001},"targetPosition":{"x":34139.64229933887,"y":23760.164307174604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"056b2fe1-a3af-4f7b-a135-47b18de2b6a4","savedPayload":{"position":{"x":34541.89456885485,"y":23834.664129027584},"targetPosition":{"x":34139.64229933887,"y":23760.164307174604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"0b0697e8-0423-45fe-b3bb-fc7c6214e514","savedPayload":{"position":{"x":34579.97636365746,"y":23999.41201165999},"targetPosition":{"x":34400.6837892345,"y":23901.802149310555},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f0074bb8-e239-43eb-8371-4de534b53651","savedPayload":{"position":{"x":34400.6837892345,"y":23901.802149310555},"targetPosition":{"x":34139.64229933887,"y":23760.164307174604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"37e193a3-bd64-4a96-a0f4-697cd09d3590","savedPayload":{"position":{"x":30455.132178960343,"y":25158.397176171464},"targetPosition":{"x":30861.29816845799,"y":25904.23668271529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1eb34afa-52d4-486e-83ec-e52dfaf6448a","savedPayload":{"position":{"x":30251.016084826846,"y":25403.798632315527},"targetPosition":{"x":30698.55093774257,"y":25356.760823845085},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"44fbb36a-4652-4bf8-badd-47c574fe7774","savedPayload":{"position":{"x":30698.55093774257,"y":25356.760823845085},"targetPosition":{"x":30923.55093774257,"y":24967.049392142086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeOrders":{"type":"Exchange Orders","name":"New Exchange Orders","marketBuyOrders":{"type":"Market Buy Orders","name":"New Market Buy Orders","marketOrders":[{"type":"Market Order","name":"Market Buy Order #1","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"3cd2b72e-afd0-4552-a6fe-01c7a47f3501","savedPayload":{"position":{"x":29790.93755889947,"y":25461.43896980992},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"913dc1ca-9313-4039-b832-bb4f08c75aef","savedPayload":{"position":{"x":29667.62336115574,"y":25479.027930775956},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"63f4f9e6-563e-4fc7-842c-08cf6937be11","savedPayload":{"position":{"x":29543.176858868148,"y":25473.65848188161},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"fded8848-e5f2-448a-bb2a-8cbb6dae639e","savedPayload":{"position":{"x":29421.83592841497,"y":25445.513473269042},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"b51ba6d2-3ed2-49b2-bbc2-de3930bb877d","savedPayload":{"position":{"x":29307.732689650387,"y":25395.551349450332},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"9ddd0b24-7dfa-499d-8481-8d4e1d182db5","savedPayload":{"position":{"x":29204.75279151877,"y":25325.47351062916},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"c38e8adb-0f45-403c-9c6f-7647bb881f4d","savedPayload":{"position":{"x":29116.40309094022,"y":25237.666373557477},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"e6caddd6-d5f5-4c33-b742-6b49a20840dd","savedPayload":{"position":{"x":29045.692231004152,"y":25135.12010497521},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"0a3420c6-4177-4f3d-916c-a148ca850968","savedPayload":{"position":{"x":28995.028185237363,"y":25021.326795068235},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"fc76ed8e-8212-497d-9fc0-f0e032bb4956","savedPayload":{"position":{"x":28966.136256953614,"y":24900.161538525397},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"e8c6e52e-ba3b-45e9-9bb4-07c022209252","savedPayload":{"position":{"x":28960.000326118556,"y":24775.75047283656},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"18a54f80-526e-4059-88e0-d45e65990c67","savedPayload":{"position":{"x":28976.829344497542,"y":24652.33026762913},"targetPosition":{"x":29305.601122707816,"y":24728.58882683697},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"ff67287a-0a4e-4551-aa03-041288fc28cb","savedPayload":{"position":{"x":29305.601122707816,"y":24728.58882683697},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"49e850c8-3501-4d41-899e-96224d1ee461","savedPayload":{"position":{"x":29016.050220053865,"y":24534.103849965224},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"d7a3341e-e7d6-4363-bab2-f45927dc7ba7","savedPayload":{"position":{"x":28745.88185640578,"y":24356.45299957027},"targetPosition":{"x":29076.3273329107,"y":24425.09727870143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"57d4e7ab-d804-40f6-a3f2-342b11da6c71","savedPayload":{"position":{"x":28797.304548907003,"y":24235.22222502974},"targetPosition":{"x":29076.3273329107,"y":24425.09727870143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"9d44c42c-ba10-4660-b3c1-44c26373f1f2","savedPayload":{"position":{"x":28891.205930924956,"y":24142.898206189075},"targetPosition":{"x":29076.3273329107,"y":24425.09727870143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9b9934b9-3d46-442c-a5c2-47534e7861bb","savedPayload":{"position":{"x":29076.3273329107,"y":24425.09727870143},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"c374a797-47e4-4d35-9340-9627dbae21da","savedPayload":{"position":{"x":28843.40235715879,"y":24200.827965077595},"targetPosition":{"x":29155.60801828414,"y":24329.022641883163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"f40cc3e1-35f3-4e54-a8ef-dea041b8f86a","savedPayload":{"position":{"x":28916.225576967165,"y":24091.11026980234},"targetPosition":{"x":29155.60801828414,"y":24329.022641883163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"05cf852d-17ca-4143-81ef-2b66dc27ae64","savedPayload":{"position":{"x":29025.492603458813,"y":24017.612576495365},"targetPosition":{"x":29155.60801828414,"y":24329.022641883163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"1b6e6937-8c99-46a5-99bd-f1c19c4aa6e8","savedPayload":{"position":{"x":29155.60801828414,"y":24329.022641883163},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"f67adf1e-206a-4864-95e8-e2ee7a7c8fd2","savedPayload":{"position":{"x":31182.17766486532,"y":22805.9049851995},"targetPosition":{"x":30988.075592454497,"y":23165.619858144502},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"a44a1653-e899-4fb3-b8c6-ab452221676b","savedPayload":{"position":{"x":31284.144790651415,"y":22883.68397301675},"targetPosition":{"x":30988.075592454497,"y":23165.619858144502},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"feb097b5-2ac2-4b21-816b-074bbe292378","savedPayload":{"position":{"x":31356.952021751153,"y":22989.270593658388},"targetPosition":{"x":30988.075592454497,"y":23165.619858144502},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"cd91cb19-8193-4a92-8238-0ae05b0abfe7","savedPayload":{"position":{"x":31460.67498328942,"y":23103.369471055754},"targetPosition":{"x":31257.650696604815,"y":23129.977344439274},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"00dfb443-2533-489f-a0c6-a1110ed94c7c","savedPayload":{"position":{"x":31257.650696604815,"y":23129.977344439274},"targetPosition":{"x":30988.075592454497,"y":23165.619858144502},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ef52d686-c0de-4467-9620-591012e62d45","savedPayload":{"position":{"x":29251.19246752049,"y":24249.151646038437},"targetPosition":{"x":29634.37290091809,"y":24804.84738604481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3","savedPayload":{"position":{"x":29634.37290091809,"y":24804.84738604481},"targetPosition":{"x":30251.016084826846,"y":24530.300151968644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Market Order","name":"Market Buy Order #2","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"c3e4801b-1175-4110-9dad-7c77890b5251","savedPayload":{"position":{"x":29331.72752726834,"y":27362.954700341514},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"c79c56d6-c202-40fb-a179-970b96ffb32c","savedPayload":{"position":{"x":29133.965926458077,"y":27446.83525216402},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"22593cb5-8c92-48a4-88fc-aba10a5d8d9a","savedPayload":{"position":{"x":28923.1733442073,"y":27493.46702292037},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"1e28e08a-bc3f-49bf-9f57-1fc67241081d","savedPayload":{"position":{"x":28707.109915804213,"y":27501.61544447288},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"a2a427a2-c57b-451e-b844-97b983781bdf","savedPayload":{"position":{"x":28493.962893385924,"y":27468.6710249261},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"3f8c5c95-f622-4dce-a111-ba139e53f34d","savedPayload":{"position":{"x":28290.26544681571,"y":27397.978780079036},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"925cb3cc-166a-4db5-aed8-217d3634c1e2","savedPayload":{"position":{"x":28102.382600282133,"y":27290.373783105315},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"66821726-82b4-43c9-9b52-c01ae5a6e421","savedPayload":{"position":{"x":27938.0001587049,"y":27150.00998210563},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"2b460638-d6e8-431f-a14e-41d40cab2494","savedPayload":{"position":{"x":27802.712507847966,"y":26982.331347812535},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"b49fd1ee-ea92-4687-9a54-ac215d966725","savedPayload":{"position":{"x":27699.717636475267,"y":26793.21938994094},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"a50280fa-32e2-45db-b575-1737b08a69a4","savedPayload":{"position":{"x":27634.022673019423,"y":26587.537874618134},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"8f794d98-218a-4f47-b59d-7582b04f21c6","savedPayload":{"position":{"x":27605.684373777556,"y":26373.794280345304},"targetPosition":{"x":28190.507316514027,"y":26353.1019410904},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"eabd1631-8836-47db-98b2-b99d794e125b","savedPayload":{"position":{"x":28190.507316514027,"y":26353.1019410904},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"5afe9f6b-f429-46eb-8440-3380f1f6d449","savedPayload":{"position":{"x":27619.5364282923,"y":26158.07618897482},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"8378ccb4-daee-4ea7-bbde-a05b19a815db","savedPayload":{"position":{"x":27088.127181826752,"y":25983.558447249925},"targetPosition":{"x":27671.560434412055,"y":25949.20557147181},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"f4beed06-e887-4746-ae63-36c076452b2b","savedPayload":{"position":{"x":27114.709668132535,"y":25762.55270799736},"targetPosition":{"x":27671.560434412055,"y":25949.20557147181},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"acfb692f-cc8b-4385-b7e9-f69596075365","savedPayload":{"position":{"x":27233.24185259602,"y":25567.662653909058},"targetPosition":{"x":27671.560434412055,"y":25949.20557147181},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"98802c83-3a16-4dff-b385-591e59949e3f","savedPayload":{"position":{"x":27671.560434412055,"y":25949.20557147181},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"4225b562-96e6-41f8-80ba-ff36fd97bbff","savedPayload":{"position":{"x":27185.20439047219,"y":25671.190630447967},"targetPosition":{"x":27761.029415987992,"y":25751.89497638973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"0200f5ed-e48e-4c8c-9bc1-41fc0643db8c","savedPayload":{"position":{"x":27213.79186294304,"y":25450.737379727612},"targetPosition":{"x":27761.029415987992,"y":25751.89497638973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"4d5524ae-0dbd-482a-bfbb-cfb357a74cbe","savedPayload":{"position":{"x":27428.41666669258,"y":25324.225780849683},"targetPosition":{"x":27761.029415987992,"y":25751.89497638973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e3fdab87-ca49-479a-8a43-d4dde949fbe3","savedPayload":{"position":{"x":27761.029415987992,"y":25751.89497638973},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"238be086-0999-4feb-b230-b480537fd34f","savedPayload":{"position":{"x":27328.758608834527,"y":25462.351370110187},"targetPosition":{"x":27885.11930434272,"y":25575.18889435599},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"c99d1a46-a434-4cbe-a22e-e58ed5f50ba6","savedPayload":{"position":{"x":27367.350652452904,"y":25226.710311125138},"targetPosition":{"x":27885.11930434272,"y":25575.18889435599},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"305db308-40c2-446b-80d6-2dcfd0b2eac1","savedPayload":{"position":{"x":27504.776424054187,"y":25129.78264117875},"targetPosition":{"x":27885.11930434272,"y":25575.18889435599},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"6cd597c1-85da-4694-ae90-6466c7e32cfa","savedPayload":{"position":{"x":27676.275419911042,"y":25020.915277561715},"targetPosition":{"x":27788.512682344648,"y":25291.80385947647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f7474b7a-3366-4e8f-8112-c698e76bdda8","savedPayload":{"position":{"x":27788.512682344648,"y":25291.80385947647},"targetPosition":{"x":27885.11930434272,"y":25575.18889435599},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"caef76b7-9fa7-4d01-bddb-6fe620392bce","savedPayload":{"position":{"x":27885.11930434272,"y":25575.18889435599},"targetPosition":{"x":28775.3813121594,"y":26333.49906061495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f9d549de-24f3-4dc8-8c09-33d6b301280d","savedPayload":{"position":{"x":29704.929613623757,"y":24133.545106671223},"targetPosition":{"x":30251.016084826846,"y":24530.300151968644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a5823c2e-46a8-4824-a267-5606466e19db","savedPayload":{"position":{"x":30251.016084826846,"y":24530.300151968644},"targetPosition":{"x":30698.55093774257,"y":24577.337960439087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"marketSellOrders":{"type":"Market Sell Orders","name":"New Market Sell Orders","marketOrders":[{"type":"Market Order","name":"Market Sell Order #1","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"9e62e429-ace2-469c-8d43-ddb407499fa5","savedPayload":{"position":{"x":28759.016269768177,"y":26221.912814828836},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"4c89aeee-df1f-4f7e-b049-877f473d8c4e","savedPayload":{"position":{"x":28615.035371733782,"y":26227.363899809796},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"fbfd7a04-bfa3-4e4e-a607-42a7d3ba92b5","savedPayload":{"position":{"x":28472.571928175137,"y":26206.185438673594},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"99a80e5b-0bde-4f49-a81c-a0e88b2c118f","savedPayload":{"position":{"x":28336.703972653886,"y":26159.440225978546},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"90744b76-8917-4e5e-9313-87e7487efcfc","savedPayload":{"position":{"x":28261.9418863538,"y":26048.134940678436},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"d1d02b18-2e2a-4646-8b0d-f7144bcdd945","savedPayload":{"position":{"x":28100.360567539952,"y":25994.21553429628},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"63a268b6-7f8b-49e9-b420-37a08d4b9bbe","savedPayload":{"position":{"x":28009.67750710656,"y":25882.95821873538},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"db3e6d10-ee2b-49da-ac75-71cc0a2246cc","savedPayload":{"position":{"x":27940.815503326674,"y":25756.555020904343},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"853d913d-eedd-4349-9a40-a52f690668eb","savedPayload":{"position":{"x":27896.321688221713,"y":25619.578424785603},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"dd180ddb-0851-47a9-a979-3ce5da36b223","savedPayload":{"position":{"x":27877.745638793436,"y":25476.72416798009},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"f3515c3c-7ebe-408b-ae1a-c80acb939e37","savedPayload":{"position":{"x":27885.75592485335,"y":25333.160303280907},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"e4dc4641-78f4-446a-8e3e-7932afb51ce0","savedPayload":{"position":{"x":27886.088189278547,"y":25181.433704049643},"targetPosition":{"x":28255.116829647406,"y":25308.922567250043},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"86d6ac94-c819-4724-aee1-4d0c61298b77","savedPayload":{"position":{"x":28255.116829647406,"y":25308.922567250043},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"a763d22c-0245-42ab-a0d2-b06233dc552a","savedPayload":{"position":{"x":27979.50206227413,"y":25061.970747879346},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"c7b98e92-df2c-4e5a-9940-0d10a5ea930a","savedPayload":{"position":{"x":32548.89012528243,"y":22612.161553326867},"targetPosition":{"x":32246.57766410867,"y":22887.380869897926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"8771390c-321e-457b-bf9d-bc2d341bf4dc","savedPayload":{"position":{"x":32631.48781995936,"y":22749.011949760363},"targetPosition":{"x":32246.57766410867,"y":22887.380869897926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"85c030de-a925-45ae-a811-e53e8f4f75be","savedPayload":{"position":{"x":32654.931747627546,"y":22906.694786325395},"targetPosition":{"x":32246.57766410867,"y":22887.380869897926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"bf184263-2b70-4934-a1ef-a3d9881f9171","savedPayload":{"position":{"x":28062.067888789647,"y":24943.840481969335},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"5de83a17-4069-4cab-82a9-c2faa0aed4f4","savedPayload":{"position":{"x":32631.861068764352,"y":22817.89347859415},"targetPosition":{"x":32284.201315641694,"y":23033.122774504933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"fb23eb72-a33c-4c80-8b54-ade1b5eed5bd","savedPayload":{"position":{"x":32687.99230962433,"y":22968.259781203054},"targetPosition":{"x":32284.201315641694,"y":23033.122774504933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"4b930ee3-6684-4a26-878f-43dd26fbbdd7","savedPayload":{"position":{"x":32695.01744372691,"y":23141.86747894828},"targetPosition":{"x":32284.201315641694,"y":23033.122774504933},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"96cb5ac0-a52a-4c5c-b613-357434c50a9f","savedPayload":{"position":{"x":28164.990550800125,"y":24842.89115955706},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"5647419a-17f5-44d8-85b4-e57287adeb8d","savedPayload":{"position":{"x":32660.060795249614,"y":23082.410326331028},"targetPosition":{"x":32291.944064319454,"y":23259.489391338368},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"cc5b4f99-1d79-47ea-b554-91f19187e628","savedPayload":{"position":{"x":32696.801918181794,"y":23205.421352293775},"targetPosition":{"x":32291.944064319454,"y":23259.489391338368},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"50282e17-b223-4318-a93a-f001a8756b9f","savedPayload":{"position":{"x":32694.196333835433,"y":23333.989213191348},"targetPosition":{"x":32291.944064319454,"y":23259.489391338368},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"9a913ce3-65eb-46f2-ac68-b877e8fc52fc","savedPayload":{"position":{"x":32732.27812863804,"y":23498.737095823755},"targetPosition":{"x":32552.985554215084,"y":23401.12723347432},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1684af0b-83de-4fae-b7c1-7e177c983952","savedPayload":{"position":{"x":32552.985554215084,"y":23401.12723347432},"targetPosition":{"x":32291.944064319454,"y":23259.489391338368},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b9099572-9359-4b04-9cf0-d10e5905fa37","savedPayload":{"position":{"x":28285.004739815457,"y":24762.452394645625},"targetPosition":{"x":28657.86083385277,"y":25448.12201348243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8e404329-d41f-41e0-ad5a-c84ee1fa2604","savedPayload":{"position":{"x":29703.88613578242,"y":24135.888796275613},"targetPosition":{"x":30364.13576627774,"y":24276.2291875776},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Market Order","name":"Market Sell Order #2","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"0b81731f-f5aa-4385-8087-883b0053f35e","savedPayload":{"position":{"x":28975.31428131596,"y":26045.365434148403},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"e4da00c4-a47d-44a2-8af1-64e863d1e368","savedPayload":{"position":{"x":28831.333383281566,"y":26050.816519129363},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"ba273d24-bcbe-40ac-bc04-e9216cfa4744","savedPayload":{"position":{"x":28688.86993972292,"y":26029.63805799316},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"d4cc6bef-c37c-40b1-a881-4e8bddadda43","savedPayload":{"position":{"x":28553.00198420167,"y":25982.892845298113},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"34645282-c5b4-4fdf-ad2e-567903e0dbb2","savedPayload":{"position":{"x":28478.239897901585,"y":25871.587559998003},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"4926adb9-5dfa-459d-bb6c-5f2929ec7c73","savedPayload":{"position":{"x":28316.658579087736,"y":25817.668153615847},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"f7a4d950-f67d-423e-ab99-ba43888bfc8e","savedPayload":{"position":{"x":28225.975518654344,"y":25706.410838054948},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"1eb65c1b-c8bf-458a-80f2-02054c23ccc6","savedPayload":{"position":{"x":28157.113514874458,"y":25580.00764022391},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"a3372580-6256-41e4-993e-ea10cfa6c845","savedPayload":{"position":{"x":28112.619699769497,"y":25443.03104410517},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"33431686-26aa-485e-a0de-3981bb35dff8","savedPayload":{"position":{"x":28094.04365034122,"y":25300.176787299657},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"12ec632d-d6d6-4841-b2bc-268353c80597","savedPayload":{"position":{"x":28102.053936401135,"y":25156.612922600474},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"9b62a3d1-92a5-4d06-bdad-ffbf6f1bb330","savedPayload":{"position":{"x":28102.38620082633,"y":25004.88632336921},"targetPosition":{"x":28471.41484119519,"y":25132.37518656961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"33fe6333-e5ba-46ae-ba6e-eb72db5a18c2","savedPayload":{"position":{"x":28471.41484119519,"y":25132.37518656961},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"be48c3db-3bc7-4105-b883-ad0ed50819b2","savedPayload":{"position":{"x":28195.800073821913,"y":24885.423367198913},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"0848e446-525d-4e6a-a074-5926230c2df0","savedPayload":{"position":{"x":32765.188136830213,"y":22435.614172646434},"targetPosition":{"x":32462.875675656454,"y":22710.833489217493},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"92451f64-da38-4044-8f2c-cc95258a60f3","savedPayload":{"position":{"x":32847.78583150714,"y":22572.46456907993},"targetPosition":{"x":32462.875675656454,"y":22710.833489217493},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"39d8b4de-b9a4-4a7a-a3b3-949c3baef162","savedPayload":{"position":{"x":32871.22975917533,"y":22730.147405644962},"targetPosition":{"x":32462.875675656454,"y":22710.833489217493},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cbd98498-37d3-4b4f-b797-392f4405f28f","savedPayload":{"position":{"x":28278.36590033743,"y":24767.293101288902},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"dcd46554-00ff-4808-a75c-607b31e6114c","savedPayload":{"position":{"x":32848.159080312136,"y":22641.346097913716},"targetPosition":{"x":32500.49932718948,"y":22856.5753938245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"a58bd9db-f888-4678-8291-c8b7f2d3185d","savedPayload":{"position":{"x":32904.29032117211,"y":22791.71240052262},"targetPosition":{"x":32500.49932718948,"y":22856.5753938245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"e05bef30-b5dd-4475-9cf3-5537ce25f702","savedPayload":{"position":{"x":32911.31545527469,"y":22965.320098267846},"targetPosition":{"x":32500.49932718948,"y":22856.5753938245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d60208af-cf08-4b32-8772-9daa1b7479cf","savedPayload":{"position":{"x":28381.28856234791,"y":24666.343778876628},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"ac0449d3-86dc-45b2-8f93-c7573015ffbc","savedPayload":{"position":{"x":32876.3588067974,"y":22905.862945650595},"targetPosition":{"x":32508.242075867238,"y":23082.942010657935},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"a82976da-584f-4845-beb9-3c1bdd08d034","savedPayload":{"position":{"x":32913.09992972958,"y":23028.873971613342},"targetPosition":{"x":32508.242075867238,"y":23082.942010657935},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"585d2e1b-0ee9-4554-a0d3-7aa6797060b3","savedPayload":{"position":{"x":32910.49434538322,"y":23157.441832510915},"targetPosition":{"x":32508.242075867238,"y":23082.942010657935},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"ce0d0c85-9440-475d-834b-d44a7a8ad44f","savedPayload":{"position":{"x":32948.576140185825,"y":23322.189715143322},"targetPosition":{"x":32769.28356576287,"y":23224.579852793886},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b43d17da-95d3-4286-9f23-60d4b04fae2e","savedPayload":{"position":{"x":32769.28356576287,"y":23224.579852793886},"targetPosition":{"x":32508.242075867238,"y":23082.942010657935},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"78c636c0-cedc-4e63-a357-68f172f3a408","savedPayload":{"position":{"x":28501.30275136324,"y":24585.90501396519},"targetPosition":{"x":28874.158845400554,"y":25271.574632801996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d5d8b542-53f6-4cae-8f16-197523dd0dab","savedPayload":{"position":{"x":30155.549295074652,"y":23634.26603907837},"targetPosition":{"x":30364.13576627774,"y":24276.2291875776},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0cb8959b-8c1b-45f2-aa32-11c1efa63cc1","savedPayload":{"position":{"x":30364.13576627774,"y":24276.2291875776},"targetPosition":{"x":30698.55093774257,"y":24577.337960439087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"limitBuyOrders":{"type":"Limit Buy Orders","name":"New Limit Buy Orders","limitOrders":[{"type":"Limit Order","name":"Limit Buy Order #1","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"0194d2f8-65b6-4b14-a475-98894e185842","savedPayload":{"position":{"x":29104.05434040897,"y":25888.670280452647},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"b489aabd-42fc-4dfa-88d7-a06447eb9ab3","savedPayload":{"position":{"x":28968.541349114654,"y":25938.388207629996},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"ddb47e49-1bd2-4ec6-bcba-ab683fe6057a","savedPayload":{"position":{"x":28826.39322631825,"y":25962.273408274592},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"717a205b-4e4c-483c-8cc4-b7b37b1c346c","savedPayload":{"position":{"x":28682.508658715265,"y":25959.61143991012},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"1f6e73ab-b746-4866-a778-f0463def7cba","savedPayload":{"position":{"x":28541.38064018176,"y":25930.49919066681},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"1c848292-d64a-456f-b1b9-b9e4a387436e","savedPayload":{"position":{"x":28407.984161748103,"y":25875.922409177187},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"94931a87-f582-496a-9568-414b6c7b85ce","savedPayload":{"position":{"x":28286.819947752858,"y":25797.798388914376},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"0216b354-f6d6-41d2-8a38-ed7dfe714b24","savedPayload":{"position":{"x":28182.081104503166,"y":25698.82038545417},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"03a48411-88af-4c63-97e6-bad700dd2fbf","savedPayload":{"position":{"x":28097.356464065342,"y":25582.29147141632},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"91379553-15c6-4663-8d4c-8c5d3bbc5822","savedPayload":{"position":{"x":28035.508109110055,"y":25452.172436609275},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"57d6275e-125c-4950-a515-ce56fe4c032d","savedPayload":{"position":{"x":27998.6589364276,"y":25312.865496609455},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"588c867e-9337-4872-8490-62a114e0e0c0","savedPayload":{"position":{"x":27952.351801416437,"y":25168.80234417979},"targetPosition":{"x":28342.723674896264,"y":25175.859487383615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"371c590e-927d-4d94-8ed9-3edf5e3f8410","savedPayload":{"position":{"x":28342.723674896264,"y":25175.859487383615},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"41cd34ec-9e60-425f-97ba-cc2e874ce66b","savedPayload":{"position":{"x":28004.023517452188,"y":25026.122774986947},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"01d4bade-b1c7-4230-9638-06b14acff0ae","savedPayload":{"position":{"x":27685.62222331894,"y":25039.17300216938},"targetPosition":{"x":28046.05210912304,"y":24888.164300894667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"0d2c2d0b-6be9-48b5-990e-b1a9f86a45a8","savedPayload":{"position":{"x":27684.32526437205,"y":24740.310483598576},"targetPosition":{"x":28046.05210912304,"y":24888.164300894667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"a494886b-7045-4d81-be56-14ebaecc329c","savedPayload":{"position":{"x":27894.828183687066,"y":24527.82420074786},"targetPosition":{"x":28046.05210912304,"y":24888.164300894667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ec2bce1d-0e80-4158-bc17-ff7a0c290593","savedPayload":{"position":{"x":28046.05210912304,"y":24888.164300894667},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"7f645045-3a7d-4086-84ae-abbf53f7f22e","savedPayload":{"position":{"x":27726.97790687983,"y":24842.991108486964},"targetPosition":{"x":28114.102851803105,"y":24759.94758876152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"58409d16-1157-486d-8ef2-68cd23246714","savedPayload":{"position":{"x":27781.076404210766,"y":24544.85659404864},"targetPosition":{"x":28114.102851803105,"y":24759.94758876152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"40a8de4e-7754-4614-ae93-9bd30cb4b918","savedPayload":{"position":{"x":28030.616730687394,"y":24371.980816388317},"targetPosition":{"x":28114.102851803105,"y":24759.94758876152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"7c5da6d9-1986-4f7b-aecc-7268bf83bb66","savedPayload":{"position":{"x":28112.740608535045,"y":24760.2819027659},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"f5214e63-7a64-40d0-8c15-db40a6cafa6f","savedPayload":{"position":{"x":27813.580513844245,"y":24719.073436537336},"targetPosition":{"x":28203.189681090207,"y":24646.771745369377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"65fac651-eb4d-419f-b35d-d813f3baef3f","savedPayload":{"position":{"x":27845.11315985001,"y":24476.466089776026},"targetPosition":{"x":28203.189681090207,"y":24646.771745369377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"e9a5a1b7-4755-4262-b762-4753e75cfe90","savedPayload":{"position":{"x":28013.618707739006,"y":24298.301132366396},"targetPosition":{"x":28203.189681090207,"y":24646.771745369377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"d13bdc2c-7cd0-4635-9557-1d112f122504","savedPayload":{"position":{"x":28267.07234028221,"y":24155.90954649531},"targetPosition":{"x":28241.824201120482,"y":24350.14180052115},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1509fcc5-09bf-4ce5-a508-bb80acac4a49","savedPayload":{"position":{"x":28241.824201120482,"y":24350.14180052115},"targetPosition":{"x":28203.189681090207,"y":24646.771745369377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"87b2e55b-69dc-433a-af96-2619bd7ec970","savedPayload":{"position":{"x":28201.91368362368,"y":24646.716426175866},"targetPosition":{"x":28768.698368545083,"y":25183.635576182005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"008e16b8-9487-4db3-81e1-d11c19a7f59e","savedPayload":{"position":{"x":29988.347492965822,"y":23862.624306032707},"targetPosition":{"x":30604.99067687458,"y":24137.171540108873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Limit Order","name":"Limit Buy Order #2","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"d516c43a-d83f-4062-a162-3b054a188996","savedPayload":{"position":{"x":28478.366828721635,"y":25492.501851998604},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"706d8275-0d37-4b82-b297-46240caf7037","savedPayload":{"position":{"x":28339.425973759688,"y":25453.062073025456},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"5617dbbc-8ad0-4b30-a360-d22fe67fb185","savedPayload":{"position":{"x":28210.422556406946,"y":25388.802782291637},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"17edfdf5-0772-483a-8140-2447bad2a472","savedPayload":{"position":{"x":28095.493981489737,"y":25301.9565484877},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"f09d53f0-b4fc-4495-a331-c9c0b3b5dbd6","savedPayload":{"position":{"x":27998.469451275523,"y":25195.419957233335},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"52d30ed5-1c58-47be-a12c-7d95a6dde07a","savedPayload":{"position":{"x":27922.57915167057,"y":25072.86376617638},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"c847c219-47bb-44da-bbb6-ee2ba07e253d","savedPayload":{"position":{"x":27870.480019262177,"y":24938.512067450203},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"d7f72ff1-0b5f-4fe3-925c-a1e5f0adb39a","savedPayload":{"position":{"x":27843.947239205736,"y":24796.916106096378},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"659e5c4e-3d5e-42a6-8c88-e5defe7118ee","savedPayload":{"position":{"x":27843.862127410608,"y":24653.162890802516},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"7917f816-7f0f-468b-a5e3-3a5bcf499e04","savedPayload":{"position":{"x":27870.294191372745,"y":24511.57954644258},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"4e0c3898-8897-4a60-97a9-06373c32f158","savedPayload":{"position":{"x":27922.29704356872,"y":24377.244938430074},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"8d17bb58-f671-4c13-8de1-3be5093e98a2","savedPayload":{"position":{"x":27993.035265644212,"y":24250.709674645197},"targetPosition":{"x":28305.295896094754,"y":24486.758011133206},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"bbce9d28-eac9-4e9c-aabc-13b7c27fdee2","savedPayload":{"position":{"x":28305.295896094754,"y":24486.758011133206},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"a319ae7f-4df1-47f5-9b09-f130ca02d11b","savedPayload":{"position":{"x":28095.18037914604,"y":24148.28096668769},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"7dbb1024-5bdf-4ea5-9124-c413f2027233","savedPayload":{"position":{"x":27824.02218111088,"y":23970.702663871074},"targetPosition":{"x":28209.92745759503,"y":24061.59290525792},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"9ce1108e-4b0a-4ce1-a307-9ecc6a46a9ba","savedPayload":{"position":{"x":28001.032713705106,"y":23724.312724148505},"targetPosition":{"x":28209.92745759503,"y":24061.59290525792},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"cb2ee517-1712-46d8-b167-586d816f541f","savedPayload":{"position":{"x":28298.718047094288,"y":23679.58953787092},"targetPosition":{"x":28209.92745759503,"y":24061.59290525792},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c1a0e27c-1166-431d-ba8a-2f511fb525c4","savedPayload":{"position":{"x":28210.19168602842,"y":24061.448119701567},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"f82d03c0-698d-4811-81a9-7d91c5eb2b1d","savedPayload":{"position":{"x":28331.601527725572,"y":23750.51997901266},"targetPosition":{"x":28626.56425489825,"y":24014.80141757878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"7fb770cd-de9f-4ed2-bf36-6e72190980e2","savedPayload":{"position":{"x":28604.82436718775,"y":23619.04059886643},"targetPosition":{"x":28626.56425489825,"y":24014.80141757878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"c47f2fc4-b14e-400b-abc7-93708c15654d","savedPayload":{"position":{"x":28890.879057522423,"y":23719.32112257143},"targetPosition":{"x":28626.56425489825,"y":24014.80141757878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f2870e23-9835-4532-bd91-b4fcc21dd948","savedPayload":{"position":{"x":28339.243402198783,"y":23997.25436303946},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"62fb7451-7bf5-496d-9353-d735820b30b2","savedPayload":{"position":{"x":28119.78827655305,"y":23787.70161617574},"targetPosition":{"x":28477.4536877684,"y":23957.964330561157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"2262cd32-bff0-4385-bbc9-521774bf944e","savedPayload":{"position":{"x":28288.176577745442,"y":23609.868647786032},"targetPosition":{"x":28477.4536877684,"y":23957.964330561157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"7e524691-0da3-4c5e-bc7a-319d871dae43","savedPayload":{"position":{"x":28528.70112885696,"y":23564.578322363246},"targetPosition":{"x":28477.4536877684,"y":23957.964330561157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"25d54fc5-92c9-43e4-8cbf-71cb76a1334d","savedPayload":{"position":{"x":28817.52925066909,"y":23598.720462071044},"targetPosition":{"x":28683.516337961657,"y":23740.27932743088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f7d89aff-04c2-47cb-82f2-eaf9310be4ed","savedPayload":{"position":{"x":28683.516337961657,"y":23740.27932743088},"targetPosition":{"x":28477.4536877684,"y":23957.964330561157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e9e813ef-9592-4176-bc78-b55ba7b8c551","savedPayload":{"position":{"x":28478.22070578852,"y":23957.824893669273},"targetPosition":{"x":28620.833047977332,"y":24725.21808086704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"68fee060-9d11-4222-b788-46cc11a9305d","savedPayload":{"position":{"x":30267.49067687458,"y":23552.604392554378},"targetPosition":{"x":30604.99067687458,"y":24137.171540108873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Limit Order","name":"Limit Buy Order #3","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"19953c5d-b9dd-496e-ac1c-366d00fb0e35","savedPayload":{"position":{"x":28649.126640579456,"y":25628.87253783954},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"a1a87815-ca21-4253-98fc-6fe7bf39209b","savedPayload":{"position":{"x":28529.16253611319,"y":25548.4056568674},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"39d13327-892e-49b0-a3b9-1b81bcc7b8a2","savedPayload":{"position":{"x":28426.26957245704,"y":25447.43359942164},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"a664b78f-0261-463b-8122-4f49ca906ee6","savedPayload":{"position":{"x":28343.712134729183,"y":25329.31387193883},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"8d4e39cb-5cde-4cef-9504-a4e065d3ed12","savedPayload":{"position":{"x":28284.26675370246,"y":25198.056500898747},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"c7a0e139-7cb3-49bb-8aea-a1c5283c5f3d","savedPayload":{"position":{"x":28249.948415743747,"y":25058.125781497914},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"c937b8cc-6adf-49df-8322-3eb3eb0dfdc1","savedPayload":{"position":{"x":28241.920744196563,"y":24914.571946057204},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"5025336e-e85b-419d-9bd9-f5811e3fa9b2","savedPayload":{"position":{"x":28260.45172292821,"y":24771.70932233065},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"643aa93b-e58d-4928-a576-c2f1ec3c2745","savedPayload":{"position":{"x":28304.911335264493,"y":24634.682047069746},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"e5d2af2d-22c8-453b-a4cc-e4fb81225457","savedPayload":{"position":{"x":28373.77701065311,"y":24508.15258293161},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"6d137135-5b2d-4b29-a7c6-bc92ac579612","savedPayload":{"position":{"x":28464.685440435533,"y":24396.420500576147},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"111c6c6f-c6af-44e6-bdf6-ba6b8325c9b5","savedPayload":{"position":{"x":28571.51857708525,"y":24297.761538785264},"targetPosition":{"x":28795.471787661205,"y":24618.939119826562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"d479f8d6-64ad-46ec-8537-fe131d79a8a9","savedPayload":{"position":{"x":28795.471787661205,"y":24618.939119826562},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"d8e6194b-d355-442a-a6c1-72580597638f","savedPayload":{"position":{"x":28700.092584972805,"y":24232.01616593517},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"fb4e15d2-6acf-427c-b243-22c1ce1ec97c","savedPayload":{"position":{"x":29230.676030138668,"y":24657.546183273775},"targetPosition":{"x":29523.35254681346,"y":24835.428590408334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"dbcd4995-b198-4340-ace5-1fee2d4836c7","savedPayload":{"position":{"x":29442.057748562875,"y":24502.453203561363},"targetPosition":{"x":29523.35254681346,"y":24835.428590408334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"04f910f4-2a94-4ed7-a800-f7b2d218e88f","savedPayload":{"position":{"x":29701.172188818593,"y":24542.029477443204},"targetPosition":{"x":29523.35254681346,"y":24835.428590408334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"553ae1bd-21d8-4d72-8283-2aa1f909b5cd","savedPayload":{"position":{"x":28836.490056954233,"y":24185.052728729246},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"74010dbf-1e63-4989-b8f2-43d7a9a1508b","savedPayload":{"position":{"x":28694.498007685816,"y":24209.406529076092},"targetPosition":{"x":28989.460734858494,"y":24473.68796764221},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"746b590a-a40c-4671-a0b4-02fc443f36df","savedPayload":{"position":{"x":28967.720847147993,"y":24077.927148929863},"targetPosition":{"x":28989.460734858494,"y":24473.68796764221},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"7a964074-cc1a-4464-83c4-5a9c37bd174e","savedPayload":{"position":{"x":29253.775537482667,"y":24178.20767263486},"targetPosition":{"x":28989.460734858494,"y":24473.68796764221},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8deb2930-0f19-452a-8c4a-44d87159e3c8","savedPayload":{"position":{"x":28978.974336144594,"y":24163.89235035774},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"c7fbd2e6-2de9-4b89-a086-4c321fbfd725","savedPayload":{"position":{"x":28845.583020497375,"y":24206.776599698256},"targetPosition":{"x":29133.11963139264,"y":24479.191653484842},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"5b0c5718-5ab8-462c-b7a4-f81f4bc02165","savedPayload":{"position":{"x":29060.542385565215,"y":24089.674803439306},"targetPosition":{"x":29133.11963139264,"y":24479.191653484842},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"737d2666-fc0b-4d12-81fd-1ea60b82ae3f","savedPayload":{"position":{"x":29303.435206318027,"y":24120.665879967677},"targetPosition":{"x":29133.11963139264,"y":24479.191653484842},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"225697e6-ae0f-47e0-9ba1-4803266d331d","savedPayload":{"position":{"x":29567.616561577666,"y":24242.393352371557},"targetPosition":{"x":29395.501896960148,"y":24336.292794410358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"49b649cd-2b6c-488c-9d2e-b7093798f8d4","savedPayload":{"position":{"x":29395.501896960148,"y":24336.292794410358},"targetPosition":{"x":29133.11963139264,"y":24479.191653484842},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e7cd13f9-2f0b-4d6b-8870-a75c0b3f1992","savedPayload":{"position":{"x":29123.059730413464,"y":24169.27451060266},"targetPosition":{"x":29021.832818961848,"y":24943.32221199009},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"accb5840-90b8-4f57-869f-71d9cbdee6ee","savedPayload":{"position":{"x":30675.547389580246,"y":23465.86926073529},"targetPosition":{"x":30604.99067687458,"y":24137.171540108873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Limit Order","name":"Limit Buy Order #4","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"98451bf9-2b66-4d19-8fbd-f792d88fb324","savedPayload":{"position":{"x":28298.325435849634,"y":24251.33773407284},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"17d393b9-5199-4676-918d-74c235161186","savedPayload":{"position":{"x":28270.65621808912,"y":24109.514234274124},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"14d7acd3-ff50-4ede-9afa-a9bd25100060","savedPayload":{"position":{"x":28269.73790874154,"y":23965.802574101417},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"88413b58-802d-438e-927d-2f73ce62f26a","savedPayload":{"position":{"x":28293.20122759617,"y":23845.757941638512},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"4bce6443-38b7-4fc2-80f2-18bebc2ca65c","savedPayload":{"position":{"x":28341.02834014407,"y":23661.61536289025},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"ccc3cb23-544f-4d93-b0cd-7f31dc6374b6","savedPayload":{"position":{"x":28420.138281002462,"y":23564.839670147423},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"0669d33c-a13b-4573-9373-e36505a14627","savedPayload":{"position":{"x":28516.191923011982,"y":23458.31166701627},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"bbb2315b-a527-4199-9dc6-30ba8454ae0c","savedPayload":{"position":{"x":28630.332280822746,"y":23370.155084764887},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"d8ca88ce-db47-4b7f-88b3-b6df03ec32ed","savedPayload":{"position":{"x":28758.68549022256,"y":23304.788433865622},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"b133f9b6-c2bb-415d-a48e-665e75695ec1","savedPayload":{"position":{"x":28896.86213975391,"y":23264.072296183378},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"35499c65-da01-47b2-b7e1-12a8e1c32d01","savedPayload":{"position":{"x":29040.20343419636,"y":23249.558936476467},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"ed741871-50af-4101-ab56-4744c8b88b1c","savedPayload":{"position":{"x":29185.18726160254,"y":23254.87583653581},"targetPosition":{"x":29116.735269937562,"y":23640.64793826448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"7f1b2469-a692-4acc-b259-aaaf71557551","savedPayload":{"position":{"x":29116.735269937562,"y":23640.64793826448},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"813fc2a2-ec07-4ff7-b77f-ba596f533c90","savedPayload":{"position":{"x":29322.442842495268,"y":23299.770749547468},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"8449f2d7-1306-40ef-946a-2579132dec2e","savedPayload":{"position":{"x":28878.779550178424,"y":24076.659633210344},"targetPosition":{"x":29171.456066853218,"y":24254.542040344902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"1d1b73f3-77f0-49b0-a13b-b5236d4b1b13","savedPayload":{"position":{"x":29090.16126860263,"y":23921.566653497932},"targetPosition":{"x":29171.456066853218,"y":24254.542040344902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"066530a0-f4d3-4786-b71d-0ba43e73d510","savedPayload":{"position":{"x":29349.27570885835,"y":23961.142927379773},"targetPosition":{"x":29171.456066853218,"y":24254.542040344902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6fe6a708-fd2a-4c8d-adf0-8db9d11afaea","savedPayload":{"position":{"x":29452.021841975882,"y":23362.866162149963},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"f4963f9f-ac80-4e63-af92-dedb30938cfc","savedPayload":{"position":{"x":28342.601527725572,"y":23628.51997901266},"targetPosition":{"x":28637.56425489825,"y":23892.80141757878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"4aeb6c33-f400-4066-a5d9-d8dd06b9b5a1","savedPayload":{"position":{"x":28615.82436718775,"y":23497.04059886643},"targetPosition":{"x":28637.56425489825,"y":23892.80141757878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"e7ab1462-db02-4a8b-9a42-64aeda463217","savedPayload":{"position":{"x":28901.879057522423,"y":23597.32112257143},"targetPosition":{"x":28637.56425489825,"y":23892.80141757878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"790babc4-3b12-48c9-b54e-685e8a68ce93","savedPayload":{"position":{"x":29567.821989890996,"y":23448.739814235032},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"5dd514a8-cc41-42a5-9f9b-0e66182d2ea1","savedPayload":{"position":{"x":28493.68654053713,"y":23625.890049634825},"targetPosition":{"x":28781.223151432398,"y":23898.30510342141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"8dec1cc6-15ca-4b47-950a-bf8ce1621597","savedPayload":{"position":{"x":28708.64590560497,"y":23508.788253375875},"targetPosition":{"x":28781.223151432398,"y":23898.30510342141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"aeb7a9fc-db49-4260-bfa7-50489799e684","savedPayload":{"position":{"x":28951.538726357783,"y":23539.779329904246},"targetPosition":{"x":28781.223151432398,"y":23898.30510342141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"0b3e6c5e-d7ce-4524-afbc-34e680e04fc1","savedPayload":{"position":{"x":29215.720081617423,"y":23661.506802308126},"targetPosition":{"x":29043.605416999904,"y":23755.406244346927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"80e7267f-7958-498a-a54a-bdb29d0e3e35","savedPayload":{"position":{"x":29043.605416999904,"y":23755.406244346927},"targetPosition":{"x":28781.223151432398,"y":23898.30510342141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a6e13625-1b79-46a4-95cd-336b5797d8c2","savedPayload":{"position":{"x":29666.03712375685,"y":23554.697519897894},"targetPosition":{"x":29047.106187752783,"y":24030.365420970094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"3928e158-cbb9-40b6-910d-a2d20603bc64","savedPayload":{"position":{"x":31056.653836166806,"y":23635.548782911632},"targetPosition":{"x":30604.99067687458,"y":24137.171540108873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f8247166-0cc2-4b14-ba38-37795aa65d87","savedPayload":{"position":{"x":30604.99067687458,"y":24137.171540108873},"targetPosition":{"x":30698.55093774257,"y":24577.337960439087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"limitSellOrders":{"type":"Limit Sell Orders","name":"New Limit Sell Orders","limitOrders":[{"type":"Limit Order","name":"Limit Sell Order #1","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"b93b7202-379b-42b8-8bf4-30c8ee6eb2b0","savedPayload":{"position":{"x":28965.516059424273,"y":25296.682916251302},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"61e8fafd-e4c8-4002-a4c5-3f61436788a8","savedPayload":{"position":{"x":28821.501456740847,"y":25290.765296029756},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"e6f893c2-0b55-4383-bac8-9cf1d4c84d1c","savedPayload":{"position":{"x":28681.034700937125,"y":25258.441518679723},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"57f75a48-8bd4-4cca-8a61-b2447a2e0ecb","savedPayload":{"position":{"x":28548.939342672296,"y":25200.86333024034},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"601a8f27-12cd-4770-ad2d-34ed37ea253d","savedPayload":{"position":{"x":28429.686101859024,"y":25120.000096122105},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"6a7faff9-39e1-479e-8875-8da5c8555685","savedPayload":{"position":{"x":28327.32918462412,"y":25018.60657936415},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"163600f3-bf47-4a17-a399-578cef593d68","savedPayload":{"position":{"x":28245.350436305478,"y":24900.13462937464},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"0b05fbb2-9102-4921-ace7-13ae89e086a0","savedPayload":{"position":{"x":28186.53746480879,"y":24768.617859621554},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"22927833-41b3-4478-8a3b-c0d6d14183ca","savedPayload":{"position":{"x":28152.89390702671,"y":24628.531342560833},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"2c4f393e-d02b-4b97-a2d5-35c81590f77b","savedPayload":{"position":{"x":28145.562009069294,"y":24484.90164308589},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"3a7feba8-a01f-4459-9c95-bfec028b0c91","savedPayload":{"position":{"x":28164.816315982647,"y":24342.105059954996},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"31d8d314-f897-4c86-b303-ae6365c71657","savedPayload":{"position":{"x":28196.243073518377,"y":24199.38874606129},"targetPosition":{"x":28554.810045706272,"y":24355.569400554214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"525dd597-3f3a-41c3-bf05-882d631a400d","savedPayload":{"position":{"x":28554.810045706272,"y":24355.569400554214},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"020c2bc8-15f0-4074-9f01-2ef3848665d7","savedPayload":{"position":{"x":28279.589959052315,"y":24079.022038542345},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"50c0c606-517c-45dd-98b5-37408700fdb4","savedPayload":{"position":{"x":27980.586580810246,"y":23969.176452891064},"targetPosition":{"x":28371.201608923144,"y":23967.65716424303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"shortcutKey":"w"}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"9ab92cbc-aa48-44d5-b006-91203998b94b","savedPayload":{"position":{"x":28093.86264251916,"y":23692.594711035086},"targetPosition":{"x":28371.201608923144,"y":23967.65716424303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"65109b61-420e-44f2-9fe1-e1594fb26ccc","savedPayload":{"position":{"x":28369.617547750844,"y":23576.780968000257},"targetPosition":{"x":28371.201608923144,"y":23967.65716424303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2688db6f-483d-440e-8bc1-46774884e344","savedPayload":{"position":{"x":28371.201608923144,"y":23967.65716424303},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"2b6bd448-1833-4d7e-b0ce-6215ae843dfd","savedPayload":{"position":{"x":28919.224238542978,"y":22972.406966832445},"targetPosition":{"x":29214.186965715657,"y":23236.688405398563},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"53b2fd1b-e305-4de2-87ad-5c7fede63db8","savedPayload":{"position":{"x":29192.447078005156,"y":22840.927586686215},"targetPosition":{"x":29214.186965715657,"y":23236.688405398563},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"a6e7af83-68d1-41f1-9d1f-b1b8af71c45f","savedPayload":{"position":{"x":29478.50176833983,"y":22941.208110391213},"targetPosition":{"x":29214.186965715657,"y":23236.688405398563},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0792e616-00d7-4c93-8e0e-eadaf04faf76","savedPayload":{"position":{"x":28481.764434151923,"y":23874.99533862558},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"94544402-f217-4671-8a78-a7f0ac1c7826","savedPayload":{"position":{"x":29070.309251354538,"y":22969.77703745461},"targetPosition":{"x":29357.845862249804,"y":23242.192091241195},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"02898028-e79c-4650-9de9-83f533faacb4","savedPayload":{"position":{"x":29285.268616422378,"y":22852.67524119566},"targetPosition":{"x":29357.845862249804,"y":23242.192091241195},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"78527442-4d45-4317-87d6-6be7bd952391","savedPayload":{"position":{"x":29528.16143717519,"y":22883.66631772403},"targetPosition":{"x":29357.845862249804,"y":23242.192091241195},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"aa79b285-9cad-44f5-b1a7-bc66e1cc01ca","savedPayload":{"position":{"x":29792.34279243483,"y":23005.39379012791},"targetPosition":{"x":29620.22812781731,"y":23099.29323216671},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a4cb4ecd-a8bc-4762-b7c5-cae00e806743","savedPayload":{"position":{"x":29620.22812781731,"y":23099.29323216671},"targetPosition":{"x":29357.845862249804,"y":23242.192091241195},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"42c09a9e-3aec-44b8-8aa3-9211d2707503","savedPayload":{"position":{"x":28607.638950233544,"y":23804.16740070239},"targetPosition":{"x":28925.48244281427,"y":24517.066970622833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"929c1c8c-1964-4495-991c-0a516f1e9ba0","savedPayload":{"position":{"x":30416.943088533397,"y":23676.61480406662},"targetPosition":{"x":30881.58242712668,"y":24166.242504499915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"e"}}},{"type":"Limit Order","name":"Limit Sell Order #2","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"e15dae16-7526-4267-9273-99a25b3a00f6","savedPayload":{"position":{"x":28486.560361175074,"y":24413.423133925833},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"b2f25feb-fed7-4511-b31e-fc1e14cb000c","savedPayload":{"position":{"x":28397.347782007746,"y":24299.77372272199},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"c50f2c48-b43c-464a-863c-c3ea0a866b4b","savedPayload":{"position":{"x":28330.885276690726,"y":24171.969362746157},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"bf7e3856-d410-4c9d-9315-08b3c2f830a2","savedPayload":{"position":{"x":28297.654362550904,"y":24039.684540991493},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"ce6e002a-ec8f-4856-883a-66ca4e7adbbc","savedPayload":{"position":{"x":28259.185023186677,"y":23931.3022369366},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"7b9b7ca1-14cf-4000-960b-cb74e974d09a","savedPayload":{"position":{"x":28274.42415919129,"y":23725.739909756336},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"2bb7de1a-a85f-4950-82f7-5d6e10e86ae3","savedPayload":{"position":{"x":28319.782227189415,"y":23607.202242894822},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"7ff72f98-48b5-4525-92d9-57b64cce2277","savedPayload":{"position":{"x":28381.749384536884,"y":23477.30150132621},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"48dcaeca-8ad9-4f3d-ab39-7124531aaaab","savedPayload":{"position":{"x":28466.50829398753,"y":23360.81867383088},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"046378c8-2a44-4501-ad49-ab79289c3838","savedPayload":{"position":{"x":28571.158968767188,"y":23261.81077273827},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"406574dc-e33c-4ca0-bac7-0360c0597f6b","savedPayload":{"position":{"x":28692.297891197344,"y":23183.91959050573},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"aa95b773-3784-4ad4-a0f3-5d6dc6bf12f0","savedPayload":{"position":{"x":28824.77638985123,"y":23123.26727278714},"targetPosition":{"x":28938.305771501247,"y":23496.98105675312},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"65419c94-25bf-43f5-9a95-a3c5a22ed1f8","savedPayload":{"position":{"x":28938.305771501247,"y":23496.98105675312},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"61bd4976-9f93-4841-bd69-054e54be0b37","savedPayload":{"position":{"x":28967.060875414645,"y":23100.276502667013},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"e171ab29-a9f0-4787-94cd-f63a8fd08f04","savedPayload":{"position":{"x":29493.779550178424,"y":23743.659633210344},"targetPosition":{"x":29786.456066853218,"y":23921.542040344902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"a971e83d-f240-4750-b4b8-db6fb4884fc0","savedPayload":{"position":{"x":29705.16126860263,"y":23588.566653497932},"targetPosition":{"x":29786.456066853218,"y":23921.542040344902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"962130d5-da33-4773-a0d3-8f837f9f0239","savedPayload":{"position":{"x":29964.27570885835,"y":23628.142927379773},"targetPosition":{"x":29786.456066853218,"y":23921.542040344902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"927e1f8b-1435-4838-8c19-89f5e08ca928","savedPayload":{"position":{"x":29110.92783473448,"y":23097.777538869013},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"851f78ee-6610-4f5f-a02b-8be28fab03e8","savedPayload":{"position":{"x":28957.601527725572,"y":23295.51997901266},"targetPosition":{"x":29252.56425489825,"y":23559.80141757878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"eaaf2c8e-717c-4329-86d8-44e514b2ad8e","savedPayload":{"position":{"x":29230.82436718775,"y":23164.04059886643},"targetPosition":{"x":29252.56425489825,"y":23559.80141757878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"13599a3b-cba1-4992-990e-ea03ca474985","savedPayload":{"position":{"x":29516.879057522423,"y":23264.32112257143},"targetPosition":{"x":29252.56425489825,"y":23559.80141757878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"7305508f-4939-431c-be88-f4fd0896abd7","savedPayload":{"position":{"x":29253.209307595225,"y":23121.64898081603},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"7e0ef872-6dbb-4383-bacd-3618f0c5421a","savedPayload":{"position":{"x":29108.68654053713,"y":23292.890049634825},"targetPosition":{"x":29396.223151432398,"y":23565.30510342141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"1270d136-9730-4f09-878a-30a089bc8135","savedPayload":{"position":{"x":29323.64590560497,"y":23175.788253375875},"targetPosition":{"x":29396.223151432398,"y":23565.30510342141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"f3e85b22-eee3-477d-998f-f564b7f32dd5","savedPayload":{"position":{"x":29566.538726357783,"y":23206.779329904246},"targetPosition":{"x":29396.223151432398,"y":23565.30510342141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"bfa4439c-9331-4a2f-8107-05f435d92685","savedPayload":{"position":{"x":29830.720081617423,"y":23328.506802308126},"targetPosition":{"x":29658.605416999904,"y":23422.406244346927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bc017de9-4fce-4d25-84a9-5cfdad34217e","savedPayload":{"position":{"x":29658.605416999904,"y":23422.406244346927},"targetPosition":{"x":29396.223151432398,"y":23565.30510342141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0a4e2dc8-458c-4bf6-be14-5bf2e5d2b765","savedPayload":{"position":{"x":29388.67024916064,"y":23171.42160396768},"targetPosition":{"x":29053.35354617641,"y":23876.48698555448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e133f5d4-034b-4333-9ea4-a6b52183476e","savedPayload":{"position":{"x":30639.6840611836,"y":23536.075716614305},"targetPosition":{"x":30881.58242712668,"y":24166.242504499915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Limit Order","name":"Limit Sell Order #3","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"21dfc9c5-eb2f-4c78-80e2-8259f7affefa","savedPayload":{"position":{"x":28673.430835733867,"y":23701.83857179216},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"435255ea-97df-49b6-a8e0-8317bada8362","savedPayload":{"position":{"x":28667.704050871438,"y":23527.71706472191},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"ecdf173f-f860-4072-8439-0cfc38cbe8a7","savedPayload":{"position":{"x":28685.123413311485,"y":23407.241156480664},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"f0c266ca-9ffb-4ca0-a1fe-33ab9427c60f","savedPayload":{"position":{"x":28735.82798678776,"y":23281.10190216025},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"5cbe73d5-f73c-4638-8577-34b8618cc383","savedPayload":{"position":{"x":28769.42069472413,"y":23170.85436422396},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"c3e11b4b-c754-4d2b-b764-026ef7d58f3e","savedPayload":{"position":{"x":28902.123108491633,"y":23013.179132522142},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"62606235-38b2-4632-b325-6b7d342cb78e","savedPayload":{"position":{"x":29008.217224356515,"y":22944.264933428185},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"eec3d4f3-541c-406f-ab2a-f915553be12d","savedPayload":{"position":{"x":29134.69102667497,"y":22875.610433858266},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"52458d96-4992-4a22-826e-a58defe970e8","savedPayload":{"position":{"x":29271.717524634587,"y":22831.18838759142},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"3e3e4e4d-7951-4e3f-aad9-c383b7aa4e02","savedPayload":{"position":{"x":29414.564322680584,"y":22812.57644024739},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"173cac06-8ac9-44a1-97c5-c03f930f3e57","savedPayload":{"position":{"x":29557.862784258923,"y":22820.599719032874},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"19ca42cb-2a54-4731-b277-8af7fa427a7f","savedPayload":{"position":{"x":29701.22287027514,"y":22848.945807480522},"targetPosition":{"x":29573.027474538918,"y":23219.29451844045},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"398d330c-c2d6-4568-b1bb-3f707f933712","savedPayload":{"position":{"x":29573.027474538918,"y":23219.29451844045},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"0921a747-2bc1-400c-a2d3-c9f2de534a9a","savedPayload":{"position":{"x":29829.636991592284,"y":22914.742920953206},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"4587d77c-0f66-4188-b7a1-804cbb7f973f","savedPayload":{"position":{"x":29852.394166578877,"y":24299.94601667048},"targetPosition":{"x":30145.07068325367,"y":24477.82842380504},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"c8fbc574-9bb0-436e-bf51-f3e3b3dff06e","savedPayload":{"position":{"x":30063.775885003084,"y":24144.85303695807},"targetPosition":{"x":30145.07068325367,"y":24477.82842380504},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"fd0fc56c-22e6-4d90-8005-553adb3798da","savedPayload":{"position":{"x":30322.890325258802,"y":24184.42931083991},"targetPosition":{"x":30145.07068325367,"y":24477.82842380504},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"341467d7-22c6-45bb-b7fb-9d45e39c17f9","savedPayload":{"position":{"x":29947.745474472675,"y":22997.5722427516},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"8e86045f-2ec5-40b6-bd28-6cf203b7d72c","savedPayload":{"position":{"x":29316.216144126025,"y":23851.8063624728},"targetPosition":{"x":29611.178871298704,"y":24116.087801038917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"38b2dc9d-492d-4183-bcc2-1cc2edb12408","savedPayload":{"position":{"x":29589.438983588203,"y":23720.32698232657},"targetPosition":{"x":29611.178871298704,"y":24116.087801038917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"f89e98a8-a2d8-4440-bff5-e321f4fa4782","savedPayload":{"position":{"x":29875.493673922876,"y":23820.607506031567},"targetPosition":{"x":29611.178871298704,"y":24116.087801038917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f2412f2a-9af9-49aa-8cc3-d1f5b3393826","savedPayload":{"position":{"x":30048.696727346498,"y":23100.35675633331},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"63d2ceed-a735-4a6e-a480-7ea813d0c8e5","savedPayload":{"position":{"x":29467.301156937585,"y":23849.176433094963},"targetPosition":{"x":29754.83776783285,"y":24121.59148688155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"13cadd4e-2fe3-41ed-912e-3608eb4f35f3","savedPayload":{"position":{"x":29682.260522005425,"y":23732.074636836012},"targetPosition":{"x":29754.83776783285,"y":24121.59148688155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"22ad5823-ef3e-4d85-bd0c-22e6d3c87233","savedPayload":{"position":{"x":29925.153342758236,"y":23763.065713364384},"targetPosition":{"x":29754.83776783285,"y":24121.59148688155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"697772bb-a90c-455d-a0eb-ffb21046f211","savedPayload":{"position":{"x":30189.334698017876,"y":23884.793185768263},"targetPosition":{"x":30017.220033400357,"y":23978.692627807064},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ed24a5b4-b33d-4068-b069-35529ac9c027","savedPayload":{"position":{"x":30017.220033400357,"y":23978.692627807064},"targetPosition":{"x":29754.83776783285,"y":24121.59148688155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c8b9919c-ca7b-4fef-877f-aa90d7fe867f","savedPayload":{"position":{"x":30129.119015478842,"y":23220.262054655443},"targetPosition":{"x":29443.370962163845,"y":23593.565936805073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a5d970bf-0f85-4546-9c4a-a0a113e7ea04","savedPayload":{"position":{"x":30899.251867234492,"y":23491.473810141415},"targetPosition":{"x":30881.58242712668,"y":24166.242504499915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Limit Order","name":"Limit Sell Order #4","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"43478f0c-6a3a-4939-a7db-236129532cf9","savedPayload":{"position":{"x":29239.607867515613,"y":23228.746850758107},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"b11738b3-7b4d-49b8-9b30-c49fcacbb1da","savedPayload":{"position":{"x":29336.84733609588,"y":23084.542292279733},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"ee5f047c-40d8-4fc3-985c-2f94a8e473c0","savedPayload":{"position":{"x":29422.3232749053,"y":22997.497563519835},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"b7a5de66-c4be-4540-8d4b-b5c8569f5382","savedPayload":{"position":{"x":29538.596096629113,"y":22924.291001452268},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"86cc532f-273c-4cef-9fe4-1095739c3c59","savedPayload":{"position":{"x":29627.737000987287,"y":22857.75242872639},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"019fbb21-bf78-4cc0-87b0-15910b42b1ed","savedPayload":{"position":{"x":29829.438383386103,"y":22806.347225678364},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"63a76c09-04f5-4df0-a1c5-28ddbc8be5b6","savedPayload":{"position":{"x":29955.47533191315,"y":22813.03107173114},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"4677088b-93a1-4a06-ace6-2afff21d1c7e","savedPayload":{"position":{"x":30098.105745186847,"y":22831.915551239534},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"543746cc-7674-4cef-a773-499631d2cd1d","savedPayload":{"position":{"x":30235.02316282486,"y":22876.630619613952},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"8018fcb0-4077-448f-8d08-53c63251057d","savedPayload":{"position":{"x":30361.450237786783,"y":22945.69853750278},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"16fc199e-6a3d-4d52-842b-b8b89dc2134b","savedPayload":{"position":{"x":30473.061846605568,"y":23036.810070159616},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"6cc6b150-b02b-4f94-b91f-798be8cc2e28","savedPayload":{"position":{"x":30571.57881143119,"y":23143.640358983834},"targetPosition":{"x":30251.387203522263,"y":23367.348257310325},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"e86bb45a-c318-471c-b8e7-6a27b1dfa7fa","savedPayload":{"position":{"x":30251.387203522263,"y":23367.348257310325},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"37896346-c3dd-4c1e-9890-0de8095607dc","savedPayload":{"position":{"x":30637.228006852027,"y":23272.15897400035},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"12293cf5-ede5-4d18-bdab-de9c3976c7c1","savedPayload":{"position":{"x":29541.779550178424,"y":23739.659633210344},"targetPosition":{"x":29834.456066853218,"y":23917.542040344902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"84d7df9e-8a6e-4fb4-abce-3b5450a3037e","savedPayload":{"position":{"x":29753.16126860263,"y":23584.566653497932},"targetPosition":{"x":29834.456066853218,"y":23917.542040344902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"a837b250-aade-4479-8f95-49298fd037c9","savedPayload":{"position":{"x":30012.27570885835,"y":23624.142927379773},"targetPosition":{"x":29834.456066853218,"y":23917.542040344902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"4aa992de-9815-4ca7-b9b7-cc348fb0a706","savedPayload":{"position":{"x":30684.187664007903,"y":23408.418281483904},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"7c14d3ab-95e0-4fd0-8cb2-15259c9d72c7","savedPayload":{"position":{"x":29005.601527725572,"y":23291.51997901266},"targetPosition":{"x":29300.56425489825,"y":23555.80141757878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"02819dda-f0e1-49bf-a9ed-b07c4b8a4767","savedPayload":{"position":{"x":29278.82436718775,"y":23160.04059886643},"targetPosition":{"x":29300.56425489825,"y":23555.80141757878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"8daf0f36-1e8e-4f1a-bc44-e8a8e2492d45","savedPayload":{"position":{"x":29564.879057522423,"y":23260.32112257143},"targetPosition":{"x":29300.56425489825,"y":23555.80141757878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ef56bd7f-b36d-47ec-bc9f-861728d84989","savedPayload":{"position":{"x":30705.31694521377,"y":23551.0598380903},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"cf1e2969-52f2-47a6-af1d-d2f8cdc05d28","savedPayload":{"position":{"x":29156.68654053713,"y":23288.890049634825},"targetPosition":{"x":29444.223151432398,"y":23561.30510342141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"7b0037a1-612c-4cad-8f1c-9f96b2450d96","savedPayload":{"position":{"x":29371.64590560497,"y":23171.788253375875},"targetPosition":{"x":29444.223151432398,"y":23561.30510342141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"f8c739bf-e5d3-45d9-b965-b91a8eeb0cf9","savedPayload":{"position":{"x":29614.538726357783,"y":23202.779329904246},"targetPosition":{"x":29444.223151432398,"y":23561.30510342141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"1753e430-35e6-40b7-935c-d020b28ebf90","savedPayload":{"position":{"x":29878.720081617423,"y":23324.506802308126},"targetPosition":{"x":29706.605416999904,"y":23418.406244346927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5977664e-04dc-4333-91dd-951bae431ac7","savedPayload":{"position":{"x":29706.605416999904,"y":23418.406244346927},"targetPosition":{"x":29444.223151432398,"y":23561.30510342141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8b70f49a-490a-4ef5-a310-9e9828a611ff","savedPayload":{"position":{"x":30699.84732715919,"y":23695.171075860664},"targetPosition":{"x":29925.947534329523,"y":23594.077660346786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7fb716f8-8bba-4c0d-8df3-69a7bc9ae317","savedPayload":{"position":{"x":31156.129661202845,"y":23549.599320591158},"targetPosition":{"x":30881.58242712668,"y":24166.242504499915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Limit Order","name":"Limit Sell Order #5","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"c21909ae-7bce-48a4-97c0-03001f36bc9a","savedPayload":{"position":{"x":29216.20464154276,"y":23892.116122045794},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"6628bc0e-a38e-42bc-ae67-447a6094e6e8","savedPayload":{"position":{"x":29313.44411012303,"y":23747.91156356742},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"af947606-2995-4abb-899d-bf1612455701","savedPayload":{"position":{"x":29398.920048932447,"y":23660.866834807523},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"11f5acb6-bca7-4df0-9c5a-28e500087b70","savedPayload":{"position":{"x":29515.19287065626,"y":23587.660272739955},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"01da2344-3681-4947-8e39-b632718a6a35","savedPayload":{"position":{"x":29604.333775014435,"y":23521.12170001408},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"732ad726-a4c8-4561-a4de-a59b25111848","savedPayload":{"position":{"x":29806.03515741325,"y":23469.71649696605},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"e83e876a-31fb-4a82-9a3b-afa626f1c103","savedPayload":{"position":{"x":29932.072105940297,"y":23476.400343018828},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"263be304-708d-4f68-a896-12214ac404ef","savedPayload":{"position":{"x":30074.702519213995,"y":23495.28482252722},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"4567768f-7801-4b8e-9506-02435026da34","savedPayload":{"position":{"x":30211.619936852007,"y":23539.99989090164},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"44d63c52-6d96-48dd-8492-44526e0ddea2","savedPayload":{"position":{"x":30338.04701181393,"y":23609.067808790467},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"77cc4f80-04c4-4907-b914-b46fc9531c8f","savedPayload":{"position":{"x":30449.658620632716,"y":23700.179341447303},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"eb351029-a49c-46ba-ba2c-302a353ff97b","savedPayload":{"position":{"x":30548.17558545834,"y":23807.00963027152},"targetPosition":{"x":30227.98397754941,"y":24030.717528598012},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"4f014f57-4f7b-460d-b740-6c3a6c1df9bf","savedPayload":{"position":{"x":30227.98397754941,"y":24030.717528598012},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"f29b9169-c7cc-4ab2-9013-92a353605f2d","savedPayload":{"position":{"x":30613.824780879175,"y":23935.52824528804},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"5d887d94-d554-4a08-b37c-3cb901e34a16","savedPayload":{"position":{"x":29518.376324205572,"y":24403.02890449803},"targetPosition":{"x":29811.052840880366,"y":24580.91131163259},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"de852846-2ada-4974-bf5f-39c1e126834b","savedPayload":{"position":{"x":29729.75804262978,"y":24247.93592478562},"targetPosition":{"x":29811.052840880366,"y":24580.91131163259},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"03450469-57f1-4efa-9f64-b751c125aa96","savedPayload":{"position":{"x":29988.872482885497,"y":24287.51219866746},"targetPosition":{"x":29811.052840880366,"y":24580.91131163259},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f872512b-a913-4f51-9e5a-23196a41bf42","savedPayload":{"position":{"x":30660.78443803505,"y":24071.78755277159},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"1229e93b-73e5-43f8-a857-4cb0829eb0d8","savedPayload":{"position":{"x":28982.19830175272,"y":23954.889250300348},"targetPosition":{"x":29277.1610289254,"y":24219.170688866467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"17ca5b23-50ae-4711-a2e0-48b5fb70e8a1","savedPayload":{"position":{"x":29255.421141214898,"y":23823.40987015412},"targetPosition":{"x":29277.1610289254,"y":24219.170688866467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"0c23efa1-82e9-44c7-b863-dc186153f2d4","savedPayload":{"position":{"x":29541.47583154957,"y":23923.690393859117},"targetPosition":{"x":29277.1610289254,"y":24219.170688866467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ad61a2f9-b057-485c-b18a-492e0ad86541","savedPayload":{"position":{"x":30681.913719240918,"y":24214.429109377987},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"eeaf0a5e-54fa-431a-974b-f62ae5097578","savedPayload":{"position":{"x":29133.28331456428,"y":23952.259320922512},"targetPosition":{"x":29420.819925459546,"y":24224.6743747091},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"578670d9-2033-417d-bdbb-8ae5a38511f1","savedPayload":{"position":{"x":29348.24267963212,"y":23835.157524663562},"targetPosition":{"x":29420.819925459546,"y":24224.6743747091},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"fe07db0c-aae2-4697-8caa-523ad1dc38a9","savedPayload":{"position":{"x":29591.13550038493,"y":23866.148601191933},"targetPosition":{"x":29420.819925459546,"y":24224.6743747091},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"d96a7df0-089c-4e53-a9bf-ec276a357d5b","savedPayload":{"position":{"x":29855.31685564457,"y":23987.876073595813},"targetPosition":{"x":29683.202191027052,"y":24081.775515634614},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9a3fb4f7-641a-4ff8-8a17-3461011e8e30","savedPayload":{"position":{"x":29683.202191027052,"y":24081.775515634614},"targetPosition":{"x":29420.819925459546,"y":24224.6743747091},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a270a831-de12-4466-a643-3d21f866a19b","savedPayload":{"position":{"x":30676.44410118634,"y":24358.54034714835},"targetPosition":{"x":29902.54430835667,"y":24257.446931634473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"3c44b04d-6b6b-4278-ba85-898b1f12cdfa","savedPayload":{"position":{"x":31371.210127559974,"y":23701.603165906632},"targetPosition":{"x":30881.58242712668,"y":24166.242504499915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Limit Order","name":"Limit Sell Order #6","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"9c727aaf-1a30-4470-9318-2f8825c33024","savedPayload":{"position":{"x":29340.694622441042,"y":24189.25157587289},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"00f6d4a8-702b-4c06-bcd5-c7a557564ce8","savedPayload":{"position":{"x":29437.93409102131,"y":24045.047017394518},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"fc4008d3-a179-4d99-b0bd-f27eb6a615fe","savedPayload":{"position":{"x":29523.410029830728,"y":23958.00228863462},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"e3568259-dff9-47c5-99da-f254adc3d046","savedPayload":{"position":{"x":29639.682851554542,"y":23884.795726567052},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"7c07afb3-62e6-4d0b-a854-290a842c0aaf","savedPayload":{"position":{"x":29728.823755912716,"y":23818.257153841176},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"41c315de-6ccb-4f5f-a929-33a59a1dbc37","savedPayload":{"position":{"x":29930.525138311532,"y":23766.85195079315},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"b8b1bdaa-e081-4e66-8a55-9a5df6520c74","savedPayload":{"position":{"x":30056.562086838578,"y":23773.535796845925},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"ab9e5c18-bc35-4490-a925-154c0ec58163","savedPayload":{"position":{"x":30199.192500112276,"y":23792.420276354318},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"64cf7d12-6dab-4925-9582-e0d25fe98019","savedPayload":{"position":{"x":30336.109917750287,"y":23837.135344728737},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"7d294033-4349-4bb2-936e-4d9d1e93e32b","savedPayload":{"position":{"x":30462.536992712212,"y":23906.203262617564},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"eedd3c1c-9624-4090-bdad-6969901a8dee","savedPayload":{"position":{"x":30574.148601530997,"y":23997.3147952744},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"403af118-41a8-426d-a929-f68f23caafc4","savedPayload":{"position":{"x":30672.66556635662,"y":24104.145084098618},"targetPosition":{"x":30352.473958447692,"y":24327.85298242511},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"2895d29d-2521-4073-81d8-a444696ed084","savedPayload":{"position":{"x":30352.473958447692,"y":24327.85298242511},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"6f5d0936-6867-4375-a034-655623224b20","savedPayload":{"position":{"x":30738.314761777456,"y":24232.663699115135},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"a28ea194-f3ec-47d0-96c1-c1c680810a44","savedPayload":{"position":{"x":29642.866305103853,"y":24700.164358325128},"targetPosition":{"x":29935.542821778647,"y":24878.046765459687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"20b0bac5-aef4-4ee3-ba01-32e3db00e5a2","savedPayload":{"position":{"x":29854.24802352806,"y":24545.071378612716},"targetPosition":{"x":29935.542821778647,"y":24878.046765459687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"72bf8991-9547-4202-9784-9bb9acba42b0","savedPayload":{"position":{"x":30113.36246378378,"y":24584.647652494557},"targetPosition":{"x":29935.542821778647,"y":24878.046765459687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8d7fdc43-8442-4477-9d6d-bdbd65c19434","savedPayload":{"position":{"x":30785.27441893333,"y":24368.92300659869},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"9d8bcda5-45b6-4b04-8247-e3a85d8dc3ae","savedPayload":{"position":{"x":29106.688282651,"y":24252.024704127445},"targetPosition":{"x":29401.65100982368,"y":24516.306142693564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"4dd613cf-99fe-45bc-be8e-bb24ae859dd7","savedPayload":{"position":{"x":29379.91112211318,"y":24120.545323981216},"targetPosition":{"x":29401.65100982368,"y":24516.306142693564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"d0f2e08f-5270-4c1d-b408-4c0ce2d91cc2","savedPayload":{"position":{"x":29665.965812447852,"y":24220.825847686214},"targetPosition":{"x":29401.65100982368,"y":24516.306142693564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c4fe4a32-5cb5-42c3-ae18-f5d888f9b8f0","savedPayload":{"position":{"x":30806.4037001392,"y":24511.564563205084},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"41425b71-3c1f-4952-ab7e-c073498f118a","savedPayload":{"position":{"x":29257.77329546256,"y":24249.39477474961},"targetPosition":{"x":29545.309906357827,"y":24521.809828536196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"553275c8-ceea-497c-95b7-1e23f6e51a58","savedPayload":{"position":{"x":29472.7326605304,"y":24132.29297849066},"targetPosition":{"x":29545.309906357827,"y":24521.809828536196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"35916359-97c9-4ab4-8ca7-a6c5f60d17da","savedPayload":{"position":{"x":29715.625481283212,"y":24163.28405501903},"targetPosition":{"x":29545.309906357827,"y":24521.809828536196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"a63dd474-1b20-4504-8790-f3a53ec5a725","savedPayload":{"position":{"x":29979.80683654285,"y":24285.01152742291},"targetPosition":{"x":29807.692171925333,"y":24378.91096946171},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"eca5c17c-3f6a-49b1-951e-53339faa9d14","savedPayload":{"position":{"x":29807.692171925333,"y":24378.91096946171},"targetPosition":{"x":29545.309906357827,"y":24521.809828536196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0c92fa7f-81c6-4abd-941b-1ef17c952c7e","savedPayload":{"position":{"x":30800.93408208462,"y":24655.67580097545},"targetPosition":{"x":30027.034289254952,"y":24554.58238546157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"90d28d1e-6fd2-4a83-a423-3f34bf455004","savedPayload":{"position":{"x":31511.74921501229,"y":23924.344138556837},"targetPosition":{"x":30881.58242712668,"y":24166.242504499915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Limit Order","name":"Limit Sell Order #7","serialNumber":{"type":"Serial Number","name":"New Serial Number","config":"{\n\"initialValue\": 0\n}","id":"fa31d1c9-8ee0-4ba8-87ae-a5771ad35b44","savedPayload":{"position":{"x":29497.64087076434,"y":23160.325953135383},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"identifier":{"type":"Identifier","name":"New Identifier","config":"{\n\"initialValue\": \"\"\n}","id":"c9a2076d-d9bf-48c8-abfb-f3edb9905fd1","savedPayload":{"position":{"x":29607.082558459937,"y":23051.327979830272},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exchangeId":{"type":"Exchange Id","name":"New Exchange Id","config":"{\n\"initialValue\": \"\"\n}","id":"d910eaf4-2bcb-4b9c-8f70-5d69ed385648","savedPayload":{"position":{"x":29732.868610012152,"y":22969.67984110099},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"begin":{"type":"Begin","name":"New Begin","config":"{\n\"initialValue\": 0\n}","id":"a027a7b2-1833-4557-9c72-ac1f84e8889e","savedPayload":{"position":{"x":29869.899331317247,"y":22914.43443920346},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"end":{"type":"End","name":"New End","config":"{\n\"initialValue\": 0\n}","id":"e8a616de-c956-474b-a572-943dba739546","savedPayload":{"position":{"x":30013.792860468606,"y":22886.44031315132},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rate":{"type":"Rate","name":"New Rate","config":"{\n\"initialValue\": 0\n}","id":"5b4b3cd4-6107-4940-9e0d-80614590def4","savedPayload":{"position":{"x":30159.83338469438,"y":22885.471321998164},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"exitType":{"type":"Exit Type","name":"New Exit Type","config":"{\n\"initialValue\": \"No Exit\"\n}","id":"0299f975-8ff6-4062-ada4-7602145d273a","savedPayload":{"position":{"x":30303.301192976018,"y":22911.35056793679},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"status":{"type":"Status","name":"New Status","config":"{\n\"initialValue\": \"Not Open\"\n}","id":"4ea390ec-59f1-41cd-8a1d-6489d492be32","savedPayload":{"position":{"x":30439.230340044982,"y":22963.51036517041},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderName":{"type":"Order Name","name":"New Order Name","config":"{\n\"initialValue\": \"\"\n}","id":"dfad8d25-bbb5-49e3-a595-83d97ad08a35","savedPayload":{"position":{"x":30563.386626455638,"y":23039.479934821484},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"algorithmName":{"type":"Algorithm Name","name":"New Algorithm Name","config":"{\n\"initialValue\": \"\"\n}","id":"dfdae604-14c1-471a-9c5b-ec2b3ef28dc7","savedPayload":{"position":{"x":30671.20967472872,"y":23137.161560661316},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"situationName":{"type":"Situation Name","name":"New Situation Name","config":"{\n\"initialValue\": \"\"\n}","id":"402a0802-a66e-4241-9b40-716457d3ee7a","savedPayload":{"position":{"x":30767.462930868125,"y":23285.058138692588},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderCounters":{"type":"Order Counters","name":"New Order Counters","periods":{"type":"Periods","name":"New Periods","config":"{\n\"initialValue\": 0\n}","id":"e5d84547-cd32-4627-b4e8-1d0b3cf34e1e","savedPayload":{"position":{"x":30940.957327181775,"y":23341.862181275945},"targetPosition":{"x":30569.520765412566,"y":23482.252600767508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedCounters":[],"id":"a6ed37b6-d121-4b7d-a928-b7e131c8ebbc","savedPayload":{"position":{"x":30569.520765412566,"y":23482.252600767508},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"lock":{"type":"Lock","name":"New Lock","config":"{\n\"initialValue\": \"Open\"\n}","id":"e00e5e44-6768-485d-b98f-d07c032b95c4","savedPayload":{"position":{"x":30855.89153697148,"y":23504.13876610255},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"orderBaseAsset":{"type":"Order Base Asset","name":"New Order Base Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"1919145a-09dc-44f1-bf66-db1cd2423d19","savedPayload":{"position":{"x":29582.866305103853,"y":24835.164358325128},"targetPosition":{"x":29875.542821778647,"y":25013.046765459687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"f0086e54-7654-4319-8cd1-32aba52593ba","savedPayload":{"position":{"x":29794.24802352806,"y":24680.071378612716},"targetPosition":{"x":29875.542821778647,"y":25013.046765459687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"fc1b011f-bc04-470d-9446-facb1649bd97","savedPayload":{"position":{"x":30053.36246378378,"y":24719.647652494557},"targetPosition":{"x":29875.542821778647,"y":25013.046765459687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9f098ef2-5e76-4a6f-a220-905680a6a857","savedPayload":{"position":{"x":30876.900523959244,"y":23657.356048561887},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderQuotedAsset":{"type":"Order Quoted Asset","name":"New Order Quoted Asset","size":{"type":"Size","name":"New Size","config":"{\n\"initialValue\": 0\n}","id":"0393cb12-8ea6-4ce1-acc0-c9d74cc38515","savedPayload":{"position":{"x":29046.688282651,"y":24387.024704127445},"targetPosition":{"x":29341.65100982368,"y":24651.306142693564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"sizeFilled":{"type":"Size Filled","name":"New Size Filled","config":"{\n\"initialValue\": 0\n}","id":"6345257d-26b2-4e6b-9126-adecf0940dcb","savedPayload":{"position":{"x":29319.91112211318,"y":24255.545323981216},"targetPosition":{"x":29341.65100982368,"y":24651.306142693564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"feesPaid":{"type":"Fees Paid","name":"New Fees Paid","config":"{\n\"initialValue\": 0\n}","id":"32bad449-4c6d-4e9f-b8b4-0f9ff1478aaa","savedPayload":{"position":{"x":29605.965812447852,"y":24355.825847686214},"targetPosition":{"x":29341.65100982368,"y":24651.306142693564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c69e4280-e76f-4b74-8178-3363c95d7b4d","savedPayload":{"position":{"x":30865.765219729878,"y":23806.93441089533},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"orderStatistics":{"type":"Order Statistics","name":"New Order Statistics","percentageFilled":{"type":"Percentage Filled","name":"New Percentage Filled","config":"{\n\"initialValue\": 0\n}","id":"61215a99-f445-4ba1-a76a-0f46a754b027","savedPayload":{"position":{"x":29197.77329546256,"y":24384.39477474961},"targetPosition":{"x":29485.309906357827,"y":24656.809828536196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"actualRate":{"type":"Actual Rate","name":"New Actual Rate","config":"{\n\"initialValue\": 0\n}","id":"5436c96d-ed7b-4b52-abc9-9739ef923808","savedPayload":{"position":{"x":29412.7326605304,"y":24267.29297849066},"targetPosition":{"x":29485.309906357827,"y":24656.809828536196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"days":{"type":"Days","name":"New Days","config":"{\n\"initialValue\": 0\n}","id":"79935293-07bc-4415-bb91-1e45c95064e4","savedPayload":{"position":{"x":29655.625481283212,"y":24298.28405501903},"targetPosition":{"x":29485.309906357827,"y":24656.809828536196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"userDefinedStatistics":[{"type":"User Defined Statistic","name":"New User Defined Statistic","config":"{\n\"initialValue\": 0\n}","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"80438372-c0f2-4f67-ae8f-7c5e909a990a","savedPayload":{"position":{"x":29919.80683654285,"y":24420.01152742291},"targetPosition":{"x":29747.692171925333,"y":24513.91096946171},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a1c12939-d02f-483d-b5e9-6532f4f88c08","savedPayload":{"position":{"x":29747.692171925333,"y":24513.91096946171},"targetPosition":{"x":29485.309906357827,"y":24656.809828536196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"61467c34-b621-4980-876a-9c66eef0144f","savedPayload":{"position":{"x":30809.664826128923,"y":23981.04549743045},"targetPosition":{"x":30091.17231812745,"y":23670.187867440283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5bfce673-ceb2-4104-bd7e-75d62453164e","savedPayload":{"position":{"x":31556.35112148518,"y":24183.911944607727},"targetPosition":{"x":30881.58242712668,"y":24166.242504499915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1b0f368b-51b9-4c61-9c7b-b0b308cf7ba9","savedPayload":{"position":{"x":30881.58242712668,"y":24166.242504499915},"targetPosition":{"x":30698.55093774257,"y":24577.337960439087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"07f9794a-dea7-4075-bdea-00e4b90960a6","savedPayload":{"position":{"x":30698.55093774257,"y":24577.337960439087},"targetPosition":{"x":30923.55093774257,"y":24967.049392142086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"eb20f622-71bf-4479-a574-d2320e1d4bd1","savedPayload":{"position":{"x":30923.55093774257,"y":24967.049392142086},"targetPosition":{"x":30923.55093774257,"y":24967.049392142086},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}
\ No newline at end of file
diff --git a/Plugins/Trading-Mines/Masters.json b/Plugins/Trading-Mines/Masters.json
deleted file mode 100644
index 9d6e7b167..000000000
--- a/Plugins/Trading-Mines/Masters.json
+++ /dev/null
@@ -1 +0,0 @@
-{"type":"Trading Mine","name":"Masters","config":"{ \n\"codeName\": \"Masters\"\n}","tradingBots":[{"type":"Trading Bot","name":"Low Frequency","config":"{\n\"codeName\": \"Low-Frequency\",\n\"repo\": \"Exchange-Raw-Data-Sensor-Bot\"\n}","processes":[{"type":"Process Definition","name":"Trading","config":"{\n \"codeName\": \"Trading\",\n \"sessionRunWaitTime\": 5000,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Low-Frequency-Trading-Process\"\n }\n }","processOutput":{"type":"Process Output","name":"New Process Output","outputDatasets":[],"outputDatasetFolders":[{"type":"Output Dataset Folder","name":"Trading Engine","outputDatasets":[],"outputDatasetFolders":[{"type":"Output Dataset Folder","name":"Episode","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Episode Counters","id":"a1ba5aea-27cf-4789-858f-bcae5e844d68","savedPayload":{"position":{"x":24759.631900172484,"y":18129.670483934216},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"3ed03a02-381d-43fe-9faa-761728c53bd8"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Episode Counters","id":"0545bf38-80e0-4888-88bc-a8710355fa57","savedPayload":{"position":{"x":24616.91382467489,"y":18187.752283102793},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"15f5b150-f1cf-403c-8cb9-2c7c4e1db8e8"}}},{"type":"Output Dataset","name":"Multi-Period-Market Episode Statistics","id":"5af42032-7ce1-4afe-95d7-e33ba00794eb","savedPayload":{"position":{"x":24467.32574891778,"y":18213.619014780168},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"fc9dc0f7-35e0-4548-bb91-f920825d694f"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Episode Statistics","id":"d18cec41-5512-44d3-8005-5b9a7fd80461","savedPayload":{"position":{"x":24312.199531118506,"y":18282.702923036555},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"91953362-8751-4440-a898-21245cd47c15"}}},{"type":"Output Dataset","name":"Multi-Period-Market Episode Candle","id":"3df1601e-ef97-4103-b90e-364c1b6527f6","savedPayload":{"position":{"x":24176.08514639884,"y":18215.729402248384},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"17fb41f5-61b5-4433-9a10-950ff8216a7e"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Episode Candle","id":"7745d3f8-0a55-4d1a-9778-1360c5a5fad6","savedPayload":{"position":{"x":24038.4963756947,"y":18157.795869882535},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"bbc9467d-28bf-432b-9e49-582d1bcabfb9"}}},{"type":"Output Dataset","name":"Multi-Period-Market Episode Balances","id":"f5549653-3d66-4f6b-8aff-44f728772ed9","savedPayload":{"position":{"x":23907.619142082276,"y":18087.027884380746},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"acddff59-b51b-4b45-b58f-71d4077755ee"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Episode Balances","id":"5d016965-9c3b-48bf-8969-157430be4d54","savedPayload":{"position":{"x":23795.542044304937,"y":17990.498514211948},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"213b8fe8-f772-41ea-a3f5-97867be555f7"}}},{"type":"Output Dataset","name":"Multi-Period-Market Distance To Event","id":"0c364f1b-019b-4928-a6a4-2488f56354ca","savedPayload":{"position":{"x":23702.8871453775,"y":17875.610474671364},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"0ef6aa1d-3345-40f8-bc4f-4d2e2ff199ff"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Distance To Event","id":"e2c18755-9906-46b9-9260-d553bed98346","savedPayload":{"position":{"x":23630.13363422093,"y":17747.097485587026},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"c291211b-4012-4440-a302-8e15412b0990"}}},{"type":"Output Dataset","name":"Multi-Period-Market Episode Base Asset","id":"a8194517-95ce-4e3f-9ba4-1704f0334f56","savedPayload":{"position":{"x":23586.937987787725,"y":17605.69189593875},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"e8b67591-d484-4c08-a711-7a4418ee101a"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Episode Base Asset","id":"83cfb5a0-121f-43d2-9998-6ea75ef699dc","savedPayload":{"position":{"x":23568.49756784466,"y":17459.413257278975},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"c6f34adc-2863-4ce6-8379-9b3cc1b37b73"}}},{"type":"Output Dataset","name":"Multi-Period-Market Episode Quoted Asset","id":"dff86057-75bf-42e2-8a9b-f833ef75f724","savedPayload":{"position":{"x":23582.59683850695,"y":17321.565262097094},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"99d1f17b-92cb-4544-88a2-fe463dd1de4b"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Episode Quoted Asset","id":"a0f647d5-0bd8-46e1-bbf1-45de69792ada","savedPayload":{"position":{"x":23606.4309801008,"y":17182.377865453283},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"daf4e3e9-426d-44c3-8b43-6849778d972f"}}},{"type":"Output Dataset","name":"Multi-Period-Market Current Episode","id":"dbf34743-8e5b-4c94-a1f6-840852d13413","savedPayload":{"position":{"x":23696.58969688897,"y":17038.825005441795},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"26f6b248-21de-4898-9ee5-58b728a04267"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Current Episode","id":"94d2ae9a-1006-4b38-bbac-5de0a7a0a39f","savedPayload":{"position":{"x":23784.350181877602,"y":16892.540129046254},"targetPosition":{"x":24366.58984855878,"y":17432.75965266405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"ecdfe444-00e6-4ad4-a482-14b59a1e752a"}}}],"outputDatasetFolders":[],"id":"2baa9a27-e0d4-4742-9780-1c6d3345eca5","savedPayload":{"position":{"x":24365.147771563403,"y":17430.87510842025},"targetPosition":{"x":24980.502163935125,"y":16932.82583987662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Output Dataset Folder","name":"Strategy","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Current Strategy","id":"9602df2b-e3d3-4d8e-a5ef-42c46707236f","savedPayload":{"position":{"x":23839.727896692508,"y":17764.214314544686},"targetPosition":{"x":24199.31957187596,"y":17059.016359742804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"7b4550d3-69d1-41ac-bad3-e2283f798bb8"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Current Strategy","id":"2b21b281-7f71-41c0-95e5-be5389252028","savedPayload":{"position":{"x":23493.765364621762,"y":17418.442588406753},"targetPosition":{"x":24199.31957187596,"y":17059.016359742804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"49d55660-71e9-4c5a-8b1a-198934844e4a"}}},{"type":"Output Dataset","name":"Multi-Period-Market Last Strategy","id":"9a9cc765-aae0-4f43-9063-d9cf523294b4","savedPayload":{"position":{"x":23398.623828860094,"y":16936.48390859906},"targetPosition":{"x":24199.31957187596,"y":17059.016359742804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"a2e7b5d2-8556-4c58-b2f6-a9c27c939e94"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Last Strategy","id":"7256ec06-564c-44e5-af8d-2fc79f279369","savedPayload":{"position":{"x":23613.653355029615,"y":16473.615518263356},"targetPosition":{"x":24199.31957187596,"y":17059.016359742804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"76ff2401-1d4f-4dda-87f6-5e0b7af3eab2"}}}],"outputDatasetFolders":[],"id":"9589fd4b-6b8d-43e4-b97f-9d92c5d7d373","savedPayload":{"position":{"x":24198.439403508462,"y":17056.487906590613},"targetPosition":{"x":24980.502163935125,"y":16932.82583987662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Output Dataset Folder","name":"Position","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Current Position","id":"a18abc9f-3e80-40e4-8f75-e185da5cdf11","savedPayload":{"position":{"x":23722.057479917017,"y":17249.187716667693},"targetPosition":{"x":24241.46261852767,"y":16651.625744572666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"7506dd91-ad9d-4aad-bb1a-604bc5d3fe8d"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Current Position","id":"b7abd85d-9705-4f7c-aa4a-5bc0e6a935b6","savedPayload":{"position":{"x":23548.905057967855,"y":17035.499047842346},"targetPosition":{"x":24241.46261852767,"y":16651.625744572666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"06678152-1082-4f00-9275-22ffde715469"}}},{"type":"Output Dataset","name":"Multi-Period-Market Last Position","id":"a2c73548-1441-44ec-b70e-f34d79deb142","savedPayload":{"position":{"x":23459.19075377443,"y":16775.462616778168},"targetPosition":{"x":24241.46261852767,"y":16651.625744572666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"485671ff-0d50-4c08-958c-93e657cd238f"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Last Position","id":"b7209433-39db-481c-99aa-812ff43a1b8d","savedPayload":{"position":{"x":23463.92482783041,"y":16500.723157949345},"targetPosition":{"x":24241.46261852767,"y":16651.625744572666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"a909df42-6192-4bbd-9f38-e8800149aaa1"}}},{"type":"Output Dataset","name":"Multi-Period-Market Stop Loss","id":"a8715f8c-05e4-445a-a7d3-9dd8750fab69","savedPayload":{"position":{"x":23551.98449150562,"y":16246.080132975208},"targetPosition":{"x":24241.46261852767,"y":16651.625744572666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"0ea22a69-e7cb-4fcf-b7ae-4b7233b196c4"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Stop Loss","id":"298c7421-cbd4-4adb-9f27-a5aa4ca7a79b","savedPayload":{"position":{"x":23731.005343506178,"y":16074.04257054103},"targetPosition":{"x":24241.46261852767,"y":16651.625744572666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"75b13383-2771-4f58-b2c4-ffadad2e9519"}}},{"type":"Output Dataset","name":"Multi-Period-Market Take Profit","id":"df0012fd-0610-4ba6-844f-e5eee8f1d591","savedPayload":{"position":{"x":23961.515098485623,"y":15902.969746711473},"targetPosition":{"x":24241.46261852767,"y":16651.625744572666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"3cd59aa1-0590-43b6-9fb7-c85276ac132e"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Take Profit","id":"c8e6e5ea-e703-4c7c-a9d5-96174b6f83fc","savedPayload":{"position":{"x":24292.89755398623,"y":15865.232505691609},"targetPosition":{"x":24241.46261852767,"y":16651.625744572666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"916d5610-87ae-47e7-9067-9a406141e3df"}}}],"outputDatasetFolders":[],"id":"6ba1d18c-855a-4bb4-80a0-67aa8a5a292d","savedPayload":{"position":{"x":24241.304098223674,"y":16649.06593887918},"targetPosition":{"x":24980.502163935125,"y":16932.82583987662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Output Dataset Folder","name":"Stages","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Open Stage","id":"49bf1d40-0e69-4a5a-8fdc-40066054398a","savedPayload":{"position":{"x":23715.16885934334,"y":16575.214583531262},"targetPosition":{"x":24463.935799208375,"y":16317.35868679165},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"b553683f-14f4-48be-91a6-0fb5381887e4"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Open Stage","id":"c69097d2-cfa1-468c-8a04-6fde9ed69c6b","savedPayload":{"position":{"x":23672.115778223168,"y":16303.6989855151},"targetPosition":{"x":24463.935799208375,"y":16317.35868679165},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"3287fb46-854d-41de-8a42-285f9c10d4fa"}}},{"type":"Output Dataset","name":"Multi-Period-Market Close Stage","id":"83343c8b-9a81-4f6c-9d69-4c8db9f05832","savedPayload":{"position":{"x":23724.534384127368,"y":16033.687185201155},"targetPosition":{"x":24463.935799208375,"y":16317.35868679165},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"0c30c4d3-3e58-4422-a178-450c24f95001"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Close Stage","id":"dc1bf033-5337-44b2-841c-99eac7281da4","savedPayload":{"position":{"x":23866.00378610678,"y":15797.904801709525},"targetPosition":{"x":24463.935799208375,"y":16317.35868679165},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"4903a08c-90b6-4726-aa4d-1d8a0acdbd77"}}},{"type":"Output Dataset","name":"Multi-Period-Market Trigger Stage","id":"6b7e2bc8-ad41-4284-b71c-bce9a72c9a73","savedPayload":{"position":{"x":24079.67453924891,"y":15624.75766952882},"targetPosition":{"x":24463.935799208375,"y":16317.35868679165},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"a179150b-2eaa-45ef-a7fa-14a1decf7dfc"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Trigger Stage","id":"d58182cd-f083-45b5-86e8-2326ff3b19ab","savedPayload":{"position":{"x":24298.026820036514,"y":15516.211362491928},"targetPosition":{"x":24463.935799208375,"y":16317.35868679165},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"493f0951-e638-4da1-88b4-1c1d3829046e"}}},{"type":"Output Dataset","name":"Multi-Period-Market Manage Stage","id":"d3172f3f-ecc9-4e27-98e2-9e3c64dc1057","savedPayload":{"position":{"x":24647.38097230204,"y":15565.9625998007},"targetPosition":{"x":24463.935799208375,"y":16317.35868679165},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"56d1a25b-54b1-419c-a323-f2fad41de0ec"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Manage Stage","id":"52753b6f-1b6e-40ab-9eac-38da1e6efdfa","savedPayload":{"position":{"x":24871.06097614139,"y":15638.110389304833},"targetPosition":{"x":24463.935799208375,"y":16317.35868679165},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"fef1dba7-fc21-4338-b75e-a040d71dbde5"}}}],"outputDatasetFolders":[],"id":"a62e40a1-1956-411d-883f-6837bf79d918","savedPayload":{"position":{"x":24482.248252256533,"y":16317.464070237664},"targetPosition":{"x":24980.502163935125,"y":16932.82583987662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Output Dataset Folder","name":"Orders","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Market Buy Orders","id":"bf741c22-1c32-45cd-887b-fce2da583b33","savedPayload":{"position":{"x":24067.857616131965,"y":16085.27423196959},"targetPosition":{"x":24856.864777040086,"y":16151.869259808613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"a2ea8001-2143-4055-b1d3-525d95fa8e6f"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Market Buy Orders","id":"de5714a0-9ab1-4c5d-b7be-3f48c5dd3d40","savedPayload":{"position":{"x":24106.790684174604,"y":15898.207327067514},"targetPosition":{"x":24856.864777040086,"y":16151.869259808613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"557357c6-f814-4bf9-9426-82fc5e22c028"}}},{"type":"Output Dataset","name":"Multi-Period-Market Market Sell Orders","id":"14de281e-8264-4b2a-a070-7faed8eb318b","savedPayload":{"position":{"x":24189.32432781685,"y":15726.037342919648},"targetPosition":{"x":24856.864777040086,"y":16151.869259808613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"917cfdae-b736-4ed5-ad8e-d572c49ea489"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Market Sell Orders","id":"d64450c8-8d80-424f-b079-9d3d9cfb5554","savedPayload":{"position":{"x":24310.64902235833,"y":15578.642125324715},"targetPosition":{"x":24856.864777040086,"y":16151.869259808613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"3c878a50-6d76-412b-95d7-f2e546960293"}}},{"type":"Output Dataset","name":"Multi-Period-Market Limit Buy Orders","id":"e3cc144e-9d7b-4961-b1e1-c09fdac5869e","savedPayload":{"position":{"x":24463.71319335311,"y":15464.568817992396},"targetPosition":{"x":24856.864777040086,"y":16151.869259808613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"df8cfaa4-a4d4-4bc1-9fa2-4f8e91e45a87"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Limit Buy Orders","id":"c1fa0e3d-3945-4c5f-b929-f41f86f055c8","savedPayload":{"position":{"x":24639.6205223879,"y":15390.441364143853},"targetPosition":{"x":24856.864777040086,"y":16151.869259808613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"12652573-9506-4d3e-82bb-64b1bb9e7ce0"}}},{"type":"Output Dataset","name":"Multi-Period-Market Limit Sell Orders","id":"53125000-79a1-4cb8-b52e-10539a2323bb","savedPayload":{"position":{"x":24828.145672992854,"y":15360.564510993403},"targetPosition":{"x":24856.864777040086,"y":16151.869259808613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"f645108f-4648-497f-b361-0be5b84c233a"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Limit Sell Orders","id":"1832e9b4-6c83-4a06-9da4-f51a99fea440","savedPayload":{"position":{"x":25018.071728339142,"y":15376.672528344945},"targetPosition":{"x":24856.864777040086,"y":16151.869259808613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"e98191d1-5b13-42eb-bd52-31e3c6830188"}}},{"type":"Output Dataset","name":"Multi-Period-Market Last Market Order","id":"f109db5d-45dc-40d1-b593-21369032854e","savedPayload":{"position":{"x":25198.85441803135,"y":15437.82390045739},"targetPosition":{"x":24856.864777040086,"y":16151.869259808613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"768b42e9-59fe-494f-9e05-3be57fb17ca8"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Last Market Order","id":"c93f4355-0043-478e-9dcf-9e15adc61e82","savedPayload":{"position":{"x":25359.730285648107,"y":15540.481030442515},"targetPosition":{"x":24856.864777040086,"y":16151.869259808613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"26a39916-4f2d-42ab-ae86-7ab622f80624"}}},{"type":"Output Dataset","name":"Multi-Period-Market Last Limit Order","id":"02643b17-6a01-4f07-bfba-255c9160ed88","savedPayload":{"position":{"x":25491.299181598133,"y":15678.608172107452},"targetPosition":{"x":24856.864777040086,"y":16151.869259808613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"f9263cd7-460d-461c-be7b-ed2a69d38d11"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Last Limit Order","id":"ddfda1f9-9ce1-4857-b12e-4e290959ef78","savedPayload":{"position":{"x":25570.85151032078,"y":15861.273502796166},"targetPosition":{"x":24856.864777040086,"y":16151.869259808613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"f3d5b047-d9c2-4e71-8fce-6e9be3499556"}}}],"outputDatasetFolders":[],"id":"a7854264-763e-4019-ba4b-437cce3d81d1","savedPayload":{"position":{"x":24856.73442294824,"y":16150.747865768435},"targetPosition":{"x":24980.502163935125,"y":16932.82583987662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"deb91c2d-c01d-4bfa-9423-b5813aa73d40","savedPayload":{"position":{"x":24980.502163935125,"y":16932.82583987662},"targetPosition":{"x":25719.624362385995,"y":17216.61551573645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Output Dataset Folder","name":"Trading System","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Trading System Errors","id":"b9e7ee2c-77e0-47c9-be95-fbe66689b5e0","savedPayload":{"position":{"x":24635.605685278973,"y":16717.75489099981},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2ef33675-fc52-49fd-a8ef-bc5da1711dd1"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Trading System Errors","id":"e59d2d21-26b0-4831-93f4-ae77f7a3e02d","savedPayload":{"position":{"x":24602.221404257893,"y":16578.4537344441},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"2d0dd4c2-4f4c-4d8c-b9a5-9ca62f186369"}}},{"type":"Output Dataset","name":"Multi-Period-Market Trading System Highlights","id":"3d62700f-732e-4a47-b802-6474bc9c618b","savedPayload":{"position":{"x":24604.550986749524,"y":16438.378853246686},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"6e0f951c-25e7-4b92-85da-8be04d424bd0"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Trading System Highlights","id":"e424301c-dc56-43f4-965e-defa1cc117ad","savedPayload":{"position":{"x":24636.8819148634,"y":16309.366268783851},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"fa53ecfb-a558-4810-b6f8-1f9c6c8bfc5b"}}},{"type":"Output Dataset","name":"Multi-Period-Market Trading System Values","id":"8b6c3b43-71b5-4cfb-9bb7-81e58f291f5d","savedPayload":{"position":{"x":24661.067093526213,"y":16175.966217209489},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"9c4ec2f8-f4a8-45b9-aba3-b093a7b8f86a"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Trading System Values","id":"3bde40da-02de-4d8c-a738-e6b4a1d3730a","savedPayload":{"position":{"x":24705.73290085451,"y":16043.285678169554},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"b3d3fe62-e714-4cb9-a78d-55bc0add1d7c"}}},{"type":"Output Dataset","name":"Multi-Period-Market Trading System Status","id":"04fba19e-4aa4-4d47-b52f-3ff06fa3a6c9","savedPayload":{"position":{"x":24815.56340167258,"y":15967.355980630882},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b83dc93-dc14-44d9-8f8c-889f39a952da"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Trading System Status","id":"32d210dc-64c6-4af2-81a6-1f6f2fe9bd1b","savedPayload":{"position":{"x":24898.407717432514,"y":15859.17154851188},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"0f8dcda3-1eab-439d-956c-c6eb9b1c481f"}}},{"type":"Output Dataset","name":"Multi-Period-Market Trading System Progress","id":"2015dc82-d437-491a-99a3-6b285c788d84","savedPayload":{"position":{"x":25015.10201230051,"y":15797.518537835547},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"77735fc0-9ce6-4dec-a3ad-8075a22eda40"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Trading System Progress","id":"39908613-20b4-4803-accc-c90f49c4dd82","savedPayload":{"position":{"x":25133.589191351148,"y":15736.219754142521},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"2fde11bd-4515-4a4e-9dc0-f6869dd3a04e"}}},{"type":"Output Dataset","name":"Multi-Period-Market Trading System Running","id":"47385563-39ee-4980-9e21-df5a341bdf66","savedPayload":{"position":{"x":25253.19749507724,"y":15678.238772537798},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"c7b45884-6cdf-43f7-a1e5-c5325effd207"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Trading System Running","id":"87ea1cbf-c03c-4570-985d-e516475cdafc","savedPayload":{"position":{"x":25355.082010943464,"y":15742.049411296712},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"a21cbc62-e6d8-4286-b0ff-430071d46700"}}},{"type":"Output Dataset","name":"Multi-Period-Market Trading System Announcements","id":"0ec4372d-210f-4792-a43f-63acad4ff70e","savedPayload":{"position":{"x":25520.896397270808,"y":15767.534652756305},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"9e29a710-30c0-4faa-b71a-f4ee109673a2"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Trading System Announcements","id":"357184cc-60fe-4af7-b0f0-69b62f5353ce","savedPayload":{"position":{"x":25615.704663985136,"y":15663.24228511686},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"b7e24195-a9d0-45e7-9dba-447db8000feb"}}},{"type":"Output Dataset","name":"Multi-Period-Market Trading System Warnings","id":"56c1048d-99da-4096-983f-ea0c6be75a56","savedPayload":{"position":{"x":25839.251495823726,"y":15817.082987575915},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"0381cc1b-24c3-4705-9c76-94129e8605ff"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Trading System Warnings","id":"c1e4308f-8bb6-4e34-a07e-35ce10c961d9","savedPayload":{"position":{"x":25886.832902742404,"y":15855.604255583008},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"b93b5cc3-7d61-4071-8eba-de15a4fea64b"}}},{"type":"Output Dataset","name":"Multi-Period-Market Trading System Infos","id":"0026196d-ca85-4dda-ad0f-6cd9bb5bf24c","savedPayload":{"position":{"x":25980.31428590564,"y":15950.880544765281},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"cd834a3e-1b23-4e15-a068-59c235a90f89"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Trading System Infos","id":"d236066c-60e6-4df0-9243-a8cfa63317ea","savedPayload":{"position":{"x":26086.705255200523,"y":16096.830654999187},"targetPosition":{"x":25397.965849069038,"y":16494.6973711358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"e24a4dcf-5adb-4c63-b9db-3ba2a7ece789"}}}],"outputDatasetFolders":[],"id":"4ad3bdb9-eace-4360-9202-514f49128005","savedPayload":{"position":{"x":25397.73444862262,"y":16493.214155043555},"targetPosition":{"x":25719.624362385995,"y":17216.61551573645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Output Dataset Folder","name":"Objects","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Strategies","id":"48188af2-1b5e-4498-90d1-6ecb2969ea49","savedPayload":{"position":{"x":25428.87409905196,"y":15932.714267392987},"targetPosition":{"x":26003.18600823905,"y":16477.667773483645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"03d1a187-b188-4ad7-b99e-6e4f6c6f0278"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Strategies","id":"ad5e327d-f792-430c-8efe-93b2e75a10c2","savedPayload":{"position":{"x":25681.218908173658,"y":15754.390792793667},"targetPosition":{"x":26003.18600823905,"y":16477.667773483645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"58a5a046-53a1-43a7-bb76-0c29d94ef579"}}},{"type":"Output Dataset","name":"Multi-Period-Market Episodes","id":"183fe27b-faf1-4956-86e5-fc49e9e6a3a9","savedPayload":{"position":{"x":25982.611534115647,"y":15686.213735202015},"targetPosition":{"x":26003.18600823905,"y":16477.667773483645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"38264ecd-10e7-4a62-a2ca-9b607c30e72c"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Episodes","id":"5083fa41-2ae4-4786-8a66-7f9e972a3731","savedPayload":{"position":{"x":26286.874895596273,"y":15738.527593357789},"targetPosition":{"x":26003.18600823905,"y":16477.667773483645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"cdc39b61-9aa5-46d5-9e80-915e0c2d545d"}}}],"outputDatasetFolders":[{"type":"Output Dataset Folder","name":"Orders","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Market Buy Orders","id":"7eb0922d-67f4-4822-8d18-4ef179d2f1d0","savedPayload":{"position":{"x":26194.114179720727,"y":15195.32957024014},"targetPosition":{"x":26547.21179201909,"y":15903.727189340121},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"45609efb-0edc-4aa9-bc12-f5b4ca6dc5bf"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Market Buy Orders","id":"089596f9-997f-46e9-b5a2-c407bea3449d","savedPayload":{"position":{"x":26457.711781214726,"y":15116.95658209055},"targetPosition":{"x":26547.21179201909,"y":15903.727189340121},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"5eed53d0-a3e7-4082-b7f1-cb321b3d306b"}}},{"type":"Output Dataset","name":"Multi-Period-Market Market Sell Orders","id":"158966df-b1ee-4b2b-9fe3-0ca469762692","savedPayload":{"position":{"x":26731.93922934118,"y":15133.602964112626},"targetPosition":{"x":26547.21179201909,"y":15903.727189340121},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"6112bd4d-07cb-41db-98c4-e286d172b5c0"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Market Sell Orders","id":"225a4c4a-2518-4007-9c00-f5291e60b57e","savedPayload":{"position":{"x":26984.156529172844,"y":15243.310362261462},"targetPosition":{"x":26547.21179201909,"y":15903.727189340121},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"07cd5668-5e0f-4385-9c02-72eebc99344a"}}},{"type":"Output Dataset","name":"Multi-Period-Market Limit Buy Orders","id":"ee3378d2-1b64-4b8c-a35a-40ee94176788","savedPayload":{"position":{"x":27188.672447871577,"y":15429.421614057324},"targetPosition":{"x":26547.21179201909,"y":15903.727189340121},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"b82fb0f9-74c1-42e6-961c-a696214ef079"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Limit Buy Orders","id":"0e2ec856-9464-492a-b273-64d970dd7fcb","savedPayload":{"position":{"x":27339.467822711795,"y":15734.792243512247},"targetPosition":{"x":26547.21179201909,"y":15903.727189340121},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"2e03f52e-0cd2-46b4-9c10-0b8516ef9c71"}}},{"type":"Output Dataset","name":"Multi-Period-Market Limit Sell Orders","id":"618a0cb2-5cda-47b1-b942-ab0fffde2319","savedPayload":{"position":{"x":27281.566184883046,"y":15948.219878970001},"targetPosition":{"x":26547.21179201909,"y":15903.727189340121},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"356495a9-b063-495d-b06d-5281c7c0007e"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Limit Sell Orders","id":"d8951de9-aa7e-4ee9-b1b2-0ad1e6ef1bd3","savedPayload":{"position":{"x":27273.25537681774,"y":16219.328536294932},"targetPosition":{"x":26547.21179201909,"y":15903.727189340121},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"934ab813-127e-4bbf-aa71-09b3cdadc0d0"}}}],"outputDatasetFolders":[],"id":"d89cb9e0-fa1e-4e41-bb9e-5c576ab85ea3","savedPayload":{"position":{"x":26548.17559037872,"y":15903.365671782705},"targetPosition":{"x":26003.18600823905,"y":16477.667773483645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Output Dataset Folder","name":"Stages","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Trigger Stages","id":"836c9427-bb15-4b30-a206-a5e6febf11d1","savedPayload":{"position":{"x":26670.527129609192,"y":15366.011569130113},"targetPosition":{"x":26725.85777617704,"y":16155.851570321562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"e951c491-c864-4668-9d70-c48df90d8342"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Trigger Stages","id":"68dee559-f287-42ab-afbb-24917f14fbeb","savedPayload":{"position":{"x":26944.044082606077,"y":15394.596683560852},"targetPosition":{"x":26725.85777617704,"y":16155.851570321562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"ace4518d-bfe1-49e2-af7b-4ff9559fe6a9"}}},{"type":"Output Dataset","name":"Multi-Period-Market Open Stages","id":"662fb5a2-8fa4-4a38-815a-b0486a14f001","savedPayload":{"position":{"x":27191.28614429612,"y":15515.129690002634},"targetPosition":{"x":26725.85777617704,"y":16155.851570321562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"613bf56d-986e-4a94-9b39-4f0ac3300b0c"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Open Stages","id":"f2b9758c-268b-471e-9b79-a5e090291559","savedPayload":{"position":{"x":27382.377642152747,"y":15713.05683951804},"targetPosition":{"x":26725.85777617704,"y":16155.851570321562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"44a0d895-2a7e-4f9a-b9a7-81dc32bf30e4"}}},{"type":"Output Dataset","name":"Multi-Period-Market Manage Stages","id":"69dcc462-31d0-4fe2-a255-14f1498143bb","savedPayload":{"position":{"x":27499.607355934364,"y":15950.926030083889},"targetPosition":{"x":26725.85777617704,"y":16155.851570321562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"f6e10004-71dd-4ae9-8c1f-0b71de02d274"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Manage Stages","id":"9d712a6f-764b-422c-a0b6-9f1888ba972b","savedPayload":{"position":{"x":27522.95390739705,"y":16252.456501113425},"targetPosition":{"x":26725.85777617704,"y":16155.851570321562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"8f3984d8-e735-4dab-a9cc-51e97d704154"}}},{"type":"Output Dataset","name":"Multi-Period-Market Close Stages","id":"8e897500-1682-4656-aa0c-61245098fbf1","savedPayload":{"position":{"x":27437.48660985823,"y":16502.852666731444},"targetPosition":{"x":26725.85777617704,"y":16155.851570321562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"ee0f2bab-26b6-44c6-af1c-efbca2c765cd"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Close Stages","id":"4544bea6-acea-4a27-bd45-400e50ac98a4","savedPayload":{"position":{"x":27275.773185609665,"y":16725.310057163908},"targetPosition":{"x":26725.85777617704,"y":16155.851570321562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"cbd3905d-fafc-47f3-8a61-20c9aab10d86"}}}],"outputDatasetFolders":[],"id":"b36dc14a-d132-4788-85c3-816f7a827f6b","savedPayload":{"position":{"x":26726.499050073464,"y":16155.677745959736},"targetPosition":{"x":26003.18600823905,"y":16477.667773483645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Output Dataset Folder","name":"Position","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Positions","id":"f654bbf2-8200-4af8-a62c-6a7702c519ec","savedPayload":{"position":{"x":27118.88312222412,"y":15735.32382553545},"targetPosition":{"x":26794.258753338054,"y":16457.32955257068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"55df9376-2806-429d-b43d-b96700787f74"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Positions","id":"70d50615-b8a3-417f-b63f-67aa2dfb1a37","savedPayload":{"position":{"x":27400.110423447117,"y":15947.639049169255},"targetPosition":{"x":26794.258753338054,"y":16457.32955257068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"fd62b468-93fa-44e0-941f-fff7ea4b04ea"}}},{"type":"Output Dataset","name":"Multi-Period-Market Position Base Asset","id":"ce13b9af-c5d4-4012-b7c1-ab8d79adef79","savedPayload":{"position":{"x":27561.24080742436,"y":16261.065928395912},"targetPosition":{"x":26794.258753338054,"y":16457.32955257068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"a0ff2796-59dd-4aa4-93ed-ba4601b9de5d"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Position Base Asset","id":"1c502d58-b252-4c6b-af56-79ad45ca3d0d","savedPayload":{"position":{"x":27570.47878013802,"y":16613.104035242675},"targetPosition":{"x":26794.258753338054,"y":16457.32955257068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"9985d32d-c070-4593-8a2a-ec8bc1c78cbb"}}},{"type":"Output Dataset","name":"Multi-Period-Market Position Quoted Asset","id":"37c9f691-05df-48b8-9f39-4642dbb2fb2a","savedPayload":{"position":{"x":27425.958081727214,"y":16934.471230545976},"targetPosition":{"x":26794.258753338054,"y":16457.32955257068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"abab2ab2-3a9b-49bd-8935-9bb01c113761"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Position Quoted Asset","id":"b05fbd1b-4566-4649-9259-0afbd65f062c","savedPayload":{"position":{"x":27156.299762605166,"y":17161.25994875547},"targetPosition":{"x":26794.258753338054,"y":16457.32955257068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"40ac7181-100d-4b65-b7fd-a8103cda2300"}}}],"outputDatasetFolders":[],"id":"67e69f2a-068d-432a-ac1b-45d8e4b76f26","savedPayload":{"position":{"x":26794.667547158362,"y":16457.07118112226},"targetPosition":{"x":26003.18600823905,"y":16477.667773483645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1c082a45-fcae-48de-a606-b864918eadf8","savedPayload":{"position":{"x":26003.248743092172,"y":16477.46124613294},"targetPosition":{"x":25719.624362385995,"y":17216.61551573645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f50da2e7-a341-4272-9947-db65142b1e23","savedPayload":{"position":{"x":25787.793847651956,"y":17993.628929597147},"targetPosition":{"x":25973.69617811368,"y":18411.53574561446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","statusDependencies":[{"type":"Status Dependency","name":"Low Frequency Trading","config":"{\n \"mainUtility\": \"Self Reference\"\n}","id":"e7fd528f-46bb-4a13-a11f-b6994236e3e7","savedPayload":{"position":{"x":25473.18934912384,"y":17662.09372656977},"targetPosition":{"x":25850.24104440959,"y":17866.815604570074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a8577e6c-9afc-4c9e-87ef-ee38531de864"}}},{"type":"Status Dependency","name":"Candles Volumes Multi-Period-Market","config":"{\n\"mainUtility\": \"Market Ending Point\"\n}","id":"0517c2f1-627f-44e2-b58d-6d3f72d6c931","savedPayload":{"position":{"x":25580.066651127236,"y":17532.91761537457},"targetPosition":{"x":25850.24104440959,"y":17866.815604570074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"Exchange Raw Data Historic-OHLCVs","config":"{\"mainUtility\": \"Market Starting Point\"}","id":"0b6d7ced-ccef-4a98-909c-443125480c10","savedPayload":{"position":{"x":25728.434363244938,"y":17455.023980827038},"targetPosition":{"x":25850.24104440959,"y":17866.815604570074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[],"dataMineDataDependencies":[{"type":"Data Mine Data Dependencies","name":"","botDataDependencies":[{"type":"Bot Data Dependencies","name":"SMA","dataDependencies":[{"type":"Data Dependency","name":"","id":"975cae89-0ede-4891-9c8d-9cf1674108da","savedPayload":{"position":{"x":24978.48402185319,"y":16303.89027969231},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"3b21f9d7-2cbc-4c23-80c8-cc5e5b06a22c"}}},{"type":"Data Dependency","name":"","id":"124f43f6-0f5d-4c4c-b621-538f061b7ff5","savedPayload":{"position":{"x":24895.479200574187,"y":16160.353290101217},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"2c338fe0-385f-45ab-b210-b98ef013228d"}}},{"type":"Data Dependency","name":"","id":"665ed08a-6414-4985-9b33-1b1df3640483","savedPayload":{"position":{"x":24844.242685534016,"y":16002.88762504572},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"78a6ef37-4df8-4ac8-83a0-c9a732467c59"}}},{"type":"Data Dependency","name":"","id":"ce9b9823-369b-4282-871c-b3bea9fed201","savedPayload":{"position":{"x":24826.89364891758,"y":15838.35957655454},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"f155e2ed-7082-4021-a4ff-a6f3cfd5683d"}}},{"type":"Data Dependency","name":"","id":"d5cfafb7-ec39-48e8-a268-d5865743d4d1","savedPayload":{"position":{"x":24844.126954820968,"y":15673.90001595941},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"af9b9cef-2a74-486f-b79e-047d68669a1f"}}},{"type":"Data Dependency","name":"","id":"466a5550-a32c-4b94-8065-0836f5943d91","savedPayload":{"position":{"x":24895.214816782012,"y":15516.436157628588},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"de5cfa30-edbf-4d5b-8d7f-facfb69a0f3e"}}},{"type":"Data Dependency","name":"","id":"889ae335-4b53-4e27-82e5-5cec430be037","savedPayload":{"position":{"x":24977.84247704713,"y":15373.044754011942},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Muti-Period-Market","id":"a5d28568-fb58-469a-9820-b9f0e8eab705"}}},{"type":"Data Dependency","name":"","id":"8992a824-63bd-4c4a-a3b8-ad1ec7674448","savedPayload":{"position":{"x":25088.435711638387,"y":15249.906774151163},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"01f32aa3-55e9-4f8c-80c7-997b52073274"}}},{"type":"Data Dependency","name":"","id":"3c8bfc41-ab2a-48b8-9ecb-7254d0069f21","savedPayload":{"position":{"x":25222.074747229624,"y":15152.33183282886},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"c0862b3d-d35a-4d3e-8d80-258b8a01c37c"}}},{"type":"Data Dependency","name":"","id":"17837da5-81b0-44c3-9f8b-17339c540107","savedPayload":{"position":{"x":25351.237804302353,"y":15051.398625134852},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"f5050eb2-0a99-464e-b5e2-2d8f40453e9a"}}},{"type":"Data Dependency","name":"","id":"53a7d009-5de5-407a-9838-7b4ae6eb615f","savedPayload":{"position":{"x":25553.68801736027,"y":15086.623445316565},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"6ba76363-0f50-4e67-8678-3eb4fd6d07d6"}}},{"type":"Data Dependency","name":"","id":"34d66295-7ed7-4f7d-a1ed-13f0400614ce","savedPayload":{"position":{"x":25701.25819468165,"y":15051.210468298952},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"92d92b3e-6870-499b-bfec-33bab220bf62"}}},{"type":"Data Dependency","name":"","id":"4fe237ea-1ede-41e0-b63a-57cab70f08ed","savedPayload":{"position":{"x":25845.956520296888,"y":15083.911885732809},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"4c486321-22e0-4991-9a1c-571bada649ad"}}},{"type":"Data Dependency","name":"","id":"c2ad602a-896b-492d-895e-c7ceb2a9e234","savedPayload":{"position":{"x":26031.951841476763,"y":15179.659063125344},"targetPosition":{"x":25618.742761272966,"y":15838.340731903489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"819688c9-c7bd-444b-9658-2a4379125c72"}}}],"dataDependencyFolders":[],"id":"ef3b56c3-ac3a-4d35-b013-e1708640a13f","savedPayload":{"position":{"x":25618.742761272966,"y":15838.340731903489},"targetPosition":{"x":26207.058814762455,"y":16367.41944631785},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Data Dependencies","name":"EMA","dataDependencies":[{"type":"Data Dependency","name":"","id":"a08d5281-8a09-4c0e-a3f2-36947eb05050","savedPayload":{"position":{"x":25251.143664807045,"y":15593.512793047605},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"ea1af06a-2584-43f0-aecf-ec8ad9169e9c"}}},{"type":"Data Dependency","name":"","id":"84bd463b-0041-415d-8e94-98ab2c4ce481","savedPayload":{"position":{"x":25268.508694230422,"y":15428.9189874804},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"e7f5899c-fc4c-412d-a8db-77c1bef8ed21"}}},{"type":"Data Dependency","name":"","id":"eb46ce52-187a-4455-b55a-fb4f8f0e996b","savedPayload":{"position":{"x":25319.79819358481,"y":15271.699217702966},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"85e3f0ce-5331-4c0b-900a-e73aaf53d96e"}}},{"type":"Data Dependency","name":"","id":"162b57ee-1670-4d89-aff2-f792b18d3897","savedPayload":{"position":{"x":25424.784288865685,"y":15161.65569790746},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"e04edb48-09ab-4f92-beb7-14ba647de7d6"}}},{"type":"Data Dependency","name":"","id":"858cda0b-dbb0-4b71-8350-d745c2d03169","savedPayload":{"position":{"x":25495.32423304048,"y":14968.83554833644},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"6b6840f7-3b76-474a-9d27-9515cbcd6499"}}},{"type":"Data Dependency","name":"","id":"0f628feb-1927-431b-ab9a-523b2dc40153","savedPayload":{"position":{"x":25647.06884138951,"y":14906.852459187397},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"ef3d5a7d-11eb-4ead-8e24-49ac7c80b0c7"}}},{"type":"Data Dependency","name":"","id":"7d820144-b6b1-4d8e-96c6-359c0169b45a","savedPayload":{"position":{"x":25798.39160916985,"y":14839.727702627766},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"4e36a5a5-7a03-43a9-b3e0-0c5763c29199"}}},{"type":"Data Dependency","name":"","id":"30a4b790-50de-4cf8-adfe-9e6a1227e508","savedPayload":{"position":{"x":25960.30552579064,"y":14805.407505132684},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"15ccbcff-318d-46db-93f2-d649b57fd52a"}}},{"type":"Data Dependency","name":"","id":"ccb0dd49-c19a-4cd8-a581-3e175b8cb874","savedPayload":{"position":{"x":26125.438382984878,"y":14805.183758415127},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"5586aa74-2ecb-4b71-83ea-d621aa400660"}}},{"type":"Data Dependency","name":"","id":"e3714836-9f67-4c55-9822-9af3d3fa3cdc","savedPayload":{"position":{"x":26287.57676634863,"y":14839.801949402416},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"0198fa3f-98e3-4c57-a4a4-a7a8e27905d3"}}},{"type":"Data Dependency","name":"","id":"b5523012-27cc-4a31-8fa3-570b2041f688","savedPayload":{"position":{"x":26432.587944459,"y":14947.185624870372},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"ea61dfed-8f93-4b4f-8575-61ca2547ea90"}}},{"type":"Data Dependency","name":"","id":"d02aa35d-0aee-4186-898a-4856957fb848","savedPayload":{"position":{"x":26572.77033956031,"y":15005.108751589605},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"b251aca0-1996-4d13-99ed-6fb9796ec8d6"}}},{"type":"Data Dependency","name":"","id":"51badda2-9782-40c8-a205-a509e1741f10","savedPayload":{"position":{"x":26683.520152377947,"y":15128.094498629127},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"dea3491f-aae7-4419-a98f-108cf5d69b87"}}},{"type":"Data Dependency","name":"","id":"1c7d8a10-0ded-4428-9260-c99a102168a4","savedPayload":{"position":{"x":26766.40535996979,"y":15271.70606859637},"targetPosition":{"x":26042.939045703417,"y":15593.363663184778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"6624337b-4afd-44b8-a2ea-3f1779ddda7e"}}}],"dataDependencyFolders":[],"id":"fedf50cb-2dce-471d-a5e2-32c07ad31064","savedPayload":{"position":{"x":26042.939045703417,"y":15593.363663184778},"targetPosition":{"x":26207.058814762455,"y":16367.41944631785},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Data Dependencies","name":"MACD","dataDependencies":[{"type":"Data Dependency","name":"","id":"bb3a344e-62d4-4aca-947d-31449ed65061","savedPayload":{"position":{"x":25960.4832659997,"y":15069.285852815687},"targetPosition":{"x":26529.443723189495,"y":15644.677459621194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"01d43ed0-2a80-4eca-bee6-db2fe40470fc"}}},{"type":"Data Dependency","name":"","id":"8b0c419d-6356-40c4-b58e-228e9861b741","savedPayload":{"position":{"x":26182.82756620871,"y":14933.56993897588},"targetPosition":{"x":26529.443723189495,"y":15644.677459621194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"dd5d3067-ff7b-4353-ba4f-c030bd3da796"}}},{"type":"Data Dependency","name":"","id":"976ac64b-57c6-449e-8a34-9567031ba34c","savedPayload":{"position":{"x":26453.559825422464,"y":14817.42571426392},"targetPosition":{"x":26529.443723189495,"y":15644.677459621194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"19b1d791-d2ea-4f25-a6e1-fe0a64450745"}}},{"type":"Data Dependency","name":"","id":"0d7581f4-7a99-461b-8d29-7800a4b9b277","savedPayload":{"position":{"x":26721.41557531194,"y":14876.18720385274},"targetPosition":{"x":26529.443723189495,"y":15644.677459621194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"ec2611a6-699b-45a5-beec-679dd4b7734a"}}},{"type":"Data Dependency","name":"","id":"c3f07b8a-fd15-469c-8824-d9bc5d0747e7","savedPayload":{"position":{"x":26972.3710257696,"y":14988.308940446159},"targetPosition":{"x":26529.443723189495,"y":15644.677459621194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"c390cbd3-0ba0-4507-8614-42c88f4ce7e6"}}},{"type":"Data Dependency","name":"","id":"c20b2c69-1392-4c72-b166-6eb72a23bc8d","savedPayload":{"position":{"x":27169.771229998783,"y":15179.205654872398},"targetPosition":{"x":26529.443723189495,"y":15644.677459621194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"29e18539-f188-4d29-9531-25cd3ee8f282"}}},{"type":"Data Dependency","name":"","id":"dc26743c-7eae-436f-b416-c080de27f3e9","savedPayload":{"position":{"x":27290.49574350758,"y":15427.052618872278},"targetPosition":{"x":26529.443723189495,"y":15644.677459621194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"89254c6c-9be2-4037-b063-467edc660d10"}}},{"type":"Data Dependency","name":"","id":"4b034fb0-af0a-4ee3-8a40-7407b1281369","savedPayload":{"position":{"x":27319.186107634392,"y":15699.836446311583},"targetPosition":{"x":26529.443723189495,"y":15644.677459621194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"8a9dde13-e4b8-40f3-80bc-ea51050b2f08"}}}],"dataDependencyFolders":[],"id":"8fbda3d4-82d4-4afc-b75b-125206d0f391","savedPayload":{"position":{"x":26529.443723189495,"y":15644.677459621194},"targetPosition":{"x":26207.058814762455,"y":16367.41944631785},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Data Dependencies","name":"RSI","dataDependencies":[{"type":"Data Dependency","name":"","id":"25d9cdb9-6e16-4644-ba8a-03d7b1b6ee2f","savedPayload":{"position":{"x":27289.07058918796,"y":15286.621178540354},"targetPosition":{"x":26892.80066787643,"y":15972.168289309266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"5ec62760-e144-4496-98ab-0415a4b315ec"}}},{"type":"Data Dependency","name":"","id":"98f6a406-f60d-4d4d-9c2c-acf12a094092","savedPayload":{"position":{"x":27684.32502825372,"y":15972.16715510556},"targetPosition":{"x":26892.80066787643,"y":15972.168289309266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"f1556d09-f134-4678-83fb-04002d1dcd34"}}}],"dataDependencyFolders":[],"id":"e79e5c80-17bb-4d4a-a0a1-4aafaf11fffe","savedPayload":{"position":{"x":26892.80066787643,"y":15972.168289309266},"targetPosition":{"x":26207.058814762455,"y":16367.41944631785},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4191bf00-4388-4e11-b494-ad567f26b4c2","savedPayload":{"position":{"x":25895.075150694338,"y":17440.01135647839},"targetPosition":{"x":25850.24104440959,"y":17866.815604570074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Sparta","id":"9cfffc48-486a-48cb-b641-98c82e314d3a"}}},{"type":"Data Mine Data Dependencies","name":"Masters","botDataDependencies":[{"type":"Bot Data Dependencies","name":"Webhooks","dataDependencies":[{"type":"Data Dependency","name":"External Signals Single File","id":"ca90fa5c-6320-4e9e-a5bc-7b785ed76a57","savedPayload":{"position":{"x":25575.393404301947,"y":15173.939723242707},"targetPosition":{"x":26038.392302609358,"y":15816.181229741842},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Single File","id":"c52d1012-5e3b-41a0-b5af-84098b0594bf"}}}],"dataDependencyFolders":[],"id":"951c0909-d3a8-4434-8e73-e5702664f84d","savedPayload":{"position":{"x":26038.392302609358,"y":15816.181229741842},"targetPosition":{"x":26501.48515113557,"y":16458.11245820958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Data Dependencies","name":"Candles Volumes","dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Period-Market","id":"f251280e-a046-4225-a160-5367e1a01e87","savedPayload":{"position":{"x":25651.138107893003,"y":15333.017381173546},"targetPosition":{"x":26362.886530346976,"y":15678.82609409939},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}},{"type":"Data Dependency","name":"Candles Multi-Period-Daily","id":"03d34cfb-9c90-45ea-ab00-3b1c63be7e3e","savedPayload":{"position":{"x":25990.319729069146,"y":14980.335429456383},"targetPosition":{"x":26362.886530346976,"y":15678.82609409939},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}},{"type":"Data Dependency","name":"Volumes Multi-Period-Daily","id":"d862e656-0d28-419d-b823-a2f6a53c345d","savedPayload":{"position":{"x":26471.59194208846,"y":14894.639798618122},"targetPosition":{"x":26362.886530346976,"y":15678.82609409939},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"2e683057-f911-4105-bc77-16f2706d1915"}}},{"type":"Data Dependency","name":"Volumes Multi-Period-Market","id":"380364b6-432e-4180-acd5-e0717e537a6d","savedPayload":{"position":{"x":26923.298213585123,"y":15159.041796983229},"targetPosition":{"x":26362.886530346976,"y":15678.82609409939},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"9bf0483c-4825-4a46-9cf4-1b5262579fc1"}}}],"dataDependencyFolders":[],"id":"92288525-ca69-402d-aee1-1afa73239fd2","savedPayload":{"position":{"x":26362.886530346976,"y":15678.82609409939},"targetPosition":{"x":26501.48515113557,"y":16458.11245820958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Data Dependencies","name":"Bollinger Bands","dataDependencies":[{"type":"Data Dependency","name":"Bollinger Bands Multi-Period-Market","id":"3a0282dd-a3ec-4bdb-8322-9041713be0e5","savedPayload":{"position":{"x":26223.435118851536,"y":15075.18971954534},"targetPosition":{"x":26714.579890343943,"y":15695.890301012998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"f5b2a7d8-fc32-44a3-a002-9b0fc30a9719"}}},{"type":"Data Dependency","name":"Bollinger Bands Multi-Period-Daily","id":"f138c7bc-cae8-4846-ad94-19e3a76b7a85","savedPayload":{"position":{"x":26682.167717030297,"y":14904.688520605114},"targetPosition":{"x":26714.579890343943,"y":15695.890301012998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"506104fa-e99a-4a46-930e-176bce311aff"}}},{"type":"Data Dependency","name":"Percentage Bandwidth Multi-Period-Market","id":"b92d505b-4ec9-463e-91c4-7e6ce58774af","savedPayload":{"position":{"x":27135.35437635079,"y":15003.884724650945},"targetPosition":{"x":26714.579890343943,"y":15695.890301012998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"207e9481-0730-4304-a938-cfe223d70856"}}},{"type":"Data Dependency","name":"Percentage Bandwidth Multi-Period-Daily","id":"f26dc7e7-d620-44cd-a0c4-5b093a874383","savedPayload":{"position":{"x":27482.077301586578,"y":15443.998833895408},"targetPosition":{"x":26714.579890343943,"y":15695.890301012998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"e60d62dd-87f7-4f2d-ac21-3ac5c30a50ea"}}}],"dataDependencyFolders":[],"id":"b8ee9fff-7f1d-467f-a406-de48c567dc2d","savedPayload":{"position":{"x":26714.579890343943,"y":15695.890301012998},"targetPosition":{"x":26501.48515113557,"y":16458.11245820958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Data Dependencies","name":"Bollinger Channels","dataDependencies":[{"type":"Data Dependency","name":"Bollinger Channels Objects Market","id":"9a1ec3f1-4078-4c2d-b8a3-6d2e12b6da7a","savedPayload":{"position":{"x":26644.97951931022,"y":15169.38026968951},"targetPosition":{"x":27024.408018066602,"y":15864.05677112932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Market","id":"610cd062-ab88-4892-b711-0fb430305c61"}}},{"type":"Data Dependency","name":"Bollinger Channels Objects Daily","id":"4847bbe5-0473-4371-9187-cf419e7af474","savedPayload":{"position":{"x":26894.123985452305,"y":15031.022914288264},"targetPosition":{"x":27024.408018066602,"y":15864.05677112932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Daily","id":"64910fea-c92a-4a55-850a-aa62d98b478e"}}},{"type":"Data Dependency","name":"Bollinger Channels Market","id":"6f124627-e05d-4f0a-9c12-82b028761ea3","savedPayload":{"position":{"x":27198.04877078851,"y":15120.510470662875},"targetPosition":{"x":27024.408018066602,"y":15864.05677112932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Market","id":"22c1f2c6-3838-4657-add8-2e01d7056917"}}},{"type":"Data Dependency","name":"Bollinger Channels Daily","id":"2760ac23-8bd5-446c-a2cc-9f4b4f4ea445","savedPayload":{"position":{"x":27436.48136491204,"y":15187.640087282402},"targetPosition":{"x":27024.408018066602,"y":15864.05677112932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Daily","id":"96b4e65b-e6db-44a0-80a5-ceb9d68a09ec"}}},{"type":"Data Dependency","name":"Bollinger Sub-Channels Objects Market","id":"ccdada27-44fa-4ab4-a4b6-50a44ee033ab","savedPayload":{"position":{"x":27643.046527233615,"y":15369.50519936673},"targetPosition":{"x":27024.408018066602,"y":15864.05677112932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Market","id":"869f615e-0cc0-44fd-8648-4a951c23a410"}}},{"type":"Data Dependency","name":"Bollinger Sub-Channels Objects Daily","id":"b258b441-5faa-44fc-a4a9-a5f0c82019ac","savedPayload":{"position":{"x":27740.00547526291,"y":15598.391118355114},"targetPosition":{"x":27024.408018066602,"y":15864.05677112932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Daily","id":"029479ae-275d-4854-ad3e-66948656a053"}}},{"type":"Data Dependency","name":"Bollinger Sub-Channels Market","id":"5218700f-23c5-4bd3-a515-b03078b8effc","savedPayload":{"position":{"x":27867.749163499997,"y":15889.330797593917},"targetPosition":{"x":27024.408018066602,"y":15864.05677112932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Market","id":"f8d44a4d-3771-4a71-97ca-dc604ff565d3"}}},{"type":"Data Dependency","name":"Bollinger Sub-Channels Daily","id":"dac7bf00-ba56-4110-beaa-20ed78c16962","savedPayload":{"position":{"x":27761.581208913827,"y":16152.284275338778},"targetPosition":{"x":27024.408018066602,"y":15864.05677112932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Daily","id":"ca71e765-0f66-4b18-b500-847b9d16169b"}}}],"dataDependencyFolders":[],"id":"1925ef86-2788-40fc-9992-a35f1efade7e","savedPayload":{"position":{"x":27024.408018066602,"y":15864.05677112932},"targetPosition":{"x":26501.48515113557,"y":16458.11245820958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Data Dependencies","name":"Candle Channels","dataDependencies":[{"type":"Data Dependency","name":"Candles Channels Multi-Period-Market","id":"5494fd70-5582-4d30-850a-845e2ce401fd","savedPayload":{"position":{"x":27383.810266766217,"y":15355.861819166363},"targetPosition":{"x":27230.504050586453,"y":16150.0571687371},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"df7d1cd7-95b0-499c-b51a-772c3fb8a2b0"}}},{"type":"Data Dependency","name":"Candles Channels Multi-Period-Daily","id":"ad5e0919-c7a7-40b6-b7b7-f6938d7eb29a","savedPayload":{"position":{"x":27863.387037444325,"y":15643.96671879393},"targetPosition":{"x":27230.504050586453,"y":16150.0571687371},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"07734f1c-e2e7-4a35-8567-6a996c68883e"}}},{"type":"Data Dependency","name":"Candles Channels Objects Multi-Period-Market","id":"b0740f97-29dc-40f8-8c2f-5e6716588c80","savedPayload":{"position":{"x":28019.420612573736,"y":16082.128322313332},"targetPosition":{"x":27230.504050586453,"y":16150.0571687371},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"566b9df4-da86-4b4f-a3f4-ef8a76443714"}}},{"type":"Data Dependency","name":"Candles Channels Objects Multi-Period-Daily","id":"7290cf5f-7567-43d0-89d2-9109edaef04e","savedPayload":{"position":{"x":27908.46516332193,"y":16558.491454684445},"targetPosition":{"x":27230.504050586453,"y":16150.0571687371},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"8a7d224b-7571-4e1a-8b8f-8a35aa25dc63"}}}],"dataDependencyFolders":[],"id":"f5360013-8f94-41b3-a83e-ac2c0b2a97ec","savedPayload":{"position":{"x":27230.504050586453,"y":16150.0571687371},"targetPosition":{"x":26501.48515113557,"y":16458.11245820958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Data Dependencies","name":"Resistances and Supports","dataDependencies":[{"type":"Data Dependency","name":"Resistances Multi-Period-Market","id":"2ea76fe4-e558-42c3-a585-0a7f62919d9c","savedPayload":{"position":{"x":27736.019063741274,"y":15873.214639215905},"targetPosition":{"x":27292.067586100067,"y":16496.794314231138},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"44e905fc-719f-453b-a567-fd5e3bfcae91"}}},{"type":"Data Dependency","name":"Resistances Multi-Period-Daily","id":"ca014a95-b889-41b6-a583-481ffe3ccee9","savedPayload":{"position":{"x":28056.090653621814,"y":16289.484451757133},"targetPosition":{"x":27292.067586100067,"y":16496.794314231138},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"f4530d48-3239-4ab0-8c4d-d611cd55fde3"}}},{"type":"Data Dependency","name":"Supports Multi-Period-Market","id":"340685b9-17a7-4f0f-b320-cad978a4b8aa","savedPayload":{"position":{"x":28032.146229588863,"y":16777.75263792533},"targetPosition":{"x":27292.067586100067,"y":16496.794314231138},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"4a1bd251-76ed-4530-8723-08e41d50f12d"}}},{"type":"Data Dependency","name":"Supports Multi-Period-Daily","id":"b2b174d9-3c43-48ef-8e06-1c8f96dc3aa1","savedPayload":{"position":{"x":27725.613093841534,"y":17158.93933506632},"targetPosition":{"x":27292.067586100067,"y":16496.794314231138},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"deaaf4ec-9352-40b6-af9a-8541a73a5e13"}}}],"dataDependencyFolders":[],"id":"f2774cd7-2df5-4c23-9742-db94eb537243","savedPayload":{"position":{"x":27292.067586100067,"y":16496.794314231138},"targetPosition":{"x":26501.48515113557,"y":16458.11245820958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"628b94b8-50f3-4688-a7af-b8dbfab93446","savedPayload":{"position":{"x":26054.926733069708,"y":17489.827692108},"targetPosition":{"x":25850.24104440959,"y":17866.815604570074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Masters","id":"35be7b1c-a0f7-4b5f-9ee1-8fb51595e959"}}},{"type":"Data Mine Data Dependencies","name":"","botDataDependencies":[{"type":"Bot Data Dependencies","name":"Candle Patterns","dataDependencies":[{"type":"Data Dependency","name":"","id":"304a90a4-5021-473e-8710-436a4d965575","savedPayload":{"position":{"x":27096.481753413653,"y":15409.010031577196},"targetPosition":{"x":27354.121936835185,"y":16157.246817135152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"07be5b9b-e8fd-49fc-ab77-20f89fdea10f"}}},{"type":"Data Dependency","name":"","id":"4014d025-222b-44a1-b2d5-2d64c7e46e22","savedPayload":{"position":{"x":27367.75732874827,"y":15365.973885069256},"targetPosition":{"x":27354.121936835185,"y":16157.246817135152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"9e6d7f95-b2fe-466e-9a5d-175479cbf85d"}}},{"type":"Data Dependency","name":"","id":"ca9f4a4a-180a-4c4a-bf6e-8a790ab02681","savedPayload":{"position":{"x":27637.586395941595,"y":15418.392863927502},"targetPosition":{"x":27354.121936835185,"y":16157.246817135152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"144d8665-1ff0-4db3-9340-a33fd7d0d098"}}},{"type":"Data Dependency","name":"","id":"690ad4e8-dbb6-4ac7-85ef-967dc0e38905","savedPayload":{"position":{"x":27873.278069845408,"y":15559.975171451008},"targetPosition":{"x":27354.121936835185,"y":16157.246817135152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"f0a11771-dd69-4b9a-9347-7cb2d1f231ff"}}},{"type":"Data Dependency","name":"","id":"a480e4d4-4504-4749-a97f-ac6817ca5845","savedPayload":{"position":{"x":28046.30451640207,"y":15773.67708843774},"targetPosition":{"x":27354.121936835185,"y":16157.246817135152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"8c35ce52-9dee-4d20-92e6-50ba7fd2882b"}}},{"type":"Data Dependency","name":"","id":"c8ef98e2-e24c-4678-80f0-e035cf5d3ee7","savedPayload":{"position":{"x":28135.76330462341,"y":16033.518107640355},"targetPosition":{"x":27354.121936835185,"y":16157.246817135152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"4f1260c8-6d74-454e-963a-fa3ff910329c"}}},{"type":"Data Dependency","name":"","id":"62b8ecf5-0299-4c6c-a082-bbfd042f30a7","savedPayload":{"position":{"x":28130.952514505974,"y":16308.106219318837},"targetPosition":{"x":27354.121936835185,"y":16157.246817135152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"087fc67e-78f9-4204-ba5e-8b670566a716"}}},{"type":"Data Dependency","name":"","id":"2a8b96b1-0788-45ed-879a-dce6268e9ee3","savedPayload":{"position":{"x":28032.34441652272,"y":16564.835125728598},"targetPosition":{"x":27354.121936835185,"y":16157.246817135152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"b60cb94f-79c5-410c-b166-abc97d0f2bc3"}}}],"dataDependencyFolders":[],"id":"8ad5d255-7eec-4d16-8781-b4ce8e2d812c","savedPayload":{"position":{"x":27354.121936835185,"y":16157.246817135152},"targetPosition":{"x":26739.277299275745,"y":16655.15740768382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"667b86ed-6a99-4860-9851-ad7f3647e674","savedPayload":{"position":{"x":26183.861782382715,"y":17596.638448892892},"targetPosition":{"x":25850.24104440959,"y":17866.815604570074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Buddha","id":"38d04c99-51a6-4c1c-853e-ba67e216854b"}}},{"type":"Data Mine Data Dependencies","name":"","botDataDependencies":[{"type":"Bot Data Dependencies","name":"ATR","dataDependencies":[{"type":"Data Dependency","name":"","id":"17492ab8-20ea-4673-9d44-afbd27e181c3","savedPayload":{"position":{"x":26263.673156747165,"y":17019.554540269783},"targetPosition":{"x":26434.21484041836,"y":17377.666618280244},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"67695466-be2d-43b4-9824-83baa7a08412"}}},{"type":"Data Dependency","name":"","id":"58813e17-587f-466c-a01c-90ea7885110b","savedPayload":{"position":{"x":26506.319008515715,"y":16987.46147146655},"targetPosition":{"x":26434.21484041836,"y":17377.666618280244},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"e3d0bccf-5f97-4902-92df-4ac8fe8c41a8"}}},{"type":"Data Dependency","name":"","id":"bc9a6338-6784-401e-a87b-f270eb7ea16e","savedPayload":{"position":{"x":26721.69380992814,"y":17104.198957119774},"targetPosition":{"x":26434.21484041836,"y":17377.666618280244},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"2570d2c7-72e3-4131-97dc-a9f97f493e93"}}},{"type":"Data Dependency","name":"","id":"43c9d3e8-6bc8-4d3a-a000-03e15239b93a","savedPayload":{"position":{"x":26787.09871609576,"y":17342.774828105754},"targetPosition":{"x":26434.21484041836,"y":17377.666618280244},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"93eb665f-d903-4825-9fb1-2783e917ac89"}}}],"dataDependencyFolders":[],"id":"b35e8718-e59c-452d-9fdf-ef96e567b345","savedPayload":{"position":{"x":26434.21484041836,"y":17377.666618280244},"targetPosition":{"x":26229.807982139762,"y":17754.85909481835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Data Dependencies","name":"ROC","dataDependencies":[{"type":"Data Dependency","name":"","id":"5fa7b431-3b8a-47b1-9315-e6175da4a0cd","savedPayload":{"position":{"x":26704.691568051443,"y":17241.489235360586},"targetPosition":{"x":26641.02127208155,"y":17633.22952885883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"40268fec-e5e8-4b05-9f27-c4072ebda94a"}}},{"type":"Data Dependency","name":"","id":"33bc5b70-b3b2-4285-b31c-4fe87feadb7c","savedPayload":{"position":{"x":26908.82349892525,"y":17290.99137097947},"targetPosition":{"x":26641.02127208155,"y":17633.22952885883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"cb60d68b-b11d-4317-8830-65c212a8c728"}}},{"type":"Data Dependency","name":"","id":"22455f68-3172-47f5-9566-b47f28eed3d5","savedPayload":{"position":{"x":26987.44928240548,"y":17438.819308899383},"targetPosition":{"x":26641.02127208155,"y":17633.22952885883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"41a488be-c66c-458d-99fc-490b9e8172ef"}}},{"type":"Data Dependency","name":"","id":"f953063f-c6e6-4942-8b91-f3a1d6ff2b3c","savedPayload":{"position":{"x":27037.427063532086,"y":17607.98179166625},"targetPosition":{"x":26641.02127208155,"y":17633.22952885883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"30276899-0d68-40e3-9c35-a28442485b55"}}},{"type":"Data Dependency","name":"","id":"d289285b-36cb-4501-89ee-db891fe4a95a","savedPayload":{"position":{"x":27009.122368144377,"y":17781.594843992498},"targetPosition":{"x":26641.02127208155,"y":17633.22952885883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"9c6b7d85-01f5-449c-a5be-9a357b6588bc"}}},{"type":"Data Dependency","name":"","id":"1053543e-b47a-4d21-8507-4376e7b3759a","savedPayload":{"position":{"x":26891.31315302044,"y":17922.825622831147},"targetPosition":{"x":26641.02127208155,"y":17633.22952885883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"66f59b6d-9d4b-4cef-9ffd-aed019219809"}}}],"dataDependencyFolders":[],"id":"6bdb8bf8-c354-48e6-9362-e0c4e02d7b31","savedPayload":{"position":{"x":26641.02127208155,"y":17633.22952885883},"targetPosition":{"x":26229.807982139762,"y":17754.85909481835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Data Dependencies","name":"Stochastic","dataDependencies":[{"type":"Data Dependency","name":"","id":"8597e485-07b6-44ad-86e7-73905afd5764","savedPayload":{"position":{"x":27019.849583302243,"y":17954.198785416633},"targetPosition":{"x":26606.75241231968,"y":17959.691526474246},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"88b1ff0e-ad99-474c-8833-7b76a5a57ebd"}}},{"type":"Data Dependency","name":"","id":"d3aaba75-bd12-475b-9c0b-423d4318cf29","savedPayload":{"position":{"x":26814.17992407181,"y":18297.82848644475},"targetPosition":{"x":26606.75241231968,"y":17959.691526474246},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"4b941e0d-8b0a-41e2-bc20-54e0bc0d936a"}}}],"dataDependencyFolders":[],"id":"e60319a6-7fa3-4cc2-bd57-0df4cf80dc93","savedPayload":{"position":{"x":26606.75241231968,"y":17959.691526474246},"targetPosition":{"x":26229.807982139762,"y":17754.85909481835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"949ddd26-19b4-4281-9a5c-815af6f34475","savedPayload":{"position":{"x":26261.685501694825,"y":17745.101827500337},"targetPosition":{"x":25850.24104440959,"y":17866.815604570074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Alpha","id":"511bef1e-62d8-4ff9-8d87-15bd0d3d630c"}}}],"id":"5175cccd-58ed-40d8-8e0d-1a234d7460eb","savedPayload":{"position":{"x":26022.64311754382,"y":17946.36534543879},"targetPosition":{"x":25973.69617811368,"y":18411.53574561446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},"statusReport":{"type":"Status Report","name":"New Status Report","id":"a8577e6c-9afc-4c9e-87ef-ee38531de864","savedPayload":{"position":{"x":26248.48395634959,"y":18033.195510312507},"targetPosition":{"x":25973.69617811368,"y":18411.53574561446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","id":"a47d063a-c7b9-40d9-8d77-26cead472b6c","savedPayload":{"position":{"x":26401.28519188106,"y":18221.247146206697},"targetPosition":{"x":25973.69617811368,"y":18411.53574561446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"dd185847-d39a-4501-8863-f906716b5f79","savedPayload":{"position":{"x":26439.381261978775,"y":18460.08595015498},"targetPosition":{"x":25973.69617811368,"y":18411.53574561446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a8c8d761-96e5-4a86-9285-6c3881d61442","savedPayload":{"position":{"x":25655.7207675982,"y":18350.835398328516},"targetPosition":{"x":25391.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"products":[],"productDefinitionFolders":[{"type":"Product Definition Folder","name":"Trading Engine","products":[],"productDefinitionFolders":[{"type":"Product Definition Folder","name":"Episode","products":[{"type":"Product Definition","name":"Episode Counters","config":"{\n \"codeName\": \"Episode-Counters\",\n \"singularVariableName\": \"episodeCounter\",\n \"pluralVariableName\": \"episodeCounters\",\n \"nodePath\": \"tradingEngine.current.episode.episodeCounters\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"3ed03a02-381d-43fe-9faa-761728c53bd8","savedPayload":{"position":{"x":27300.40289014792,"y":15335.443074591298},"targetPosition":{"x":27585.760253576595,"y":16453.06457855014},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"15f5b150-f1cf-403c-8cb9-2c7c4e1db8e8","savedPayload":{"position":{"x":27749.53852271553,"y":15311.257900522345},"targetPosition":{"x":27585.760253576595,"y":16453.06457855014},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"f0032eaa-4b31-4e39-84c1-5e5957f21ba9","savedPayload":{"position":{"x":27444.30973941882,"y":14569.740331324074},"targetPosition":{"x":28174.307400436843,"y":15461.067681067136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"baf72135-2aa6-4be6-b673-09151eeea3e6","savedPayload":{"position":{"x":27793.27155785582,"y":14373.776657191493},"targetPosition":{"x":28174.307400436843,"y":15461.067681067136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{\n \"codeName\": \"periods\",\n \"isString\": false\n}","id":"4274f7bf-7f70-4775-8d30-fc56153f70fc","savedPayload":{"position":{"x":28187.8799046362,"y":14308.993378692861},"targetPosition":{"x":28174.307400436843,"y":15461.067681067136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Strategies","config":"{\n \"codeName\": \"strategies\",\n \"isString\": false\n}","id":"10f5cc85-e009-4feb-9eba-8997ccc46ba5","savedPayload":{"position":{"x":28581.109620821175,"y":14383.173250433367},"targetPosition":{"x":28174.307400436843,"y":15461.067681067136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Positions","config":"{\n \"codeName\": \"positions\",\n \"isString\": false\n}","id":"d3aaaeb9-d602-4188-a594-372d67545aed","savedPayload":{"position":{"x":28925.26176489008,"y":14587.367549238055},"targetPosition":{"x":28174.307400436843,"y":15461.067681067136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Orders","config":"{\n \"codeName\": \"orders\",\n \"isString\": false\n}","id":"2be38b73-1ea0-4e08-ae4a-9caaa44e486f","savedPayload":{"position":{"x":29178.821839588723,"y":14896.949933564554},"targetPosition":{"x":28174.307400436843,"y":15461.067681067136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hits","config":"{\n \"codeName\": \"hits\",\n \"isString\": false\n}","id":"bb822003-abbb-4748-8d18-02c67a33e24f","savedPayload":{"position":{"x":29311.20735022961,"y":15274.583349848217},"targetPosition":{"x":28174.307400436843,"y":15461.067681067136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fails","config":"{\n \"codeName\": \"fails\",\n \"isString\": false\n}","id":"e114274f-a7ba-47e4-b0d3-710b5bd7fcd9","savedPayload":{"position":{"x":29306.438697708312,"y":15674.447943694395},"targetPosition":{"x":28174.307400436843,"y":15461.067681067136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"72e8a046-c0a4-4402-b1b9-c6a65b759515","savedPayload":{"position":{"x":28174.307400436843,"y":15461.067681067136},"targetPosition":{"x":27585.760253576595,"y":16453.06457855014},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"d81c6019-864e-42f5-94ba-2f249b865f85","savedPayload":{"position":{"x":26342.980691530996,"y":17609.14523712234},"targetPosition":{"x":26867.82802316455,"y":17936.959577435533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Episode Counters","id":"5e478e3f-e432-4364-8f2c-2f3b2849848b"}}},{"type":"Product Definition","name":"Episode Statistics","config":"{\n \"codeName\": \"Episode-Statistics\",\n \"singularVariableName\": \"episodeStatistics\",\n \"pluralVariableName\": \"episodeStatistics\",\n \"nodePath\": \"tradingEngine.current.episode.episodeStatistics\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"fc9dc0f7-35e0-4548-bb91-f920825d694f","savedPayload":{"position":{"x":27541.66408537121,"y":15349.41614211805},"targetPosition":{"x":27746.575741021017,"y":16484.505599788292},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"91953362-8751-4440-a898-21245cd47c15","savedPayload":{"position":{"x":27991.31583213671,"y":15357.33487384094},"targetPosition":{"x":27746.575741021017,"y":16484.505599788292},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"8a268555-b786-4756-9e5c-7a190c3ae37e","savedPayload":{"position":{"x":27681.434883647897,"y":14640.050448146907},"targetPosition":{"x":28404.32777615676,"y":15537.115096350753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"ef14e964-9f33-4b53-bf44-bd81c386319d","savedPayload":{"position":{"x":27963.548190650312,"y":14472.670587410887},"targetPosition":{"x":28404.32777615676,"y":15537.115096350753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss","config":"{\n \"codeName\": \"profitLoss\",\n \"isString\": false\n}","id":"360e05d7-340f-4975-93f2-b15835e975d2","savedPayload":{"position":{"x":28281.25345547369,"y":14391.577134069588},"targetPosition":{"x":28404.32777615676,"y":15537.115096350753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Days","config":"{\n \"codeName\": \"days\",\n \"isString\": false,\n \"decimals\": 2\n}","id":"72167f7d-b29e-4f27-a68c-4a3fa3d7c321","savedPayload":{"position":{"x":28608.7982124716,"y":14403.29273922377},"targetPosition":{"x":28404.32777615676,"y":15537.115096350753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI","config":"{\n \"codeName\": \"ROI\",\n \"isString\": false,\n \"decimals\": 2\n}","id":"2e89519e-eab5-4656-ade5-3a18eb1cf07f","savedPayload":{"position":{"x":28919.914167958425,"y":14506.844886032231},"targetPosition":{"x":28404.32777615676,"y":15537.115096350753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Annualized Rate Of Return","config":"{ \n\"codeName\": \"annualizedRateOfReturn\",\n\"isString\": false,\n\"isCalculated\": false,\n \"decimals\": 2\n}","id":"9177857b-5e67-4e42-a874-b0e1633ad45d","savedPayload":{"position":{"x":29189.310999316556,"y":14693.879839045254},"targetPosition":{"x":28404.32777615676,"y":15537.115096350753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail","config":"{\n \"codeName\": \"hitFail\",\n \"isString\": true\n}","id":"81ebbfbf-23c5-4156-b1b4-0f0f35dc1d03","savedPayload":{"position":{"x":29395.103010204355,"y":14949.237046753768},"targetPosition":{"x":28404.32777615676,"y":15537.115096350753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"8356215e-6e31-45d0-bd78-ba080d2258de","savedPayload":{"position":{"x":29520.61532315551,"y":15252.228245945837},"targetPosition":{"x":28404.32777615676,"y":15537.115096350753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"59b47d20-5679-4889-8c1f-7853aa68f4a0","savedPayload":{"position":{"x":29555.677361704835,"y":15578.006054623575},"targetPosition":{"x":28404.32777615676,"y":15537.115096350753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"df7dbe99-16e8-42ad-9c8b-5acdf3b63f05","savedPayload":{"position":{"x":29497.4228024413,"y":15900.803829573548},"targetPosition":{"x":28404.32777615676,"y":15537.115096350753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c0f124f4-1e7d-4d06-94fd-b547257b4061","savedPayload":{"position":{"x":28404.32777615676,"y":15537.115096350753},"targetPosition":{"x":27746.575741021017,"y":16484.505599788292},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"400c7f49-37da-41fb-b83d-879960aa74ff","savedPayload":{"position":{"x":26487.05907987193,"y":17449.56191269022},"targetPosition":{"x":26867.82802316455,"y":17936.959577435533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Episode Statistics","id":"6ce18a43-2e6a-452e-a72d-1c56a58d3f81"}}},{"type":"Product Definition","name":"Episode Candle","config":"{\n \"codeName\": \"Episode-Candle\",\n \"singularVariableName\": \"episodeCandle\",\n \"pluralVariableName\": \"episodeCandles\",\n \"nodePath\": \"tradingEngine.current.episode.candle\",\n \"saveAtCycle\": \"Second\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"17fb41f5-61b5-4433-9a10-950ff8216a7e","savedPayload":{"position":{"x":27120.82771674843,"y":16488.505291249458},"targetPosition":{"x":27121.618228470954,"y":17274.83787109595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"bbc9467d-28bf-432b-9e49-582d1bcabfb9","savedPayload":{"position":{"x":27421.576620260028,"y":16548.07902241822},"targetPosition":{"x":27121.618228470954,"y":17274.83787109595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.candle\"\n}","id":"9ffe3183-b249-41b6-8e57-56b5d5023376","savedPayload":{"position":{"x":27356.391777049612,"y":15980.931516561252},"targetPosition":{"x":27656.71836750089,"y":16706.626516041088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.candle\"\n}","id":"b7b61cc0-b94d-40cb-abe1-047463675f5b","savedPayload":{"position":{"x":27657.01629856184,"y":15921.078307077458},"targetPosition":{"x":27656.71836750089,"y":16706.626516041088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Open","config":"{\n \"codeName\": \"open\",\n \"isString\": false\n}","id":"f93f3ac6-8420-401c-9921-2229d02f5832","savedPayload":{"position":{"x":27957.368816338374,"y":15980.72966928478},"targetPosition":{"x":27656.71836750089,"y":16706.626516041088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Close","config":"{\n \"codeName\": \"close\",\n \"isString\": false\n}","id":"86935367-3d64-4ad2-8171-be1368ca0a8d","savedPayload":{"position":{"x":28212.302900833296,"y":16150.510956477476},"targetPosition":{"x":27656.71836750089,"y":16706.626516041088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Min","config":"{\n \"codeName\": \"min\",\n \"isString\": false\n}","id":"e5bad869-4386-48a6-b434-36253eaf7f48","savedPayload":{"position":{"x":28361.885051463774,"y":16434.0180221974},"targetPosition":{"x":27656.71836750089,"y":16706.626516041088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Max","config":"{\n \"codeName\": \"max\",\n \"isString\": false\n}","id":"9c960e9d-7d1f-440b-9e5a-76e81f5a8e29","savedPayload":{"position":{"x":28442.600621762664,"y":16706.595715192576},"targetPosition":{"x":27656.71836750089,"y":16706.626516041088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Index","config":"{ \n\"codeName\": \"index\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"67d251d5-a236-42e7-8b34-4a5276e64d25","savedPayload":{"position":{"x":28383.323059190385,"y":17006.82616658312},"targetPosition":{"x":27656.71836750089,"y":16706.626516041088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d52a6d09-8b78-49db-a525-48a82991fcbc","savedPayload":{"position":{"x":27656.71836750089,"y":16706.626516041088},"targetPosition":{"x":27121.618228470954,"y":17274.83787109595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"b9a58113-cf27-4d57-9810-87a2cc158804","savedPayload":{"position":{"x":26676.698679980564,"y":17348.48402615499},"targetPosition":{"x":26867.82802316455,"y":17936.959577435533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Current Candle","id":"31789d43-d608-4eeb-a3ff-338a99074045"}}},{"type":"Product Definition","name":"Episode Balances","config":"{\n \"codeName\": \"Episode-Balances\",\n \"singularVariableName\": \"episodeBalance\",\n \"pluralVariableName\": \"episodeBalances\",\n \"nodePath\": \"tradingEngine.current.episode\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"acddff59-b51b-4b45-b58f-71d4077755ee","savedPayload":{"position":{"x":28020.994317510995,"y":15421.996222457128},"targetPosition":{"x":28062.221341901,"y":16574.689050008143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"213b8fe8-f772-41ea-a3f5-97867be555f7","savedPayload":{"position":{"x":28464.941990695716,"y":15493.898400087128},"targetPosition":{"x":28062.221341901,"y":16574.689050008143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"c9e3558a-d9e9-4466-97fb-c0e9ec3752c1","savedPayload":{"position":{"x":28324.231646292614,"y":14704.573393894158},"targetPosition":{"x":28848.11746606735,"y":15730.56839167112},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"bfb43790-48a8-4437-a191-9f4c396504fb","savedPayload":{"position":{"x":28707.004128445464,"y":14587.186543865724},"targetPosition":{"x":28848.11746606735,"y":15730.56839167112},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Balance Base Asset","config":"{ \n\"codeName\": \"balanceBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\",\n \"childProperty\": \"balance\",\n \"decimals\": 10\n}","id":"7658d8bf-a4e0-490e-a3ae-df3bef72e491","savedPayload":{"position":{"x":29106.395371119845,"y":14607.876884576965},"targetPosition":{"x":28848.11746606735,"y":15730.56839167112},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Balance Quoted Asset","config":"{ \n\"codeName\": \"balanceQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\",\n \"childProperty\": \"balance\",\n \"decimals\": 10\n}","id":"1f5cf49c-7040-4cee-b525-83810013a4fb","savedPayload":{"position":{"x":29474.709681096014,"y":14763.927221314263},"targetPosition":{"x":28848.11746606735,"y":15730.56839167112},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Balance Base Asset","config":"{ \n\"codeName\": \"beginBalanceBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\",\n \"childProperty\": \"beginBalance\",\n \"decimals\": 10\n}","id":"b2e41c55-b66c-4895-b2a8-82b9cf53bfa1","savedPayload":{"position":{"x":29767.55509761326,"y":15036.576607642482},"targetPosition":{"x":28848.11746606735,"y":15730.56839167112},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Balance Quoted Asset","config":"{ \n\"codeName\": \"beginBalanceQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\",\n \"childProperty\": \"beginBalance\",\n \"decimals\": 10\n}","id":"121b09db-2f3d-43c9-a271-e716a66f019b","savedPayload":{"position":{"x":29949.487646784946,"y":15392.942881928066},"targetPosition":{"x":28848.11746606735,"y":15730.56839167112},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Balance Base Asset","config":"{ \n\"codeName\": \"endBalanceBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\",\n \"childProperty\": \"endBalance\",\n \"decimals\": 10\n}","id":"14f17c26-2832-4aa6-b39f-05acc8c3626f","savedPayload":{"position":{"x":29998.57086972508,"y":15789.730682300162},"targetPosition":{"x":28848.11746606735,"y":15730.56839167112},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Balance Quoted Asset","config":"{ \n\"codeName\": \"endBalanceQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\",\n \"childProperty\": \"endBalance\",\n \"decimals\": 10\n}","id":"b8d553ad-2dfb-4db7-b858-b086daeee2a6","savedPayload":{"position":{"x":29908.86132593459,"y":16179.681556954942},"targetPosition":{"x":28848.11746606735,"y":15730.56839167112},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0755daf6-8847-48c4-9013-394ddb96a89b","savedPayload":{"position":{"x":28848.11746606735,"y":15730.56839167112},"targetPosition":{"x":28062.221341901,"y":16574.689050008143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"a9a53d82-133b-4417-b639-f9a56d338233","savedPayload":{"position":{"x":26889.342090391037,"y":17318.43941419161},"targetPosition":{"x":26867.82802316455,"y":17936.959577435533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Episode Balances","id":"e5d9e3e1-d1f4-4493-b452-33fe49c81228"}}},{"type":"Product Definition","name":"Distance To Event","config":"{\n \"codeName\": \"Distance-To-Event\",\n \"singularVariableName\": \"distanceToEvent\",\n \"pluralVariableName\": \"distanceToEvents\",\n \"nodePath\": \"tradingEngine.current.episode.distanceToEvent\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"0ef6aa1d-3345-40f8-bc4f-4d2e2ff199ff","savedPayload":{"position":{"x":28254.82052076284,"y":15484.882496418739},"targetPosition":{"x":28214.052149327243,"y":16637.59887107894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"c291211b-4012-4440-a302-8e15412b0990","savedPayload":{"position":{"x":28692.784024958244,"y":15588.251904828881},"targetPosition":{"x":28214.052149327243,"y":16637.59887107894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"0235ad32-fd46-41eb-b875-ae81f3ce48c5","savedPayload":{"position":{"x":28518.129547122615,"y":14834.065580303386},"targetPosition":{"x":29058.177200648992,"y":15851.68444622925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"9d6c01fa-af2b-4d51-9aa4-f169c53e63b3","savedPayload":{"position":{"x":28800.02555237096,"y":14728.909490103391},"targetPosition":{"x":29058.177200648992,"y":15851.68444622925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Trigger On","config":"{ \n\"codeName\": \"triggerOn\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"7e17fb3f-495f-49c5-9b41-6869155b99fc","savedPayload":{"position":{"x":29099.22798799504,"y":14700.327847735296},"targetPosition":{"x":29058.177200648992,"y":15851.68444622925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Trigger Off","config":"{ \n\"codeName\": \"triggerOff\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"9de32719-925a-4796-b562-379323cb4d82","savedPayload":{"position":{"x":29395.796804780453,"y":14750.219727593221},"targetPosition":{"x":29058.177200648992,"y":15851.68444622925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Take Position","config":"{ \n\"codeName\": \"takePosition\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"e4276497-b218-4b18-b089-70fcc5806fa3","savedPayload":{"position":{"x":29669.39056860164,"y":14875.171227753346},"targetPosition":{"x":29058.177200648992,"y":15851.68444622925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Close Position","config":"{ \n\"codeName\": \"closePosition\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"4793082b-ddc8-4246-bb0e-c7f6340da600","savedPayload":{"position":{"x":29901.325158905744,"y":15066.67304337852},"targetPosition":{"x":29058.177200648992,"y":15851.68444622925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Next Phase","config":"{ \n\"codeName\": \"nextPhase\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"0ada00bc-9398-47a0-9659-63b0838b81d7","savedPayload":{"position":{"x":30075.79402655084,"y":15311.676746432187},"targetPosition":{"x":29058.177200648992,"y":15851.68444622925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Move To Phase","config":"{ \n\"codeName\": \"moveToPhase\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"9020e64b-d301-49f6-bc6c-cb8086730b19","savedPayload":{"position":{"x":30180.90674330942,"y":15593.48909727978},"targetPosition":{"x":29058.177200648992,"y":15851.68444622925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Create Order","config":"{ \n\"codeName\": \"createOrder\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"906c1925-caab-4db6-8fec-06845a13fd0a","savedPayload":{"position":{"x":30209.501996259343,"y":15892.593610028978},"targetPosition":{"x":29058.177200648992,"y":15851.68444622925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Cancel Order","config":"{ \n\"codeName\": \"cancelOrder\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"e864d723-5ad5-4bbd-ad7b-0f975d480ee3","savedPayload":{"position":{"x":30159.615762215828,"y":16189.209877319612},"targetPosition":{"x":29058.177200648992,"y":15851.68444622925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Close Order","config":"{ \n\"codeName\": \"closeOrder\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"f5be374b-36e6-484c-bd78-6e126e3020fb","savedPayload":{"position":{"x":30034.623463438296,"y":16462.85809675274},"targetPosition":{"x":29058.177200648992,"y":15851.68444622925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0c3c5d0b-6072-4e57-bff9-9823e0f79b5b","savedPayload":{"position":{"x":29058.177200648992,"y":15851.68444622925},"targetPosition":{"x":28214.052149327243,"y":16637.59887107894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"8ea88d6c-7d7f-4152-b781-ea108df52c63","savedPayload":{"position":{"x":27099.615736570697,"y":17363.220028605432},"targetPosition":{"x":26867.82802316455,"y":17936.959577435533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Distance To Event","id":"56eb7de2-0281-404a-bd4d-34ac113e2325"}}},{"type":"Product Definition","name":"Episode Base Asset","config":"{\n \"codeName\": \"Episode-BaseAsset\",\n \"singularVariableName\": \"episodeBaseAsset\",\n \"pluralVariableName\": \"episodeBaseAssets\",\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"e8b67591-d484-4c08-a711-7a4418ee101a","savedPayload":{"position":{"x":29796.836325263124,"y":20987.845006100266},"targetPosition":{"x":28765.36697560849,"y":20471.84052924952},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"c6f34adc-2863-4ce6-8379-9b3cc1b37b73","savedPayload":{"position":{"x":29520.836202296246,"y":21343.29213732098},"targetPosition":{"x":28765.36697560849,"y":20471.84052924952},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"2d706d6c-f204-4209-bda6-20f6bccef1fb","savedPayload":{"position":{"x":30281.3541426663,"y":21558.13376508232},"targetPosition":{"x":29129.376282503963,"y":21566.228443141204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"45aadf3c-c609-42fc-95dd-400968a950dd","savedPayload":{"position":{"x":30227.49904550322,"y":21914.288407562126},"targetPosition":{"x":29129.376282503963,"y":21566.228443141204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hits","config":"{\n \"codeName\": \"hits\",\n \"isString\": false\n}","id":"16a724af-e57e-4e5b-9f8f-597ade0521d8","savedPayload":{"position":{"x":30066.130757865096,"y":22236.627377486406},"targetPosition":{"x":29129.376282503963,"y":21566.228443141204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fails","config":"{\n \"codeName\": \"fails\",\n \"isString\": false\n}","id":"94c63c77-f7e4-4d15-bb6c-6b49bb600b10","savedPayload":{"position":{"x":29813.059839295864,"y":22493.317680363227},"targetPosition":{"x":29129.376282503963,"y":21566.228443141204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Ratio","config":"{\n \"codeName\": \"hitRatio\",\n \"isString\": false,\n \"decimals\": 2\n}","id":"0b91b798-b30f-46f5-935b-1e4dac8dfee0","savedPayload":{"position":{"x":29493.056654813558,"y":22659.251779228212},"targetPosition":{"x":29129.376282503963,"y":21566.228443141204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI","config":"{\n \"codeName\": \"ROI\",\n \"isString\": false,\n \"decimals\": 2\n}","id":"db2cd2b2-5c5f-4eef-874a-201059d80ea0","savedPayload":{"position":{"x":29137.437301849048,"y":22718.18223236646},"targetPosition":{"x":29129.376282503963,"y":21566.228443141204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss","config":"{ \n\"codeName\": \"profitLoss\",\n\"isString\": false,\n\"isCalculated\": false,\n \"decimals\": 2\n}","id":"c4bb2bd0-02a8-47de-9fa8-c2b87776e36f","savedPayload":{"position":{"x":28781.329410885286,"y":22664.341396927965},"targetPosition":{"x":29129.376282503963,"y":21566.228443141204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Annualized Rate Of Return","config":"{ \n\"codeName\": \"annualizedRateOfReturn\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"432a1f4e-283a-4276-b436-42ef167dd9e7","savedPayload":{"position":{"x":28458.9862886423,"y":22502.998205869837},"targetPosition":{"x":29129.376282503963,"y":21566.228443141204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail","config":"{ \n\"codeName\": \"hitFail\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"08161b1c-ad52-4c01-88b1-8cd8ed077b6b","savedPayload":{"position":{"x":28202.270190360527,"y":22249.900230794774},"targetPosition":{"x":29129.376282503963,"y":21566.228443141204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e2ea652a-5508-4eef-998a-8cb0b2fac0a7","savedPayload":{"position":{"x":29129.376282503963,"y":21566.228443141204},"targetPosition":{"x":28765.36697560849,"y":20471.84052924952},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"234969ff-eab1-4d59-b6fa-79433c9a20e9","savedPayload":{"position":{"x":27281.768010358748,"y":17477.27259323605},"targetPosition":{"x":26867.82802316455,"y":17936.959577435533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Episode Base Asset","id":"a99b25e6-7aca-41a2-aacc-1911aac2ee3e"}}},{"type":"Product Definition","name":"Episode Quoted Asset","config":"{\n \"codeName\": \"Episode-QuotedAsset\",\n \"singularVariableName\": \"episodeQuotedAsset\",\n \"pluralVariableName\": \"episodeQuotedAssets\",\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"99d1f17b-92cb-4544-88a2-fe463dd1de4b","savedPayload":{"position":{"x":29629.264721214608,"y":21163.04908339905},"targetPosition":{"x":28637.225232905243,"y":20574.751974361756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"daf4e3e9-426d-44c3-8b43-6849778d972f","savedPayload":{"position":{"x":29328.59961349503,"y":21497.908179120393},"targetPosition":{"x":28637.225232905243,"y":20574.751974361756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"408f6716-f1a1-4f7f-924c-c5c0d9bb814d","savedPayload":{"position":{"x":30071.957165565265,"y":21766.061905781095},"targetPosition":{"x":28922.247458832422,"y":21692.253873817655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"b07f31ed-986d-4b45-bd05-017e3d9268bd","savedPayload":{"position":{"x":29992.795774013295,"y":22117.796851534335},"targetPosition":{"x":28922.247458832422,"y":21692.253873817655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hits","config":"{\n \"codeName\": \"hits\",\n \"isString\": false\n}","id":"709ed8fc-94d8-4f8c-977a-fa865c43a83e","savedPayload":{"position":{"x":29808.834329695223,"y":22427.817182544215},"targetPosition":{"x":28922.247458832422,"y":21692.253873817655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fails","config":"{\n \"codeName\": \"fails\",\n \"isString\": false\n}","id":"d874a492-fb07-4704-8589-73f864040da9","savedPayload":{"position":{"x":29538.08037813755,"y":22665.818579950323},"targetPosition":{"x":28922.247458832422,"y":21692.253873817655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Ratio","config":"{\n \"codeName\": \"hitRatio\",\n \"isString\": false,\n \"decimals\": 2\n}","id":"4ad7e208-1cfb-402d-89d6-3ca98832f2f9","savedPayload":{"position":{"x":29207.0354395992,"y":22808.50964327849},"targetPosition":{"x":28922.247458832422,"y":21692.253873817655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI","config":"{\n \"codeName\": \"ROI\",\n \"isString\": false,\n \"decimals\": 2\n}","id":"02d21bbe-a2b9-4d61-9ee6-243f21208c9f","savedPayload":{"position":{"x":28848.407154054992,"y":22841.923880908136},"targetPosition":{"x":28922.247458832422,"y":21692.253873817655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss","config":"{ \n\"codeName\": \"profitLoss\",\n\"isString\": false,\n\"isCalculated\": false,\n \"decimals\": 2\n}","id":"d78850bc-4017-4a14-b7a2-4efb03156596","savedPayload":{"position":{"x":28496.75681391476,"y":22762.81177518772},"targetPosition":{"x":28922.247458832422,"y":21692.253873817655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Annualized Rate Of Return","config":"{ \n\"codeName\": \"annualizedRateOfReturn\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"51e1f4b1-fe6a-4125-ae19-a34859928ab0","savedPayload":{"position":{"x":28186.6832222808,"y":22578.858405130042},"targetPosition":{"x":28922.247458832422,"y":21692.253873817655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail","config":"{ \n\"codeName\": \"hitFail\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"cb125657-fff3-49bc-99d5-393d2baaec15","savedPayload":{"position":{"x":27948.636489074095,"y":22308.030109456584},"targetPosition":{"x":28922.247458832422,"y":21692.253873817655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e5dde8e0-9f3d-4d58-878b-316e2888384f","savedPayload":{"position":{"x":28922.247458832422,"y":21692.253873817655},"targetPosition":{"x":28637.225232905243,"y":20574.751974361756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"ae525e31-d6a8-47d2-9021-3f2ddb9615b0","savedPayload":{"position":{"x":27414.143949852478,"y":17646.56714097845},"targetPosition":{"x":26867.82802316455,"y":17936.959577435533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Episode Quoted Asset","id":"ede92318-db13-4951-83b1-11fc0345d677"}}},{"type":"Product Definition","name":"Current Episode","config":"{\n \"codeName\": \"Current-Episode\",\n \"singularVariableName\": \"currentEpisode\",\n \"pluralVariableName\": \"currentEpisodes\",\n \"nodePath\": \"tradingEngine.current.episode\",\n \"saveAtCycle\": \"Second\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"26f6b248-21de-4898-9ee5-58b728a04267","savedPayload":{"position":{"x":28636.881714325653,"y":21218.878027015508},"targetPosition":{"x":28214.01249761389,"y":20825.902706851506},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"ecdfe444-00e6-4ad4-a482-14b59a1e752a","savedPayload":{"position":{"x":28453.965238976227,"y":21350.87641182198},"targetPosition":{"x":28214.01249761389,"y":20825.902706851506},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"fb250d69-0a1d-44db-a823-6ce600fabc5c","savedPayload":{"position":{"x":28796.969517898622,"y":21531.866574281703},"targetPosition":{"x":28234.236843577957,"y":21402.696583770197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"1e3e49d8-8494-474c-85df-93d080271a32","savedPayload":{"position":{"x":28744.230141695272,"y":21673.31106177625},"targetPosition":{"x":28234.236843577957,"y":21402.696583770197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.candle\"\n}","id":"8da52905-c159-42b2-81eb-bcdb0e82213c","savedPayload":{"position":{"x":28656.758415405653,"y":21796.12291602053},"targetPosition":{"x":28234.236843577957,"y":21402.696583770197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.candle\"\n}","id":"3fb36608-3225-4e84-9e7c-deb0cd4e0c90","savedPayload":{"position":{"x":28540.50274564666,"y":21892.09243613496},"targetPosition":{"x":28234.236843577957,"y":21402.696583770197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"dc27dfcd-81f7-4796-94bf-9552681c5781","savedPayload":{"position":{"x":28403.377981258043,"y":21954.702499448977},"targetPosition":{"x":28234.236843577957,"y":21402.696583770197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"f2738fa9-e225-49ba-adce-8e3f5490ae79","savedPayload":{"position":{"x":28254.724033144696,"y":21979.691477239045},"targetPosition":{"x":28234.236843577957,"y":21402.696583770197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"0bfb640f-7160-4f9f-9a37-a93ad21ac304","savedPayload":{"position":{"x":28104.869699159855,"y":21965.356420717268},"targetPosition":{"x":28234.236843577957,"y":21402.696583770197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"66977e9f-19c3-445e-baec-72fd24bcfd4f","savedPayload":{"position":{"x":27963.63677600308,"y":21912.673034702948},"targetPosition":{"x":28234.236843577957,"y":21402.696583770197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Cycle","config":"{ \n\"codeName\": \"cycle\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"2e9b2ae9-fa39-4767-8f15-918680491022","savedPayload":{"position":{"x":27840.848127182602,"y":21825.22524859876},"targetPosition":{"x":28234.236843577957,"y":21402.696583770197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Head Of The Market","config":"{ \n\"codeName\": \"headOfTheMarket\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"87f75619-ada5-4a35-851c-901776e8dd53","savedPayload":{"position":{"x":27744.872722059845,"y":21708.94124428401},"targetPosition":{"x":28234.236843577957,"y":21402.696583770197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Process Date","config":"{ \n\"codeName\": \"processDate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"aa739894-963f-4535-b4c4-d057e185ad9c","savedPayload":{"position":{"x":27682.232283756326,"y":21571.577641651013},"targetPosition":{"x":28234.236843577957,"y":21402.696583770197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"973a9bbe-dcc2-4df3-acef-63999441e21f","savedPayload":{"position":{"x":28234.236843577957,"y":21402.696583770197},"targetPosition":{"x":28214.01249761389,"y":20825.902706851506},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"b8da0132-ba28-46ec-aa54-eb9eaac56ce7","savedPayload":{"position":{"x":27480.75194523359,"y":17851.013849862105},"targetPosition":{"x":26867.82802316455,"y":17936.959577435533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Current Episode","id":"bf241117-1c2c-470c-a172-b86b2befa9a2"}}}],"productDefinitionFolders":[],"id":"6e3006f3-06dc-4cc6-a8fc-51f0e99ca9eb","savedPayload":{"position":{"x":26206.38350394817,"y":18192.02251470519},"targetPosition":{"x":26117.30196400881,"y":18609.762568861108},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition Folder","name":"Strategy","products":[{"type":"Product Definition","name":"Current Strategy","config":"{\n \"codeName\": \"Current-Strategy\",\n \"singularVariableName\": \"currentStrategy\",\n \"pluralVariableName\": \"currentStrategies\",\n \"nodePath\": \"tradingEngine.current.strategy\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"7b4550d3-69d1-41ac-bad3-e2283f798bb8","savedPayload":{"position":{"x":28483.893925541794,"y":15564.29815265888},"targetPosition":{"x":28360.992852032563,"y":16711.171284485146},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"49d55660-71e9-4c5a-8b1a-198934844e4a","savedPayload":{"position":{"x":28913.35582075727,"y":15698.638728012102},"targetPosition":{"x":28360.992852032563,"y":16711.171284485146},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"3808ed7c-4ae4-4ad8-8ea8-237ee2f8cc8c","savedPayload":{"position":{"x":28771.87604305041,"y":14943.489212264782},"targetPosition":{"x":29259.09408728831,"y":15987.49040131797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"c8b93e25-fe0e-450a-bcc7-262a06936372","savedPayload":{"position":{"x":29035.97878137679,"y":14857.184299635202},"targetPosition":{"x":29259.09408728831,"y":15987.49040131797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"702327c6-5dfe-4ab0-bce1-750637a4b863","savedPayload":{"position":{"x":29312.64147770546,"y":14836.5912754217},"targetPosition":{"x":29259.09408728831,"y":15987.49040131797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"a152bb71-b294-48e7-bf9c-9be7510c8461","savedPayload":{"position":{"x":29586.63973298919,"y":14882.9169352175},"targetPosition":{"x":29259.09408728831,"y":15987.49040131797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Strategy Name","config":"{ \n\"codeName\": \"strategyName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"35b9d166-f366-4601-a472-5e8d74be8f82","savedPayload":{"position":{"x":29841.503828552453,"y":14993.47576923262},"targetPosition":{"x":29259.09408728831,"y":15987.49040131797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Index","config":"{ \n\"codeName\": \"index\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"dcdb4018-97ea-4bb8-9e55-5efa00ab8404","savedPayload":{"position":{"x":30062.43557396136,"y":15161.743595832275},"targetPosition":{"x":29259.09408728831,"y":15987.49040131797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"c2ac38c8-3bc5-4359-8f92-510263b841d1","savedPayload":{"position":{"x":30236.722937246665,"y":15378.021309781998},"targetPosition":{"x":29259.09408728831,"y":15987.49040131797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"1ae37227-35b8-4abc-a42b-aa0c42fa9fc2","savedPayload":{"position":{"x":30354.18937106148,"y":15629.72788449778},"targetPosition":{"x":29259.09408728831,"y":15987.49040131797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"288b5fed-0d4b-4b85-9cb5-802c2ff30ca7","savedPayload":{"position":{"x":30408.008133761967,"y":15902.22956042006},"targetPosition":{"x":29259.09408728831,"y":15987.49040131797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"3802817a-f022-4762-9ff4-412d42f22316","savedPayload":{"position":{"x":30395.04623819433,"y":16179.386121032965},"targetPosition":{"x":29259.09408728831,"y":15987.49040131797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"97832d1b-40b4-4fc3-9e52-ec3beacf164e","savedPayload":{"position":{"x":30316.050485801563,"y":16445.69262122975},"targetPosition":{"x":29259.09408728831,"y":15987.49040131797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategy.strategyCounters\"\n}","id":"d219dca7-ae8f-422d-a90a-f86b617a76e2","savedPayload":{"position":{"x":30175.5615812986,"y":16685.411352264444},"targetPosition":{"x":29259.09408728831,"y":15987.49040131797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a4bce1f3-c9cc-470d-b271-1190684aff6f","savedPayload":{"position":{"x":29259.09408728831,"y":15987.49040131797},"targetPosition":{"x":28360.992852032563,"y":16711.171284485146},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"895d8a04-ef45-41a7-909a-ba31013ffb90","savedPayload":{"position":{"x":27276.854786256,"y":17473.854400213804},"targetPosition":{"x":27148.18151445258,"y":18079.147075359982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Current Strategy","id":"a3c31000-1b82-4fe9-ae56-6d5893582b16"}}},{"type":"Product Definition","name":"Last Strategy","config":"{\n \"codeName\": \"Last-Strategy\",\n \"singularVariableName\": \"lastStrategy\",\n \"pluralVariableName\": \"lastStrategies\",\n \"nodePath\": \"tradingEngine.last.strategy\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"a2e7b5d2-8556-4c58-b2f6-a9c27c939e94","savedPayload":{"position":{"x":28706.768549340595,"y":15659.884813665283},"targetPosition":{"x":28502.359816584543,"y":16795.047357180894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"76ff2401-1d4f-4dda-87f6-5e0b7af3eab2","savedPayload":{"position":{"x":29125.547760108428,"y":15824.517248878165},"targetPosition":{"x":28502.359816584543,"y":16795.047357180894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"02e1c6bb-e984-4104-98c8-dbcba98ab660","savedPayload":{"position":{"x":29038.22891013171,"y":15061.247221857066},"targetPosition":{"x":29449.706770062945,"y":16137.321510542395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"0fbc8383-f53b-42c2-ac1a-060f6bc80c5c","savedPayload":{"position":{"x":29307.824790308692,"y":14994.005392528992},"targetPosition":{"x":29449.706770062945,"y":16137.321510542395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"5785bb06-20d0-4683-b5d3-3cce32ddf13f","savedPayload":{"position":{"x":29585.224629435965,"y":14993.223251740697},"targetPosition":{"x":29449.706770062945,"y":16137.321510542395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"cca74655-a684-4b14-a70b-63a95f520418","savedPayload":{"position":{"x":29855.195887057955,"y":15058.964439179768},"targetPosition":{"x":29449.706770062945,"y":16137.321510542395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Strategy Name","config":"{ \n\"codeName\": \"strategyName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"10192034-747b-49ed-ba2b-a645da326297","savedPayload":{"position":{"x":30101.564350531833,"y":15187.441930183562},"targetPosition":{"x":29449.706770062945,"y":16137.321510542395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Index","config":"{ \n\"codeName\": \"index\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"5cc8df5d-637c-4059-88ca-b30193db45cd","savedPayload":{"position":{"x":30309.90500911813,"y":15371.026504090338},"targetPosition":{"x":29449.706770062945,"y":16137.321510542395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"e44d0b8d-1bd1-457b-b3ec-efafe83135e2","savedPayload":{"position":{"x":30468.314894316474,"y":15599.184346413402},"targetPosition":{"x":29449.706770062945,"y":16137.321510542395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"c1181965-30d7-455c-84f8-b59a10b17292","savedPayload":{"position":{"x":30567.526017973578,"y":15858.62202912701},"targetPosition":{"x":29449.706770062945,"y":16137.321510542395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"f233bd2e-9c8a-415c-b348-890e2b8c835b","savedPayload":{"position":{"x":30601.76283969543,"y":16134.266834953964},"targetPosition":{"x":29449.706770062945,"y":16137.321510542395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"09b0f818-5159-433b-8eae-f0209351e6b3","savedPayload":{"position":{"x":30569.04247426365,"y":16409.782004635366},"targetPosition":{"x":29449.706770062945,"y":16137.321510542395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"8cfbc9c3-071f-43d0-b245-4c0278f975c0","savedPayload":{"position":{"x":30471.250340799204,"y":16669.770044241155},"targetPosition":{"x":29449.706770062945,"y":16137.321510542395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.strategy.strategyCounters\"\n}","id":"bb8b605d-bf3a-4408-a147-f316bdee7df7","savedPayload":{"position":{"x":30314.019846146242,"y":16898.848266013305},"targetPosition":{"x":29449.706770062945,"y":16137.321510542395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"325b09da-1fc2-43bc-a59d-381c30a4ba1d","savedPayload":{"position":{"x":29449.706770062945,"y":16137.321510542395},"targetPosition":{"x":28502.359816584543,"y":16795.047357180894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"0625f524-2b97-4b4d-8a90-590ffc62ecd3","savedPayload":{"position":{"x":27736.344382598472,"y":17888.125482342708},"targetPosition":{"x":27148.18151445258,"y":18079.147075359982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Last Strategy","id":"028aaa23-630c-4aa6-a168-6b2a128b1a83"}}}],"productDefinitionFolders":[],"id":"bb870967-9e1d-44a9-9bbc-68e6c024a3c3","savedPayload":{"position":{"x":26404.855005516347,"y":18291.08431918333},"targetPosition":{"x":26117.30196400881,"y":18609.762568861108},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition Folder","name":"Position","products":[{"type":"Product Definition","name":"Current Position","config":"{\n \"codeName\": \"Current-Position\",\n \"singularVariableName\": \"currentPosition\",\n \"pluralVariableName\": \"currentPositions\",\n \"nodePath\": \"tradingEngine.current.position\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"7506dd91-ad9d-4aad-bb1a-604bc5d3fe8d","savedPayload":{"position":{"x":28920.38397033583,"y":15773.700767216606},"targetPosition":{"x":28635.443130297128,"y":16891.31721352908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"06678152-1082-4f00-9275-22ffde715469","savedPayload":{"position":{"x":29326.455607030322,"y":15968.061023590213},"targetPosition":{"x":28635.443130297128,"y":16891.31721352908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"6e9bd403-9341-4573-9509-39592db0f4ae","savedPayload":{"position":{"x":29620.408196727858,"y":13644.031782697148},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"e9f969f0-20f4-4d61-870b-2997e715c706","savedPayload":{"position":{"x":29804.962720753545,"y":13564.968891336272},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"c9761b5c-3714-4253-9906-873e8933e698","savedPayload":{"position":{"x":29995.55030574595,"y":13502.316118420415},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"e0d6465b-de24-4ce2-9cc3-b7e3e563d4d7","savedPayload":{"position":{"x":30190.839819171135,"y":13456.390524883504},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"1b892131-86ea-4264-bfae-3eae52374803","savedPayload":{"position":{"x":30389.363309753626,"y":13427.721671246649},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"f7d48869-1ac5-4e6c-9f73-52112cf5a9c8","savedPayload":{"position":{"x":30589.614482773217,"y":13416.540419778452},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"08064bc3-d662-46d7-a9ac-da517de9f0f3","savedPayload":{"position":{"x":30789.7690475807,"y":13422.931825582276},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"07748c3d-c020-4734-b505-38ceeb96ddc2","savedPayload":{"position":{"x":30988.90612150925,"y":13446.847224144478},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"5f987e27-560f-485d-b832-46025f14f446","savedPayload":{"position":{"x":31185.209937588224,"y":13488.104037989648},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionCounters\"\n}","id":"c00c9780-7a99-40fe-8563-9ef38089edae","savedPayload":{"position":{"x":31377.186050642533,"y":13546.212636744314},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"90759217-f2a3-4203-8249-35c703108863","savedPayload":{"position":{"x":31563.373528197204,"y":13620.765676304429},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"905584a9-29a2-4e59-be9d-7859ada74e43","savedPayload":{"position":{"x":31742.3556574182,"y":13711.251344465052},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"a85c3f00-4b38-430d-a911-b404de9c2ce3","savedPayload":{"position":{"x":31912.745497292202,"y":13816.974112477068},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stop Loss","config":"{\n \"codeName\": \"stopLoss\",\n \"isString\": false\n}","id":"9aadbadf-d791-4407-bb2e-39f1160ec4a3","savedPayload":{"position":{"x":32073.313813518213,"y":13937.175661824036},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stop Loss Phase","config":"{\n \"codeName\": \"stopLossPhase\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.position.stopLoss\"\n}","id":"b6736f8c-0a25-4f37-b8a6-e89d9e1da23f","savedPayload":{"position":{"x":32222.56339119105,"y":14070.663543206045},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Take Profit","config":"{\n \"codeName\": \"takeProfit\",\n \"isString\": false\n}","id":"17af9724-48c7-46f7-8338-bfe189768f8b","savedPayload":{"position":{"x":32360.004116122247,"y":14217.118315982234},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Take Profit Phase","config":"{\n \"codeName\": \"takeProfitPhase\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.position.takeProfit\"\n}","id":"be62b154-fcd4-4e9f-8dc7-dc8b6f0861d4","savedPayload":{"position":{"x":32484.078714835003,"y":14374.848288612375},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss In Base Asset","config":"{ \n\"codeName\": \"profitLossInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}","id":"3c081ea4-6bcb-4ba2-8e3e-2f572b428003","savedPayload":{"position":{"x":32593.8036062155,"y":14542.758824709794},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss In Quoted Asset","config":"{ \n\"codeName\": \"profitLossInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}","id":"1b65da38-1f4b-4c28-81bb-38e95fed5a3d","savedPayload":{"position":{"x":32688.40445308481,"y":14719.320625431477},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI In Base Asset","config":"{ \n\"codeName\": \"ROIInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}","id":"9705d87a-bc3a-473e-b205-4eefcbbeeb21","savedPayload":{"position":{"x":32767.365215294074,"y":14903.673114506939},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI In Quoted Asset","config":"{ \n\"codeName\": \"ROIInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}","id":"3fdcd35b-a08a-4d68-bcbd-f547b8265203","savedPayload":{"position":{"x":32830.000984921106,"y":15094.21046326822},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail In Base Asset","config":"{ \n\"codeName\": \"hitFailInBaseAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"hitFail\"\n}","id":"14d4fbc8-7b1b-4b27-a9ed-c4c5601116d8","savedPayload":{"position":{"x":32875.923009544975,"y":15289.477893642335},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail In Quoted Asset","config":"{ \n\"codeName\": \"hitFailInQuotedAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"hitFail\"\n}","id":"2ba0cad6-6f43-4fb3-9dfb-8ad67e0c8a09","savedPayload":{"position":{"x":32904.59170585816,"y":15487.989256635577},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stop Loss Position","config":"{\n \"codeName\": \"stopLossPosition\",\n \"isString\": true,\n \"nodePath\": \"tradingEngine.current.position.stopLoss\"\n}","id":"709bf663-255a-48b6-b96e-875b8b44b574","savedPayload":{"position":{"x":32915.77287990493,"y":15688.192199952256},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Take Profit Position","config":"{\n \"codeName\": \"takeProfitPosition\",\n \"isString\": true,\n \"nodePath\": \"tradingEngine.current.position.takeProfit\"\n}","id":"8780b7ac-5065-491e-b8f4-9c8f62b20f43","savedPayload":{"position":{"x":32909.381435605275,"y":15888.382992871899},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Size In Base Asset","config":"{ \n\"codeName\": \"entryTargetSizeInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"entryTargetSize\",\n \"decimals\": 10\n}","id":"7a3cc7f2-ecf2-4f50-968a-ca27117b4bac","savedPayload":{"position":{"x":32885.46601809672,"y":16087.517843422698},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Size In Quoted Asset","config":"{ \n\"codeName\": \"entryTargetSizeInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"entryTargetSize\",\n \"decimals\": 10\n}","id":"cfa55f9f-0792-4a1d-8bbd-5350864e8a61","savedPayload":{"position":{"x":32844.20863417073,"y":16283.820362300668},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Size In Base Asset","config":"{ \n\"codeName\": \"exitTargetSizeInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"exitTargetSize\",\n \"decimals\": 10\n}","id":"8172e284-94fd-4dc4-8591-53a2c5ca475a","savedPayload":{"position":{"x":32786.09960547307,"y":16475.796925318686},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Size In Quoted Asset","config":"{ \n\"codeName\": \"exitTargetSizeInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"exitTargetSize\",\n \"decimals\": 10\n}","id":"0d0bdeba-f4d9-4de7-81d0-b4aa3bb9ec6b","savedPayload":{"position":{"x":32711.561879425724,"y":16661.985621000855},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Rate","config":"{ \n\"codeName\": \"entryTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"f03c45fb-c2ca-4294-abce-650cf8656471","savedPayload":{"position":{"x":32621.08027906041,"y":16840.970039391435},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Rate","config":"{ \n\"codeName\": \"exitTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"472bf4ef-2e4f-4aa9-a054-ed458249032d","savedPayload":{"position":{"x":32515.34133545218,"y":17011.388291009596},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Statistics Profit Loss","config":"{ \n\"codeName\": \"profitLoss\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n \"decimals\": 10\n}","id":"2ab54033-cbad-4618-9681-e8ae36c1ace5","savedPayload":{"position":{"x":32395.148295977197,"y":17171.944507336277},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Statistics ROI","config":"{ \n\"codeName\": \"ROI\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n \"decimals\": 10\n}","id":"a0778ae5-4242-4a8e-8ebc-6af71dad5c58","savedPayload":{"position":{"x":32261.410996861454,"y":17321.419507109083},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Statistics Hit Fail","config":"{ \n\"codeName\": \"hitFail\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\"\n}","id":"e87e024f-3726-4d08-a890-829b44616eeb","savedPayload":{"position":{"x":32115.130280582445,"y":17458.686228528553},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Statistics Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n \"decimals\": 2\n}","id":"d6e98d71-15ee-4e22-b18c-b154b1ecec52","savedPayload":{"position":{"x":31957.30606208534,"y":17582.77855827578},"targetPosition":{"x":30616.825604367226,"y":15715.483704296203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a35249e0-a2dc-43b0-bb8c-ebd6265e13c2","savedPayload":{"position":{"x":30616.825604367226,"y":15715.483704296203},"targetPosition":{"x":28635.443130297128,"y":16891.31721352908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"832ecada-8da3-4ba6-b6e9-be34dd5f7ce9","savedPayload":{"position":{"x":26790.35218506023,"y":18183.310701050978},"targetPosition":{"x":26525.276634659083,"y":18477.58369705319},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Current Position","id":"0d2212c7-07bb-4c41-94fb-00844415ba5e"}}},{"type":"Product Definition","name":"Last Position","config":"{\n \"codeName\": \"Last-Position\",\n \"singularVariableName\": \"lastPosition\",\n \"pluralVariableName\": \"lastPositions\",\n \"nodePath\": \"tradingEngine.last.position\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"485671ff-0d50-4c08-958c-93e657cd238f","savedPayload":{"position":{"x":29127.268382697177,"y":15899.07114065449},"targetPosition":{"x":28763.65938965686,"y":16993.704098552724},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"a909df42-6192-4bbd-9f38-e8800149aaa1","savedPayload":{"position":{"x":29518.15809270383,"y":16121.267074375066},"targetPosition":{"x":28763.65938965686,"y":16993.704098552724},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"a616f774-00d3-475e-b0b6-631a93777573","savedPayload":{"position":{"x":29363.416758897965,"y":15408.87482886776},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"2e577616-21a7-4199-a64f-d90386edc6ec","savedPayload":{"position":{"x":29461.043008726487,"y":15373.706159003217},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"9993ddd9-d4f8-4eef-91db-45eb57c04d8e","savedPayload":{"position":{"x":29560.10556025223,"y":15348.023602339637},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"dd7f3f5d-3f52-4256-b7e1-c2d94aa85795","savedPayload":{"position":{"x":29660.36315362298,"y":15331.432772800272},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"e7f50ea4-ebd4-448f-bd18-54fc2d7e2e7b","savedPayload":{"position":{"x":29761.33601621663,"y":15323.802164180473},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"d9ff5483-8800-49f7-8d9f-9e8e48f8b795","savedPayload":{"position":{"x":29862.404050559027,"y":15325.11686515942},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"f0e01315-185f-4092-9b13-0f529a794336","savedPayload":{"position":{"x":29962.865382296925,"y":15335.29792858241},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"a41e9fac-16b2-4b08-b9e8-b494359f1737","savedPayload":{"position":{"x":30062.000261337776,"y":15354.215518717172},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"e6137e7e-940e-44b9-937f-4c6a89709af4","savedPayload":{"position":{"x":30159.071020234842,"y":15381.731403614722},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.position.positionCounters\"\n}","id":"3976c01c-c92d-47b1-965d-4e4d7678a59a","savedPayload":{"position":{"x":30253.354468299163,"y":15417.610894972066},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.position.positionStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"5a796662-dd46-4e75-8d5b-192ec323901e","savedPayload":{"position":{"x":30344.15704988314,"y":15461.54473838131},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.position.positionStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"373f4395-e367-4089-ad1c-6bcefb4a1d40","savedPayload":{"position":{"x":30430.70884191549,"y":15513.332544767747},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.position.positionStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"337bc66f-9deb-4e01-b4a8-24cac360726f","savedPayload":{"position":{"x":30512.43002524612,"y":15572.441182216895},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stop Loss","config":"{\n \"codeName\": \"stopLoss\",\n \"isString\": false\n}","id":"4c576425-680e-46ae-8a5d-a8548e256ec1","savedPayload":{"position":{"x":30588.667568066798,"y":15638.46523456404},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stop Loss Phase","config":"{\n \"codeName\": \"stopLossPhase\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.last.position.stopLoss\"\n}","id":"7865ef71-3d83-4b6c-9275-fd3199183464","savedPayload":{"position":{"x":30659.00132410495,"y":15710.756022024476},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Take Profit","config":"{\n \"codeName\": \"takeProfit\",\n \"isString\": false\n}","id":"32bd62c3-8eab-40cd-9830-32952105a924","savedPayload":{"position":{"x":30722.428885277848,"y":15789.153671997698},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stop Loss Phase","config":"{\n \"codeName\": \"takeProfitPhase\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.last.position.takeProfit\"\n}","id":"fadb0e4d-25bf-4359-9e9f-3aa83fdcf214","savedPayload":{"position":{"x":30779.088586918435,"y":15872.582813932706},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss In Base Asset","config":"{ \n\"codeName\": \"profitLossInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.position.positionBaseAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}","id":"2c6b4f74-ede6-4055-96e9-7b6a7fe6f14b","savedPayload":{"position":{"x":30828.05021939833,"y":15960.742219736447},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss In Quoted Asset","config":"{ \n\"codeName\": \"profitLossInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.position.positionQuotedAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}","id":"1ea905bd-9a4f-45ef-a3f9-ecdfb8e68ce1","savedPayload":{"position":{"x":30869.118223676545,"y":16052.837205643762},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI In Base Asset","config":"{ \n\"codeName\": \"ROIInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.position.positionBaseAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}","id":"29924f25-d402-499e-a51a-952a4d1bc015","savedPayload":{"position":{"x":30902.293132879477,"y":16148.073466372456},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI In Quoted Asset","config":"{ \n\"codeName\": \"ROIInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.position.positionQuotedAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}","id":"2af609c6-806d-4dd2-af9e-4cc9e1a2b0c3","savedPayload":{"position":{"x":30926.558482009998,"y":16245.940770608351},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail In Base Asset","config":"{ \n\"codeName\": \"hitFailInBaseAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.position.positionBaseAsset\",\n \"childProperty\": \"hitFail\"\n}","id":"1f4d9780-e2f9-400c-b47b-e303c3a2bac1","savedPayload":{"position":{"x":30942.616133068554,"y":16345.494082541474},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail In Quoted Asset","config":"{ \n\"codeName\": \"hitFailInQuotedAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.position.positionQuotedAsset\",\n \"childProperty\": \"hitFail\"\n}","id":"4019c021-32b6-48bc-9523-39befbf74aeb","savedPayload":{"position":{"x":30949.621985625625,"y":16446.080816658035},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stop Loss Position","config":"{\n \"codeName\": \"stopLossPosition\",\n \"isString\": true,\n \"nodePath\": \"tradingEngine.current.position.stopLoss\"\n}","id":"3843d123-4094-479d-b4ba-f5cfe8341189","savedPayload":{"position":{"x":30947.960780442587,"y":16546.897113885712},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Take Profit Position","config":"{\n \"codeName\": \"takeProfitPosition\",\n \"isString\": true,\n \"nodePath\": \"tradingEngine.current.position.takeProfit\"\n}","id":"8f03cb2e-9392-4193-a069-8a62b3a81a28","savedPayload":{"position":{"x":30937.39766938787,"y":16647.161087899254},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Size In Base Asset","config":"{ \n\"codeName\": \"entryTargetSizeInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"entryTargetSize\",\n \"decimals\": 10\n}","id":"e8cd2d2b-0ca6-46e1-946b-2aa4bfdb341c","savedPayload":{"position":{"x":30918.181979437784,"y":16746.12736455225},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Size In Quoted Asset","config":"{ \n\"codeName\": \"entryTargetSizeInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"entryTargetSize\",\n \"decimals\": 10\n}","id":"2f52b5a7-cd53-485d-b2b6-64c1ce2f5af1","savedPayload":{"position":{"x":30890.375646352455,"y":16843.02690608268},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Size In Base Asset","config":"{ \n\"codeName\": \"exitTargetSizeInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"exitTargetSize\",\n \"decimals\": 10\n}","id":"45e8300d-baf1-4d87-aef6-ec10dd85da2d","savedPayload":{"position":{"x":30854.23302641428,"y":16937.13259262884},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Size In Quoted Asset","config":"{ \n\"codeName\": \"exitTargetSizeInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"exitTargetSize\",\n \"decimals\": 10\n}","id":"4c4be570-1f2d-4e3e-9c4e-8076fd4a5b9d","savedPayload":{"position":{"x":30810.008089676303,"y":17027.718265087406},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Rate","config":"{ \n\"codeName\": \"entryTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"546beb6d-17ef-4b1b-b0e5-f9f716cbf09c","savedPayload":{"position":{"x":30758.05251913025,"y":17114.099738312023},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Rate","config":"{ \n\"codeName\": \"exitTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"d71cf631-337c-40ff-8637-89ab1bf10316","savedPayload":{"position":{"x":30698.75099490263,"y":17195.610065746623},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Statistics Profit Loss","config":"{ \n\"codeName\": \"profitLoss\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n \"decimals\": 10\n}","id":"c5e7ea1d-2314-48a4-8c2f-eea2054521aa","savedPayload":{"position":{"x":30632.562787289906,"y":17271.631033720263},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Statistics ROI","config":"{ \n\"codeName\": \"ROI\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n \"decimals\": 10\n}","id":"6ccc1352-bb8a-4b4c-9e3e-e3107e4610c8","savedPayload":{"position":{"x":30559.991647582854,"y":17341.58058089393},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Statistics Hit Fail","config":"{ \n\"codeName\": \"hitFail\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\"\n}","id":"afc68726-a40f-49f8-b9a3-c841e9f14c84","savedPayload":{"position":{"x":30481.595148792843,"y":17404.92847886653},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Statistics Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n \"decimals\": 2\n}","id":"871e0d9c-c467-4fbf-bb51-ff06cdd97a24","savedPayload":{"position":{"x":30383.943333583768,"y":17469.165192825814},"targetPosition":{"x":29795.183560552963,"y":16477.5600804298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"731e7326-c591-4d9f-a9d7-1c7abd42156f","savedPayload":{"position":{"x":29795.183560552963,"y":16477.5600804298},"targetPosition":{"x":28763.65938965686,"y":16993.704098552724},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"477cd6d5-862a-44d0-9313-786a4e63a602","savedPayload":{"position":{"x":26912.875444544425,"y":18559.98363376663},"targetPosition":{"x":26525.276634659083,"y":18477.58369705319},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Last Position","id":"08c88b9c-70f1-49ff-aa16-21f2bc1c0ba1"}}}],"productDefinitionFolders":[],"id":"83cdc0a1-260e-42bb-a054-5719c34b0165","savedPayload":{"position":{"x":26525.276634659083,"y":18477.58369705319},"targetPosition":{"x":26117.30196400881,"y":18609.762568861108},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition Folder","name":"Stages","products":[{"type":"Product Definition","name":"Open Stage","config":"{\n \"codeName\": \"Current-Strategy-Open-Stage\",\n \"singularVariableName\": \"currentStrategyOpenStage\",\n \"pluralVariableName\": \"currentStrategyOpenStages\",\n \"nodePath\": \"tradingEngine.current.strategyOpenStage\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"b553683f-14f4-48be-91a6-0fb5381887e4","savedPayload":{"position":{"x":30328.153812507688,"y":20179.89878285981},"targetPosition":{"x":29192.88366557983,"y":19975.457004999334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"3287fb46-854d-41de-8a42-285f9c10d4fa","savedPayload":{"position":{"x":30163.52484338414,"y":20598.69160223641},"targetPosition":{"x":29192.88366557983,"y":19975.457004999334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"16f06257-04df-47fc-8a3c-29daf922e556","savedPayload":{"position":{"x":30907.15367968333,"y":20462.95362201698},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"4d6aabc2-0b50-4948-9c21-82f6a1df7bbf","savedPayload":{"position":{"x":30976.64752571325,"y":20678.078590450146},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"22ea5554-c115-4081-bc2a-03243d8630c4","savedPayload":{"position":{"x":31002.803868472136,"y":20902.517184790704},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"37d59f42-6664-4cdb-a563-599f4c926ed2","savedPayload":{"position":{"x":30984.669437097287,"y":21127.451490365416},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"4768b50b-1fb1-4a31-a9ce-9dd1bb7ae14c","savedPayload":{"position":{"x":30922.94796204483,"y":21344.791797020265},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"fa740c89-d602-4dda-953b-80b4744e742c","savedPayload":{"position":{"x":30820.012381674405,"y":21545.914177217677},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Base Asset","config":"{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyOpenStage.stageBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"f022ac0c-4a8c-4ea1-bc77-f9e03c706e6e","savedPayload":{"position":{"x":30679.818452278774,"y":21723.090894901372},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Quoted Asset","config":"{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyOpenStage.stageQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"3491a030-50f3-4909-be44-b40a7c8fe8c0","savedPayload":{"position":{"x":30507.75507660086,"y":21869.51332488908},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Base Asset","config":"{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyOpenStage.stageBaseAsset\",\n \"childProperty\": \"feesPaid\",\n \"decimals\": 10\n}","id":"20e53cb6-ac86-4d7f-823c-d9dcd3fe3683","savedPayload":{"position":{"x":30310.501398228298,"y":21979.54469601024},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Quoted Asset","config":"{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyOpenStage.stageQuotedAsset\",\n \"childProperty\": \"feesPaid\",\n \"decimals\": 10\n}","id":"6e4fd9ec-7ff6-4f34-911e-4954d1e17b18","savedPayload":{"position":{"x":30095.448225423377,"y":22049.011913020655},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Placed In Base Asset","config":"{\n \"codeName\": \"sizePlacedInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyOpenStage.stageBaseAsset\",\n \"childProperty\": \"sizePlaced\",\n \"decimals\": 10\n}","id":"180c4f89-8767-48c0-8319-c3564cf17c90","savedPayload":{"position":{"x":29870.974428054462,"y":22075.165305781542},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Placed In Quoted Asset","config":"{\n \"codeName\": \"sizePlacedInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyOpenStage.stageQuotedAsset\",\n \"childProperty\": \"sizePlaced\",\n \"decimals\": 10\n}","id":"df80e04b-729b-482e-a088-90a164e53095","savedPayload":{"position":{"x":29646.053678962235,"y":22057.009323258375},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Target Size In Base Asset","config":"{\n \"codeName\": \"targetSizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyOpenStage.stageBaseAsset\",\n \"childProperty\": \"targetSize\",\n \"decimals\": 10\n}","id":"709e3369-660e-4109-bbcb-3d4e45b6609f","savedPayload":{"position":{"x":29428.73690117595,"y":21995.300040205864},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Target Size In Quoted Asset","config":"{\n \"codeName\": \"targetSizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyOpenStage.stageQuotedAsset\",\n \"childProperty\": \"targetSize\",\n \"decimals\": 10\n}","id":"eb37666f-1459-4bbc-8a33-5030dd2468fa","savedPayload":{"position":{"x":29227.59880445985,"y":21892.353971425644},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stage Defined In","config":"{ \n\"codeName\": \"stageDefinedIn\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"68d9f756-49e1-4541-b94b-e6502c2dd812","savedPayload":{"position":{"x":29050.335968607393,"y":21752.055796336328},"targetPosition":{"x":29850.573610330634,"y":20922.972937635957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"59f991ac-f3e7-410e-9caf-bf14ed61d69c","savedPayload":{"position":{"x":29850.573610330634,"y":20922.972937635957},"targetPosition":{"x":29192.88366557983,"y":19975.457004999334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"73c3c041-ba2a-4798-a362-a453409b518a","savedPayload":{"position":{"x":27796.06748293123,"y":18241.80688344625},"targetPosition":{"x":27336.177177442936,"y":18655.916369401104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Current Strategy Open Stage","id":"f759a457-fc11-43a8-bf2c-6ebf1db0e78d"}}},{"type":"Product Definition","name":"Close Stage","config":"{\n \"codeName\": \"Current-Strategy-Close-Stage\",\n \"singularVariableName\": \"currentStrategyCloseStage\",\n \"pluralVariableName\": \"currentStrategyCloseStages\",\n \"nodePath\": \"tradingEngine.current.strategyCloseStage\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"0c30c4d3-3e58-4422-a178-450c24f95001","savedPayload":{"position":{"x":30217.588122698482,"y":20395.712147204966},"targetPosition":{"x":29099.890465183395,"y":20110.84864165662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"4903a08c-90b6-4726-aa4d-1d8a0acdbd77","savedPayload":{"position":{"x":30023.528885046868,"y":20801.660094634895},"targetPosition":{"x":29099.890465183395,"y":20110.84864165662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"840e560a-bfeb-473e-9a22-e0388757f531","savedPayload":{"position":{"x":30774.804472181462,"y":20719.30484029803},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"4beb9d7d-106c-440a-9ea0-db16de4c2da4","savedPayload":{"position":{"x":30828.769660082235,"y":20938.817507996966},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"517d1407-6464-46e0-b5f7-ce3ca23a7cbd","savedPayload":{"position":{"x":30838.846187856812,"y":21164.22086678177},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"23275807-6666-4821-a84b-060a46ed4993","savedPayload":{"position":{"x":30804.696090002166,"y":21387.530701286807},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"75a1d315-4027-402a-8646-565331def8e4","savedPayload":{"position":{"x":30727.63785605061,"y":21599.882640968917},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"f46867ef-8d39-4aa9-b57d-12ab7eb8c293","savedPayload":{"position":{"x":30610.633694244712,"y":21793.120189948513},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Base Asset","config":"{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyCloseStage.stageBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"73317d39-d014-45f3-bf3b-07230c4055cc","savedPayload":{"position":{"x":30458.179920409126,"y":21959.819082681486},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Quoted Asset","config":"{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyCloseStage.stageQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"f4815fd2-f336-4867-ae0c-8d31ac90ced9","savedPayload":{"position":{"x":30276.13895940957,"y":22093.57292723655},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Base Asset","config":"{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyCloseStage.stageBaseAsset\",\n \"childProperty\": \"feesPaid\",\n \"decimals\": 10\n}","id":"81b366f7-5fb3-4b55-98c8-cea47462b138","savedPayload":{"position":{"x":30071.614239515846,"y":22189.235143679343},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Quoted Asset","config":"{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyCloseStage.stageQuotedAsset\",\n \"childProperty\": \"feesPaid\",\n \"decimals\": 10\n}","id":"7f1e01e4-f353-4cd4-b145-871558d5ab60","savedPayload":{"position":{"x":29852.16230580778,"y":22243.1939463449},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Placed In Base Asset","config":"{\n \"codeName\": \"sizePlacedInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyCloseStage.stageBaseAsset\",\n \"childProperty\": \"sizePlaced\",\n \"decimals\": 10\n}","id":"3074287b-add9-4baf-a74c-9f09c17cf4f8","savedPayload":{"position":{"x":29626.60550916224,"y":22253.25939457955},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Placed In Quoted Asset","config":"{\n \"codeName\": \"sizePlacedInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyCloseStage.stageQuotedAsset\",\n \"childProperty\": \"sizePlaced\",\n \"decimals\": 10\n}","id":"b8c6b690-b924-4a51-88c0-e17e95c16d38","savedPayload":{"position":{"x":29403.388428891816,"y":22219.073378160534},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Target Size In Base Asset","config":"{\n \"codeName\": \"targetSizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyCloseStage.stageBaseAsset\",\n \"childProperty\": \"targetSize\",\n \"decimals\": 10\n}","id":"e0e42bb9-3f23-49d1-a286-bdb3b58f4a14","savedPayload":{"position":{"x":29191.07876834688,"y":22142.03690577153},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Target Size In Quoted Asset","config":"{\n \"codeName\": \"targetSizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategyCloseStage.stageQuotedAsset\",\n \"childProperty\": \"targetSize\",\n \"decimals\": 10\n}","id":"3ab9f66f-69b9-4d05-a7a1-105d49ce0c09","savedPayload":{"position":{"x":28997.82660204914,"y":22025.02095417257},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stage Defined In","config":"{ \n\"codeName\": \"stageDefinedIn\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"7bcc6d7f-a5c9-4a06-9730-7744461e9a75","savedPayload":{"position":{"x":28831.04331840707,"y":21872.44862802928},"targetPosition":{"x":29688.261571903422,"y":21102.715067733683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"722161de-6374-4eb6-a3cc-ab6638d0c484","savedPayload":{"position":{"x":29688.261571903422,"y":21102.715067733683},"targetPosition":{"x":29099.890465183395,"y":20110.84864165662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"2bb9bb41-1ff5-4f83-aa5b-bfc4c9f06a9a","savedPayload":{"position":{"x":27951.407427970647,"y":18591.227297154237},"targetPosition":{"x":27336.177177442936,"y":18655.916369401104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Current Strategy Close Stage","id":"6be13ce1-0fae-4355-99b2-dc8db000251f"}}},{"type":"Product Definition","name":"Trigger Stage","config":"{\n \"codeName\": \"Current-Strategy-Trigger-Stage\",\n \"singularVariableName\": \"currentStrategyTriggerStage\",\n \"pluralVariableName\": \"currentStrategyTriggerStages\",\n \"nodePath\": \"tradingEngine.current.strategyTriggerStage\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"a179150b-2eaa-45ef-a7fa-14a1decf7dfc","savedPayload":{"position":{"x":30092.125316645797,"y":20603.546240595068},"targetPosition":{"x":28997.681225634107,"y":20239.557544384203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"493f0951-e638-4da1-88b4-1c1d3829046e","savedPayload":{"position":{"x":29869.46562247617,"y":20994.689415929075},"targetPosition":{"x":28997.681225634107,"y":20239.557544384203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"42eb64c6-8540-44fa-a428-e6f6514464c1","savedPayload":{"position":{"x":30665.695684199738,"y":21253.533233016562},"targetPosition":{"x":29513.774441880338,"y":21270.994788274445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"56c868af-79a0-4b0e-a9ec-7d82999155b7","savedPayload":{"position":{"x":30559.231495991542,"y":21754.823249270976},"targetPosition":{"x":29513.774441880338,"y":21270.994788274445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"22df8e6e-b5c8-4ee3-80a9-425ef95d88f8","savedPayload":{"position":{"x":30245.689200420326,"y":22160.54721587526},"targetPosition":{"x":29513.774441880338,"y":21270.994788274445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"fcf315f5-afd7-449e-b0bf-d7cf4af9bba0","savedPayload":{"position":{"x":29787.16470436784,"y":22390.06393602298},"targetPosition":{"x":29513.774441880338,"y":21270.994788274445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"5f4b2d5b-c8bc-401b-90ec-14ede9ec8f64","savedPayload":{"position":{"x":29274.774430334623,"y":22397.916427519915},"targetPosition":{"x":29513.774441880338,"y":21270.994788274445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"292f1ff7-7038-4826-8af8-1fdd34661d0b","savedPayload":{"position":{"x":28809.43940267456,"y":22182.538526769393},"targetPosition":{"x":29513.774441880338,"y":21270.994788274445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c9ec94f8-1ccc-4111-817f-2fb25f5f02b5","savedPayload":{"position":{"x":29513.774441880338,"y":21270.994788274445},"targetPosition":{"x":28997.681225634107,"y":20239.557544384203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"b6cff826-9056-4fbd-8eca-cbd6cceec962","savedPayload":{"position":{"x":27872.143246526186,"y":18964.929459137278},"targetPosition":{"x":27336.177177442936,"y":18655.916369401104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Current Strategy Trigger Stage","id":"823fa15f-bf29-4784-a5f8-5b82d2ed7645"}}},{"type":"Product Definition","name":"Manage Stage","config":"{\n \"codeName\": \"Current-Strategy-Manage-Stage\",\n \"singularVariableName\": \"currentStrategyManageStage\",\n \"pluralVariableName\": \"currentStrategyManageStages\",\n \"nodePath\": \"tradingEngine.current.strategyManageStage\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"56d1a25b-54b1-419c-a323-f2fad41de0ec","savedPayload":{"position":{"x":29951.311242528107,"y":20800.97624148345},"targetPosition":{"x":28885.666952834254,"y":20359.85298115474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"fef1dba7-fc21-4338-b75e-a040d71dbde5","savedPayload":{"position":{"x":29701.320905176664,"y":21175.23203056979},"targetPosition":{"x":28885.666952834254,"y":20359.85298115474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"4df09191-2517-4b69-8d05-ba22ee71d7a5","savedPayload":{"position":{"x":30477.000397699132,"y":21489.89902401674},"targetPosition":{"x":29326.83947272734,"y":21425.454835935256},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"41b7d04c-0aeb-478f-9515-8ee8d6eb15e4","savedPayload":{"position":{"x":30335.029412407188,"y":21982.601456910637},"targetPosition":{"x":29326.83947272734,"y":21425.454835935256},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"1250e9d7-07f0-47a5-b1bb-9ad2af6ee8ef","savedPayload":{"position":{"x":29993.362063093704,"y":22364.901951124488},"targetPosition":{"x":29326.83947272734,"y":21425.454835935256},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"c629a906-31b2-4dae-bc5b-44f189b024ae","savedPayload":{"position":{"x":29519.656717925387,"y":22561.10596289485},"targetPosition":{"x":29326.83947272734,"y":21425.454835935256},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"e876f72a-fef5-4956-b401-3d2b7b4b8b95","savedPayload":{"position":{"x":29008.057468981602,"y":22532.36797171794},"targetPosition":{"x":29326.83947272734,"y":21425.454835935256},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"e248dba4-bfa4-4879-8276-edc85ee6b0d9","savedPayload":{"position":{"x":28559.295465938325,"y":22284.35610085911},"targetPosition":{"x":29326.83947272734,"y":21425.454835935256},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"188b2d1c-91c4-4a50-9101-91596ac53407","savedPayload":{"position":{"x":29326.83947272734,"y":21425.454835935256},"targetPosition":{"x":28885.666952834254,"y":20359.85298115474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"bd691611-e7a6-49a8-b07d-c15360b55e40","savedPayload":{"position":{"x":27588.226964271587,"y":19221.053309840583},"targetPosition":{"x":27336.177177442936,"y":18655.916369401104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Current Strategy Manage Stage","id":"34a912c3-4b0f-4f21-9736-4ef47cd0544d"}}}],"productDefinitionFolders":[],"id":"e3ceaf77-f718-477c-bf10-3dc0cf2235bb","savedPayload":{"position":{"x":26536.778488159995,"y":18698.968524084394},"targetPosition":{"x":26117.30196400881,"y":18609.762568861108},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition Folder","name":"Orders","products":[{"type":"Product Definition","name":"Market Buy Orders","config":"{ \n \"codeName\": \"Market-Buy-Orders\", \n \"singularVariableName\": \"marketBuyOrder\", \n \"pluralVariableName\": \"marketBuyOrders\",\n \"nodePathType\": \"array\",\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"a2ea8001-2143-4055-b1d3-525d95fa8e6f","savedPayload":{"position":{"x":29316.272751425146,"y":16037.662716063727},"targetPosition":{"x":28885.510654873906,"y":17104.048336787782},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"557357c6-f814-4bf9-9426-82fc5e22c028","savedPayload":{"position":{"x":29700.131143169605,"y":16278.497669972361},"targetPosition":{"x":28885.510654873906,"y":17104.048336787782},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Exchange Id","config":"{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}","id":"1f788bde-d5cc-4556-9cb3-f6ad2a085870","savedPayload":{"position":{"x":30398.61699105512,"y":14005.556472520175},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"cbe57e07-e492-45ef-be26-6e5ace5cc49d","savedPayload":{"position":{"x":30670.35421006267,"y":13947.22856903486},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"0eef5d2a-489b-402b-a1bc-bbf6105bc226","savedPayload":{"position":{"x":30947.07025816089,"y":13922.092914664125},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"76a37b2a-ff68-425c-95ae-9da13d4f11e3","savedPayload":{"position":{"x":31224.441296424982,"y":13930.481695101733},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"81aa9c0a-b729-471f-8b3f-046d83779376","savedPayload":{"position":{"x":31499.23542835284,"y":13972.30197027278},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Rate","config":"{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"48215010-5717-4f29-aa92-edc16d881270","savedPayload":{"position":{"x":31766.90373320352,"y":14046.940019846996},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"588b02df-d269-4fac-a942-0e148bef8573","savedPayload":{"position":{"x":32023.52735355031,"y":14153.25365273745},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"f44959e8-ba4e-41f2-a349-7003d00ef570","savedPayload":{"position":{"x":32265.521561665566,"y":14289.744927629361},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Order Name","config":"{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"43c9c172-0930-4a94-86c4-6de1b82604d3","savedPayload":{"position":{"x":32489.301315588345,"y":14454.41051154717},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"e637160d-ab4a-4d36-8324-994615efa900","savedPayload":{"position":{"x":32691.60179952045,"y":14644.848438405024},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Algorithm Name","config":"{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"b9cf9af0-758e-46c8-ad34-0afb01aa1658","savedPayload":{"position":{"x":32869.473078506824,"y":14858.28183002462},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderCounters\"\n}","id":"69f674b7-9532-406e-bda9-6a128a9b3e8b","savedPayload":{"position":{"x":33020.3214958921,"y":15091.598522653168},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Percentage Filled","config":"{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"5f50a6c7-0123-4f45-802c-897b7f1d9186","savedPayload":{"position":{"x":33141.947432607034,"y":15341.396406882008},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Actual Rate","config":"{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\"\n}","id":"ff92e722-7f93-4935-ab39-5fe5d901d275","savedPayload":{"position":{"x":33232.57738268805,"y":15604.033035010396},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"7ed49f47-7cf0-4c04-8ec7-c42b77bbc496","savedPayload":{"position":{"x":33290.889819027725,"y":15875.678738394277},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lock","config":"{\n \"codeName\": \"lock\",\n \"isString\": true\n}","id":"c8db7716-5a26-4aa6-b6fa-594e9b4998f0","savedPayload":{"position":{"x":33316.034466482844,"y":16152.372476129698},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"9033bc32-f754-4d94-87a6-4c16cd8ca7d7","savedPayload":{"position":{"x":33307.64474012605,"y":16429.83058621919},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"1524688a-c64c-434c-84ea-79e57f7e37bc","savedPayload":{"position":{"x":33265.843005321694,"y":16704.50152772063},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"200c3a3d-f082-4cb0-86b1-ba12429f6c0e","savedPayload":{"position":{"x":33191.23877159008,"y":16972.131489111413},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Base Asset","config":"{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"256902a5-0c3d-4a8d-9f85-e68bb07405e0","savedPayload":{"position":{"x":33084.919863895266,"y":17228.817923391027},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Quoted Asset","config":"{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"5f054d54-a92e-4d88-a654-20f9257ab794","savedPayload":{"position":{"x":32948.436434691044,"y":17470.81806832069},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Base Asset","config":"{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"2180ac7e-b09a-404f-86cd-3e0d0eb0635f","savedPayload":{"position":{"x":32783.778128808015,"y":17694.603513302685},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Quoted Asset","config":"{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"cd182952-6fd9-40be-82c6-d5b1356c3fc7","savedPayload":{"position":{"x":32593.344255737804,"y":17896.912006489943},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Base Asset","config":"{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"81cb024b-b64e-4f2c-be9d-c343fc27b08e","savedPayload":{"position":{"x":32379.904804521953,"y":18074.796838887403},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Quoted Asset","config":"{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"bfd95185-6f74-4710-b798-b76a5c3cc109","savedPayload":{"position":{"x":32146.52107967901,"y":18225.68858724015},"targetPosition":{"x":31016.377073316955,"y":16221.77818179219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2b743c15-4ca6-46e9-a96e-b0a62b42de60","savedPayload":{"position":{"x":31016.377073316955,"y":16221.77818179219},"targetPosition":{"x":28885.510654873906,"y":17104.048336787782},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"7c769317-2639-4460-8b88-9dc92f7b0585","savedPayload":{"position":{"x":27765.43261598917,"y":18702.265627888326},"targetPosition":{"x":27192.95947914759,"y":18936.86489183738},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Market Buy Orders","id":"50d624c9-9a6e-4d57-a147-29d5c004b3f2"}}},{"type":"Product Definition","name":"Market Sell Orders","config":"{ \n \"codeName\": \"Market-Sell-Orders\", \n \"singularVariableName\": \"marketSellOrder\", \n \"pluralVariableName\": \"marketSellOrders\",\n \"nodePathType\": \"array\",\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"917cfdae-b736-4ed5-ad8e-d572c49ea489","savedPayload":{"position":{"x":29515.18009860784,"y":16203.727181163362},"targetPosition":{"x":28997.416160886827,"y":17224.43517715826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"3c878a50-6d76-412b-95d7-f2e546960293","savedPayload":{"position":{"x":29880.799180538866,"y":16470.79542615308},"targetPosition":{"x":28997.416160886827,"y":17224.43517715826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Exchange Id","config":"{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}","id":"7dd0d738-2116-4010-a9d5-19624a9bc097","savedPayload":{"position":{"x":29862.348224436155,"y":15731.078390663544},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"5843c701-ba88-42c1-97c2-215cb97b309c","savedPayload":{"position":{"x":30000.5734162873,"y":15711.677197641262},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"f3f77a4c-acf5-4026-aa2a-9b34e231a9d5","savedPayload":{"position":{"x":30139.304054286382,"y":15708.936843376103},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"cc0b04e1-acd8-413b-8366-e620d55a22be","savedPayload":{"position":{"x":30277.871760118614,"y":15723.083086633214},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"89bb217d-a5ce-4197-b33b-4b251e3ec5c9","savedPayload":{"position":{"x":30413.785073268857,"y":15753.61173514083},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Rate","config":"{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"3a6b6603-5de8-47a1-b2cb-e2078397aca1","savedPayload":{"position":{"x":30544.673978624625,"y":15800.833359560653},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"a0d62501-1822-4d56-afce-b5eee40212f7","savedPayload":{"position":{"x":30652.068897829173,"y":15875.496605522681},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"9f72bb4a-779d-453f-a7b2-bf240eec29fa","savedPayload":{"position":{"x":30750.692639143395,"y":15982.491014600193},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Order Name","config":"{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"7b91a979-7175-49aa-a83b-faa1d7c22bf3","savedPayload":{"position":{"x":30935.99075218298,"y":16026.652559124577},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"b47e5776-92ed-468e-8040-16a655a9a92b","savedPayload":{"position":{"x":30986.909556299983,"y":16132.078330428189},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Algorithm Name","config":"{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"178e1183-6b29-4a8b-b2a2-3e817bf56c0b","savedPayload":{"position":{"x":31068.34538827679,"y":16245.623148486544},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderCounters\"\n}","id":"16eb66bd-cbd5-4272-83bd-7aa5cbf79965","savedPayload":{"position":{"x":31135.168892991685,"y":16367.755113665611},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Percentage Filled","config":"{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"4694fc1a-8031-4b21-8002-fb2259b98221","savedPayload":{"position":{"x":31186.881107406414,"y":16497.041544338765},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Actual Rate","config":"{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\"\n}","id":"3fdfa893-f3ff-4595-bfd1-e9e191a2f7de","savedPayload":{"position":{"x":31222.68420702918,"y":16631.613895914077},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"fd90ed73-a52a-41b0-988e-f85896e4e119","savedPayload":{"position":{"x":31242.03630497767,"y":16769.519686513424},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lock","config":"{\n \"codeName\": \"lock\",\n \"isString\": true\n}","id":"a0541e00-0150-4089-82c3-1f596ed4fc0c","savedPayload":{"position":{"x":31244.6445856353,"y":16908.51594371438},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"2320eff7-cd11-46a6-8f2b-7c6c6bd9afa2","savedPayload":{"position":{"x":31230.464274146343,"y":17047.049356446634},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"cbcd69c4-f332-4615-a1aa-ff5a63c2f63a","savedPayload":{"position":{"x":31199.69789803938,"y":17182.86664300351},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"67d569c5-929d-4f9a-a7a2-1a31aecab027","savedPayload":{"position":{"x":31152.79237786844,"y":17313.988448869477},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Base Asset","config":"{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"42ccc010-d59e-45d0-9ded-718df8f547cc","savedPayload":{"position":{"x":31090.423928279917,"y":17438.501833543578},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Quoted Asset","config":"{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"da1eb092-2796-4d86-9e20-095b75b18911","savedPayload":{"position":{"x":31013.500017567214,"y":17554.592245323154},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Base Asset","config":"{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"4b2b02b0-2297-4cae-997e-ddadffae94e1","savedPayload":{"position":{"x":30923.1365976582,"y":17660.567752835006},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Quoted Asset","config":"{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"49e12e85-2250-420d-ae4e-4d7ee514e59c","savedPayload":{"position":{"x":30820.64091503664,"y":17754.886467342007},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Base Asset","config":"{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"f28662d2-c0e7-4051-a8ab-868707defe65","savedPayload":{"position":{"x":30707.477350364636,"y":17836.186155952942},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Quoted Asset","config":"{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"a4c176bc-6da0-459f-ac04-7c414f92ce02","savedPayload":{"position":{"x":30585.084699066985,"y":17903.355009615774},"targetPosition":{"x":30092.291729047563,"y":16860.997781414982},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e2626cbd-29b0-4582-a408-4720feb8123d","savedPayload":{"position":{"x":30092.291729047563,"y":16860.997781414982},"targetPosition":{"x":28997.416160886827,"y":17224.43517715826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"9cc7645a-54fe-40d6-9896-9278167011fb","savedPayload":{"position":{"x":27810.48431726344,"y":18973.756989605008},"targetPosition":{"x":27192.95947914759,"y":18936.86489183738},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Market Sell Orders","id":"4f84a1a5-f9cd-4b9d-9d91-661ba912e2ca"}}},{"type":"Product Definition","name":"Limit Buy Orders","config":"{ \n \"codeName\": \"Limit-Buy-Orders\", \n \"singularVariableName\": \"limitBuyOrder\", \n \"pluralVariableName\": \"limitBuyOrders\",\n \"nodePathType\": \"array\",\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"df8cfaa4-a4d4-4bc1-9fa2-4f8e91e45a87","savedPayload":{"position":{"x":29687.138733512576,"y":16361.172952336317},"targetPosition":{"x":29099.053418765245,"y":17353.365203626712},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"12652573-9506-4d3e-82bb-64b1bb9e7ce0","savedPayload":{"position":{"x":30021.910736300753,"y":16661.53174681767},"targetPosition":{"x":29099.053418765245,"y":17353.365203626712},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Exchange Id","config":"{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}","id":"b0dc1303-0b65-4328-b885-f33d4ef395a6","savedPayload":{"position":{"x":30067.797881451417,"y":15925.52918087198},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"451e4e45-854c-4b9f-ac75-ddfe076fb6d8","savedPayload":{"position":{"x":30207.083349708413,"y":15915.884284360693},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"fa7958e6-31e1-4216-b3bf-f341cae3ad92","savedPayload":{"position":{"x":30345.853590410985,"y":15923.127295236647},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"f3230b63-049f-457a-abc1-9117d8443337","savedPayload":{"position":{"x":30482.976955006823,"y":15947.08128655739},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"544aae22-e5cf-41d2-912e-f19699a7f65a","savedPayload":{"position":{"x":30616.189818013412,"y":15987.39194623625},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Rate","config":"{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"7cccabcc-97ae-4e46-86b4-70c8b6ab73c5","savedPayload":{"position":{"x":30743.568438885697,"y":16043.457719615919},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"3f94ee88-bb65-4f46-9cef-c3468b2e5831","savedPayload":{"position":{"x":30863.249625071614,"y":16114.472259668228},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"fbe17bbd-1af9-4b97-be44-f267039077e5","savedPayload":{"position":{"x":30973.50033684197,"y":16199.390558527257},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Order Name","config":"{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"593c0354-1f6a-4ec1-879b-13f95de9d66d","savedPayload":{"position":{"x":31072.709057481246,"y":16296.973789438101},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"7a473c6b-849a-46f7-befa-661675c6b6a7","savedPayload":{"position":{"x":31159.428860151856,"y":16405.811755766008},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Algorithm Name","config":"{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"7e05bfad-d3ba-4170-bb97-b02911c65b81","savedPayload":{"position":{"x":31232.405514719652,"y":16524.306925054017},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderCounters\"\n}","id":"e86cdc19-1330-4dbd-b0d9-6300bb84b504","savedPayload":{"position":{"x":31290.55892018152,"y":16650.723764410715},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Percentage Filled","config":"{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"dc8ff39f-2ebf-4097-a324-69714556e67e","savedPayload":{"position":{"x":31333.053293505447,"y":16783.237037798808},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Actual Rate","config":"{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\"\n}","id":"e9f153ec-763f-45ce-ab8e-9095762a8b5c","savedPayload":{"position":{"x":31359.260997321715,"y":16919.89930711365},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"45ca3d8c-ba98-4ff9-8825-d515ad54d235","savedPayload":{"position":{"x":31368.814597283104,"y":17058.731605705085},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lock","config":"{\n \"codeName\": \"lock\",\n \"isString\": true\n}","id":"0952905d-7adc-497d-859c-9bf80bd5753c","savedPayload":{"position":{"x":31361.557672918123,"y":17197.39106484953},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"7becceb8-d380-4e4e-b5ce-70b63b32445f","savedPayload":{"position":{"x":31337.596151128193,"y":17334.458958771065},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"4deb6a9d-3914-4a70-b2f5-992a09504eec","savedPayload":{"position":{"x":31297.29146363968,"y":17467.653354657406},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"3213e0e6-5b5f-4e9a-b67e-33f596bad152","savedPayload":{"position":{"x":31241.22917327452,"y":17595.003149163455},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Base Asset","config":"{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"737e90c6-6468-4873-a786-8e998b39163b","savedPayload":{"position":{"x":31170.21789988615,"y":17714.669411621944},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Quoted Asset","config":"{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderQuotedAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"08461bfb-7f11-40d4-96a8-0b84ab258efe","savedPayload":{"position":{"x":31085.283135001137,"y":17824.90978331869},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Base Asset","config":"{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"1c6d07ec-602d-412b-b384-b9170f8bb8de","savedPayload":{"position":{"x":30987.662717431504,"y":17924.14022792456},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Quoted Asset","config":"{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"bb16c953-c112-4828-8f29-6604be02b427","savedPayload":{"position":{"x":30878.54501183158,"y":18011.148797849113},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Base Asset","config":"{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\",\n \"decimals\": 10\n}","id":"a698c86e-8997-4053-9bd7-222876eb9a74","savedPayload":{"position":{"x":30759.868306622026,"y":18084.200815197564},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Quoted Asset","config":"{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderQuotedAsset\",\n \"childProperty\": \"feesPaid\",\n \"decimals\": 10\n}","id":"07aef603-7b78-4446-b0e2-03c365d5941c","savedPayload":{"position":{"x":30632.97089134783,"y":18142.26630470712},"targetPosition":{"x":30216.61805560583,"y":17068.128150904227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d3c594aa-6573-44f7-b93e-2bd2b0d4134e","savedPayload":{"position":{"x":30216.61805560583,"y":17068.128150904227},"targetPosition":{"x":29099.053418765245,"y":17353.365203626712},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"4c827ee0-a29b-4b65-8438-03e2ea98b410","savedPayload":{"position":{"x":27733.262183618495,"y":19238.036274851933},"targetPosition":{"x":27192.95947914759,"y":18936.86489183738},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Limit Buy Orders","id":"17ec46bd-e5c0-48d5-a3b6-e108cc835f17"}}},{"type":"Product Definition","name":"Limit Sell Orders","config":"{ \n \"codeName\": \"Limit-Sell-Orders\", \n \"singularVariableName\": \"limitSellOrder\", \n \"pluralVariableName\": \"limitSellOrders\",\n \"nodePathType\": \"array\",\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"f645108f-4648-497f-b361-0be5b84c233a","savedPayload":{"position":{"x":29849.659925800177,"y":16540.84260020951},"targetPosition":{"x":29192.20798492512,"y":17488.59321904556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"e98191d1-5b13-42eb-bd52-31e3c6830188","savedPayload":{"position":{"x":30162.165938312566,"y":16864.36233163077},"targetPosition":{"x":29192.20798492512,"y":17488.59321904556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Exchange Id","config":"{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}","id":"5d3f01ca-9d2b-4446-906c-0f9dfcf8016f","savedPayload":{"position":{"x":30260.424003796343,"y":16133.602715078317},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"ef7f6f85-9aac-4eb1-935e-84c03beb5ae0","savedPayload":{"position":{"x":30399.73892068825,"y":16133.926081737764},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"68c5cf4d-ee84-4d53-be73-923d6ec0c070","savedPayload":{"position":{"x":30537.954292702852,"y":16151.075689863825},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"f551a912-c93a-49a5-8ec6-b23845504195","savedPayload":{"position":{"x":30673.03471409933,"y":16184.755985350315},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"5ca3123d-351b-4b1b-9bdd-2be83cb30d4b","savedPayload":{"position":{"x":30803.050309934406,"y":16234.469488307654},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Rate","config":"{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"a4d2dcb3-66b5-4689-9ff5-6e79ca264c3a","savedPayload":{"position":{"x":30926.117017505254,"y":16299.489662106893},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"74cfaaa3-4241-4585-bb78-afe6ab4fad13","savedPayload":{"position":{"x":31040.444956150546,"y":16378.867870747594},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"e79e457e-0f39-4444-b196-e2ab8e9d51b3","savedPayload":{"position":{"x":31144.36922069161,"y":16471.446515440286},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Order Name","config":"{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"26467972-56e9-445c-84cc-043cf332e7cf","savedPayload":{"position":{"x":31236.37555432141,"y":16575.875602522494},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"259e069d-8c48-4b18-b3be-876eb376edfd","savedPayload":{"position":{"x":31315.12297797849,"y":16690.63237285768},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Algorithm Name","config":"{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"ab79d27c-63b2-4b9c-986c-69551d4acda6","savedPayload":{"position":{"x":31379.463621259416,"y":16814.04345753854},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderCounters\"\n}","id":"df8ad782-de40-443e-9c25-0c9fd06c0ddd","savedPayload":{"position":{"x":31428.459528520507,"y":16944.309253938816},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Percentage Filled","config":"{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"2adf7743-fa8c-484c-b2b2-16c144f2aa8c","savedPayload":{"position":{"x":31461.39640925905,"y":17079.530138566362},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Actual Rate","config":"{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\"\n}","id":"fd5472c9-a36f-4281-891d-57380ca2ef6c","savedPayload":{"position":{"x":31477.794121601546,"y":17217.73416878738},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"87559a66-ff26-4cfb-b9db-baa312369ee1","savedPayload":{"position":{"x":31477.413332640925,"y":17356.615185159804},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lock","config":"{\n \"codeName\": \"lock\",\n \"isString\": true\n}","id":"aee3133b-1078-4262-84da-01e16ab7d491","savedPayload":{"position":{"x":31460.259979090544,"y":17494.7224277718},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"84f5a086-9b8d-4296-bba1-bccfc56fb263","savedPayload":{"position":{"x":31426.58434425502,"y":17629.75418897736},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"8bf3e674-bbc9-4ff6-bcba-c9487d5215a3","savedPayload":{"position":{"x":31376.87735999037,"y":17759.738572823706},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"1d59f7dc-e3c9-4456-8980-3fded2a58f1a","savedPayload":{"position":{"x":31311.8609066488,"y":17882.784062958086},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Base Asset","config":"{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"8a2fa2ac-a644-46bd-ad48-8acd59807416","savedPayload":{"position":{"x":31232.482047755813,"y":17997.09262673862},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Quoted Asset","config":"{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderQuotedAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"fd203e76-3248-4806-98bc-3dd66c8c4964","savedPayload":{"position":{"x":31139.89415892212,"y":18100.992102860044},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Base Asset","config":"{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"2967221c-0ec9-41e4-8185-689147f647eb","savedPayload":{"position":{"x":31035.429103597155,"y":18192.979469669546},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Quoted Asset","config":"{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"996a2f7a-28d7-4bbd-9695-3d29119b3008","savedPayload":{"position":{"x":30920.409456113724,"y":18271.90635335774},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Base Asset","config":"{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\",\n \"decimals\": 10\n}","id":"4056be3b-3774-4537-8902-06ecf35d9958","savedPayload":{"position":{"x":30796.802576000202,"y":18336.299925860545},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Quoted Asset","config":"{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderQuotedAsset\",\n \"childProperty\": \"feesPaid\",\n \"decimals\": 10\n}","id":"ed176195-45a7-4fa0-92d0-ac7a4feab4bc","savedPayload":{"position":{"x":30666.10256146966,"y":18385.266643688334},"targetPosition":{"x":30327.274216359023,"y":17284.06770909679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"38241371-e97c-4eb5-989e-26605c078620","savedPayload":{"position":{"x":30327.274216359023,"y":17284.06770909679},"targetPosition":{"x":29192.20798492512,"y":17488.59321904556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"2c753cd8-36d8-466c-bd80-1ebfa8e314dc","savedPayload":{"position":{"x":27549.000460780288,"y":19442.578276428212},"targetPosition":{"x":27192.95947914759,"y":18936.86489183738},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Limit Sell Orders","id":"1ec8da3f-8749-430d-8ad9-35fffc0d61ec"}}},{"type":"Product Definition","name":"Last Market Order","config":"{ \n \"codeName\": \"Last-Market-Order\", \n \"singularVariableName\": \"lastMarketOrder\", \n \"pluralVariableName\": \"lastMarketOrders\",\n \"nodePath\": \"tradingEngine.last.marketOrders\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"768b42e9-59fe-494f-9e05-3be57fb17ca8","savedPayload":{"position":{"x":28153.612930302,"y":22008.707188626304},"targetPosition":{"x":27570.994962520723,"y":21012.819025643053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"26a39916-4f2d-42ab-ae86-7ab622f80624","savedPayload":{"position":{"x":27728.00446345379,"y":22155.842159604574},"targetPosition":{"x":27570.994962520723,"y":21012.819025643053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Exchange Id","config":"{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}","id":"8dbd8444-1037-4ab0-888b-dd49ffbfdc8b","savedPayload":{"position":{"x":29127.687478671804,"y":24090.643740342304},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"db3b180d-b86f-4749-a8a7-8d5d7689f032","savedPayload":{"position":{"x":29009.903458679943,"y":24342.58580922895},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"fbef9773-d1c5-4ac2-9ce3-287dd94fd114","savedPayload":{"position":{"x":28862.634107351543,"y":24578.441663667756},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"b9f73cfb-1c24-4ce7-a9ac-184841d1e16a","savedPayload":{"position":{"x":28688.014471522496,"y":24794.8173498947},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"9e7d08f0-4218-447b-8a13-54211abc880c","savedPayload":{"position":{"x":28488.58886683717,"y":24988.56432208757},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Rate","config":"{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"f8dafa7f-c43a-4dc9-909a-85eb44e49dbd","savedPayload":{"position":{"x":28267.26468361996,"y":25156.859305192735},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"1a84e99a-ccb0-4483-90c6-f99c396b0dc8","savedPayload":{"position":{"x":28027.269050652678,"y":25297.24900394557},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"b098ae78-9591-4d50-8c01-09d5775d27ff","savedPayload":{"position":{"x":27772.10153296595,"y":25407.686613095713},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Order Name","config":"{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"9bd09a1b-af71-4467-b571-6815ddc01c7d","savedPayload":{"position":{"x":27505.48299874919,"y":25486.561896214735},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"c9301d25-01f7-4ae9-bd3b-184eedac1998","savedPayload":{"position":{"x":27231.30131654211,"y":25532.72476663369},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Algorithm Name","config":"{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"89ad4f68-83b2-4f5b-9aa5-1db1815b12fd","savedPayload":{"position":{"x":26953.753753126475,"y":25545.502116196883},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderCounters\"\n}","id":"10fdf7b0-2fb7-4692-86fe-0d5481e90b93","savedPayload":{"position":{"x":26676.492342912727,"y":25524.70766723347},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Percentage Filled","config":"{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderStatistics\",\n \"decimals\": 2\n}","id":"e5946038-66fd-4f81-a503-ac98a61095bb","savedPayload":{"position":{"x":26403.759070949924,"y":25470.644641406183},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Actual Rate","config":"{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderStatistics\"\n}","id":"9b802d6d-35f2-4535-8062-e3dc2b782574","savedPayload":{"position":{"x":26139.532188442376,"y":25384.101922749385},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderStatistics\",\n \"decimals\": 2\n}","id":"8dba345d-5995-4973-a80f-99cd5c07d106","savedPayload":{"position":{"x":25887.667672269054,"y":25266.344134651317},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lock","config":"{\n \"codeName\": \"lock\",\n \"isString\": true\n}","id":"8255158c-b589-4b7b-9f8e-c66ec0ee1ed3","savedPayload":{"position":{"x":25651.824477431885,"y":25119.079855006326},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"9b78302a-2d32-45e1-84c9-7fa34ea3f378","savedPayload":{"position":{"x":25435.445588021063,"y":24944.45463207271},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"bb170388-df93-4218-a35b-dcf7a42d261b","savedPayload":{"position":{"x":25241.710633247047,"y":24745.037351924475},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"6067ba50-8879-4d74-8bc6-11b77677fbea","savedPayload":{"position":{"x":25073.418101964286,"y":24523.714657332872},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Base Asset","config":"{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"5bdb31c2-8bfb-4ac9-8492-3d3d76c20e71","savedPayload":{"position":{"x":24933.03001824433,"y":24283.71956279404},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Quoted Asset","config":"{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderQuotedAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"eaf268d2-5576-4da0-9d30-708bd68f7a9c","savedPayload":{"position":{"x":24822.59380472023,"y":24028.551628895257},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Base Asset","config":"{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"a050f0e0-b844-4c9f-ad32-85af779a59d5","savedPayload":{"position":{"x":24743.72007121174,"y":23761.931080022663},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Quoted Asset","config":"{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"fb89644d-9ce1-4ee5-8b4a-ccbcff36ac8b","savedPayload":{"position":{"x":24697.559475743044,"y":23487.74395604816},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Base Asset","config":"{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"fd00ddf7-d367-4ea6-a289-a29a15b41aab","savedPayload":{"position":{"x":24684.786760604784,"y":23210.180945600798},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Quoted Asset","config":"{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.marketOrders.orderQuotedAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"9e87631f-fcf4-4d3d-837d-82e7d12bf94f","savedPayload":{"position":{"x":24705.59836997145,"y":22932.848413909927},"targetPosition":{"x":26986.958281556967,"y":23243.371716820755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9292833c-b6ec-4734-b6ec-552aeecb540d","savedPayload":{"position":{"x":26986.958281556967,"y":23243.371716820755},"targetPosition":{"x":27570.994962520723,"y":21012.819025643053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"6df1ac87-92d5-4788-b0bc-f3543b283ef0","savedPayload":{"position":{"x":27294.263437389254,"y":19547.2248360226},"targetPosition":{"x":27192.95947914759,"y":18936.86489183738},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Last Market Order","id":"05aa37c8-9f6d-4276-96a6-3123707e7686"}}},{"type":"Product Definition","name":"Last Limit Order","config":"{ \n \"codeName\": \"Last-Limit-Order\", \n \"singularVariableName\": \"lastLimitOrder\", \n \"pluralVariableName\": \"lastLimitOrders\",\n \"nodePath\": \"tradingEngine.last.limitOrders\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"f9263cd7-460d-461c-be7b-ed2a69d38d11","savedPayload":{"position":{"x":27927.652205867147,"y":22062.23381902825},"targetPosition":{"x":27414.36417226283,"y":21028.903345200004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"f3d5b047-d9c2-4e71-8fce-6e9be3499556","savedPayload":{"position":{"x":27492.99640976427,"y":22179.980409343338},"targetPosition":{"x":27414.36417226283,"y":21028.903345200004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Exchange Id","config":"{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}","id":"f5ab0d81-63ce-48d6-99f8-51c6bf2a6e97","savedPayload":{"position":{"x":28757.29539111899,"y":24205.948503136144},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"6e9e3c64-3e53-4049-b251-3a9e1e63b24c","savedPayload":{"position":{"x":28622.593315860904,"y":24449.265362983613},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"53856545-fe51-4ec7-bbb0-e398eb6fdbd0","savedPayload":{"position":{"x":28459.572161109445,"y":24674.521184881913},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"4b0399dd-39b4-4ef5-9c57-48f7a2465581","savedPayload":{"position":{"x":28270.59362619548,"y":24878.475793710004},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"552cb522-d091-446c-b0c7-8644d9a39e9c","savedPayload":{"position":{"x":28058.411077065488,"y":25058.161701486013},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Rate","config":"{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"34b51b42-1c7f-4691-81ff-e3baba398a2c","savedPayload":{"position":{"x":27826.1178972329,"y":25210.96062058306},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"4b2251b9-462f-4b9b-850c-2848dac1d08b","savedPayload":{"position":{"x":27577.101159591613,"y":25334.64516321163},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"22e3ead2-3ec4-437f-99d4-eb1cf2465f34","savedPayload":{"position":{"x":27314.991955873196,"y":25427.41207822356},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Order Name","config":"{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"f1ba05d1-f727-4495-9bf9-aeb656da4e7b","savedPayload":{"position":{"x":27043.612353740984,"y":25487.9087835085},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"53acfd34-51ce-49b9-b42a-03706b2e7a86","savedPayload":{"position":{"x":26766.91962716287,"y":25515.253184783483},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Algorithm Name","config":"{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"1f8cb548-32a3-49c3-b1b1-20eb6130c58c","savedPayload":{"position":{"x":26489.14764329169,"y":25509.046604905554},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderCounters\"\n}","id":"d4c99d02-1038-4ee5-8f67-6804d89ab65e","savedPayload":{"position":{"x":26213.951699624464,"y":25469.37957823601},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Percentage Filled","config":"{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderStatistics\",\n \"decimals\": 2\n}","id":"fbd59c15-2863-4257-9211-7492ebb69c93","savedPayload":{"position":{"x":25945.543712181363,"y":25396.830555835273},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Actual Rate","config":"{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderStatistics\"\n}","id":"ead97685-20c5-44a7-b86c-33e7a55e416a","savedPayload":{"position":{"x":25687.88938050215,"y":25292.48583487256},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderStatistics\",\n \"decimals\": 2\n}","id":"97b1f010-04b2-4016-b313-48ea865b49a4","savedPayload":{"position":{"x":25444.590092747294,"y":25157.78966093644},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lock","config":"{\n \"codeName\": \"lock\",\n \"isString\": true\n}","id":"eba510cb-b866-45ba-984e-153216f4f3c6","savedPayload":{"position":{"x":25219.307811745297,"y":24994.737700621405},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"af94d067-ae2f-4610-b546-6d97904957e2","savedPayload":{"position":{"x":25015.40198363228,"y":24805.791387303416},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"839364f2-db1b-4bfd-b61c-015e70f5d171","savedPayload":{"position":{"x":24835.721533870572,"y":24593.613394023192},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"919ab388-ca0a-4d89-b0ea-929090ef1bf8","savedPayload":{"position":{"x":24682.92489758351,"y":24361.321816524407},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Base Asset","config":"{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"1cd292aa-6c43-44ad-90e3-6f49f71be40f","savedPayload":{"position":{"x":24559.241944939586,"y":24112.30573935261},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Quoted Asset","config":"{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderQuotedAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"9abd9e70-fad1-4da5-86b8-fb5e1daf6a2a","savedPayload":{"position":{"x":24466.476452169758,"y":23850.196192187243},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Base Asset","config":"{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"3819475a-dec6-4cd3-8d9a-c10a9193d592","savedPayload":{"position":{"x":24405.981405491424,"y":23578.814651056284},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Quoted Asset","config":"{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"034fc727-1072-4cbf-8540-693d0a34d4e6","savedPayload":{"position":{"x":24378.639630121645,"y":23302.116628141834},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Base Asset","config":"{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"598761f1-33e1-4edb-bff9-33b2b8ba2933","savedPayload":{"position":{"x":24384.85185430105,"y":23024.329571322207},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Quoted Asset","config":"{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.last.limitOrders.orderQuotedAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"182d9d37-1cef-43ed-93c8-7b9bebdf150f","savedPayload":{"position":{"x":24424.540744450747,"y":22749.0639075769},"targetPosition":{"x":26679.34531027367,"y":23214.53492808803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e82595f6-184f-4a0c-8385-1364f22ea8e0","savedPayload":{"position":{"x":26679.34531027367,"y":23214.53492808803},"targetPosition":{"x":27414.36417226283,"y":21028.903345200004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"c24ec6a1-e937-4d20-93eb-4faf2a0becc3","savedPayload":{"position":{"x":27019.426096769414,"y":19530.848580772188},"targetPosition":{"x":27192.95947914759,"y":18936.86489183738},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Last Limit Order","id":"2284d48f-cf52-4277-b81e-c62afef88b71"}}}],"productDefinitionFolders":[],"id":"1e82c85a-37f7-4610-a982-e14ab71a5286","savedPayload":{"position":{"x":26436.15327713786,"y":18896.740720991056},"targetPosition":{"x":26117.30196400881,"y":18609.762568861108},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"db019824-6897-461b-b39b-ebe905a84231","savedPayload":{"position":{"x":25819.192836399405,"y":18575.835398328516},"targetPosition":{"x":25391.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition Folder","name":"Trading System","products":[{"type":"Product Definition","name":"Trading System Errors","config":"{\n \"codeName\": \"Trading-System-Errors\",\n \"singularVariableName\": \"tradingSystemError\",\n \"pluralVariableName\": \"tradingSystemErrors\",\n \"nodePath\": \"tradingSystem\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"2ef33675-fc52-49fd-a8ef-bc5da1711dd1","savedPayload":{"position":{"x":30259.328056387043,"y":17140.990608864548},"targetPosition":{"x":29414.885198532895,"y":17927.320473959357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"2d0dd4c2-4f4c-4d8c-b9a5-9ca62f186369","savedPayload":{"position":{"x":30495.98683267099,"y":17524.0480547432},"targetPosition":{"x":29414.885198532895,"y":17927.320473959357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"49f8debb-5e74-467d-be5a-4d0cb9695709","savedPayload":{"position":{"x":31411.84809673337,"y":17182.786907461825},"targetPosition":{"x":30568.007004511688,"y":17968.415537430817},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"1129b6b6-a686-4f24-b37f-f2a503586a19","savedPayload":{"position":{"x":31720.25693079482,"y":18009.42464417054},"targetPosition":{"x":30568.007004511688,"y":17968.415537430817},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Errors","config":"{\n \"codeName\": \"errors\",\n \"isString\": false\n}","id":"e994737a-9a14-40f0-8ad0-a151c799a094","savedPayload":{"position":{"x":31353.812686941055,"y":18812.228869443607},"targetPosition":{"x":30568.007004511688,"y":17968.415537430817},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cbcd5cb4-66b1-4535-9592-0164a480b7f7","savedPayload":{"position":{"x":30568.007004511688,"y":17968.415537430817},"targetPosition":{"x":29414.885198532895,"y":17927.320473959357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"1d9c570d-77c7-40ac-a61e-c5a57a411de8","savedPayload":{"position":{"x":26412.175336801964,"y":18432.107601309548},"targetPosition":{"x":26117.53900440294,"y":18854.08182911797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Errors","id":"64684730-d049-4d3c-8013-b48c5438417e"}}},{"type":"Product Definition","name":"Trading System Highlights","config":"{\n \"codeName\": \"Trading-System-Highlights\",\n \"singularVariableName\": \"tradingSystemHighlight\",\n \"pluralVariableName\": \"tradingSystemHighlights\",\n \"nodePath\": \"tradingSystem\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"6e0f951c-25e7-4b92-85da-8be04d424bd0","savedPayload":{"position":{"x":30000.367351579298,"y":16731.20182549975},"targetPosition":{"x":29276.755918682018,"y":17629.40471550498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"fa53ecfb-a558-4810-b6f8-1f9c6c8bfc5b","savedPayload":{"position":{"x":30289.056076963487,"y":17076.565993803477},"targetPosition":{"x":29276.755918682018,"y":17629.40471550498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"9fefb3c2-2293-4ffa-8db8-9430dd662bcf","savedPayload":{"position":{"x":31146.450970566275,"y":16609.201581072903},"targetPosition":{"x":30423.591905437104,"y":17506.228416797097},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"431d65d9-1f6d-4e73-8655-cbf36854d3cf","savedPayload":{"position":{"x":31569.058946223366,"y":17383.158871542164},"targetPosition":{"x":30423.591905437104,"y":17506.228416797097},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Highlights","config":"{\n \"codeName\": \"highlights\",\n \"isString\": false\n}","id":"6355df8f-6845-4652-8ebc-90468c526949","savedPayload":{"position":{"x":31320.68408519307,"y":18228.886150477916},"targetPosition":{"x":30423.591905437104,"y":17506.228416797097},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"af6916b9-83d1-478b-ac92-35ea4f9b8a46","savedPayload":{"position":{"x":30423.591905437104,"y":17506.228416797097},"targetPosition":{"x":29276.755918682018,"y":17629.40471550498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"319f660a-78be-4cf4-8052-877837cad806","savedPayload":{"position":{"x":26533.05699796752,"y":18546.536577914245},"targetPosition":{"x":26117.53900440294,"y":18854.08182911797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Highlights","id":"d979c9f0-530a-41d3-a357-b57a3e4f2201"}}},{"type":"Product Definition","name":"Trading System Values","config":"{\n \"codeName\": \"Trading-System-Values\",\n \"singularVariableName\": \"tradingSystemValue\",\n \"pluralVariableName\": \"tradingSystemValues\",\n \"nodePath\": \"tradingSystem\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"9c4ec2f8-f4a8-45b9-aba3-b093a7b8f86a","savedPayload":{"position":{"x":30136.63651978932,"y":16931.790797988113},"targetPosition":{"x":29350.82458470506,"y":17776.038810025504},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"b3d3fe62-e714-4cb9-a78d-55bc0add1d7c","savedPayload":{"position":{"x":30399.944252055826,"y":17296.849194093007},"targetPosition":{"x":29350.82458470506,"y":17776.038810025504},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"956e9238-3cd9-4258-9295-77d3ad473508","savedPayload":{"position":{"x":31288.408682554822,"y":16891.941787242176},"targetPosition":{"x":30503.462528679873,"y":17735.02552803476},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"dbb03ed7-1d1f-4105-b559-eac7b4d8d4d9","savedPayload":{"position":{"x":31654.70353465539,"y":17693.99698365749},"targetPosition":{"x":30503.462528679873,"y":17735.02552803476},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Values","config":"{\n \"codeName\": \"values\",\n \"isString\": false\n}","id":"2349e00c-f032-432b-8c9a-07c1606574e8","savedPayload":{"position":{"x":31346.74971871586,"y":18519.750512801613},"targetPosition":{"x":30503.462528679873,"y":17735.02552803476},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a65db5f6-3b75-435d-8155-2e2c7af39279","savedPayload":{"position":{"x":30503.462528679873,"y":17735.02552803476},"targetPosition":{"x":29350.82458470506,"y":17776.038810025504},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"c90c009b-588d-45d4-aff1-05e375181dfa","savedPayload":{"position":{"x":26609.809831496514,"y":18691.948506576162},"targetPosition":{"x":26117.53900440294,"y":18854.08182911797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Values","id":"476925ed-e2ac-443d-82f3-501b64ca6c87"}}},{"type":"Product Definition","name":"Trading System Status","config":"{\n \"codeName\": \"Trading-System-Status\",\n \"singularVariableName\": \"tradingSystemState\",\n \"pluralVariableName\": \"tradingSystemStatus\",\n \"nodePath\": \"tradingSystem\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"2b83dc93-dc14-44d9-8f8c-889f39a952da","savedPayload":{"position":{"x":30364.394890856223,"y":17359.569882865562},"targetPosition":{"x":29466.430670259666,"y":18083.371668706048},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"0f8dcda3-1eab-439d-956c-c6eb9b1c481f","savedPayload":{"position":{"x":30573.054522546914,"y":17758.363627155337},"targetPosition":{"x":29466.430670259666,"y":18083.371668706048},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"214b03c2-5fc3-4157-bcfd-4796b0565d98","savedPayload":{"position":{"x":31510.0895540162,"y":17483.710388430332},"targetPosition":{"x":30613.147126492622,"y":18206.494607374418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"78c4b87a-592d-49ca-9c8c-f5d0dae8d7ba","savedPayload":{"position":{"x":31758.541209769184,"y":18329.422107616345},"targetPosition":{"x":30613.147126492622,"y":18206.494607374418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{\n \"codeName\": \"status\",\n \"isString\": false\n}","id":"fdb4b903-20ff-4a67-a03f-f02e67b5d81b","savedPayload":{"position":{"x":31336.030359036282,"y":19103.455801678523},"targetPosition":{"x":30613.147126492622,"y":18206.494607374418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"04b0fd4c-df6f-40df-9567-60a735d126e6","savedPayload":{"position":{"x":30613.147126492622,"y":18206.494607374418},"targetPosition":{"x":29466.430670259666,"y":18083.371668706048},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"eed48c80-35c5-49fa-b12d-18e7280ffb8f","savedPayload":{"position":{"x":26636.590007559622,"y":18853.17893584097},"targetPosition":{"x":26117.53900440294,"y":18854.08182911797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Status","id":"0437448d-8740-496b-8fce-d3804be81a2b"}}},{"type":"Product Definition","name":"Trading System Progress","config":"{\n \"codeName\": \"Trading-System-Progress\",\n \"singularVariableName\": \"tradingSystemProgress\",\n \"pluralVariableName\": \"tradingSystemProgresses\",\n \"nodePath\": \"tradingSystem\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"77735fc0-9ce6-4dec-a3ad-8075a22eda40","savedPayload":{"position":{"x":30454.722749796012,"y":17584.64889897098},"targetPosition":{"x":29507.403545221547,"y":18242.551261110555},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"2fde11bd-4515-4a4e-9dc0-f6869dd3a04e","savedPayload":{"position":{"x":30634.386418144666,"y":17997.321545665738},"targetPosition":{"x":29507.403545221547,"y":18242.551261110555},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"076e6f4d-1b05-42e1-abc6-c50c935ef056","savedPayload":{"position":{"x":31588.517078321285,"y":17790.201150340763},"targetPosition":{"x":30642.29009981502,"y":18447.143281635657},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"280a33ea-29cc-41ab-9ffc-31c38a8e8d60","savedPayload":{"position":{"x":31775.995238481064,"y":18651.505575723993},"targetPosition":{"x":30642.29009981502,"y":18447.143281635657},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Progress","config":"{\n \"codeName\": \"progress\",\n \"isString\": false\n}","id":"5964f3e5-82af-47de-9492-19c634d4f5ad","savedPayload":{"position":{"x":31299.26648005415,"y":19393.34832394855},"targetPosition":{"x":30642.29009981502,"y":18447.143281635657},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"218da162-dd8c-4f77-9150-3d2eee6e6e0d","savedPayload":{"position":{"x":30642.29009981502,"y":18447.143281635657},"targetPosition":{"x":29507.403545221547,"y":18242.551261110555},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"04c8606b-5e59-4e7d-b3ac-387bfffcd300","savedPayload":{"position":{"x":26611.167207767343,"y":19013.992814232442},"targetPosition":{"x":26117.53900440294,"y":18854.08182911797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Progress","id":"99aecc8d-2bc4-4748-b642-78888c2d35eb"}}},{"type":"Product Definition","name":"Trading System Running","config":"{\n \"codeName\": \"Trading-System-Running\",\n \"singularVariableName\": \"tradingSystemRun\",\n \"pluralVariableName\": \"tradingSystemRunning\",\n \"nodePath\": \"tradingSystem\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"c7b45884-6cdf-43f7-a1e5-c5325effd207","savedPayload":{"position":{"x":30528.43549475136,"y":17815.647167925275},"targetPosition":{"x":29536.611101344206,"y":18404.282153583918},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"a21cbc62-e6d8-4286-b0ff-430071d46700","savedPayload":{"position":{"x":30678.189514144302,"y":18240.056549590572},"targetPosition":{"x":29536.611101344206,"y":18404.282153583918},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"42cccc8c-a020-4cb2-8a40-4d3dacc86597","savedPayload":{"position":{"x":31644.57882061422,"y":18101.650987076755},"targetPosition":{"x":30653.875127317224,"y":18689.422244707068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"7fc1205e-ad17-40d0-bb05-21e8d1842b7c","savedPayload":{"position":{"x":31770.082705430897,"y":18974.16689829187},"targetPosition":{"x":30653.875127317224,"y":18689.422244707068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Running","config":"{\n \"codeName\": \"running\",\n \"isString\": false\n}","id":"7c7cb8f0-6d6d-4761-b51c-70ee77c05811","savedPayload":{"position":{"x":31241.640224813826,"y":19680.069673896403},"targetPosition":{"x":30653.875127317224,"y":18689.422244707068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f2bf57f0-e966-4b75-a95f-ba206c266dae","savedPayload":{"position":{"x":30653.875127317224,"y":18689.422244707068},"targetPosition":{"x":29536.611101344206,"y":18404.282153583918},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"17236f59-6ef2-4cc3-913c-1ff6db052236","savedPayload":{"position":{"x":26537.403849769515,"y":19158.840335115845},"targetPosition":{"x":26117.53900440294,"y":18854.08182911797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Running","id":"ac1e8218-af24-491f-a552-736d83d68c01"}}},{"type":"Product Definition","name":"Trading System Announcements","config":"{\n \"codeName\": \"Trading-System-Announcements\",\n \"singularVariableName\": \"tradingSystemAnnouncement\",\n \"pluralVariableName\": \"tradingSystemAnnouncements\",\n \"nodePath\": \"tradingSystem\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"9e29a710-30c0-4faa-b71a-f4ee109673a2","savedPayload":{"position":{"x":30585.568260414508,"y":18051.28413593987},"targetPosition":{"x":29554.175036759447,"y":18567.715011417087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"b7e24195-a9d0-45e7-9dba-447db8000feb","savedPayload":{"position":{"x":30704.567150542,"y":18485.310021471825},"targetPosition":{"x":29554.175036759447,"y":18567.715011417087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"0487c17a-d445-4d37-b186-dc0e79e0dae7","savedPayload":{"position":{"x":31678.812564431326,"y":18416.36880072719},"targetPosition":{"x":30648.449689478268,"y":18932.039291835805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.candle\"\n}","id":"cb847e27-30fe-43af-9b5f-19de453cc5f7","savedPayload":{"position":{"x":31741.682017095303,"y":19295.802783879048},"targetPosition":{"x":30648.449689478268,"y":18932.039291835805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Announcements","config":"{\n \"codeName\": \"announcements\",\n \"isString\": false\n}","id":"b3aaeae8-ed67-4830-a49c-13baada2bc11","savedPayload":{"position":{"x":31164.129988557324,"y":19962.295085108723},"targetPosition":{"x":30648.449689478268,"y":18932.039291835805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"73ef953c-001b-474e-9221-23375777f3f3","savedPayload":{"position":{"x":30648.449689478268,"y":18932.039291835805},"targetPosition":{"x":29554.175036759447,"y":18567.715011417087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"4a6f828a-9671-431e-8257-fc920943581e","savedPayload":{"position":{"x":26422.506407593886,"y":19273.638748679074},"targetPosition":{"x":26117.53900440294,"y":18854.08182911797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Announcements","id":"0a3b8bea-749a-48ce-8b53-e4a731555b98"}}},{"type":"Product Definition","name":"Trading System Warnings","config":"{\n \"codeName\": \"Trading-System-Warnings\",\n \"singularVariableName\": \"tradingSystemWarning\",\n \"pluralVariableName\": \"tradingSystemWarnings\",\n \"nodePath\": \"tradingSystem\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"0381cc1b-24c3-4705-9c76-94129e8605ff","savedPayload":{"position":{"x":28714.504514184282,"y":22614.759522713808},"targetPosition":{"x":28032.122354577456,"y":21433.021556108666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"b93b5cc3-7d61-4071-8eba-de15a4fea64b","savedPayload":{"position":{"x":28209.177164352805,"y":22785.393752926357},"targetPosition":{"x":28032.122354577456,"y":21433.021556108666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"9de05c23-cce3-4229-bb5b-6d893a7caf2b","savedPayload":{"position":{"x":28360.32502056348,"y":23931.970165968494},"targetPosition":{"x":27678.845166886098,"y":22751.508623797254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"64348c8c-f29d-4dc0-9028-18f02e8b03a3","savedPayload":{"position":{"x":27326.13553984876,"y":24068.142382361453},"targetPosition":{"x":27678.845166886098,"y":22751.508623797254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Warnings","config":"{\n \"codeName\": \"warnings\",\n \"isString\": false\n}","id":"0d7f3ba2-e9a0-42b0-aaca-02d1911fa209","savedPayload":{"position":{"x":26498.375821186833,"y":23432.988283132458},"targetPosition":{"x":27678.845166886098,"y":22751.508623797254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f6021fb9-4897-4984-8475-bf136233005e","savedPayload":{"position":{"x":27678.845166886098,"y":22751.508623797254},"targetPosition":{"x":28032.122354577456,"y":21433.021556108666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"34310596-466a-4e9a-a5a2-256b0fe3e339","savedPayload":{"position":{"x":26277.87081584964,"y":19347.543222167336},"targetPosition":{"x":26117.53900440294,"y":18854.08182911797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Warnings","id":"a9709093-95c1-4b1b-aeb5-329c7505ab75"}}},{"type":"Product Definition","name":"Trading System Infos","config":"{\n \"codeName\": \"Trading-System-Infos\",\n \"singularVariableName\": \"tradingSystemInfo\",\n \"pluralVariableName\": \"tradingSystemInfos\",\n \"nodePath\": \"tradingSystem\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"cd834a3e-1b23-4e15-a068-59c235a90f89","savedPayload":{"position":{"x":26234.435218569728,"y":19540.341837747954},"targetPosition":{"x":26099.291914641053,"y":19369.409463802458},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"e24a4dcf-5adb-4c63-b9db-3ba2a7ece789","savedPayload":{"position":{"x":26133.990100330087,"y":19671.278451639322},"targetPosition":{"x":26099.291914641053,"y":19369.409463802458},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"a3502c18-91c5-467b-aab5-deb330bf44bc","savedPayload":{"position":{"x":26048.79993326843,"y":19642.949663787564},"targetPosition":{"x":25999.715458863902,"y":19435.693395246937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.cycle\"\n}","id":"7b3f0c7c-1bb1-4477-af46-5cccfe2309cb","savedPayload":{"position":{"x":25880.8542798649,"y":19651.75253173432},"targetPosition":{"x":25999.715458863902,"y":19435.693395246937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Infos","config":"{\n \"codeName\": \"infos\",\n \"isString\": false\n}","id":"2f73152b-cbcf-462d-ba3a-d35417d2ca9c","savedPayload":{"position":{"x":25820.70581951337,"y":19482.078255596687},"targetPosition":{"x":25999.715458863902,"y":19435.693395246937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"60ed1049-434c-45e8-9a49-e7561cdb3d6b","savedPayload":{"position":{"x":25999.715458863902,"y":19435.693395246937},"targetPosition":{"x":26099.291914641053,"y":19369.409463802458},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"020ad519-0fc6-4f2f-9f26-b2c7de118fb8","savedPayload":{"position":{"x":26099.291914641053,"y":19369.409463802458},"targetPosition":{"x":26117.53900440294,"y":18854.08182911797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Infos","id":"f175df3b-a277-44bc-88db-dcf6b0e3fa38"}}}],"productDefinitionFolders":[],"id":"57d56564-1a8f-4ee9-acfb-389ec2d3375a","savedPayload":{"position":{"x":25819.192836399405,"y":18853.950693265968},"targetPosition":{"x":25391.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition Folder","name":"Simulation Objects","products":[{"type":"Product Definition","name":"Episodes","config":"{\n \"codeName\": \"Episode-Objects\",\n \"singularVariableName\": \"episodeObject\",\n \"pluralVariableName\": \"episodeObjects\",\n \"nodePath\": \"tradingEngine.current.episode\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"38264ecd-10e7-4a62-a2ca-9b607c30e72c","savedPayload":{"position":{"x":26223.019038845774,"y":18848.005832426872},"targetPosition":{"x":25973.4146504407,"y":18996.684506986174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"cdc39b61-9aa5-46d5-9e80-915e0c2d545d","savedPayload":{"position":{"x":26263.249196573623,"y":18977.97656009146},"targetPosition":{"x":25973.4146504407,"y":18996.684506986174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"e7c507b1-7d60-4f5d-9213-4001c116852a","savedPayload":{"position":{"x":27036.61538034644,"y":18479.870998442904},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"387fc08a-670c-4ca7-a2b9-449d1abc17fb","savedPayload":{"position":{"x":27130.815434408945,"y":18521.98473452177},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"2cea2a9b-293e-4b6c-8266-25ab09d94a1c","savedPayload":{"position":{"x":27213.839142280736,"y":18574.706087722072},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"811f4049-1507-4cd0-a57b-8d38f0cefa79","savedPayload":{"position":{"x":27288.003119895096,"y":18635.61165386559},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"a25505b8-3a79-44c0-9a65-84c2acbde853","savedPayload":{"position":{"x":27353.42376471668,"y":18704.165271304773},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"f06dc26f-dcd7-46d8-af5a-177db0354b16","savedPayload":{"position":{"x":27410.01996450401,"y":18779.42418461227},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"2c462bdb-cad9-4589-add4-10fdafa4b432","savedPayload":{"position":{"x":27457.226217153715,"y":18860.54895691462},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"e3ea261e-5586-4578-97f6-e5d7139c6641","savedPayload":{"position":{"x":27494.633045580063,"y":18946.470838705744},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hits In Base Asset","config":"{ \n\"codeName\": \"hitsInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\",\n \"childProperty\": \"hits\",\n \"decimals\": 0\n}","id":"d4a1ae83-0774-49f5-8780-f3db92e7ac59","savedPayload":{"position":{"x":27521.739571250415,"y":19036.094620151634},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fails In Base Asset","config":"{ \n\"codeName\": \"failsInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\",\n \"childProperty\": \"fails\",\n \"decimals\": 0\n}","id":"39600b8b-e28f-4c5b-a44c-3a816c43a439","savedPayload":{"position":{"x":27538.259985701112,"y":19128.22168198518},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Ratio In Base Asset","config":"{ \n\"codeName\": \"hitRatioInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\",\n \"childProperty\": \"hitRatio\",\n \"decimals\": 2\n}","id":"f59830d2-1d39-47ff-b008-41c202c5f131","savedPayload":{"position":{"x":27543.910770333372,"y":19221.6221268398},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss In Base Asset","config":"{ \n\"codeName\": \"profitLossInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}","id":"02dfb7e5-a203-4c49-8ffc-6addba0f06c7","savedPayload":{"position":{"x":27538.671133114483,"y":19315.02787763802},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI In Base Asset","config":"{ \n\"codeName\": \"ROIInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}","id":"6bc1b577-8926-4c00-9091-3ddf6e86d105","savedPayload":{"position":{"x":27522.62768274374,"y":19407.185969169586},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Annualized Rate Of ReturnIn Base Asset","config":"{ \n\"codeName\": \"annualizedRateOfReturnInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\",\n \"childProperty\": \"annualizedRateOfReturn\",\n \"decimals\": 2\n}","id":"39e77c8f-3f22-45ea-8ad8-d28f7c0f3c0f","savedPayload":{"position":{"x":27495.990405955446,"y":19496.852695815982},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail In Base Asset","config":"{ \n\"codeName\": \"hitFailInBaseAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\",\n \"childProperty\": \"hitFail\"\n}","id":"e8384c2c-39b2-4d47-9828-f4968a6bc4e7","savedPayload":{"position":{"x":27459.126273107413,"y":19582.820076140804},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hits In Quoted Asset","config":"{ \n\"codeName\": \"hitsInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\",\n \"childProperty\": \"hits\",\n \"decimals\": 0\n}","id":"b31c6ade-c339-4129-ac5c-2383a9443c85","savedPayload":{"position":{"x":27412.52909981899,"y":19663.924235695176},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fails In Quoted Asset","config":"{ \n\"codeName\": \"failsInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\",\n \"childProperty\": \"fails\",\n \"decimals\": 0\n}","id":"0fe968f9-77ec-4258-bb12-7ac592665cf5","savedPayload":{"position":{"x":27356.83226136074,"y":19739.07096097746},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Ratio In Quoted Asset","config":"{ \n\"codeName\": \"hitRatioInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\",\n \"childProperty\": \"hitRatio\",\n \"decimals\": 2\n}","id":"5bbf2817-e7ed-4795-aecc-5ccefb04b6c1","savedPayload":{"position":{"x":27292.786492866682,"y":19807.24206178784},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss In Quoted Asset","config":"{ \n\"codeName\": \"profitLossInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}","id":"ae87f4f0-2dd4-4484-a803-b06096fbff58","savedPayload":{"position":{"x":27221.25952279782,"y":19867.517250126286},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI In Quoted Asset","config":"{ \n\"codeName\": \"ROIInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}","id":"3dd87ddc-a9a9-4f94-8c14-ca651cb6b644","savedPayload":{"position":{"x":27143.21761970144,"y":19919.07979723067},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Annualized Rate Of ReturnIn Quoted Asset","config":"{ \n\"codeName\": \"annualizedRateOfReturnInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\",\n \"childProperty\": \"annualizedRateOfReturn\",\n \"decimals\": 2\n}","id":"8826c757-479b-498e-91ec-ccee35f9eef0","savedPayload":{"position":{"x":27059.717026887512,"y":19961.233551334604},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail In Quoted Asset","config":"{ \n\"codeName\": \"hitFailInQuotedAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\",\n \"childProperty\": \"hitFail\"\n}","id":"aa3d008e-90a1-4e76-a389-68206925a8ee","savedPayload":{"position":{"x":26971.88672980518,"y":19993.40763112111},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Balance In Base Asset","config":"{ \n\"codeName\": \"beginBalanceInBaseAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\",\n \"childProperty\": \"beginBalance\"\n}","id":"a6826d46-bf05-4988-9314-8e41a3ecfce9","savedPayload":{"position":{"x":26880.914886480547,"y":20015.16839930304},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Balance In Base Asset","config":"{ \n\"codeName\": \"endBalanceInBaseAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeBaseAsset\",\n \"childProperty\": \"endBalance\"\n}","id":"93c0d5a2-06cd-4bd9-bd2c-49fbab7d2bdb","savedPayload":{"position":{"x":26788.031490251695,"y":20026.22296944462},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Balance In Quoted Asset","config":"{ \n\"codeName\": \"beginBalanceInQuotedAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\",\n \"childProperty\": \"beginBalance\"\n}","id":"fcf98b55-f145-484d-91ce-6e3417e3760d","savedPayload":{"position":{"x":26694.49821488556,"y":20026.372459403272},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Balance In Quoted Asset","config":"{ \n\"codeName\": \"endBalanceInQuotedAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.episode.episodeQuotedAsset\",\n \"childProperty\": \"endBalance\"\n}","id":"e34b3fbc-a578-407d-ba84-055c56d52454","savedPayload":{"position":{"x":26563.682515070694,"y":20004.9321664249},"targetPosition":{"x":26739.647765705682,"y":19223.52798709915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b5c2e7b4-cec1-4975-9abb-af447f80c59e","savedPayload":{"position":{"x":26740.223368681243,"y":19223.726295115604},"targetPosition":{"x":25973.4146504407,"y":18996.684506986174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":3,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"aeec080e-8caf-4976-8187-ba4e725b73b0","savedPayload":{"position":{"x":26103.255620513923,"y":19031.912884795525},"targetPosition":{"x":25655.7207675982,"y":19078.950693265968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Episode Objects","id":"b7320c91-b8aa-4642-bd11-a1efb2a88d39"}}},{"type":"Product Definition","name":"Strategies","config":"{\n \"codeName\": \"Strategy-Objects\",\n \"singularVariableName\": \"strategyObject\",\n \"pluralVariableName\": \"strategyObjects\",\n \"nodePath\": \"tradingEngine.current.strategy\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"03d1a187-b188-4ad7-b99e-6e4f6c6f0278","savedPayload":{"position":{"x":30625.95487636486,"y":18290.15315328408},"targetPosition":{"x":29560.016009858016,"y":18731.89054561748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"58a5a046-53a1-43a7-bb76-0c29d94ef579","savedPayload":{"position":{"x":30713.661142340865,"y":18731.73431686513},"targetPosition":{"x":29560.016009858016,"y":18731.89054561748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"ffa3b94b-d147-42eb-943e-4e1661c0b8c4","savedPayload":{"position":{"x":31309.299310163155,"y":18244.7222336191},"targetPosition":{"x":30625.9577305406,"y":19173.528743160252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"95273be5-fbf1-42a5-87c3-29f5ecbaafa1","savedPayload":{"position":{"x":31511.783815060484,"y":18435.330202040364},"targetPosition":{"x":30625.9577305406,"y":19173.528743160252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"19988cef-f604-49a9-91f5-f8b1c93b0302","savedPayload":{"position":{"x":31662.7144599161,"y":18668.816756824384},"targetPosition":{"x":30625.9577305406,"y":19173.528743160252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"8e1f47f3-3a81-45ed-892e-ea3e21d544c6","savedPayload":{"position":{"x":31753.375658604033,"y":18931.619060445068},"targetPosition":{"x":30625.9577305406,"y":19173.528743160252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Strategy Name","config":"{ \n\"codeName\": \"strategyName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"2bb2239e-adc4-4ad1-9c82-64e03c7c60f3","savedPayload":{"position":{"x":31778.51540976567,"y":19208.273053861463},"targetPosition":{"x":30625.9577305406,"y":19173.528743160252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Index","config":"{ \n\"codeName\": \"index\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"85886ed3-2cbb-4386-b661-d7103a1c63bb","savedPayload":{"position":{"x":31736.674228927972,"y":19483.094330459895},"targetPosition":{"x":30625.9577305406,"y":19173.528743160252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"78491f8d-a68a-4918-ab38-cc9fa8eff27e","savedPayload":{"position":{"x":31630.283363177037,"y":19739.91508837847},"targetPosition":{"x":30625.9577305406,"y":19173.528743160252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"46f41431-bf06-4d5e-93b5-1b64dafb8d6a","savedPayload":{"position":{"x":31465.526553311276,"y":19963.814416432026},"targetPosition":{"x":30625.9577305406,"y":19173.528743160252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"b9c2814b-3d92-406b-88ab-78c71e635bd2","savedPayload":{"position":{"x":31251.976574136075,"y":20141.78093803957},"targetPosition":{"x":30625.9577305406,"y":19173.528743160252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"b78b86e0-a571-4f94-b837-b237c2043c3c","savedPayload":{"position":{"x":31002.041659169034,"y":20263.471822340292},"targetPosition":{"x":30625.9577305406,"y":19173.528743160252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"f99d1259-33b6-4c61-9332-5b751c1b2439","savedPayload":{"position":{"x":30730.24081253092,"y":20321.812904810526},"targetPosition":{"x":30625.9577305406,"y":19173.528743160252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.strategy.strategyCounters\"\n}","id":"9d920c3c-3693-465f-a5e9-e8ea5dcdfd55","savedPayload":{"position":{"x":30452.52665725288,"y":20313.39752816671},"targetPosition":{"x":30625.9577305406,"y":19173.528743160252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b0192e6c-445b-4b55-b344-b273b268897b","savedPayload":{"position":{"x":30625.9577305406,"y":19173.528743160252},"targetPosition":{"x":29560.016009858016,"y":18731.89054561748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"q"}}},"id":"21db6fce-8450-4b07-9015-d81a339fd030","savedPayload":{"position":{"x":26066.81622353737,"y":19261.982182650077},"targetPosition":{"x":25655.7207675982,"y":19078.950693265968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Strategy Objects","id":"d54a124c-6029-41a6-9bbd-bb3fe8b1a318"}}}],"productDefinitionFolders":[{"type":"Product Definition Folder","name":"Orders","products":[{"type":"Product Definition","name":"Market Buy Orders","config":"{ \n \"codeName\": \"Market-Buy-Orders-Objects\", \n \"singularVariableName\": \"marketBuyOrdersObject\", \n \"pluralVariableName\": \"marketBuyOrdersObjects\",\n \"nodePathType\": \"array\",\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"45609efb-0edc-4aa9-bc12-f5b4ca6dc5bf","savedPayload":{"position":{"x":30613.48843772727,"y":19256.891359540317},"targetPosition":{"x":29466.69980977856,"y":19380.39539980232},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"5eed53d0-a3e7-4082-b7f1-cb321b3d306b","savedPayload":{"position":{"x":30573.660042619467,"y":19704.61481076354},"targetPosition":{"x":29466.69980977856,"y":19380.39539980232},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Exchange Id","config":"{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}","id":"2b09fe55-b85c-4242-bae1-85a671b006ad","savedPayload":{"position":{"x":31194.106380501442,"y":19304.157553053374},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"9fdc2c26-3835-4917-b12b-5f1b0bef5a05","savedPayload":{"position":{"x":31288.085825117516,"y":19414.72028771098},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"f889b073-b78f-4345-bca7-c1943b6f5ee3","savedPayload":{"position":{"x":31367.260639218217,"y":19535.96775824343},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"2cf8c3ee-79ae-49bb-882b-992379f41fd9","savedPayload":{"position":{"x":31430.578917497904,"y":19666.14178439834},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"94e5c88c-2317-4bd1-86e6-f578db5e882f","savedPayload":{"position":{"x":31477.070454612243,"y":19803.20866827671},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Rate","config":"{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"7b9b53d5-d93a-4301-a0e6-ce8322da8fce","savedPayload":{"position":{"x":31506.013124653407,"y":19945.01867324955},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"5906d64e-d90e-4dae-a2bb-c806e3d5d21d","savedPayload":{"position":{"x":31516.953076459868,"y":20089.33689778155},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"294ae361-a9f7-404a-a6dd-3dc25d8c6c27","savedPayload":{"position":{"x":31509.718205747038,"y":20233.595238619648},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Order Name","config":"{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"e837a938-5448-4987-bdf0-d28de65d33fb","savedPayload":{"position":{"x":31484.423868184258,"y":20376.098018809065},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"4424a014-cc5f-494e-be78-0b49f960045b","savedPayload":{"position":{"x":31441.46867669328,"y":20514.308562018006},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Algorithm Name","config":"{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"137a18b5-33a3-433e-b85b-c8fbe03cbe69","savedPayload":{"position":{"x":31381.530084038666,"y":20646.04603916495},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderCounters\"\n}","id":"35ca0a49-129b-49e2-864a-3c43ed3bf38b","savedPayload":{"position":{"x":31305.55330563782,"y":20769.23278723795},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Percentage Filled","config":"{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"4b0020d5-4d5b-4747-aa28-baf6e28f67d9","savedPayload":{"position":{"x":31214.736419979505,"y":20881.926146402988},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Actual Rate","config":"{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\"\n}","id":"eedcf7ad-6668-4b14-8f07-7ee44998c47a","savedPayload":{"position":{"x":31110.51154341954,"y":20982.348877724784},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"46b407ab-5799-4ea6-946b-d857abb76183","savedPayload":{"position":{"x":30994.522216468293,"y":21068.917246535526},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"c2fcb23d-4a6d-457a-8d38-03a46786fedc","savedPayload":{"position":{"x":30868.597460585795,"y":21140.265949635865},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"ca02a2ed-731a-4df8-9f76-fe8d60b7ad8e","savedPayload":{"position":{"x":30734.821075690947,"y":21195.304495876517},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"ac187d63-a2cc-487c-8e81-03c786749d9c","savedPayload":{"position":{"x":30595.088035894845,"y":21233.147967341003},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Base Asset","config":"{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"97b70829-4c2e-433c-8233-f6254788232a","savedPayload":{"position":{"x":30451.682039880332,"y":21253.159919142206},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Quoted Asset","config":"{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"e8f83131-1dbc-48b7-9862-49130126b67d","savedPayload":{"position":{"x":30307.123053889518,"y":21254.919893094444},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Base Asset","config":"{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"895ce4a6-2cf5-4f2e-b160-38f0237cbce4","savedPayload":{"position":{"x":30163.18026116549,"y":21238.660700683697},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Quoted Asset","config":"{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"10253d7f-83fc-4bce-b757-f9fe36481f28","savedPayload":{"position":{"x":30022.529806169292,"y":21204.30516786515},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Base Asset","config":"{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"d436d73b-be15-4d1a-baeb-c41b6706bbde","savedPayload":{"position":{"x":29887.368216522045,"y":21152.758468406162},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Quoted Asset","config":"{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"320e3ae5-5884-4c25-b61b-2d0ef4730884","savedPayload":{"position":{"x":29759.38500001585,"y":21084.44470904871},"targetPosition":{"x":30364.67471597827,"y":20103.97819340431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d79b050c-2805-4b39-bcd3-1678628f8d1c","savedPayload":{"position":{"x":30364.67471597827,"y":20103.97819340431},"targetPosition":{"x":29466.69980977856,"y":19380.39539980232},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"db256083-9aa2-48e1-8fd6-3425a5085302","savedPayload":{"position":{"x":26242.162228147252,"y":19361.7051332841},"targetPosition":{"x":25811.38780365864,"y":19361.706556196907},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Market Buy Orders","id":"e00fe7d4-894d-4483-a73a-3cd77943ea80"}}},{"type":"Product Definition","name":"Market Sell Orders","config":"{ \n \"codeName\": \"Market-Sell-Orders-Objects\", \n \"singularVariableName\": \"marketSellOrdersObject\", \n \"pluralVariableName\": \"marketSellOrdersObjects\",\n \"nodePathType\": \"array\",\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"6112bd4d-07cb-41db-98c4-e286d172b5c0","savedPayload":{"position":{"x":30567.738732165315,"y":19494.9752599936},"targetPosition":{"x":29414.814780098182,"y":19536.331183214137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"07cd5668-5e0f-4385-9c02-72eebc99344a","savedPayload":{"position":{"x":30495.972435810672,"y":19938.880402813473},"targetPosition":{"x":29414.814780098182,"y":19536.331183214137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Exchange Id","config":"{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}","id":"0ba08ecb-3542-4acd-abbe-7059306ed669","savedPayload":{"position":{"x":31143.75016687439,"y":19583.491557084188},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"0ae49e68-38d8-4356-bde3-c648a29177a7","savedPayload":{"position":{"x":31229.59019320684,"y":19700.48808514457},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"b7057c53-6d99-44ca-9eff-4dd21ebe2116","savedPayload":{"position":{"x":31299.925598084115,"y":19827.10169376592},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"01b26cba-240f-451e-8533-2e090a3103fd","savedPayload":{"position":{"x":31353.809295129613,"y":19961.494120027153},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"052e9ef4-da9f-4198-b13f-7a2e0c60b906","savedPayload":{"position":{"x":31390.415963180018,"y":20101.568255043232},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Rate","config":"{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"a6e9d3dc-20e3-4cf3-94f4-79f3723b4d34","savedPayload":{"position":{"x":31409.17513221224,"y":20245.12110225893},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"b38cf81f-59f2-4508-9fbc-e82b1ad38d65","savedPayload":{"position":{"x":31409.79324483422,"y":20389.636504684615},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"0132786e-0a9a-4096-a6a5-57f03485d0b1","savedPayload":{"position":{"x":31392.26222781504,"y":20533.34014537474},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Order Name","config":"{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"d1cb7813-1e5a-43f2-af35-f82a9ee47a0b","savedPayload":{"position":{"x":31356.858055249915,"y":20673.714015474605},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"8ab09d9d-7c5a-45d4-ad6a-8a4292c1b137","savedPayload":{"position":{"x":31304.193419518546,"y":20808.570665695763},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Algorithm Name","config":"{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"b1d35b5f-2d9f-4ba0-b4bc-cc12c74104e8","savedPayload":{"position":{"x":31234.990190844597,"y":20935.73691104689},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderCounters\"\n}","id":"b1dbf0d5-39bb-4c1a-ac6d-d1d647e82d54","savedPayload":{"position":{"x":31150.394291431676,"y":21053.227009645278},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Percentage Filled","config":"{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"8b25c33c-8f96-4a6e-8180-43027d0fc396","savedPayload":{"position":{"x":31051.741167293418,"y":21159.18943521726},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Actual Rate","config":"{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\"\n}","id":"2ffc6fc2-9e28-4ef6-9047-a2bd2b618bd3","savedPayload":{"position":{"x":30940.58488915104,"y":21251.951816221826},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"e5c5802a-d778-40e5-9039-4067a6a56e4f","savedPayload":{"position":{"x":30818.678958481207,"y":21330.05196198316},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"7fccf0bc-d0a4-48d9-b4ac-c467bc74ef0f","savedPayload":{"position":{"x":30687.94435157234,"y":21392.255360223204},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"2149cdc5-19f8-4e11-9d5c-e6c062998223","savedPayload":{"position":{"x":30550.444149962183,"y":21437.582953517252},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"df8e190a-1138-4ffa-baef-6a560ba51739","savedPayload":{"position":{"x":30408.351837467053,"y":21465.323233903342},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Base Asset","config":"{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"e78e7e63-95da-479e-9d5c-9531b2b2bf26","savedPayload":{"position":{"x":30263.89452491479,"y":21475.03389310028},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Quoted Asset","config":"{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"8010dd65-bb12-492e-a5b8-4e8b12e1e211","savedPayload":{"position":{"x":30119.5996546336,"y":21466.557990485704},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Base Asset","config":"{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"857f1eed-2dd2-4646-8b63-acb4cec04400","savedPayload":{"position":{"x":29977.2601313813,"y":21440.023120152193},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Quoted Asset","config":"{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"3578ea56-a788-42bc-a964-0ba02e432a2e","savedPayload":{"position":{"x":29839.350606475353,"y":21395.85959370992},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Base Asset","config":"{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"0f88abbf-bbcb-4281-90e2-5bd844c7bdfc","savedPayload":{"position":{"x":29708.03898532638,"y":21334.71973025635},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Quoted Asset","config":"{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"c5a06ac6-e0c8-4a38-a790-d3569bb73ef5","savedPayload":{"position":{"x":29585.22571035548,"y":21257.44662910848},"targetPosition":{"x":30259.090992910802,"y":20322.300037072073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8b01d5ae-7d6f-4c08-9f05-2f8edb699fd6","savedPayload":{"position":{"x":30259.090992910802,"y":20322.300037072073},"targetPosition":{"x":29414.814780098182,"y":19536.331183214137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"1958f79b-5c6c-4874-9154-98c314822ed7","savedPayload":{"position":{"x":26160.039093142077,"y":19614.944355952968},"targetPosition":{"x":25811.38780365864,"y":19361.706556196907},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Market Sell Orders","id":"a9811005-1b7d-45bb-8003-0e60caab5f09"}}},{"type":"Product Definition","name":"Limit Buy Orders","config":"{ \n \"codeName\": \"Limit-Buy-Orders-Objects\", \n \"singularVariableName\": \"limitBuyOrdersObject\", \n \"pluralVariableName\": \"limitBuyOrdersObjects\",\n \"nodePathType\": \"array\",\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"b82fb0f9-74c1-42e6-961c-a696214ef079","savedPayload":{"position":{"x":28303.197763643733,"y":21254.638734022392},"targetPosition":{"x":27624.030908282355,"y":20544.350359783835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"2e03f52e-0cd2-46b4-9c10-0b8516ef9c71","savedPayload":{"position":{"x":27979.536925117998,"y":21460.391216004435},"targetPosition":{"x":27624.030908282355,"y":20544.350359783835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Exchange Id","config":"{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}","id":"890f7170-f42d-43d8-a084-b9b88ea212cc","savedPayload":{"position":{"x":28572.53165501038,"y":21671.070019801824},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"3e6e8e40-2e6c-4bd4-b709-effa25749403","savedPayload":{"position":{"x":28546.63485756526,"y":21792.12269491024},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"280a9209-b9cd-4cb7-b0b7-3dfe2f472140","savedPayload":{"position":{"x":28505.693156964597,"y":21908.857857102503},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"254561e5-52c3-4669-920e-4fe5370653c4","savedPayload":{"position":{"x":28450.689411601263,"y":22019.021801782652},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"8ef21836-adad-4918-9816-fbb3c9dd1fc5","savedPayload":{"position":{"x":28382.135292015268,"y":22121.64233460315},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Rate","config":"{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"4d6fd5f1-a95b-4ec1-a49c-6c057190d354","savedPayload":{"position":{"x":28301.34173115862,"y":22214.827356148584},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"12402a8e-c9d4-4adb-94c3-22f526d72d14","savedPayload":{"position":{"x":28209.659913217394,"y":22297.206187916145},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"8cc955fb-62ec-40b9-963b-275956de04d9","savedPayload":{"position":{"x":28108.142034383698,"y":22367.542065015663},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Order Name","config":"{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"63af17a0-e994-4b5f-b853-207bf27c496c","savedPayload":{"position":{"x":27998.76073699908,"y":22424.442118304734},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"0af4f067-ac3d-4ee7-ba1d-d9c22ae2f46f","savedPayload":{"position":{"x":27882.92096092378,"y":22467.126723543264},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Algorithm Name","config":"{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"f8cb0422-95bb-4c53-a5f6-7e02819021c0","savedPayload":{"position":{"x":27762.744444576438,"y":22495.171417414513},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderCounters\"\n}","id":"d16faba6-3464-4536-9c93-afbe6e0d4262","savedPayload":{"position":{"x":27640.110580413726,"y":22507.721865495383},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Percentage Filled","config":"{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"75fd2c91-2bfe-428c-9ff6-7d28d566a96d","savedPayload":{"position":{"x":27516.91556099024,"y":22504.747941266374},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Actual Rate","config":"{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\"\n}","id":"5d621574-54fd-4279-8c47-7bb9710bcc90","savedPayload":{"position":{"x":27395.173590827744,"y":22486.635706378893},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"0bddc747-8300-4b15-8a7a-134ff133d2ec","savedPayload":{"position":{"x":27276.44003256182,"y":22453.23846783036},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"4564e44d-dbd5-4d97-8433-fc1dd877bd2f","savedPayload":{"position":{"x":27162.8443638509,"y":22405.040629805422},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"dc313012-cb3e-4087-9ae1-af1125a074e3","savedPayload":{"position":{"x":27056.026317545897,"y":22343.18494480721},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"ba489aaa-0872-4e7f-bad0-a7c43b0da4b5","savedPayload":{"position":{"x":26957.898528766327,"y":22268.42286949116},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Base Asset","config":"{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"56b30e10-c354-4a0c-a570-07976dc45b76","savedPayload":{"position":{"x":26870.141771684357,"y":22181.819082158923},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Quoted Asset","config":"{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"4696e371-b17b-48fc-8ebb-dfa00e0b2aed","savedPayload":{"position":{"x":26793.70832147373,"y":22084.910878230232},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Base Asset","config":"{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"8161a21f-02f8-4929-acd1-f684a7deb41b","savedPayload":{"position":{"x":26730.04682404267,"y":21979.423067100885},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Quoted Asset","config":"{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"2c17774e-a962-487f-939c-411973472057","savedPayload":{"position":{"x":26680.004763905472,"y":21866.301966483763},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Base Asset","config":"{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"d96f2a66-4d03-4cda-90c7-3dd7eae7712a","savedPayload":{"position":{"x":26644.53767020416,"y":21747.95572609214},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Quoted Asset","config":"{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"9a713d83-5701-47a7-b0a0-4969671df884","savedPayload":{"position":{"x":26624.133927503637,"y":21625.844692678227},"targetPosition":{"x":27601.290901255852,"y":21526.407214958588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"aaad0279-43dd-46fc-b099-40cba6c3b6a8","savedPayload":{"position":{"x":27601.290901255852,"y":21526.407214958588},"targetPosition":{"x":27624.030908282355,"y":20544.350359783835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"5deceb32-c7ab-4560-818a-0f0b9d6632fb","savedPayload":{"position":{"x":25944.518019640407,"y":19771.399928966573},"targetPosition":{"x":25811.38780365864,"y":19361.706556196907},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Limit Buy Orders","id":"7e3120c7-a0c9-483c-ada9-8c53deb10f33"}}},{"type":"Product Definition","name":"Limit Sell Orders","config":"{ \n \"codeName\": \"Limit-Sell-Orders-Objects\", \n \"singularVariableName\": \"limitSellOrdersObject\", \n \"pluralVariableName\": \"limitSellOrdersObjects\",\n \"nodePathType\": \"array\",\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"356495a9-b063-495d-b06d-5281c7c0007e","savedPayload":{"position":{"x":28062.842483361772,"y":21371.855356224252},"targetPosition":{"x":27452.21311072474,"y":20601.957715152446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"934ab813-127e-4bbf-aa71-09b3cdadc0d0","savedPayload":{"position":{"x":27721.73892569853,"y":21546.866004515214},"targetPosition":{"x":27452.21311072474,"y":20601.957715152446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Exchange Id","config":"{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}","id":"5c8236b1-b257-44f4-98bd-a158b67aad16","savedPayload":{"position":{"x":28292.642705425853,"y":21811.62837671577},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"16140fc9-d4ae-43c2-ba47-f676b79a9775","savedPayload":{"position":{"x":28255.628877741394,"y":21929.826458928645},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"2d871d0f-e668-4e9d-9fcf-439f37cd082f","savedPayload":{"position":{"x":28204.237875678045,"y":22042.222135762946},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"fc6f8fe4-b752-448a-9ece-8497abf2901c","savedPayload":{"position":{"x":28139.194574364174,"y":22146.995566699028},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"3502765f-2f50-44c6-b85c-64d7f72f5592","savedPayload":{"position":{"x":28061.5442435588,"y":22242.94335722536},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Rate","config":"{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"608ebfd0-4294-4e24-8111-a8f695072ca0","savedPayload":{"position":{"x":27972.384495706923,"y":22328.192014211934},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"c49c3510-e24b-418f-9334-760c5da57ccf","savedPayload":{"position":{"x":27873.37167569742,"y":22401.71176915763},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"04b96ab3-eb13-4039-a385-8e5c4377daa4","savedPayload":{"position":{"x":27765.874814033887,"y":22462.230037799345},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Order Name","config":"{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"6ec27702-5283-4fbf-b6a7-92663a6e9e9b","savedPayload":{"position":{"x":27651.70028038436,"y":22508.917596845477},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"6a4285a4-c9d5-4d5b-a218-da8e19ca5970","savedPayload":{"position":{"x":27532.492771804093,"y":22540.642978294054},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Algorithm Name","config":"{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"e3e35a81-c5b2-4768-ab16-99b42ef83358","savedPayload":{"position":{"x":27410.277467496388,"y":22557.45893567008},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderCounters\"\n}","id":"815780d8-f647-42cc-9a40-aa99caa350c7","savedPayload":{"position":{"x":27287.165965446533,"y":22558.67093566599},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Percentage Filled","config":"{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"d824c424-4324-46b1-87b9-182cc9f0d054","savedPayload":{"position":{"x":27164.815874086402,"y":22544.367134465414},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Actual Rate","config":"{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\"\n}","id":"d722bfd4-eb08-4dfc-8cc9-f706f93df80e","savedPayload":{"position":{"x":27045.057545900876,"y":22514.986069123413},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n \"decimals\": 2\n}","id":"d05fe7d4-d772-4ad4-9890-a3aa342fc5f6","savedPayload":{"position":{"x":26929.871803818827,"y":22470.67621583085},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"d4b14139-33ad-4da1-942c-ce8df0d3efa9","savedPayload":{"position":{"x":26821.13676709853,"y":22412.417912489123},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"9ade3c97-f409-4c23-b66f-b6670100e039","savedPayload":{"position":{"x":26720.66890764104,"y":22340.94618200058},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"780e674d-64fc-401a-ad5d-1012645f512e","savedPayload":{"position":{"x":26629.842255693136,"y":22257.341933241474},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Base Asset","config":"{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"8dade5f4-6361-49b2-ae94-2b66b21d5522","savedPayload":{"position":{"x":26550.287342494084,"y":22163.153899990564},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size In Quoted Asset","config":"{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}","id":"896f401d-5a79-45bb-b15b-abc2881d7762","savedPayload":{"position":{"x":26483.24095152323,"y":22059.599923252197},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Base Asset","config":"{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"b92661d6-16ec-48a6-bb66-18c4ad4dd148","savedPayload":{"position":{"x":26429.46979906318,"y":21948.60958956997},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Size Filled In Quoted Asset","config":"{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}","id":"c24a527a-db24-472d-8c3f-f0da838f8062","savedPayload":{"position":{"x":26390.19042546744,"y":21831.394549288983},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Base Asset","config":"{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"b50fa760-b069-411f-b27e-6dd1d165e927","savedPayload":{"position":{"x":26365.85221739352,"y":21710.328594972158},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Fees Paid In Quoted Asset","config":"{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}","id":"d5d472fb-bf5a-40e7-ac92-7b03279022c3","savedPayload":{"position":{"x":26356.85964166914,"y":21586.961644423463},"targetPosition":{"x":27338.892945833497,"y":21578.01924614344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7dc5d5fc-ff33-4652-bc9c-fad0566a3d9f","savedPayload":{"position":{"x":27338.892945833497,"y":21578.01924614344},"targetPosition":{"x":27452.21311072474,"y":20601.957715152446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"2a1d405b-2fbe-4ed4-a76a-d2c7be59d20e","savedPayload":{"position":{"x":25678.550486071774,"y":19771.444554539972},"targetPosition":{"x":25811.38780365864,"y":19361.706556196907},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Limit Sell Orders","id":"fb243322-ec2a-4f03-bb77-e97e4699d1c6"}}}],"productDefinitionFolders":[],"id":"cb9c928a-1a5d-441c-b369-0a72f98f2407","savedPayload":{"position":{"x":25920.224131129813,"y":19443.008340734694},"targetPosition":{"x":25655.7207675982,"y":19078.950693265968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition Folder","name":"Stages","products":[{"type":"Product Definition","name":"Trigger Stages","config":"{\n \"codeName\": \"Trigger-Stages-Objects\",\n \"singularVariableName\": \"triggerStagesObject\",\n \"pluralVariableName\": \"triggerStagesObjects\",\n \"nodePath\": \"tradingEngine.current.strategyTriggerStage\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"e951c491-c864-4668-9d70-c48df90d8342","savedPayload":{"position":{"x":27491.651640692053,"y":21548.03278898372},"targetPosition":{"x":27051.596089450974,"y":20672.762122297307},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"ace4518d-bfe1-49e2-af7b-4ff9559fe6a9","savedPayload":{"position":{"x":27123.01006105745,"y":21649.77523726652},"targetPosition":{"x":27051.596089450974,"y":20672.762122297307},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"75d29f56-b520-43e9-af25-105a88b84f0f","savedPayload":{"position":{"x":27447.412855413473,"y":22283.161909377064},"targetPosition":{"x":26743.664830779897,"y":21602.833052728794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"08e2f14d-f121-48ed-b266-d78fe59ef437","savedPayload":{"position":{"x":27082.459998175123,"y":22521.17761690534},"targetPosition":{"x":26743.664830779897,"y":21602.833052728794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"675b3923-9fdb-4e08-abab-2ba83424c851","savedPayload":{"position":{"x":26650.676246611787,"y":22577.279438002737},"targetPosition":{"x":26743.664830779897,"y":21602.833052728794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"6a6f3698-8dfc-4368-9db6-e5ac251aefec","savedPayload":{"position":{"x":26237.06222085197,"y":22440.37253772252},"targetPosition":{"x":26743.664830779897,"y":21602.833052728794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"6db4ef3b-ea01-4765-a749-f9bee13fa2a3","savedPayload":{"position":{"x":25923.808145505558,"y":22137.568036961922},"targetPosition":{"x":26743.664830779897,"y":21602.833052728794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"8435db2d-1a90-4994-ba46-7d11618a65ab","savedPayload":{"position":{"x":25772.9604148653,"y":21728.81454107512},"targetPosition":{"x":26743.664830779897,"y":21602.833052728794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"167c8a3e-7c2a-488f-87f7-be3f6034d276","savedPayload":{"position":{"x":26743.664830779897,"y":21602.833052728794},"targetPosition":{"x":27051.596089450974,"y":20672.762122297307},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"18cc2e79-7e57-418c-b635-6c68fc11d681","savedPayload":{"position":{"x":27120.26405377411,"y":20122.878788682778},"targetPosition":{"x":26584.466807400895,"y":19813.583946037503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Trigger Stage Objects","id":"6c6cddbc-cd78-445f-9498-8627ac99563d"}}},{"type":"Product Definition","name":"Open Stages","config":"{\n \"codeName\": \"Open-Stages-Objects\",\n \"singularVariableName\": \"openStagesObject\",\n \"pluralVariableName\": \"openStagesObjects\",\n \"nodePath\": \"tradingEngine.current.strategyOpenStage\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"613bf56d-986e-4a94-9b39-4f0ac3300b0c","savedPayload":{"position":{"x":28404.6614474727,"y":21928.22275844946},"targetPosition":{"x":27746.84508349377,"y":20980.998416317794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"44a0d895-2a7e-4f9a-b9a7-81dc32bf30e4","savedPayload":{"position":{"x":27992.095580353165,"y":22107.939905953335},"targetPosition":{"x":27746.84508349377,"y":20980.998416317794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"e36b3b00-b339-4ce5-9526-a2077f5e1138","savedPayload":{"position":{"x":28474.57238629253,"y":22791.973017604116},"targetPosition":{"x":27542.02002765068,"y":22115.902618767796},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"73751c42-16ed-4a24-8586-d86c3c9a81be","savedPayload":{"position":{"x":28088.754021654368,"y":23129.75593680144},"targetPosition":{"x":27542.02002765068,"y":22115.902618767796},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"d76fd073-ae0d-4af8-b729-5d94a1cf21ed","savedPayload":{"position":{"x":27594.701816424502,"y":23266.5820034291},"targetPosition":{"x":27542.02002765068,"y":22115.902618767796},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"3db414d7-fb6f-4cce-be3b-342101e90246","savedPayload":{"position":{"x":27090.434021559406,"y":23175.5858485332},"targetPosition":{"x":27542.02002765068,"y":22115.902618767796},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"340b1f7b-b041-4ee0-9327-0959de0d8d9a","savedPayload":{"position":{"x":26675.36231396078,"y":22874.619854762474},"targetPosition":{"x":27542.02002765068,"y":22115.902618767796},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"6fa53271-06c2-48b1-a763-2926ce948fbc","savedPayload":{"position":{"x":26431.89018402749,"y":22423.412213674277},"targetPosition":{"x":27542.02002765068,"y":22115.902618767796},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"517166b0-13ae-4f3d-bcb4-d3292dd9daf7","savedPayload":{"position":{"x":27542.02002765068,"y":22115.902618767796},"targetPosition":{"x":27746.84508349377,"y":20980.998416317794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"d5938c00-0849-466d-ae14-4ea91b571678","savedPayload":{"position":{"x":26836.01175482833,"y":20378.620841017026},"targetPosition":{"x":26584.466807400895,"y":19813.583946037503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Open Stage Objects","id":"8f7cad9f-153d-44e6-bdc2-812bc97e3929"}}},{"type":"Product Definition","name":"Manage Stages","config":"{\n \"codeName\": \"Manage-Stages-Objects\",\n \"singularVariableName\": \"manageStagesObject\",\n \"pluralVariableName\": \"manageStagesObjects\",\n \"nodePath\": \"tradingEngine.current.strategyManageStage\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"f6e10004-71dd-4ae9-8c1f-0b71de02d274","savedPayload":{"position":{"x":27670.23350042233,"y":21505.375775512246},"targetPosition":{"x":27175.4545030535,"y":20659.82377732973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"8f3984d8-e735-4dab-a9cc-51e97d704154","savedPayload":{"position":{"x":27308.888149758302,"y":21630.39266316751},"targetPosition":{"x":27175.4545030535,"y":20659.82377732973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"0a0419db-885a-4623-9ce3-ef4cd12d7a52","savedPayload":{"position":{"x":27672.62411628632,"y":22241.66352220627},"targetPosition":{"x":26927.268299705767,"y":21607.540024649887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"4478d5f4-808f-45b5-9197-c144e6c1d81f","savedPayload":{"position":{"x":27323.585605250995,"y":22502.312126408855},"targetPosition":{"x":26927.268299705767,"y":21607.540024649887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"abf359ac-dc22-4274-a00c-25c986836002","savedPayload":{"position":{"x":26896.3587458279,"y":22585.71195647841},"targetPosition":{"x":26927.268299705767,"y":21607.540024649887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"78333d72-e1e6-4a85-9e23-850a66e3ca71","savedPayload":{"position":{"x":26474.97508991858,"y":22475.36790895691},"targetPosition":{"x":26927.268299705767,"y":21607.540024649887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"ba45b561-33a9-4e8e-bf3c-a6b8ece1d0a3","savedPayload":{"position":{"x":26143.198528003973,"y":22193.126859834138},"targetPosition":{"x":26927.268299705767,"y":21607.540024649887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"45ef8759-341e-4e74-a374-035374659cc5","savedPayload":{"position":{"x":25966.7448968667,"y":21794.862226010446},"targetPosition":{"x":26927.268299705767,"y":21607.540024649887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d418fdcd-d800-4f99-8a67-05eb6a09d390","savedPayload":{"position":{"x":26927.268299705767,"y":21607.540024649887},"targetPosition":{"x":27175.4545030535,"y":20659.82377732973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"8fab86b3-db8d-4113-8418-1d256bd98cf2","savedPayload":{"position":{"x":26455.977550874104,"y":20418.63493287632},"targetPosition":{"x":26584.466807400895,"y":19813.583946037503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Manage Stage Objects","id":"768a5cc5-72db-4218-9a8b-706c51186b3d"}}},{"type":"Product Definition","name":"Close Stages","config":"{\n \"codeName\": \"Close-Stages-Objects\",\n \"singularVariableName\": \"closeStagesObject\",\n \"pluralVariableName\": \"closeStagesObjects\",\n \"nodePath\": \"tradingEngine.current.strategyCloseStage\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"ee0f2bab-26b6-44c6-af1c-efbca2c765cd","savedPayload":{"position":{"x":27353.964704616847,"y":21569.271820620306},"targetPosition":{"x":26918.050299901148,"y":20691.916982233615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"cbd3905d-fafc-47f3-8a61-20c9aab10d86","savedPayload":{"position":{"x":26984.92628007235,"y":21669.32612854922},"targetPosition":{"x":26918.050299901148,"y":20691.916982233615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"fb4236d5-0356-4226-bf11-8d119d361bf3","savedPayload":{"position":{"x":27306.080083118486,"y":22304.001601423606},"targetPosition":{"x":26605.70532043249,"y":21620.43811822156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"68f1a928-d89f-4d57-80d8-1e68b113bea5","savedPayload":{"position":{"x":26940.051949713037,"y":22540.23414313807},"targetPosition":{"x":26605.70532043249,"y":21620.43811822156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"cd79288d-539d-499f-a998-5770f3c5efab","savedPayload":{"position":{"x":26508.102999881954,"y":22594.268741317428},"targetPosition":{"x":26605.70532043249,"y":21620.43811822156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"7afb54b6-807f-4452-9fd6-bb4bd32dd462","savedPayload":{"position":{"x":26095.214231924274,"y":22455.418533798624},"targetPosition":{"x":26605.70532043249,"y":21620.43811822156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"56d33c0a-1f4c-4721-b43d-976bbff00208","savedPayload":{"position":{"x":25783.45870130793,"y":22151.179326432477},"targetPosition":{"x":26605.70532043249,"y":21620.43811822156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"eae9d270-5193-46f6-abc8-c1c1eccc9661","savedPayload":{"position":{"x":25634.586038385503,"y":21741.78221500365},"targetPosition":{"x":26605.70532043249,"y":21620.43811822156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c4aaf6da-f1d9-4a88-8e7a-531135090572","savedPayload":{"position":{"x":26605.70532043249,"y":21620.43811822156},"targetPosition":{"x":26918.050299901148,"y":20691.916982233615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"ba911e61-f951-48cd-b547-9a70aa211100","savedPayload":{"position":{"x":26124.680528560624,"y":20227.620567409813},"targetPosition":{"x":26584.466807400895,"y":19813.583946037503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Close Stage Objects","id":"de84947f-ec29-4125-a2b3-a3da595d1653"}}}],"productDefinitionFolders":[],"id":"4ce02b43-0869-4bed-b021-a3b9f7c10451","savedPayload":{"position":{"x":25702.75857606864,"y":19526.48554618169},"targetPosition":{"x":25655.7207675982,"y":19078.950693265968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Product Definition Folder","name":"Position","products":[{"type":"Product Definition","name":"Positions","config":"{\n \"codeName\": \"Position-Objects\",\n \"singularVariableName\": \"positionObject\",\n \"pluralVariableName\": \"positionObjects\",\n \"nodePath\": \"tradingEngine.current.position\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"55df9376-2806-429d-b43d-b96700787f74","savedPayload":{"position":{"x":30646.929456496026,"y":18531.11662738125},"targetPosition":{"x":29552.805890379506,"y":18895.858777522095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"fd62b468-93fa-44e0-941f-fff7ea4b04ea","savedPayload":{"position":{"x":30703.26093684421,"y":18977.260011767554},"targetPosition":{"x":29552.805890379506,"y":18895.858777522095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Serial Number","config":"{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}","id":"a8700d50-9286-4b62-a141-abd506386983","savedPayload":{"position":{"x":31204.24928830206,"y":18440.67169236986},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Identifier","config":"{\n \"codeName\": \"identifier\",\n \"isString\": true\n}","id":"6ce2fa31-04d9-4541-a793-569b668e6201","savedPayload":{"position":{"x":31302.91586107622,"y":18511.23627739841},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"0f5cf2f4-3c5b-4607-8635-c7310906b95c","savedPayload":{"position":{"x":31393.259308844812,"y":18591.472202456785},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"ba8a1af9-323f-4acb-a438-a61f232b4033","savedPayload":{"position":{"x":31474.6387376299,"y":18680.634456769032},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Type","config":"{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"85df8c0c-7d11-44c2-a7a9-928d4ac0ad06","savedPayload":{"position":{"x":31546.2350854883,"y":18777.775312880036},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"9c8b786e-23f6-4bf9-bf83-6fd03b494a66","savedPayload":{"position":{"x":31607.285357356952,"y":18881.84813672404},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin Rate","config":"{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"b0719341-cda1-4503-bed5-f4e98d7e07db","savedPayload":{"position":{"x":31657.126396429096,"y":18991.72277028257},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End Rate","config":"{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"a052f724-c517-4032-85f7-96d3a29ba9ce","savedPayload":{"position":{"x":31695.21303090407,"y":19106.200710645913},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Situation Name","config":"{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"a4dfa19d-51b8-4151-91e5-6031059f09f1","savedPayload":{"position":{"x":31721.127716410676,"y":19224.03050267588},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Periods","config":"{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionCounters\"\n}","id":"5309d28b-041a-4622-ade5-9349c19787da","savedPayload":{"position":{"x":31734.586061428905,"y":19343.922627628195},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 1","config":"{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}","id":"0853d6cc-4429-431e-82f0-e4d958f095ea","savedPayload":{"position":{"x":31735.438413818287,"y":19464.272807688005},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 2","config":"{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}","id":"925756d5-4662-44ac-bfa6-a326c5e61b23","savedPayload":{"position":{"x":31723.675535604558,"y":19584.336781340775},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"User Defined Statistic 3","config":"{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}","id":"3d22802e-0b11-47e4-8c98-7c9830f166fb","savedPayload":{"position":{"x":31699.428365970518,"y":19702.516563862537},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss In Base Asset","config":"{ \n\"codeName\": \"profitLossInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}","id":"5cbdddf2-f50e-49c6-b995-c557a44adde5","savedPayload":{"position":{"x":31662.961920155925,"y":19817.51531645545},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss In Quoted Asset","config":"{ \n\"codeName\": \"profitLossInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}","id":"0e1b30a0-5408-4b8b-aa61-efd21d9ef1b1","savedPayload":{"position":{"x":31614.675374861697,"y":19928.07293763375},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI In Base Asset","config":"{ \n\"codeName\": \"ROIInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}","id":"d41d6380-be40-4823-a6d2-adc43038d514","savedPayload":{"position":{"x":31555.097435466905,"y":20032.978167787343},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI In Quoted Asset","config":"{ \n\"codeName\": \"ROIInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}","id":"5306784e-c744-49cd-962a-670d8e452ac7","savedPayload":{"position":{"x":31484.880580518366,"y":20131.081608828772},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail In Base Asset","config":"{ \n\"codeName\": \"hitFailInBaseAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"hitFail\"\n}","id":"bf8e5f03-9c93-4b76-ae3d-4f2b3eeccab5","savedPayload":{"position":{"x":31404.793907207986,"y":20221.30841699361},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail In Quoted Asset","config":"{ \n\"codeName\": \"hitFailInQuotedAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"hitFail\"\n}","id":"43463fcd-ac98-4ae3-a148-d43d709ba86c","savedPayload":{"position":{"x":31315.714582102097,"y":20302.66996617025},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Size In Base Asset","config":"{ \n\"codeName\": \"entryTargetSizeInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"entryTargetSize\",\n \"decimals\": 10\n}","id":"e6b2213f-f108-428f-b93c-e58db1da49e2","savedPayload":{"position":{"x":31218.618332363374,"y":20374.274818900583},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Size In Quoted Asset","config":"{ \n\"codeName\": \"entryTargetSizeInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"entryTargetSize\",\n \"decimals\": 10\n}","id":"2e419e2b-cb42-4067-a861-7ebf1804a903","savedPayload":{"position":{"x":31114.56858969092,"y":20435.33824292069},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Size In Base Asset","config":"{ \n\"codeName\": \"exitTargetSizeInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"exitTargetSize\",\n \"decimals\": 10\n}","id":"739818f5-d2e4-4fea-b818-a598ed4a9c21","savedPayload":{"position":{"x":31004.704874843806,"y":20485.191043173396},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Size In Quoted Asset","config":"{ \n\"codeName\": \"exitTargetSizeInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"exitTargetSize\",\n \"decimals\": 10\n}","id":"76337d8e-1242-4e84-96c4-7e93b218a1ab","savedPayload":{"position":{"x":30890.230090565812,"y":20523.286565500013},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Rate","config":"{ \n\"codeName\": \"entryTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"06eb81a4-5736-40f5-8248-9aeb8e9cc409","savedPayload":{"position":{"x":30772.39711635211,"y":20549.20675007032},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Rate","config":"{ \n\"codeName\": \"exitTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"7c3162ae-a955-4c61-bd01-69a198893335","savedPayload":{"position":{"x":30652.494498162217,"y":20562.666257548215},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Statistics Profit Loss","config":"{ \n\"codeName\": \"profitLoss\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n \"decimals\": 10\n}","id":"399ae646-1616-4fdd-9ce3-228ea91b7bfc","savedPayload":{"position":{"x":30532.120796348787,"y":20563.514454280645},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Statistics ROI","config":"{ \n\"codeName\": \"ROI\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n \"decimals\": 10\n}","id":"eaa127cc-7067-45a6-8268-463c659209d0","savedPayload":{"position":{"x":30412.00676108544,"y":20551.73497793119},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Statistics Hit Fail","config":"{ \n\"codeName\": \"hitFail\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\"\n}","id":"2db6cdcd-128e-4bdd-9e9f-1d009c497a16","savedPayload":{"position":{"x":30293.704594427625,"y":20527.433379457423},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Statistics Days","config":"{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionStatistics\",\n \"decimals\": 2\n}","id":"42bb6a56-afc0-4c71-9b08-fd59959e8c88","savedPayload":{"position":{"x":30178.17393664527,"y":20490.71918422071},"targetPosition":{"x":30584.154276691428,"y":19412.301751142528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"823244e2-6d28-4e3a-96ea-42f6a7981bca","savedPayload":{"position":{"x":30584.154276691428,"y":19412.301751142528},"targetPosition":{"x":29552.805890379506,"y":18895.858777522095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"1eabba24-cbd4-4cbf-95e0-c5135349d41d","savedPayload":{"position":{"x":26129.275924707894,"y":19799.97085373907},"targetPosition":{"x":25827.66492267845,"y":19384.721729771823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Position Objects","id":"8854b5f8-8407-4a0d-9099-5456a8e4cced"}}},{"type":"Product Definition","name":"Position Base Asset","config":"{\n \"codeName\": \"Position-Base-Asset-Objects\",\n \"singularVariableName\": \"positionBaseAssetObject\",\n \"pluralVariableName\": \"positionBaseAssetObjects\",\n \"nodePath\": \"tradingEngine.current.position\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"a0ff2796-59dd-4aa4-93ed-ba4601b9de5d","savedPayload":{"position":{"x":29450.36064682561,"y":21326.493648283966},"targetPosition":{"x":28502.449856140887,"y":20668.651864843298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"9985d32d-c070-4593-8a2a-ec8bc1c78cbb","savedPayload":{"position":{"x":29126.61034959199,"y":21639.09096481682},"targetPosition":{"x":28502.449856140887,"y":20668.651864843298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"ab0b9bad-a26f-4bd2-9c8a-b54d8e18ba1f","savedPayload":{"position":{"x":29853.23766222829,"y":21927.285708389212},"targetPosition":{"x":28706.903453049825,"y":21804.17057657489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"c7ef2775-8664-4ad2-b1f7-75bcf27f30df","savedPayload":{"position":{"x":29772.07284236906,"y":22245.310036379193},"targetPosition":{"x":28706.903453049825,"y":21804.17057657489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"fab4ea05-53c0-4899-a319-9da3db9c650d","savedPayload":{"position":{"x":29604.625311584914,"y":22527.554767972117},"targetPosition":{"x":28706.903453049825,"y":21804.17057657489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss In Base Asset","config":"{ \n\"codeName\": \"profitLossInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}","id":"807ac077-7ed6-484b-883f-40590c678635","savedPayload":{"position":{"x":29364.475595378215,"y":22751.20163988995},"targetPosition":{"x":28706.903453049825,"y":21804.17057657489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI In Base Asset","config":"{ \n\"codeName\": \"ROIInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}","id":"686128cb-42c2-41c8-8953-461220b65741","savedPayload":{"position":{"x":29071.080542687163,"y":22898.159994453803},"targetPosition":{"x":28706.903453049825,"y":21804.17057657489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail In Base Asset","config":"{ \n\"codeName\": \"hitFailInBaseAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"hitFail\"\n}","id":"3989fb34-a5da-416b-8f76-92476fba2d8b","savedPayload":{"position":{"x":28747.96279586714,"y":22956.452906442977},"targetPosition":{"x":28706.903453049825,"y":21804.17057657489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Size In Base Asset","config":"{ \n\"codeName\": \"entryTargetSizeInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"entryTargetSize\",\n \"decimals\": 10\n}","id":"fe6f9596-bc0c-44dc-b70e-f7ee436b9b59","savedPayload":{"position":{"x":28421.790903608253,"y":22921.178894341756},"targetPosition":{"x":28706.903453049825,"y":21804.17057657489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Size In Base Asset","config":"{ \n\"codeName\": \"exitTargetSizeInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionBaseAsset\",\n \"childProperty\": \"exitTargetSize\",\n \"decimals\": 10\n}","id":"b02b1740-a282-4407-93de-68a0f9aa91a4","savedPayload":{"position":{"x":28118.670284722208,"y":22795.719887272393},"targetPosition":{"x":28706.903453049825,"y":21804.17057657489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Rate","config":"{ \n\"codeName\": \"entryTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"1ed47645-109e-41f4-a570-80d8f45cef9f","savedPayload":{"position":{"x":27863.078565378753,"y":22589.904556564506},"targetPosition":{"x":28706.903453049825,"y":21804.17057657489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Rate","config":"{ \n\"codeName\": \"exitTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"e408f858-f3b2-4eac-aff7-b8ff5fa5b12c","savedPayload":{"position":{"x":27675.768573056434,"y":22320.2665224228},"targetPosition":{"x":28706.903453049825,"y":21804.17057657489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2c81cbf8-d93e-4704-bab2-bc9c0efdb3a4","savedPayload":{"position":{"x":28706.903453049825,"y":21804.17057657489},"targetPosition":{"x":28502.449856140887,"y":20668.651864843298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"b371b039-f6c8-4f60-84cb-52f55c96c84d","savedPayload":{"position":{"x":25881.258459416924,"y":19895.00541297443},"targetPosition":{"x":25827.66492267845,"y":19384.721729771823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Position Base Asset","id":"42a79594-bac8-40bf-a9eb-f13716e15465"}}},{"type":"Product Definition","name":"Position Quoted Asset","config":"{\n \"codeName\": \"Position-Quoted-Asset-Objects\",\n \"singularVariableName\": \"positionQuotedAssetObject\",\n \"pluralVariableName\": \"positionQuotedAssetObjects\",\n \"nodePath\": \"tradingEngine.current.position\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"abab2ab2-3a9b-49bd-8935-9bb01c113761","savedPayload":{"position":{"x":27507.31266579588,"y":21544.833992713462},"targetPosition":{"x":27062.38193312177,"y":20671.95951231103},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"40ac7181-100d-4b65-b7fd-a8103cda2300","savedPayload":{"position":{"x":27139.335454141572,"y":21648.566372154422},"targetPosition":{"x":27062.38193312177,"y":20671.95951231103},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false\n}","id":"07c757d3-bc46-4222-90da-d86cba491ebb","savedPayload":{"position":{"x":27567.85880564114,"y":22156.29213693811},"targetPosition":{"x":26759.62657849578,"y":21603.723698619666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false\n}","id":"91d9db38-e2ef-4947-88f0-e2babea49598","savedPayload":{"position":{"x":27379.34874276073,"y":22361.68233629333},"targetPosition":{"x":26759.62657849578,"y":21603.723698619666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Status","config":"{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}","id":"d879d6c0-51b6-47db-a4c9-0ec0f69eefcd","savedPayload":{"position":{"x":27140.658065567626,"y":22505.605658385153},"targetPosition":{"x":26759.62657849578,"y":21603.723698619666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Profit Loss In Quoted Asset","config":"{ \n\"codeName\": \"profitLossInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}","id":"4d007dcc-ea53-474d-833b-d43580ea5a1d","savedPayload":{"position":{"x":26871.09791974746,"y":22576.453025317005},"targetPosition":{"x":26759.62657849578,"y":21603.723698619666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ROI In Quoted Asset","config":"{ \n\"codeName\": \"ROIInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}","id":"7dea3349-8f02-4ecf-8ab8-6a4ec6d0890e","savedPayload":{"position":{"x":26592.74715075924,"y":22568.490276979388},"targetPosition":{"x":26759.62657849578,"y":21603.723698619666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Hit Fail In Quoted Asset","config":"{ \n\"codeName\": \"hitFailInQuotedAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"hitFail\"\n}","id":"093a203a-838d-49af-ad26-2feb6b808bdd","savedPayload":{"position":{"x":26327.679133422174,"y":22482.362787992693},"targetPosition":{"x":26759.62657849578,"y":21603.723698619666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Size In Quoted Asset","config":"{ \n\"codeName\": \"entryTargetSizeInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"entryTargetSize\",\n \"decimals\": 10\n}","id":"7fb1fb82-57c1-4c64-9613-e1938e99a8ab","savedPayload":{"position":{"x":26097.613507052934,"y":22325.04700166649},"targetPosition":{"x":26759.62657849578,"y":21603.723698619666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Size In Quoted Asset","config":"{ \n\"codeName\": \"exitTargetSizeInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"tradingEngine.current.position.positionQuotedAsset\",\n \"childProperty\": \"exitTargetSize\",\n \"decimals\": 10\n}","id":"a44876b4-75a0-4fd1-a623-eeba4decd42f","savedPayload":{"position":{"x":25921.188635345425,"y":22109.28530472339},"targetPosition":{"x":26759.62657849578,"y":21603.723698619666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Entry Target Rate","config":"{ \n\"codeName\": \"entryTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"37888758-269e-48b2-9ca0-5d69d607dacf","savedPayload":{"position":{"x":25812.699247458975,"y":21852.549339476267},"targetPosition":{"x":26759.62657849578,"y":21603.723698619666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Exit Target Rate","config":"{ \n\"codeName\": \"exitTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}","id":"1bd0adb3-e67c-49f2-831c-1fa0c74a85f5","savedPayload":{"position":{"x":25780.95040548285,"y":21575.829738935918},"targetPosition":{"x":26759.62657849578,"y":21603.723698619666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b46f9e1f-74e0-4858-bb93-d4d85e72c3a9","savedPayload":{"position":{"x":26759.62657849578,"y":21603.723698619666},"targetPosition":{"x":27062.38193312177,"y":20671.95951231103},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},"id":"a376f02b-a5d2-4079-b5cd-ab7dc894b909","savedPayload":{"position":{"x":25619.139525218154,"y":19853.598606732117},"targetPosition":{"x":25827.66492267845,"y":19384.721729771823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Position Quoted Asset","id":"baed45c2-228e-4679-876e-1867bbef5e9f"}}},{"type":"Product Definition","name":"Stop Loss","config":"{\n \"codeName\": \"Stop-Loss\",\n \"singularVariableName\": \"stopLoss\",\n \"pluralVariableName\": \"stopLosses\",\n \"nodePath\": \"tradingEngine.current.position\",\n \"saveAtCycle\": \"Second\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"0ea22a69-e7cb-4fcf-b7ae-4b7233b196c4","savedPayload":{"position":{"x":30654.4270116396,"y":18774.15712319175},"targetPosition":{"x":29536.703834480937,"y":19059.450453976737},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"75b13383-2771-4f58-b2c4-ffadad2e9519","savedPayload":{"position":{"x":30678.671144699445,"y":19223.652639763543},"targetPosition":{"x":29536.703834480937,"y":19059.450453976737},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.candle\"\n}","id":"048960a1-1de4-4492-b214-37bfc59d661b","savedPayload":{"position":{"x":33176.67645340078,"y":20461.85121799825},"targetPosition":{"x":30918.269315269088,"y":20905.019421857425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.candle\"\n}","id":"f44a0a9b-3abb-4323-be28-c14a677d2d5f","savedPayload":{"position":{"x":33145.33313624582,"y":21485.453704047017},"targetPosition":{"x":30918.269315269088,"y":20905.019421857425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stop Loss","config":"{\n \"codeName\": \"stopLoss\",\n \"isString\": false\n}","id":"1152e12b-354a-49cf-bfe1-dbb54a5471bf","savedPayload":{"position":{"x":32672.873245511684,"y":22394.287465253095},"targetPosition":{"x":30918.269315269088,"y":20905.019421857425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stop Loss Stage","config":"{\n \"codeName\": \"stopLossStage\",\n \"isString\": true,\n \"nodePath\": \"tradingEngine.current.position.stopLoss\"\n}","id":"11b06d00-8e9e-4526-b0d9-c9553f536b4b","savedPayload":{"position":{"x":31852.872167107533,"y":23008.12672297711},"targetPosition":{"x":30918.269315269088,"y":20905.019421857425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stop Loss Phase","config":"{\n \"codeName\": \"stopLossPhase\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.position.stopLoss\"\n}","id":"2dc164a2-1df6-40d4-861d-15b0cbc6c627","savedPayload":{"position":{"x":30847.958669860876,"y":23205.398686930464},"targetPosition":{"x":30918.269315269088,"y":20905.019421857425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Serial Number","config":"{ \n \"codeName\": \"serialNumber\",\n \"isString\": false,\n \"isCalculated\": false\n}","id":"2ad62b6e-523d-4689-b05f-45393425e588","savedPayload":{"position":{"x":29856.77224198805,"y":22947.041303642272},"targetPosition":{"x":30918.269315269088,"y":20905.019421857425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"04d49dc8-b542-4700-8d07-99323b0f1f62","savedPayload":{"position":{"x":30918.269315269088,"y":20905.019421857425},"targetPosition":{"x":29536.703834480937,"y":19059.450453976737},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c18bdc82-216a-4b1d-8850-5c3c9dc2000b","savedPayload":{"position":{"x":25412.69194981757,"y":19686.43516865897},"targetPosition":{"x":25827.66492267845,"y":19384.721729771823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Stop Loss","id":"9b8e4fc2-b62a-4d47-ac5f-08818e463da2"}}},{"type":"Product Definition","name":"Take Profit","config":"{\n \"codeName\": \"Take-Profit\",\n \"singularVariableName\": \"takeProfit\",\n \"pluralVariableName\": \"takeProfits\",\n \"nodePath\": \"tradingEngine.current.position\",\n \"saveAtCycle\": \"Second\"\n}","datasets":[{"type":"Dataset Definition","name":"Multi-Period-Market","config":"{\n \"codeName\": \"Multi-Period-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"3cd59aa1-0590-43b6-9fb7-c85276ac132e","savedPayload":{"position":{"x":29544.873195879572,"y":19897.022738995147},"targetPosition":{"x":28577.181012263885,"y":19743.97589987989},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},{"type":"Dataset Definition","name":"Multi-Period-Daily","config":"{\n \"codeName\": \"Multi-Period-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset/@Period/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }","id":"916d5610-87ae-47e7-9067-9a406141e3df","savedPayload":{"position":{"x":29412.46917326791,"y":20255.88143902586},"targetPosition":{"x":28577.181012263885,"y":19743.97589987989},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","properties":[{"type":"Record Property","name":"New Record Property","config":"{ \n \"codeName\": \"\",\n \"isString\": false,\n \"isCalculated\": false\n}","id":"446b1f2c-905f-4125-b9d9-8e155c6f3da7","savedPayload":{"position":{"x":30963.646237069435,"y":21952.795810863543},"targetPosition":{"x":29034.06847291059,"y":21647.313824265948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.candle\"\n}","id":"3f8411d3-5a4f-4243-9f6f-d61cc4a28fb5","savedPayload":{"position":{"x":30699.784727496324,"y":22668.00142884056},"targetPosition":{"x":29034.06847291059,"y":21647.313824265948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.episode.candle\"\n}","id":"437e1ec6-c754-46bb-9942-e05eb056629c","savedPayload":{"position":{"x":30182.309840396523,"y":23227.788128347504},"targetPosition":{"x":29034.06847291059,"y":21647.313824265948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Take Profit","config":"{\n \"codeName\": \"takeProfit\",\n \"isString\": false\n}","id":"81208625-05fb-4e89-bb88-ff16df25bdb7","savedPayload":{"position":{"x":29490.006697846533,"y":23546.94850935291},"targetPosition":{"x":29034.06847291059,"y":21647.313824265948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Take Profit Stage","config":"{\n \"codeName\": \"takeProfitStage\",\n \"isString\": true,\n \"nodePath\": \"tradingEngine.current.position.takeProfit\"\n}","id":"9bce9325-8c54-424f-98b9-e991ca328c24","savedPayload":{"position":{"x":28728.565987281523,"y":23576.88862463763},"targetPosition":{"x":29034.06847291059,"y":21647.313824265948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Stop Loss Phase","config":"{\n \"codeName\": \"takeProfitPhase\",\n \"isString\": false,\n \"nodePath\": \"tradingEngine.current.position.takeProfit\"\n}","id":"4ccb1152-df42-41ef-b8db-da8ee01c6f09","savedPayload":{"position":{"x":28013.363856647047,"y":23313.04908016676},"targetPosition":{"x":29034.06847291059,"y":21647.313824265948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Serial Number","config":"{ \n \"codeName\": \"serialNumber\",\n \"isString\": false,\n \"isCalculated\": false\n}","id":"6e70c156-8d49-4517-b2cf-ee101152e1f3","savedPayload":{"position":{"x":27453.837873763725,"y":22795.398898977404},"targetPosition":{"x":29034.06847291059,"y":21647.313824265948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fe08bafa-9d05-4c76-9448-0d21bd36346c","savedPayload":{"position":{"x":29034.06847291059,"y":21647.313824265948},"targetPosition":{"x":28577.181012263885,"y":19743.97589987989},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2542c7d0-fa26-4b52-a59a-a3630e52eb89","savedPayload":{"position":{"x":25317.312830738374,"y":19438.424234311624},"targetPosition":{"x":25827.66492267845,"y":19384.721729771823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Take Profit","id":"78a2df79-8912-44d7-a8c7-4b6a0a7235c2"}}}],"productDefinitionFolders":[],"id":"5572f4e4-17f2-4037-b524-97d3cf582a64","savedPayload":{"position":{"x":25472.68927821409,"y":19490.04614920514},"targetPosition":{"x":25655.7207675982,"y":19078.950693265968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7e586bb9-0198-431d-83af-cb552d5f6e4e","savedPayload":{"position":{"x":25655.7207675982,"y":19078.950693265968},"targetPosition":{"x":25391.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8c7f3687-b5ae-4a45-bda1-751cb2c55995","savedPayload":{"position":{"x":25391.217404066585,"y":18714.893045797242},"targetPosition":{"x":24941.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"j"}}}],"plotters":[{"type":"Plotter","name":"Trading Engine","config":"{ \n\"codeName\": \"Trading-Engine\"\n}","modules":[{"type":"Plotter Module","name":"Episode Counters","config":"{ \n\"codeName\": \"Episode-Counters\"\n}","panels":[{"type":"Plotter Panel","name":"Episode Counters","config":"{ \n \"codeName\": \"Episode-Counters\"\n}","panelData":[{"type":"Panel Data","name":"Periods","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.periods","id":"a603cdac-43fd-4ed9-bc66-12c708158f4c","savedPayload":{"position":{"x":26059.942867748327,"y":18543.946172877997},"targetPosition":{"x":26132.84633256561,"y":18714.527337844993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ed1e5a45-552b-4050-96b6-8f3b7e0e0e42","savedPayload":{"position":{"x":26132.84633256561,"y":18714.527337844993},"targetPosition":{"x":26212.860934257656,"y":18882.294588248973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Strategies","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.strategies","id":"bd3377de-142c-4f1f-a9cd-1e3a92227fb9","savedPayload":{"position":{"x":26227.248725542897,"y":18506.890902760024},"targetPosition":{"x":26219.50338956686,"y":18692.028459966496},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3445841f-c443-47ed-ab69-af44aafbd805","savedPayload":{"position":{"x":26219.50338956686,"y":18692.028459966496},"targetPosition":{"x":26212.860934257656,"y":18882.294588248973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Positions","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.positions","id":"a4e07f20-da19-4745-932b-021844ede19f","savedPayload":{"position":{"x":26390.719781233467,"y":18551.027878117187},"targetPosition":{"x":26303.956121054685,"y":18713.726993417295},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"960b035e-f799-4e83-81ab-4ce423d081d6","savedPayload":{"position":{"x":26303.956121054685,"y":18713.726993417295},"targetPosition":{"x":26212.860934257656,"y":18882.294588248973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Orders","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.orders","id":"bb28084c-0e1e-4c27-a488-7d8417fb7794","savedPayload":{"position":{"x":26515.184607695137,"y":18634.65883496103},"targetPosition":{"x":26369.477987274542,"y":18769.903219828615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4ba9c931-98ec-4390-a68e-7392b7e2c0e4","savedPayload":{"position":{"x":26369.477987274542,"y":18769.903219828615},"targetPosition":{"x":26212.860934257656,"y":18882.294588248973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Hits","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.hits","id":"4a2c6bca-66d4-4f1f-a2c9-a034f879032d","savedPayload":{"position":{"x":26586.086995044505,"y":18812.582436585228},"targetPosition":{"x":26404.880834490414,"y":18846.635691777115},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"77748bc7-f305-46f7-a51d-4b07420f0174","savedPayload":{"position":{"x":26404.880834490414,"y":18846.635691777115},"targetPosition":{"x":26212.860934257656,"y":18882.294588248973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Fails","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.fails","id":"0b4b3713-a461-4a82-a014-496bf0a13a44","savedPayload":{"position":{"x":26567.192999861545,"y":18991.06824408525},"targetPosition":{"x":26382.06632992149,"y":18944.54291270843},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8c96317c-9c59-4617-ac0d-80a4475b7044","savedPayload":{"position":{"x":26382.06632992149,"y":18944.54291270843},"targetPosition":{"x":26212.860934257656,"y":18882.294588248973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2a5783fe-af9a-443c-b4e7-32d8bdabff82","savedPayload":{"position":{"x":26212.860934257656,"y":18882.294588248973},"targetPosition":{"x":26006.40055248913,"y":19135.14606015873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"recordValues":{"type":"Record Values","name":"New Record Values","id":"11308192-1761-4746-8567-50f5d50eee37","savedPayload":{"position":{"x":26304.700539497426,"y":19195.05761038345},"targetPosition":{"x":26006.40055248913,"y":19135.14606015873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"5e478e3f-e432-4364-8f2c-2f3b2849848b","savedPayload":{"position":{"x":26291.631513396587,"y":18803.403862757285},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Episode Statistics","config":"{ \n\"codeName\": \"Episode-Statistics\"\n}","panels":[{"type":"Plotter Panel","name":"Episode Statistics","config":"{ \n \"codeName\": \"Episode-Statistics\"\n}","panelData":[{"type":"Panel Data","name":"Days","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.days","id":"8ccceec4-4b55-4002-82fc-5eb003680884","savedPayload":{"position":{"x":26717.01923188729,"y":18668.66826389337},"targetPosition":{"x":26806.895312434255,"y":18942.631386101424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a656f547-17d4-48c8-8a30-110cb1cc8d54","savedPayload":{"position":{"x":26806.895312434255,"y":18942.631386101424},"targetPosition":{"x":26896.086089345063,"y":19215.829849639584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Profit Loss","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.profitLoss","id":"2c744dce-e9bc-4b52-ae5a-88153818efe8","savedPayload":{"position":{"x":26982.152038043074,"y":18636.8568142621},"targetPosition":{"x":26935.025140616046,"y":18931.40970898654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dac1e943-73af-419a-89d3-cf7413d0410d","savedPayload":{"position":{"x":26935.025140616046,"y":18931.40970898654},"targetPosition":{"x":26896.086089345063,"y":19215.829849639584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"ROI","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ROI","id":"0262af09-67a3-4948-9f03-903b95f75754","savedPayload":{"position":{"x":27215.4406986089,"y":18736.768425395403},"targetPosition":{"x":27055.53698782344,"y":18976.52474644459},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c5ddf4c7-c06c-48cb-b474-aa1049dda30f","savedPayload":{"position":{"x":27055.53698782344,"y":18976.52474644459},"targetPosition":{"x":26896.086089345063,"y":19215.829849639584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Hit Ratio","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.hitRatio","id":"2e63251f-fa85-44c1-a977-6ea9b1289de4","savedPayload":{"position":{"x":27392.40233358069,"y":18922.589166419195},"targetPosition":{"x":27144.1914847952,"y":19069.27227763365},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f4dba581-f375-45b7-b3e9-8397b74c14f9","savedPayload":{"position":{"x":27144.1914847952,"y":19069.27227763365},"targetPosition":{"x":26896.086089345063,"y":19215.829849639584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Anualized Rate Of Return","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.anualizedRateOfReturn","id":"3b65f366-e8c3-4298-9617-9d7cd121a0fc","savedPayload":{"position":{"x":27470.842923246695,"y":19166.48103066235},"targetPosition":{"x":27183.634472010228,"y":19191.275012592618},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0ddc2941-7f32-43c4-a2ac-33933f7176ea","savedPayload":{"position":{"x":27183.634472010228,"y":19191.275012592618},"targetPosition":{"x":26896.086089345063,"y":19215.829849639584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Hit Fail","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.hitFail","id":"1fda27ad-cc5a-441a-8d2e-d0e820d994eb","savedPayload":{"position":{"x":27435.670241431373,"y":19419.85231854285},"targetPosition":{"x":27166.02500473732,"y":19317.92402557873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"aa06aaaa-c76e-4cb7-b2a4-752703cd91d8","savedPayload":{"position":{"x":27166.02500473732,"y":19317.92402557873},"targetPosition":{"x":26896.086089345063,"y":19215.829849639584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6ea43033-418d-4d87-b640-02010679aa8b","savedPayload":{"position":{"x":26896.086089345063,"y":19215.829849639584},"targetPosition":{"x":26641.265122480774,"y":19457.976109369916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"recordValues":{"type":"Record Values","name":"New Record Values","id":"a22754c1-aa31-4bef-8d7f-4b0df8b2c6e5","savedPayload":{"position":{"x":26967.4916318495,"y":19553.100034433948},"targetPosition":{"x":26641.265122480774,"y":19457.976109369916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"6ce18a43-2e6a-452e-a72d-1c56a58d3f81","savedPayload":{"position":{"x":26357.03637054047,"y":18901.289148865133},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Current Candle","config":"{ \n\"codeName\": \"Current-Candle\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"db2a5867-c3c9-40ae-86f2-19845ca4bffe","savedPayload":{"position":{"x":26616.97798120967,"y":18920.77028745441},"targetPosition":{"x":26409.105086394633,"y":19006.874059736554},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"31789d43-d608-4eeb-a3ff-338a99074045","savedPayload":{"position":{"x":26409.105086394633,"y":19006.874059736554},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Episode Balances","config":"{ \n\"codeName\": \"Current-Balance\"\n}","panels":[{"type":"Plotter Panel","name":"Current Balance","config":"{ \n \"codeName\": \"Current-Balance\"\n}","panelData":[{"type":"Panel Data","name":"Balance Base Asset","config":"{\n \"valueDecimals\": 8\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.balanceBaseAsset","id":"d4a477a7-af7f-4293-b93c-7132d21bdc69","savedPayload":{"position":{"x":27250.797457768676,"y":18431.54872219762},"targetPosition":{"x":27169.589278415515,"y":18702.31171699251},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"741ee6b7-be56-45bc-a40e-5b47a5c628d3","savedPayload":{"position":{"x":27169.589278415515,"y":18702.31171699251},"targetPosition":{"x":27138.9491725672,"y":18992.020230574035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Balance Quoted Asset","config":"{\n \"valueDecimals\": 8\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.balanceQuotedAsset","id":"16c05b8a-fab1-4acb-b3e0-52a99b808140","savedPayload":{"position":{"x":27692.197426640436,"y":18859.415128764263},"targetPosition":{"x":27416.36133617033,"y":18925.08068171851},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a59ec5f0-a5b8-4d7d-bf1f-800776e7dcfe","savedPayload":{"position":{"x":27416.36133617033,"y":18925.08068171851},"targetPosition":{"x":27138.9491725672,"y":18992.020230574035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"afe6979c-2cb9-4e44-be90-03bc54c60fd6","savedPayload":{"position":{"x":27138.9491725672,"y":18992.020230574035},"targetPosition":{"x":26851.424627600452,"y":19266.346230000505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"recordValues":{"type":"Record Values","name":"New Record Values","id":"27e334d8-0ec2-4047-a961-af4c5fcf8d32","savedPayload":{"position":{"x":27218.694295795525,"y":19373.516515224237},"targetPosition":{"x":26851.424627600452,"y":19266.346230000505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"e5d9e3e1-d1f4-4493-b452-33fe49c81228","savedPayload":{"position":{"x":26446.94675079464,"y":19118.352008272865},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Distance To Event","config":"{ \n\"codeName\": \"Distance-To-Event\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"dc45b078-aeee-40bf-8f6d-f8b12a57494f","savedPayload":{"position":{"x":26692.988976180015,"y":19204.447182617576},"targetPosition":{"x":26469.913882370907,"y":19233.815575867087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"56eb7de2-0281-404a-bd4d-34ac113e2325","savedPayload":{"position":{"x":26469.913882370907,"y":19233.815575867087},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Current Strategy","config":"{ \n\"codeName\": \"Current-Strategy\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"97c36937-1cdc-42ce-b886-ca8220b14025","savedPayload":{"position":{"x":26702.613507134476,"y":19351.289148865133},"targetPosition":{"x":26477.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"a3c31000-1b82-4fe9-ae56-6d5893582b16","savedPayload":{"position":{"x":26477.613507134476,"y":19351.289148865133},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Last Strategy","config":"{ \n\"codeName\": \"Last-Strategy\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"c242da84-b00b-4900-ad95-b25a57ef9603","savedPayload":{"position":{"x":26692.988976180015,"y":19498.13111511269},"targetPosition":{"x":26469.913882370907,"y":19468.76272186318},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"028aaa23-630c-4aa6-a168-6b2a128b1a83","savedPayload":{"position":{"x":26469.913882370907,"y":19468.76272186318},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Current Position","config":"{ \n\"codeName\": \"Current-Position\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"daf7ee4e-434b-48df-af3b-b17489fe6a12","savedPayload":{"position":{"x":26664.28006170968,"y":19642.46057460547},"targetPosition":{"x":26446.94675079464,"y":19584.2262894574},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"0d2212c7-07bb-4c41-94fb-00844415ba5e","savedPayload":{"position":{"x":26446.94675079464,"y":19584.2262894574},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Last Position","config":"{ \n\"codeName\": \"Last-Position\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"c4473b0f-99f8-4129-b8ee-1f6a988e9440","savedPayload":{"position":{"x":26616.97798120967,"y":19781.808010275858},"targetPosition":{"x":26409.105086394633,"y":19695.704237993712},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"08c88b9c-70f1-49ff-aa16-21f2bc1c0ba1","savedPayload":{"position":{"x":26409.105086394633,"y":19695.704237993712},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Previous Candle","config":"{ \n\"codeName\": \"Previous-Candle\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"559cabae-7e0e-4ff8-b1dd-8f822421fe6e","savedPayload":{"position":{"x":26551.89208639197,"y":19913.789148865133},"targetPosition":{"x":26357.03637054047,"y":19801.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"076dcee2-2923-4455-8697-263649515a3b","savedPayload":{"position":{"x":26357.03637054047,"y":19801.289148865133},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Market Buy Orders","config":"{ \n\"codeName\": \"Market-Buy-Orders\",\n \"useRateAtMousePosition\": true\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"8ed02a94-4fce-4314-ab0a-6642e85bdca3","savedPayload":{"position":{"x":26470.136014962114,"y":20036.145756499944},"targetPosition":{"x":26291.631513396587,"y":19899.17443497298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"50d624c9-9a6e-4d57-a147-29d5c004b3f2","savedPayload":{"position":{"x":26291.631513396587,"y":19899.17443497298},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Market Sell Orders","config":"{ \n\"codeName\": \"Market-Sell-Orders\",\n \"useRateAtMousePosition\": true\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"15dc7163-1703-4cad-9253-d48d7bb01800","savedPayload":{"position":{"x":26373.10863596934,"y":20146.784277699997},"targetPosition":{"x":26214.009610202367,"y":19987.685251933024},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"4f84a1a5-f9cd-4b9d-9d91-661ba912e2ca","savedPayload":{"position":{"x":26214.009610202367,"y":19987.685251933024},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Limit Buy Orders","config":"{ \n\"codeName\": \"Limit-Buy-Orders\",\n \"useRateAtMousePosition\": true\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"b89ff555-961b-4190-b874-4968e26db1b4","savedPayload":{"position":{"x":26262.470114769287,"y":20243.81165669277},"targetPosition":{"x":26125.498793242325,"y":20065.307155127244},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"17ec46bd-e5c0-48d5-a3b6-e108cc835f17","savedPayload":{"position":{"x":26125.498793242325,"y":20065.307155127244},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Limit Sell Orders","config":"{ \n\"codeName\": \"Limit-Sell-Orders\",\n \"useRateAtMousePosition\": true\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"fe4a4590-f68f-454e-84ba-96ae9cef3b70","savedPayload":{"position":{"x":26140.113507134476,"y":20325.567728122627},"targetPosition":{"x":26027.613507134476,"y":20130.712012271128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"1ec8da3f-8749-430d-8ad9-35fffc0d61ec","savedPayload":{"position":{"x":26027.613507134476,"y":20130.712012271128},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Current Strategy Open Stage","config":"{ \n\"codeName\": \"Current-Strategy-Open-Stage\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"eca15627-7af5-4aef-9095-90c42831202c","savedPayload":{"position":{"x":26008.132368545204,"y":20390.65362294033},"targetPosition":{"x":25922.02859626306,"y":20182.78072812529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"f759a457-fc11-43a8-bf2c-6ebf1db0e78d","savedPayload":{"position":{"x":25922.02859626306,"y":20182.78072812529},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Current Strategy Close Stage","config":"{ \n\"codeName\": \"Current-Strategy-Close-Stage\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"59cb7431-a489-4ab2-ba79-78996e8630c8","savedPayload":{"position":{"x":25868.784932874813,"y":20437.955703440337},"targetPosition":{"x":25810.550647726745,"y":20220.622392525296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"6be13ce1-0fae-4355-99b2-dc8db000251f","savedPayload":{"position":{"x":25810.550647726745,"y":20220.622392525296},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Current Strategy Trigger Stage","config":"{ \n\"codeName\": \"Current-Strategy-Trigger-Stage\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"aec5592e-57b9-4256-88d8-861534624284","savedPayload":{"position":{"x":25724.455473382033,"y":20466.66461791067},"targetPosition":{"x":25695.08708013252,"y":20243.58952410156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"823fa15f-bf29-4784-a5f8-5b82d2ed7645","savedPayload":{"position":{"x":25695.08708013252,"y":20243.58952410156},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Current Strategy Manage Stage","config":"{ \n\"codeName\": \"Current-Strategy-Manage-Stage\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"c060b2bf-e594-4bb5-b0d6-d48f5c03d2e0","savedPayload":{"position":{"x":25577.613507134476,"y":20476.289148865133},"targetPosition":{"x":25577.613507134476,"y":20251.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"34a912c3-4b0f-4f21-9736-4ef47cd0544d","savedPayload":{"position":{"x":25577.613507134476,"y":20251.289148865133},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Current Episode","config":"{ \n\"codeName\": \"Current-Position\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"808e43e8-468e-4d37-b2c2-210b902f2d6b","savedPayload":{"position":{"x":25430.77154088692,"y":20466.66461791067},"targetPosition":{"x":25460.13993413643,"y":20243.58952410156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"bf241117-1c2c-470c-a172-b86b2befa9a2","savedPayload":{"position":{"x":25460.13993413643,"y":20243.58952410156},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Episode Base Asset","config":"{ \n\"codeName\": \"Previous-Candle\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"3e32e9c9-41c5-44c8-85ae-2ef6ee053135","savedPayload":{"position":{"x":25286.44208139414,"y":20437.955703440337},"targetPosition":{"x":25344.676366542208,"y":20220.622392525296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"a99b25e6-7aca-41a2-aacc-1911aac2ee3e","savedPayload":{"position":{"x":25344.676366542208,"y":20220.622392525296},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Episode Quoted Asset","config":"{ \n\"codeName\": \"Previous-Candle\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"82cc01b1-b354-4e30-a1a0-7bb378dc322c","savedPayload":{"position":{"x":25147.09464572375,"y":20390.65362294033},"targetPosition":{"x":25233.198418005897,"y":20182.78072812529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"ede92318-db13-4951-83b1-11fc0345d677","savedPayload":{"position":{"x":25233.198418005897,"y":20182.78072812529},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Last Market Order","config":"{ \n\"codeName\": \"Previous-Candle\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"0bbba556-73d6-43f9-bf55-17e83ea9ab40","savedPayload":{"position":{"x":25015.113507134476,"y":20325.567728122627},"targetPosition":{"x":25127.613507134476,"y":20130.712012271128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"05aa37c8-9f6d-4276-96a6-3123707e7686","savedPayload":{"position":{"x":25127.613507134476,"y":20130.712012271128},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Last Limit Order","config":"{ \n\"codeName\": \"Previous-Candle\"\n}","panels":[],"recordValues":{"type":"Record Values","name":"New Record Values","id":"c89abeeb-79ff-4f3f-a031-091b10f8037a","savedPayload":{"position":{"x":24892.756899499665,"y":20243.81165669277},"targetPosition":{"x":25029.728221026628,"y":20065.307155127244},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"2284d48f-cf52-4277-b81e-c62afef88b71","savedPayload":{"position":{"x":25029.728221026628,"y":20065.307155127244},"targetPosition":{"x":25577.613507134476,"y":19351.289148865133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ebb03c87-e87e-4f4b-8763-361854776287","savedPayload":{"position":{"x":25577.613507134476,"y":19351.289148865133},"targetPosition":{"x":24941.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Trading System","config":"{ \n\"codeName\": \"\"\n}","modules":[{"type":"Plotter Module","name":"Highlights","config":"{ \n\"codeName\": \"Highlights\",\n\"connectTo\": \"Trading System\"\n}","panels":[],"nodesHighlights":{"type":"Nodes Highlights","name":"New Nodes Highlights","config":"{ \n\"nodePath\": \"\"\n}","id":"fa39a76d-1b97-41a2-ab18-f33c2f31fded","savedPayload":{"position":{"x":25746.096270475933,"y":19388.718285691633},"targetPosition":{"x":25365.00135760477,"y":19265.385140825107},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d979c9f0-530a-41d3-a357-b57a3e4f2201","savedPayload":{"position":{"x":25365.00135760477,"y":19265.385140825107},"targetPosition":{"x":24948.211258290095,"y":19131.195968673692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Values","config":"{ \n\"codeName\": \"Values\",\n\"connectTo\": \"Trading System\"\n}","panels":[],"nodesValues":{"type":"Nodes Values","name":"New Nodes Values","config":"{ \n\"nodePath\": \"\"\n}","id":"f42e5006-d8ec-437a-8906-53d7ce68b79c","savedPayload":{"position":{"x":25626.70528125369,"y":19623.47013268235},"targetPosition":{"x":25302.619891367955,"y":19388.39397730765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"476925ed-e2ac-443d-82f3-501b64ca6c87","savedPayload":{"position":{"x":25302.619891367955,"y":19388.39397730765},"targetPosition":{"x":24948.211258290095,"y":19131.195968673692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Errors","config":"{ \n\"codeName\": \"Errors\",\n\"connectTo\": \"Trading System\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Middle Point","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin + (record.end - record.begin)\ny = 0","id":"733b921d-8f51-4bca-b0b5-b0d9a1f9c734","savedPayload":{"position":{"x":26709.490928002022,"y":19612.516391852936},"targetPosition":{"x":26312.010964738358,"y":19654.17208756814},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f189c006-3adb-4b21-8b9d-342f94e7640f","savedPayload":{"position":{"x":26312.010964738358,"y":19654.17208756814},"targetPosition":{"x":25914.357607557165,"y":19695.772442131776},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e50625b6-8b4d-4ae2-960b-b45769639162","savedPayload":{"position":{"x":25914.357607557165,"y":19695.772442131776},"targetPosition":{"x":25516.478876733156,"y":19737.376322356326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"bullet-error\", \n\"size\": 10\n}","imageCondition":{"type":"Image Condition","name":"New Image Condition","code":"record.errors.length> 0","id":"956eb8d9-f297-4783-ac35-625b8d7b1c67","savedPayload":{"position":{"x":26025.44219008426,"y":20020.416227259208},"targetPosition":{"x":25827.50302043519,"y":19989.02559745765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"imagePosition":{"type":"Image Position","name":"Middle Point","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"1da7aa3c-77fb-4d0d-8895-e1c231dcca90","savedPayload":{"position":{"x":25899.601736000357,"y":20175.992702536103},"targetPosition":{"x":25827.50302043519,"y":19989.02559745765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Middle Point","id":"f189c006-3adb-4b21-8b9d-342f94e7640f"}}},"id":"bd5f7149-372f-4a70-94df-4727b3cd3b32","savedPayload":{"position":{"x":25827.50302043519,"y":19989.02559745765},"targetPosition":{"x":25516.478876733156,"y":19737.376322356326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[{"type":"Text","name":"New Text","textCondition":{"type":"Text Condition","name":"New Text Condition","code":"record.errors.length> 0","id":"ac81077c-8c42-4c4c-b443-5faa1ad3b3b4","savedPayload":{"position":{"x":25733.308540690607,"y":20234.123927025877},"targetPosition":{"x":25558.280408255265,"y":20135.203422200044},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"textPosition":{"type":"Text Position","name":"Middle Point","config":"{ \n\"offsetX\": 0,\n \"offsetY\": -15\n }","id":"5d4e3be6-6a2b-4cca-8086-c2db9a75bd23","savedPayload":{"position":{"x":25641.107227409444,"y":20319.645679036053},"targetPosition":{"x":25558.280408255265,"y":20135.203422200044},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Middle Point","id":"f189c006-3adb-4b21-8b9d-342f94e7640f"}}},"textFormula":{"type":"Text Formula","name":"New Text Formula","code":"record.errors.length","id":"adc6d425-cfa0-47e9-a67d-444a112ee3c2","savedPayload":{"position":{"x":25516.546054423918,"y":20333.291241122286},"targetPosition":{"x":25558.280408255265,"y":20135.203422200044},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}","id":"0907179a-16cc-4682-83af-2e7e0ad4d7ba","savedPayload":{"position":{"x":25406.919964675923,"y":20267.822182008105},"targetPosition":{"x":25558.280408255265,"y":20135.203422200044},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ead7ed8a-332d-4ab1-b53e-1e9e0f705a81","savedPayload":{"position":{"x":25558.280408255265,"y":20135.203422200044},"targetPosition":{"x":25516.478876733156,"y":19737.376322356326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c2dcdcbc-31bf-4a44-b47f-a2e1bba10db9","savedPayload":{"position":{"x":25516.478876733156,"y":19737.376322356326},"targetPosition":{"x":25205.64813822659,"y":19485.52271836311},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[],"nodesErrors":{"type":"Nodes Errors","name":"New Nodes Errors","config":"{ \n\"nodePath\": \"\"\n}","id":"c814ea79-0fa6-44bb-a636-d46d7b3720c4","savedPayload":{"position":{"x":25349.154889971724,"y":19859.228781401107},"targetPosition":{"x":25205.64813822659,"y":19485.52271836311},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"64684730-d049-4d3c-8013-b48c5438417e","savedPayload":{"position":{"x":25205.64813822659,"y":19485.52271836311},"targetPosition":{"x":24948.211258290095,"y":19131.195968673692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Status","config":"{ \n\"codeName\": \"Status\",\n\"connectTo\": \"Trading System\"\n}","panels":[],"nodesStatus":{"type":"Nodes Status","name":"New Nodes Status","config":"{ \n\"nodePath\": \"\"\n}","id":"2b1290d8-41ff-48a3-a11b-45f1228e2a84","savedPayload":{"position":{"x":25206.636525722093,"y":19928.842519247053},"targetPosition":{"x":25083.394619561852,"y":19547.877928739632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0437448d-8740-496b-8fce-d3804be81a2b","savedPayload":{"position":{"x":25083.394619561852,"y":19547.877928739632},"targetPosition":{"x":24948.211258290095,"y":19131.195968673692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Progress","config":"{ \n\"codeName\": \"Progress\",\n\"connectTo\": \"Trading System\"\n}","panels":[],"nodesProgress":{"type":"Nodes Progress","name":"New Nodes Progress","config":"{ \n\"nodePath\": \"\"\n}","id":"00c9d7bc-295f-48b6-81a0-71b6bc0b6299","savedPayload":{"position":{"x":24948.02621850174,"y":19969.88767028446},"targetPosition":{"x":24948.121930655147,"y":19569.30467572958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"99aecc8d-2bc4-4748-b642-78888c2d35eb","savedPayload":{"position":{"x":24948.121930655147,"y":19569.30467572958},"targetPosition":{"x":24948.211258290095,"y":19131.195968673692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Running","config":"{ \n\"codeName\": \"Running\",\n\"connectTo\": \"Trading System\"\n}","panels":[],"nodesRunning":{"type":"Nodes Running","name":"New Nodes Running","config":"{ \n\"nodePath\": \"\"\n}","id":"3ef03483-8d69-452c-9f56-984574b79e32","savedPayload":{"position":{"x":24688.81614748063,"y":19928.764134101122},"targetPosition":{"x":24812.658025611872,"y":19547.896728303247},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ac1e8218-af24-491f-a552-736d83d68c01","savedPayload":{"position":{"x":24812.658025611872,"y":19547.896728303247},"targetPosition":{"x":24948.211258290095,"y":19131.195968673692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Announcements","config":"{ \n\"codeName\": \"Announcements\",\n\"connectTo\": \"Trading System\"\n}","panels":[],"nodesAnnouncements":{"type":"Nodes Announcements","name":"New Nodes Announcements","id":"197785fc-72c7-46ef-83bf-a095b01cbfec","savedPayload":{"position":{"x":24454.902207896,"y":19809.5211405365},"targetPosition":{"x":24690.49405191757,"y":19485.59490815017},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0a3b8bea-749a-48ce-8b53-e4a731555b98","savedPayload":{"position":{"x":24690.49405191757,"y":19485.59490815017},"targetPosition":{"x":24948.211258290095,"y":19131.195968673692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Warnings","config":"{ \n\"codeName\": \"Warnings\",\n\"connectTo\": \"Trading System\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Middle Point","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin + (record.end - record.begin)\ny = 0","id":"60641507-8c97-4860-8e20-0190645c9028","savedPayload":{"position":{"x":24032.31855953257,"y":21486.854641013415},"targetPosition":{"x":23995.22992074465,"y":21131.710615915534},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6667ade6-17c3-4415-9665-61b2cd65a128","savedPayload":{"position":{"x":23995.22992074465,"y":21131.710615915534},"targetPosition":{"x":23958.13413354043,"y":20776.477101811004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"52f34194-677e-4f9f-a6fb-90cb76defaa9","savedPayload":{"position":{"x":23958.13413354043,"y":20776.477101811004},"targetPosition":{"x":23920.866628465992,"y":20421.043773168527},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"bullet-warning\", \n\"size\": 10\n}","imageCondition":{"type":"Image Condition","name":"New Image Condition","code":"record.warnings.length> 0","id":"daa37240-427a-42cb-aaa0-d67dc309b195","savedPayload":{"position":{"x":23668.345324086724,"y":20875.157725057943},"targetPosition":{"x":23696.330748151286,"y":20698.608063028038},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"imagePosition":{"type":"Image Position","name":"Middle Point","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"4e52702c-9902-47ab-854e-9284d5535f97","savedPayload":{"position":{"x":23529.548226273782,"y":20762.726715602428},"targetPosition":{"x":23696.330748151286,"y":20698.608063028038},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Middle Point","id":"6667ade6-17c3-4415-9665-61b2cd65a128"}}},"id":"7850e440-3961-4027-b5cb-d551cb7378b0","savedPayload":{"position":{"x":23696.330748151286,"y":20698.608063028038},"targetPosition":{"x":23920.866628465992,"y":20421.043773168527},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[{"type":"Text","name":"New Text","textCondition":{"type":"Text Condition","name":"New Text Condition","code":"record.warnings.length> 0","id":"c0348c71-25ea-455e-ba9a-bac2c52ae160","savedPayload":{"position":{"x":23482.106223371065,"y":20619.477842683515},"targetPosition":{"x":23565.68532865562,"y":20458.256837707813},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"textPosition":{"type":"Text Position","name":"Middle Point","config":"{ \n\"offsetX\": 0,\n \"offsetY\": -15\n }","id":"8b40e546-1464-4f76-a316-fa24d598a9f7","savedPayload":{"position":{"x":23396.781006507113,"y":20536.642438181694},"targetPosition":{"x":23565.68532865562,"y":20458.256837707813},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Middle Point","id":"6667ade6-17c3-4415-9665-61b2cd65a128"}}},"textFormula":{"type":"Text Formula","name":"New Text Formula","code":"record.warnings.length","id":"a115a163-0e52-457f-a4c8-fa802bf3f43b","savedPayload":{"position":{"x":23382.11878952918,"y":20420.15539066471},"targetPosition":{"x":23565.68532865562,"y":20458.256837707813},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}","id":"2ba2d788-3f0d-4f88-b712-8db4568ab1c2","savedPayload":{"position":{"x":23453.411266743704,"y":20314.064092151217},"targetPosition":{"x":23565.68532865562,"y":20458.256837707813},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8e5362d1-e9bf-43c4-b069-e3224108076a","savedPayload":{"position":{"x":23565.68532865562,"y":20458.256837707813},"targetPosition":{"x":23920.866628465992,"y":20421.043773168527},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b30412b8-45bc-4f2e-922e-8660c28ca181","savedPayload":{"position":{"x":23920.866628465992,"y":20421.043773168527},"targetPosition":{"x":24369.87948203239,"y":19866.58761833955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[],"nodesWarnings":{"type":"Nodes Warnings","name":"New Nodes Warnings","id":"3d3a4958-90dd-458e-b1c8-a31bc1ff864c","savedPayload":{"position":{"x":23703.384035251325,"y":20121.88029406598},"targetPosition":{"x":24369.87948203239,"y":19866.58761833955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a9709093-95c1-4b1b-aeb5-329c7505ab75","savedPayload":{"position":{"x":24596.09234260764,"y":19396.23714085924},"targetPosition":{"x":24948.211258290095,"y":19131.195968673692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Infos","config":"{ \n\"codeName\": \"Infos\",\n\"connectTo\": \"Trading System\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Middle Point","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin + (record.end - record.begin)\ny = 0","id":"990f865c-15f2-4d9f-af98-7328567ca132","savedPayload":{"position":{"x":23447.757922188623,"y":21103.36443499447},"targetPosition":{"x":23521.974942241388,"y":20754.132323114452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"672516ff-44dd-433e-a225-0145820bcf4b","savedPayload":{"position":{"x":23521.974942241388,"y":20754.132323114452},"targetPosition":{"x":23596.18833449328,"y":20404.82719849961},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1f66a38f-e2e0-464e-8205-26fbd19545ad","savedPayload":{"position":{"x":23596.18833449328,"y":20404.82719849961},"targetPosition":{"x":23670.22801065474,"y":20055.512012425057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"bullet-info\", \n\"size\": 10\n}","imageCondition":{"type":"Image Condition","name":"New Image Condition","code":"record.infos.length> 0","id":"336f9905-b6b5-4a2d-af4b-79e393c6ea43","savedPayload":{"position":{"x":23289.586112992107,"y":20409.463456126858},"targetPosition":{"x":23370.819778941892,"y":20250.102039693717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"imagePosition":{"type":"Image Position","name":"Middle Point","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"d96df59a-4c0a-4796-a66d-eb3402886378","savedPayload":{"position":{"x":23192.23889021938,"y":20259.601305986784},"targetPosition":{"x":23370.819778941892,"y":20250.102039693717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Middle Point","id":"672516ff-44dd-433e-a225-0145820bcf4b"}}},"id":"a75d9a2a-2c04-4cde-a4bc-30018b845ba4","savedPayload":{"position":{"x":23370.819778941892,"y":20250.102039693717},"targetPosition":{"x":23670.22801065474,"y":20055.512012425057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[{"type":"Text","name":"New Text","textCondition":{"type":"Text Condition","name":"New Text Condition","code":"record.infos.length> 0","id":"55bcdf23-d5c5-4b48-8876-52dd78195a14","savedPayload":{"position":{"x":23191.61259644389,"y":20108.753058817678},"targetPosition":{"x":23320.926610066625,"y":19981.24938324716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"textPosition":{"type":"Text Position","name":"Middle Point","config":"{ \n\"offsetX\": 0,\n \"offsetY\": -15\n }","id":"70422153-eccc-4bfc-8b45-bafb05cc8720","savedPayload":{"position":{"x":23136.066846094483,"y":20003.599989666465},"targetPosition":{"x":23320.926610066625,"y":19981.24938324716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Middle Point","id":"672516ff-44dd-433e-a225-0145820bcf4b"}}},"textFormula":{"type":"Text Formula","name":"New Text Formula","code":"record.infos.length","id":"38bac0f6-2e49-4def-a4fa-a997c40b7074","savedPayload":{"position":{"x":23158.17651322318,"y":19888.32387683588},"targetPosition":{"x":23320.926610066625,"y":19981.24938324716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}","id":"5952c7e2-ddca-41e8-aecc-4a3e33e6420e","savedPayload":{"position":{"x":23258.727217789175,"y":19809.36426677312},"targetPosition":{"x":23320.926610066625,"y":19981.24938324716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b9c1ad2c-f7ad-433b-a149-e33623cd4121","savedPayload":{"position":{"x":23320.926610066625,"y":19981.24938324716},"targetPosition":{"x":23670.22801065474,"y":20055.512012425057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8a6e20b3-0cf5-42ec-b9d0-58215ed556c1","savedPayload":{"position":{"x":23670.22801065474,"y":20055.512012425057},"targetPosition":{"x":24268.31217291204,"y":19667.07007836019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[],"nodesInfos":{"type":"Nodes Infos","name":"New Nodes Infos","id":"4183f03b-db5b-4ba7-8e4f-befc192cbe36","savedPayload":{"position":{"x":23555.553601565916,"y":19703.871255766393},"targetPosition":{"x":24268.31217291204,"y":19667.07007836019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f175df3b-a277-44bc-88db-dcf6b0e3fa38","savedPayload":{"position":{"x":24549.671160230748,"y":19267.714090047924},"targetPosition":{"x":24948.211258290095,"y":19131.195968673692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"34f9d374-f4ae-4abf-96e3-978c6b8a879a","savedPayload":{"position":{"x":24941.217404066585,"y":19164.893045797242},"targetPosition":{"x":24941.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Trading Episode","config":"{ \n\"codeName\": \"\"\n}","modules":[{"type":"Plotter Module","name":"Episode Objects","config":"{ \n \"codeName\": \"Strategy-Objects\", \n \"icon\": \"trend\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin Bottom","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"76185b66-f987-453f-8c6a-922af52e1496","savedPayload":{"position":{"x":25433.60919975209,"y":19631.77072969557},"targetPosition":{"x":25238.938190958066,"y":19678.240375209243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d36cc3b7-cf35-4b2d-9e62-af77e624bd8a","savedPayload":{"position":{"x":25238.938190958066,"y":19678.240375209243},"targetPosition":{"x":24851.000147389183,"y":19773.066561954387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin Top","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.beginRate","id":"015889b5-8517-4d56-8335-b546931b7582","savedPayload":{"position":{"x":25449.265852365555,"y":19819.486587033978},"targetPosition":{"x":25249.569084746458,"y":19803.739244921046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d51a844a-acff-4717-b416-ac02113bcb84","savedPayload":{"position":{"x":25249.569084746458,"y":19803.739244921046},"targetPosition":{"x":24851.000147389183,"y":19773.066561954387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Bottom","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"6da64a35-215f-4e20-a1a4-b715565c9ec5","savedPayload":{"position":{"x":25405.53827765419,"y":20002.764037030935},"targetPosition":{"x":25220.525581431055,"y":19926.009858296286},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cdc081f1-7080-407e-a1d8-20e71c2903f5","savedPayload":{"position":{"x":25220.525581431055,"y":19926.009858296286},"targetPosition":{"x":24851.000147389183,"y":19773.066561954387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Top","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.endRate","id":"ef75589f-d40b-48f3-9d22-c3819d4362d6","savedPayload":{"position":{"x":25304.93083741564,"y":20165.28813323237},"targetPosition":{"x":25152.869386439772,"y":20035.034797671662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a53dfccb-7edd-4b83-84dc-56f62fb77e2e","savedPayload":{"position":{"x":25152.869386439772,"y":20035.034797671662},"targetPosition":{"x":24851.000147389183,"y":19773.066561954387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"75792ba3-caac-448f-976a-2e0beaa5fb15","savedPayload":{"position":{"x":24851.000147389183,"y":19773.066561954387},"targetPosition":{"x":24438.704392618998,"y":19674.341377278408},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Closed Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Closed'","id":"aab82eaa-0871-4f3c-a133-f211a2de6a5d","savedPayload":{"position":{"x":24251.979671521156,"y":20232.976397686947},"targetPosition":{"x":24084.779762334307,"y":20577.500690620127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 2,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 2,\n \"lineDash\": [0,0]\n }\n}","id":"2eff63cf-253f-46a3-b434-2e793943f39a","savedPayload":{"position":{"x":24798.55059602381,"y":20747.205554246633},"targetPosition":{"x":24456.783855635804,"y":20666.160678812274},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"4b53ad47-88ba-4e43-b0c6-da437e26469b","savedPayload":{"position":{"x":24456.783855635804,"y":20666.160678812274},"targetPosition":{"x":24084.779762334307,"y":20577.500690620127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"b06f7ce1-592a-46e1-99ae-6d5b728b7ce6","savedPayload":{"position":{"x":24115.91297694319,"y":20958.129613361627},"targetPosition":{"x":24084.779762334307,"y":20577.500690620127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"d36cc3b7-cf35-4b2d-9e62-af77e624bd8a"}}},{"type":"Polygon Vertex","name":"End Bottom","id":"1d460f06-361e-4e8a-a119-02e7d1d40b14","savedPayload":{"position":{"x":23700.349050710403,"y":20714.58276632412},"targetPosition":{"x":24084.779762334307,"y":20577.500690620127},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"cdc081f1-7080-407e-a1d8-20e71c2903f5"}}}],"id":"7237c558-a0e5-46c6-8cf5-ebc555e98efb","savedPayload":{"position":{"x":24775.415570056815,"y":19919.10435787508},"targetPosition":{"x":24438.704392618998,"y":19674.341377278408},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Open Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Open'","id":"dac76f26-8574-413e-9a59-c3d22393f884","savedPayload":{"position":{"x":24131.34951961687,"y":20448.114324078524},"targetPosition":{"x":23845.69732282563,"y":20712.286183561904},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 2,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 2,\n \"lineDash\": [3,3]\n }\n}","id":"01979f43-b2d9-4efb-beae-be89986ad308","savedPayload":{"position":{"x":24440.580644591468,"y":21141.89978871252},"targetPosition":{"x":24155.491183441933,"y":20936.062861603354},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"31d548c0-90ae-456a-80c1-f11da75d9203","savedPayload":{"position":{"x":24155.491183441933,"y":20936.062861603354},"targetPosition":{"x":23845.69732282563,"y":20712.286183561904},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"7732c454-a983-4af6-aa1b-4ac89412c735","savedPayload":{"position":{"x":23729.10471225306,"y":21076.13322759533},"targetPosition":{"x":23845.69732282563,"y":20712.286183561904},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"d36cc3b7-cf35-4b2d-9e62-af77e624bd8a"}}},{"type":"Polygon Vertex","name":"End Bottom","id":"bdff1a41-c544-44ba-aafb-db30fa1ef9a1","savedPayload":{"position":{"x":23439.160941247017,"y":20691.996021616073},"targetPosition":{"x":23845.69732282563,"y":20712.286183561904},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"cdc081f1-7080-407e-a1d8-20e71c2903f5"}}}],"id":"4958982a-b51a-40ef-8764-dd5451cf9837","savedPayload":{"position":{"x":24656.05497860393,"y":20029.578348366314},"targetPosition":{"x":24438.704392618998,"y":19674.341377278408},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Left Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}","id":"7965d803-ccde-40ec-b09f-dc50b498257c","savedPayload":{"position":{"x":23543.03154447312,"y":16160.650063190064},"targetPosition":{"x":23771.91706815518,"y":16346.103988950654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"63e9bbd0-f235-4ec7-a6bc-9ab46db2d307","savedPayload":{"position":{"x":23771.91706815518,"y":16346.103988950654},"targetPosition":{"x":24039.39056085776,"y":16562.828459543056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"3bec1e67-abaf-428e-b443-dc27969767b5","savedPayload":{"position":{"x":24003.561263329026,"y":16220.41623451958},"targetPosition":{"x":24039.39056085776,"y":16562.828459543056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"d36cc3b7-cf35-4b2d-9e62-af77e624bd8a"}}},{"type":"Polygon Vertex","name":"Begin Top","id":"471fc78f-4538-4834-bbed-a329d1e4601e","savedPayload":{"position":{"x":24256.164232306724,"y":16295.06035250861},"targetPosition":{"x":24039.39056085776,"y":16562.828459543056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Top","id":"d51a844a-acff-4717-b416-ac02113bcb84"}}}],"id":"86fefa5e-8de8-4d00-a632-e1827ce60030","savedPayload":{"position":{"x":24503.63904292664,"y":20085.95117843772},"targetPosition":{"x":24438.704392618998,"y":19674.341377278408},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Right Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}","id":"c4bb446c-e574-4e59-afed-3538eab694d5","savedPayload":{"position":{"x":23663.715624489734,"y":16122.358204813214},"targetPosition":{"x":23871.460538755982,"y":16330.280713946628},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"6f0d820a-fb29-48d7-89f1-d1ea5a74e653","savedPayload":{"position":{"x":23871.460538755982,"y":16330.280713946628},"targetPosition":{"x":24100.89791082273,"y":16559.93821830005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End Bottom","id":"ef071433-8fc9-4d59-a4c5-9bd2e7bc4fb0","savedPayload":{"position":{"x":24100.896121211164,"y":16234.255474737212},"targetPosition":{"x":24100.89791082273,"y":16559.93821830005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"cdc081f1-7080-407e-a1d8-20e71c2903f5"}}},{"type":"Polygon Vertex","name":"End Top","id":"c4f97c3d-8990-4091-8ff0-638afe58c282","savedPayload":{"position":{"x":24331.4610126125,"y":16329.333935430455},"targetPosition":{"x":24100.89791082273,"y":16559.93821830005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Top","id":"a53dfccb-7edd-4b83-84dc-56f62fb77e2e"}}}],"id":"79a3b846-3b23-4c01-9aa1-cedcebb5ca03","savedPayload":{"position":{"x":24341.491203518046,"y":20079.658749080834},"targetPosition":{"x":24438.704392618998,"y":19674.341377278408},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"episode\",\n\"size\": 25\n}","imagePosition":{"type":"Image Position","name":"Begin Bottom","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"c03a6ea3-1555-4c1d-b268-d6e1032fd656","savedPayload":{"position":{"x":24076.03168610451,"y":20173.585929165576},"targetPosition":{"x":24193.7731712701,"y":20011.42469680636},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"d36cc3b7-cf35-4b2d-9e62-af77e624bd8a"}}},"id":"ad9be6ea-d6dd-4c5d-932a-8b34d322fa76","savedPayload":{"position":{"x":24193.7731712701,"y":20011.42469680636},"targetPosition":{"x":24438.704392618998,"y":19674.341377278408},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"episode\",\n\"size\": 25\n}","imagePosition":{"type":"Image Position","name":"End Bottom","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"45d5d8a0-92e4-4e20-af13-8ea425c068cb","savedPayload":{"position":{"x":23912.149483423887,"y":19996.213392145008},"targetPosition":{"x":24083.15070623846,"y":19891.666454330654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"End Bottom","id":"cdc081f1-7080-407e-a1d8-20e71c2903f5"}}},"id":"5bc2bd0b-c164-432b-abb6-269dbca0f627","savedPayload":{"position":{"x":24083.15070623846,"y":19891.666454330654},"targetPosition":{"x":24438.704392618998,"y":19674.341377278408},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[],"id":"0d8e669e-47fd-41f7-8108-8df3e7acd5ef","savedPayload":{"position":{"x":24446.55727397105,"y":19732.532286797657},"targetPosition":{"x":24375.31393269376,"y":19280.580647648458},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Episode Object","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Serial Number","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.serialNumber","id":"b5d632ba-523a-401c-84db-1ce47efa7059","savedPayload":{"position":{"x":24600.67431324698,"y":20110.63400809056},"targetPosition":{"x":24470.730518150227,"y":19958.52645813446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0ccc88ff-cae0-46e6-8e91-36dd4b185d12","savedPayload":{"position":{"x":24470.730518150227,"y":19958.52645813446},"targetPosition":{"x":24195.396724756898,"y":19636.314422166328},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Status","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.status","id":"3292dd95-270f-490b-bba8-0eb82afa4b29","savedPayload":{"position":{"x":24388.058223003107,"y":20229.695701102017},"targetPosition":{"x":24326.272402850715,"y":20039.288608664876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f7b5fd21-8167-4949-be53-8de453a38904","savedPayload":{"position":{"x":24326.272402850715,"y":20039.288608664876},"targetPosition":{"x":24195.396724756898,"y":19636.314422166328},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Type","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitType","id":"7a945058-1f89-420d-94ea-6c01142e814a","savedPayload":{"position":{"x":24146.629826263343,"y":20258.268776300425},"targetPosition":{"x":24162.24886202802,"y":20058.68471622991},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"03168102-4498-4cc9-a685-1fea8ec5d208","savedPayload":{"position":{"x":24162.24886202802,"y":20058.68471622991},"targetPosition":{"x":24195.396724756898,"y":19636.314422166328},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Begin Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.beginRate","id":"15ec12a6-815c-4432-a16b-d2600297aa83","savedPayload":{"position":{"x":23912.239828516573,"y":20192.19452983412},"targetPosition":{"x":24003.083097277726,"y":20013.82442467942},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"534c09c7-1812-4266-ba81-b9fc8cf3d070","savedPayload":{"position":{"x":24003.083097277726,"y":20013.82442467942},"targetPosition":{"x":24195.396724756898,"y":19636.314422166328},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"End Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.endRate","id":"bf1f2748-56f4-451a-87dc-8cd385d649de","savedPayload":{"position":{"x":23721.01649231791,"y":20041.39428023504},"targetPosition":{"x":23873.169108424587,"y":19911.475300590475},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"54b9bfa4-3d94-4a39-b7ae-e5c882022fcf","savedPayload":{"position":{"x":23873.169108424587,"y":19911.475300590475},"targetPosition":{"x":24195.396724756898,"y":19636.314422166328},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Begin","config":"{\n }","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"formatDate(record.begin)","id":"6ad056b5-bcf6-4e6a-88d6-9435c67765e5","savedPayload":{"position":{"x":23601.94424666181,"y":19828.910473525702},"targetPosition":{"x":23792.36029628633,"y":19767.14081297391},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"70bc2470-d0e3-48a0-97c2-67189f3aaa9c","savedPayload":{"position":{"x":23792.36029628633,"y":19767.14081297391},"targetPosition":{"x":24195.396724756898,"y":19636.314422166328},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"End","config":"{\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"formatDate(record.end)","id":"81c41360-308d-4609-9a3b-b234a65fa49a","savedPayload":{"position":{"x":23573.31587167772,"y":19587.32707703284},"targetPosition":{"x":23772.818132730165,"y":19603.00342981239},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"4daad4f7-a1db-40d1-a88e-fe4669b422f5","savedPayload":{"position":{"x":23772.818132730165,"y":19603.00342981239},"targetPosition":{"x":24195.396724756898,"y":19636.314422166328},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"bcbb3368-ea4c-466b-8423-8f0517ad35da","savedPayload":{"position":{"x":24167.51272455952,"y":19688.325888256848},"targetPosition":{"x":24375.31393269376,"y":19280.580647648458},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Episode Base Asset","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Hits","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.hitsInBaseAsset","id":"178cea7f-657c-47b5-bf08-783fccf30abd","savedPayload":{"position":{"x":24148.906753702322,"y":20275.0036325207},"targetPosition":{"x":24086.42490561032,"y":19880.20019865657},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d06bfec8-344e-4d09-ad45-5d881051c86d","savedPayload":{"position":{"x":24086.42490561032,"y":19880.20019865657},"targetPosition":{"x":24019.986125288073,"y":19461.551371705384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Fails","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.failsInBaseAsset","id":"9b2e4688-d344-4aaf-a819-fb37e2d7f01f","savedPayload":{"position":{"x":23891.39390419597,"y":20275.001164858866},"targetPosition":{"x":23953.83883995757,"y":19880.17660234542},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3456d30c-437f-475a-b6d4-86c56c5c5875","savedPayload":{"position":{"x":23953.83883995757,"y":19880.17660234542},"targetPosition":{"x":24019.986125288073,"y":19461.551371705384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Hit Ratio","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.hitRatioInBaseAsset","id":"43ffaa8c-1678-40bc-8b89-1d3613b0bf80","savedPayload":{"position":{"x":23646.21059733477,"y":20195.33939179053},"targetPosition":{"x":23827.664483131033,"y":19839.15149887925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c9328b65-a3e0-4c81-9e7f-321d02566f6a","savedPayload":{"position":{"x":23827.664483131033,"y":19839.15149887925},"targetPosition":{"x":24019.986125288073,"y":19461.551371705384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Profit Loss","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.profitLossInBaseAsset","id":"b1750d80-b1a6-4e57-b575-176c5c63cc85","savedPayload":{"position":{"x":23437.702337873383,"y":20043.79196499201},"targetPosition":{"x":23720.357148935116,"y":19761.171577801575},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"91a729d3-1a8d-44c6-89f6-548456b1e300","savedPayload":{"position":{"x":23720.357148935116,"y":19761.171577801575},"targetPosition":{"x":24019.986125288073,"y":19461.551371705384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"ROI","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ROIInBaseAsset","id":"57eb486f-3069-4df2-a095-7ae86f3c849e","savedPayload":{"position":{"x":23286.240855125754,"y":19835.25951862631},"targetPosition":{"x":23642.439568675247,"y":19653.848041756235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8c0532fa-8338-4659-acdb-4429c00c69f5","savedPayload":{"position":{"x":23642.439568675247,"y":19653.848041756235},"targetPosition":{"x":24019.986125288073,"y":19461.551371705384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Annualized Rate Of Return","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.annualizedRateOfReturnInBaseAsset","id":"9668524f-81b7-4805-a095-729344436bdc","savedPayload":{"position":{"x":23206.60302861116,"y":19590.149274845106},"targetPosition":{"x":23601.48837380367,"y":19527.718146238763},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"01f3e8f9-42bd-477d-a073-ece04b3462c3","savedPayload":{"position":{"x":23601.48837380367,"y":19527.718146238763},"targetPosition":{"x":24019.986125288073,"y":19461.551371705384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Hit Fail","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.hitFailInBaseAsset","id":"5530bf09-a7d7-4721-b6c9-35959c6ef57f","savedPayload":{"position":{"x":23206.561953103424,"y":19332.854940836452},"targetPosition":{"x":23601.44574025569,"y":19395.316942038855},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e6a87a47-eb70-41c8-9b56-37bb3c1cff42","savedPayload":{"position":{"x":23601.44574025569,"y":19395.316942038855},"targetPosition":{"x":24019.986125288073,"y":19461.551371705384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Begin Balance","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.beginBalanceInBaseAsset","id":"bdcfb0ac-dd92-47c6-b1ce-2052125a69d3","savedPayload":{"position":{"x":23286.13230455258,"y":19087.665158930708},"targetPosition":{"x":23642.363452934467,"y":19269.126994635324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"05d8cc70-c3e8-416e-9976-94aabb6fb850","savedPayload":{"position":{"x":23642.363452934467,"y":19269.126994635324},"targetPosition":{"x":24019.986125288073,"y":19461.551371705384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"End Balance","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.endBalanceInBaseAsset","id":"e93cb7de-6d1a-496d-8adc-23e546ccae20","savedPayload":{"position":{"x":23437.751934639862,"y":18878.995003156848},"targetPosition":{"x":23720.364671326744,"y":19161.64431928873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5f28fda1-332a-4052-abac-3586386868df","savedPayload":{"position":{"x":23720.364671326744,"y":19161.64431928873},"targetPosition":{"x":24019.986125288073,"y":19461.551371705384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b18a5300-448b-4165-9b36-dc5ee37e58cd","savedPayload":{"position":{"x":23967.53135431093,"y":19488.32395771534},"targetPosition":{"x":24375.31393269376,"y":19280.580647648458},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Episode Quoted Asset","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Hits","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.hitsInQuotedAsset","id":"68babd3f-d90c-4df0-9050-746d17ab3ea1","savedPayload":{"position":{"x":23607.112436061252,"y":19952.388549155},"targetPosition":{"x":23788.53869183044,"y":19596.2096578622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"962215d1-1e67-43c7-9a7c-01f5e6f9e6e8","savedPayload":{"position":{"x":23788.53869183044,"y":19596.2096578622},"targetPosition":{"x":23980.880599740973,"y":19218.28646047048},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Fails","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.failsInQuotedAsset","id":"9040394b-4c9c-4873-914c-31073717f3d7","savedPayload":{"position":{"x":23398.388650203942,"y":19800.795290351834},"targetPosition":{"x":23681.10328461802,"y":19518.137336156156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fe5a306c-7f59-43aa-bf1e-62ad7639a87f","savedPayload":{"position":{"x":23681.10328461802,"y":19518.137336156156},"targetPosition":{"x":23980.880599740973,"y":19218.28646047048},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Hit Ratio","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.hitRatioInQuotedAsset","id":"c30aadb6-44a2-400d-96b2-a51c2eaccacf","savedPayload":{"position":{"x":23246.923317839668,"y":19592.153870854807},"targetPosition":{"x":23603.123274043934,"y":19410.76169656026},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"19fb6789-7b00-4e86-bfde-775bcd813300","savedPayload":{"position":{"x":23603.123274043934,"y":19410.76169656026},"targetPosition":{"x":23980.880599740973,"y":19218.28646047048},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Profit Loss","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.profitLossInQuotedAsset","id":"b296257d-c3fd-406f-85de-b89121b332f6","savedPayload":{"position":{"x":23167.376115695737,"y":19346.979368323817},"targetPosition":{"x":23562.244373466372,"y":19284.56237283224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dad82788-bdb3-4df2-9cfd-2a8d22a2278f","savedPayload":{"position":{"x":23562.244373466372,"y":19284.56237283224},"targetPosition":{"x":23980.880599740973,"y":19218.28646047048},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"ROI","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ROIInQuotedAsset","id":"88e43d30-c26b-4d43-ba1a-e2a318154b95","savedPayload":{"position":{"x":23167.381159466986,"y":19089.6864146022},"targetPosition":{"x":23562.32601419074,"y":19152.11447957772},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"54f32b24-0657-4be3-a24c-ea988797f93a","savedPayload":{"position":{"x":23562.32601419074,"y":19152.11447957772},"targetPosition":{"x":23980.880599740973,"y":19218.28646047048},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Annualized Rate Of Return","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.annualizedRateOfReturnInQuotedAsset","id":"e30aa4c9-50ef-40a6-bf65-ae8674eddd3f","savedPayload":{"position":{"x":23246.93902036478,"y":18844.565758519213},"targetPosition":{"x":23603.273795340985,"y":19026.008734553117},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0b94cbb0-ec78-4a85-b815-06533aaa7ea9","savedPayload":{"position":{"x":23603.273795340985,"y":19026.008734553117},"targetPosition":{"x":23980.880599740973,"y":19218.28646047048},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Hit Fail","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.hitFailInQuotedAsset","id":"38b3d1b7-f954-4042-abfb-1fd9167e0e35","savedPayload":{"position":{"x":23398.364738994278,"y":18636.029807261693},"targetPosition":{"x":23681.152231144846,"y":18918.67890049766},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"524a686a-eadf-4652-a2ca-f73f40dc10f1","savedPayload":{"position":{"x":23681.152231144846,"y":18918.67890049766},"targetPosition":{"x":23980.880599740973,"y":19218.28646047048},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Begin Balance","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.beginBalanceInQuotedAsset","id":"78d24874-e442-4b7d-9602-b434fa246640","savedPayload":{"position":{"x":23606.81934689737,"y":18484.464405058116},"targetPosition":{"x":23788.425093022,"y":18840.67480129598},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"480cfd81-87e5-4022-ac2b-9adb7f04c105","savedPayload":{"position":{"x":23788.425093022,"y":18840.67480129598},"targetPosition":{"x":23980.880599740973,"y":19218.28646047048},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"End Balance","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.endBalanceInQuotedAsset","id":"abe4d95f-ae51-4237-8bda-0d2ec08ef13c","savedPayload":{"position":{"x":23851.999356492295,"y":18404.720459281772},"targetPosition":{"x":23914.648995510062,"y":18799.610748925214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0245f0f4-59c6-4f14-8ec9-5a80ab0cd05e","savedPayload":{"position":{"x":23914.648995510062,"y":18799.610748925214},"targetPosition":{"x":23980.880599740973,"y":19218.28646047048},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dbdd55de-9279-48ef-a0b1-e50024f284e9","savedPayload":{"position":{"x":23923.26557153048,"y":19209.144905092962},"targetPosition":{"x":24375.31393269376,"y":19280.580647648458},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b7320c91-b8aa-4642-bd11-a1efb2a88d39","savedPayload":{"position":{"x":24348.24908463109,"y":19307.45867539896},"targetPosition":{"x":24658.110912307387,"y":18997.777583103496},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"12f444b2-b8e7-48ef-9ea1-9cbe5489f942","savedPayload":{"position":{"x":24623.01935253264,"y":19033.091097331187},"targetPosition":{"x":24941.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Trading Strategy","config":"{ \n\"codeName\": \"\"\n}","modules":[{"type":"Plotter Module","name":"Strategy Objects","config":"{ \n \"codeName\": \"Strategy-Objects\", \n \"icon\": \"trend\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin Bottom","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","id":"458c8a52-4191-4fa5-b4f7-a0eb2edfcdc8","savedPayload":{"position":{"x":23679.031603122057,"y":19570.982297667073},"targetPosition":{"x":23576.047532580196,"y":19442.973500913187},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a464e820-57a7-4233-b23b-e802fc9b3a33","savedPayload":{"position":{"x":23576.047532580196,"y":19442.973500913187},"targetPosition":{"x":23358.431821974955,"y":19172.245715531662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin Top","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.beginRate","id":"3abb7e03-f8f3-4956-9729-756e7974c5a0","savedPayload":{"position":{"x":23540.01580878851,"y":19650.751238925084},"targetPosition":{"x":23481.69111797499,"y":19497.117910011708},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d2e900e2-444c-4268-b07a-fc41811c82d8","savedPayload":{"position":{"x":23481.69111797499,"y":19497.117910011708},"targetPosition":{"x":23358.431821974955,"y":19172.245715531662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Bottom","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","id":"5ef24a29-2154-4304-ae0d-e046db069042","savedPayload":{"position":{"x":23382.80753939302,"y":19682.75925339549},"targetPosition":{"x":23375.0567542045,"y":19519.26706893857},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e960d99e-f263-4ee8-9801-9b97f534bd5e","savedPayload":{"position":{"x":23375.0567542045,"y":19519.26706893857},"targetPosition":{"x":23358.431821974955,"y":19172.245715531662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Top","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.endRate","id":"6d7f55b1-11df-4598-bab9-32a02ae6fa33","savedPayload":{"position":{"x":23223.43367888208,"y":19666.326567848617},"targetPosition":{"x":23267.188708707676,"y":19506.62044651284},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3a8be5c7-aff5-4283-bd17-dadd6dddda4d","savedPayload":{"position":{"x":23267.188708707676,"y":19506.62044651284},"targetPosition":{"x":23358.431821974955,"y":19172.245715531662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"87bdc7ca-4228-48a3-ab2d-4eba01abfa2e","savedPayload":{"position":{"x":24154.37111972016,"y":19394.906565933747},"targetPosition":{"x":23910.961395875824,"y":19077.81581437848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Closed Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Closed'","id":"3d4e39c7-4178-4557-95b9-0bb94a15135c","savedPayload":{"position":{"x":23464.034916247892,"y":19095.896634054898},"targetPosition":{"x":23102.330833588872,"y":19175.230567710623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 4,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 4,\n \"lineDash\": [0,0]\n }\n}","id":"83329324-581e-42e2-948e-7d06a3d9066c","savedPayload":{"position":{"x":23401.314169592093,"y":19811.027853873587},"targetPosition":{"x":23261.299233616654,"y":19513.51419379196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"4a04b54a-70b9-4e92-a474-d6ef03a97f26","savedPayload":{"position":{"x":23261.299233616654,"y":19513.51419379196},"targetPosition":{"x":23102.330833588872,"y":19175.230567710623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"b3a7f670-c86e-4382-93ee-bb6dbabfd159","savedPayload":{"position":{"x":22829.906812133944,"y":19431.684029138312},"targetPosition":{"x":23102.330833588872,"y":19175.230567710623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"a464e820-57a7-4233-b23b-e802fc9b3a33"}}},{"type":"Polygon Vertex","name":"End Bottom","id":"0e17c75c-09f4-49ae-8e6a-55fdfd89f428","savedPayload":{"position":{"x":22765.97151481076,"y":18968.006912231718},"targetPosition":{"x":23102.330833588872,"y":19175.230567710623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"e960d99e-f263-4ee8-9801-9b97f534bd5e"}}}],"id":"9ae59a68-71fd-4ec8-9a70-da743f33baee","savedPayload":{"position":{"x":24014.51097224625,"y":19464.381111716422},"targetPosition":{"x":23910.961395875824,"y":19077.81581437848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Open Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Open'","id":"5eb17be1-910b-4da5-959b-e7cf21dfa896","savedPayload":{"position":{"x":23238.584473975658,"y":19125.115409062902},"targetPosition":{"x":22865.18144953736,"y":19079.566504230155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 4,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 4,\n \"lineDash\": [3,3]\n }\n}","id":"f790de9e-e87a-4f2a-86d5-c8f69d4b9525","savedPayload":{"position":{"x":22898.2516308732,"y":19781.12411657158},"targetPosition":{"x":22882.75695077428,"y":19453.107373591916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"a4e077b1-7bc7-4d90-b796-b4e808985b89","savedPayload":{"position":{"x":22882.75695077428,"y":19453.107373591916},"targetPosition":{"x":22865.18144953736,"y":19079.566504230155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"b158074f-5013-4899-b61b-232eb519370c","savedPayload":{"position":{"x":22515.604963398855,"y":19212.216856709278},"targetPosition":{"x":22865.18144953736,"y":19079.566504230155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"a464e820-57a7-4233-b23b-e802fc9b3a33"}}},{"type":"Polygon Vertex","name":"End Bottom","id":"365ee7e7-0529-4acc-a77f-d596c195399f","savedPayload":{"position":{"x":22633.923464950298,"y":18759.529686353388},"targetPosition":{"x":22865.18144953736,"y":19079.566504230155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"e960d99e-f263-4ee8-9801-9b97f534bd5e"}}}],"id":"504f327c-a08d-4c3d-8e77-850299cc30ed","savedPayload":{"position":{"x":23858.815638617816,"y":19474.694064425537},"targetPosition":{"x":23910.961395875824,"y":19077.81581437848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Left Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}","id":"e2422730-fb47-4014-a707-8c346d6bc327","savedPayload":{"position":{"x":23870.690743282812,"y":16265.600788433647},"targetPosition":{"x":24099.576266964872,"y":16451.054714194237},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"bbd7ee22-fb16-4b59-9e0c-04018e9dd3fa","savedPayload":{"position":{"x":24099.576266964872,"y":16451.054714194237},"targetPosition":{"x":24367.04975966745,"y":16667.77918478664},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"a3a9eca0-36f3-4058-b8d7-872ce77209cd","savedPayload":{"position":{"x":24331.220462138717,"y":16325.366959763163},"targetPosition":{"x":24367.04975966745,"y":16667.77918478664},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"a464e820-57a7-4233-b23b-e802fc9b3a33"}}},{"type":"Polygon Vertex","name":"Begin Top","id":"d480fdc6-89e5-4547-a2ae-17ff5e4fc917","savedPayload":{"position":{"x":24583.823431116416,"y":16400.01107775219},"targetPosition":{"x":24367.04975966745,"y":16667.77918478664},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Top","id":"d2e900e2-444c-4268-b07a-fc41811c82d8"}}}],"id":"f9500afd-e0f4-45d3-9647-45ec778554e8","savedPayload":{"position":{"x":23710.891682461828,"y":19424.509502956298},"targetPosition":{"x":23910.961395875824,"y":19077.81581437848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Right Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}","id":"03ebe379-fb32-47fc-bfd6-b9ccc73bfd16","savedPayload":{"position":{"x":23991.374823299426,"y":16227.308930056797},"targetPosition":{"x":24199.119737565674,"y":16435.23143919021},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"054fcea5-2f72-4439-be45-c289a3bdab14","savedPayload":{"position":{"x":24199.119737565674,"y":16435.23143919021},"targetPosition":{"x":24428.55710963242,"y":16664.888943543632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End Bottom","id":"a0b737cf-ec7b-4026-870c-cebec148464f","savedPayload":{"position":{"x":24428.555320020856,"y":16339.206199980796},"targetPosition":{"x":24428.55710963242,"y":16664.888943543632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"e960d99e-f263-4ee8-9801-9b97f534bd5e"}}},{"type":"Polygon Vertex","name":"End Top","id":"fceb54ef-473e-4062-9407-ec64e9040504","savedPayload":{"position":{"x":24659.120211422192,"y":16434.28466067404},"targetPosition":{"x":24428.55710963242,"y":16664.888943543632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Top","id":"3a8be5c7-aff5-4283-bd17-dadd6dddda4d"}}}],"id":"354102dd-fd58-4f84-8e90-0d891defa0c8","savedPayload":{"position":{"x":23593.47466580249,"y":19321.52608432972},"targetPosition":{"x":23910.961395875824,"y":19077.81581437848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"strategy\",\n\"size\": 25\n}","imagePosition":{"type":"Image Position","name":"Begin Bottom","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"64c0d038-c401-4317-84fd-b73e1b210d00","savedPayload":{"position":{"x":23330.75757088613,"y":19233.22969505777},"targetPosition":{"x":23524.45439303095,"y":19181.32827189945},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"a464e820-57a7-4233-b23b-e802fc9b3a33"}}},"id":"01f6ebd3-e14f-4434-a0fb-1d8167122ce3","savedPayload":{"position":{"x":23524.45439303095,"y":19181.32827189945},"targetPosition":{"x":23910.961395875824,"y":19077.81581437848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"strategy\",\n\"size\": 25\n}","imagePosition":{"type":"Image Position","name":"End Bottom","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"56f86edf-c2cc-491b-8cea-4bae0f03ebfd","savedPayload":{"position":{"x":23315.575351401378,"y":18999.3178489443},"targetPosition":{"x":23514.341543411083,"y":19025.39569028193},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"End Bottom","id":"e960d99e-f263-4ee8-9801-9b97f534bd5e"}}},"id":"df6a3044-b207-4564-8c28-8d64c679ee9a","savedPayload":{"position":{"x":23514.341543411083,"y":19025.39569028193},"targetPosition":{"x":23910.961395875824,"y":19077.81581437848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[],"id":"b02b7fee-30b0-41f0-ae06-a073c57289d9","savedPayload":{"position":{"x":23910.961395875824,"y":19077.81581437848},"targetPosition":{"x":24110.53790893806,"y":18731.889286920232},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Strategy Object","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Serial Number","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.serialNumber","id":"b037ec89-e05b-432c-9b61-da05bda134cc","savedPayload":{"position":{"x":23614.48910776199,"y":18432.168699486465},"targetPosition":{"x":23740.26830939358,"y":18416.508056390307},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0316c81d-7b05-42cb-876e-19d25eb1896a","savedPayload":{"position":{"x":23740.26830939358,"y":18416.508056390307},"targetPosition":{"x":23911.09809066267,"y":18386.431948593003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Status","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.status","id":"ed7a2560-35b9-4142-bd68-77347bf66b89","savedPayload":{"position":{"x":23608.630266792385,"y":18278.336831512588},"targetPosition":{"x":23717.0366515417,"y":18316.60991379066},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"5d9060d4-50fb-4cda-8037-85f7ffae5c27","savedPayload":{"position":{"x":23717.0366515417,"y":18316.60991379066},"targetPosition":{"x":23911.09809066267,"y":18386.431948593003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.strategyName","id":"925d79c1-efdd-4555-baba-72e686294057","savedPayload":{"position":{"x":23692.819638122255,"y":18158.11840093637},"targetPosition":{"x":23772.072415152626,"y":18238.019033825516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"1a4951ef-23ae-4228-8479-a0fe687c2d82","savedPayload":{"position":{"x":23772.072415152626,"y":18238.019033825516},"targetPosition":{"x":23911.09809066267,"y":18386.431948593003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Triggered By Situation","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.situationName","id":"24317532-e6bf-4827-9196-e052fe28bcb3","savedPayload":{"position":{"x":23817.195717767132,"y":18078.397720109857},"targetPosition":{"x":23851.344816465276,"y":18181.483489423328},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6c79326f-b90c-4155-8f61-8ee2322b9b09","savedPayload":{"position":{"x":23851.344816465276,"y":18181.483489423328},"targetPosition":{"x":23911.09809066267,"y":18386.431948593003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Type","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitType","id":"2a35de7b-ad59-439b-aa6c-0668ffd92816","savedPayload":{"position":{"x":23956.9738010309,"y":18075.270779322298},"targetPosition":{"x":23943.886368698822,"y":18184.88069000929},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6a34a5de-3b89-4f07-a947-5b94c8926dc1","savedPayload":{"position":{"x":23943.886368698822,"y":18184.88069000929},"targetPosition":{"x":23911.09809066267,"y":18386.431948593003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Periods","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.periods","id":"33bd5e59-f2bf-4b5c-bd74-6975e07b3056","savedPayload":{"position":{"x":24116.367364884885,"y":18154.54938154536},"targetPosition":{"x":24044.380871287798,"y":18260.633671634343},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a0c5053d-5b1e-4f7e-8edb-58baaaa8a45a","savedPayload":{"position":{"x":24044.380871287798,"y":18260.633671634343},"targetPosition":{"x":23911.09809066267,"y":18386.431948593003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b256b76c-3834-4d62-aa56-f42cce9f47e9","savedPayload":{"position":{"x":23911.09809066267,"y":18386.431948593003},"targetPosition":{"x":24110.53790893806,"y":18731.889286920232},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d54a124c-6029-41a6-9bbd-bb3fe8b1a318","savedPayload":{"position":{"x":24110.53790893806,"y":18731.889286920232},"targetPosition":{"x":24548.42941950672,"y":18731.888780422178},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"62890699-eabf-4ea8-8ca0-cac07cc06dea","savedPayload":{"position":{"x":24491.217404066585,"y":18714.893045797242},"targetPosition":{"x":24941.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Trading Position","config":"{ \n \"codeName\": \"\"\n}","modules":[{"type":"Plotter Module","name":"Position Objects","config":"{ \n \"codeName\": \"Position-Objects\", \n \"icon\": \"trend\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Left Exit Target Rate","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.exitTargetRate","id":"594bc655-cbf0-4e81-8fcc-b0f001e71fc4","savedPayload":{"position":{"x":23378.89131831053,"y":19594.166578643504},"targetPosition":{"x":23264.289226615554,"y":19452.589943059153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3b122c9b-56d5-4cb6-86ba-12d1919aeeba","savedPayload":{"position":{"x":23264.289226615554,"y":19452.589943059153},"targetPosition":{"x":23034.47649584858,"y":19168.88288477962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Right Exit Target Rate","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.exitTargetRate","id":"ef80ea85-cfba-4fa6-9646-3688f54f33ba","savedPayload":{"position":{"x":23062.792676404817,"y":19714.77684558158},"targetPosition":{"x":23053.457563011074,"y":19533.740963507993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"eb3dd27b-831c-47ae-8a19-1b01626add98","savedPayload":{"position":{"x":23053.457563011074,"y":19533.740963507993},"targetPosition":{"x":23034.47649584858,"y":19168.88288477962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Left Entry Target Rate","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.entryTargetRate","id":"cdc9f3f0-3bca-4c9c-901f-1371aad3dcfe","savedPayload":{"position":{"x":22736.669448976547,"y":19627.42686922161},"targetPosition":{"x":22835.732153144694,"y":19474.879679402802},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b61fa42b-45d1-416b-b06b-734d33223a80","savedPayload":{"position":{"x":22835.732153144694,"y":19474.879679402802},"targetPosition":{"x":23034.47649584858,"y":19168.88288477962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Right Entry Target Rate","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.entryTargetRate","id":"c450be56-8c02-4039-9b4a-8e0bde52fcc6","savedPayload":{"position":{"x":22523.899313523405,"y":19364.533311359763},"targetPosition":{"x":22693.304882078766,"y":19299.63546617169},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"467129cb-1aa4-4639-ab0f-74d14146f721","savedPayload":{"position":{"x":22693.304882078766,"y":19299.63546617169},"targetPosition":{"x":23034.47649584858,"y":19168.88288477962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"774f0a60-aa67-408f-9768-8a24f5b9c033","savedPayload":{"position":{"x":23654.712524602528,"y":19663.484762306463},"targetPosition":{"x":23480.47916567485,"y":19012.386200156463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Entry Target Rate Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 2,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 3,\n \"lineDash\": [3,3]\n }\n}","id":"bc128809-8c93-4f5d-9de9-4e0b28c1132e","savedPayload":{"position":{"x":21468.0855205249,"y":19494.420337141244},"targetPosition":{"x":21981.50998714314,"y":18981.053483751624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"cbd2cb8e-ca62-4b68-9bca-11ad55e50fb1","savedPayload":{"position":{"x":21981.50998714314,"y":18981.053483751624},"targetPosition":{"x":22495.031257440536,"y":18467.716125216677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Left Entry Target Rate","id":"e1fc573d-a98e-4801-af1f-08f56d98a78a","savedPayload":{"position":{"x":21768.882913942445,"y":18467.716005129925},"targetPosition":{"x":22495.031257440536,"y":18467.716125216677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Left Entry Target Rate","id":"b61fa42b-45d1-416b-b06b-734d33223a80"}}},{"type":"Polygon Vertex","name":"Right Entry Target Rate","id":"72aece06-d0ac-4068-8310-7037f0ba4943","savedPayload":{"position":{"x":21981.60058357288,"y":17954.297287620375},"targetPosition":{"x":22495.031257440536,"y":18467.716125216677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Entry Target Rate","id":"467129cb-1aa4-4639-ab0f-74d14146f721"}}}],"id":"543ebae2-5624-49ad-a00f-df63335e92a9","savedPayload":{"position":{"x":23143.072754406683,"y":19596.938456557556},"targetPosition":{"x":23480.47916567485,"y":19012.386200156463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Exit Target Rate Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 2,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 3,\n \"lineDash\": [3,3]\n }\n}","id":"8737606b-fbf1-4e8e-a124-930ec555d3d6","savedPayload":{"position":{"x":21262.28928373682,"y":19005.553773101605},"targetPosition":{"x":21891.1239293732,"y":18642.568827656476},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"477ff931-5b51-4d4f-acff-3a14c7028a52","savedPayload":{"position":{"x":21891.1239293732,"y":18642.568827656476},"targetPosition":{"x":22519.99599403495,"y":18279.565926553114},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Left Exit Target Rate","id":"b849d38a-644a-470a-a110-d250b5e9d5f3","savedPayload":{"position":{"x":21818.569736612473,"y":18091.692025952238},"targetPosition":{"x":22519.99599403495,"y":18279.565926553114},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Left Exit Target Rate","id":"3b122c9b-56d5-4cb6-86ba-12d1919aeeba"}}},{"type":"Polygon Vertex","name":"Right Exit Target Rate","id":"dc283f46-e843-40b1-ab59-6d38ab0b7741","savedPayload":{"position":{"x":22156.94314223121,"y":17650.710827287014},"targetPosition":{"x":22519.99599403495,"y":18279.565926553114},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Exit Target Rate","id":"eb3dd27b-831c-47ae-8a19-1b01626add98"}}}],"id":"b066c240-8552-4622-9597-77e812491910","savedPayload":{"position":{"x":22828.5367118456,"y":19186.961257606392},"targetPosition":{"x":23480.47916567485,"y":19012.386200156463},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"d99cb56a-d182-4672-9e89-54bb809eff30","savedPayload":{"position":{"x":23480.47916567485,"y":19012.386200156463},"targetPosition":{"x":23817.540497140402,"y":18428.741200132783},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Position Object","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Serial Number","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.serialNumber","id":"482e894d-68a1-499f-b55e-97827c1df506","savedPayload":{"position":{"x":22494.61429137729,"y":19788.400261681847},"targetPosition":{"x":22502.508393903605,"y":19450.80091098777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"5a612794-8d2e-4689-82ce-f6bdcba13755","savedPayload":{"position":{"x":22502.508393903605,"y":19450.80091098777},"targetPosition":{"x":22518.30995906993,"y":18776.673361403184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Status","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.status","id":"d1f7c811-2a35-44a0-8908-2076f59ab2ad","savedPayload":{"position":{"x":22210.324514554803,"y":19740.665718440327},"targetPosition":{"x":22313.092233770803,"y":19418.97362755148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"32444aa5-bc40-4905-97e7-f795118fc229","savedPayload":{"position":{"x":22313.092233770803,"y":19418.97362755148},"targetPosition":{"x":22518.30995906993,"y":18776.673361403184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Situation Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.situationName","id":"8ae3f86b-d0f8-4851-a477-02d0960fb4e5","savedPayload":{"position":{"x":21951.098623320446,"y":19614.76897021752},"targetPosition":{"x":22140.38153244171,"y":19335.089563273254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8fd749c8-cdc1-4a20-8901-d22fdd70612d","savedPayload":{"position":{"x":22140.38153244171,"y":19335.089563273254},"targetPosition":{"x":22518.30995906993,"y":18776.673361403184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Entry Target Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.entryTargetRate","id":"b97f9930-22b1-4e18-9d12-f2adc9de796d","savedPayload":{"position":{"x":21737.873747541613,"y":19420.9406148478},"targetPosition":{"x":21998.32180030886,"y":19205.952672278312},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"08193c38-6100-40cf-84e9-533cd29ca463","savedPayload":{"position":{"x":21998.32180030886,"y":19205.952672278312},"targetPosition":{"x":22518.30995906993,"y":18776.673361403184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Target Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitTargetRate","id":"305c84ca-413b-462a-b908-8be894e80197","savedPayload":{"position":{"x":21587.903506595634,"y":19174.890189055783},"targetPosition":{"x":21898.4050722363,"y":19042.02539027736},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"87fcd4c7-8315-4b89-8c6a-ca8d6ede7a25","savedPayload":{"position":{"x":21898.4050722363,"y":19042.02539027736},"targetPosition":{"x":22518.30995906993,"y":18776.673361403184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Position Begin Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.beginRate","id":"c7d06e13-042f-4e12-8093-b9f27dc8e655","savedPayload":{"position":{"x":21513.33270640474,"y":18896.552328947833},"targetPosition":{"x":21848.72221818565,"y":18856.58750278947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"67fb7b91-c601-48dd-9d79-5188dc43a921","savedPayload":{"position":{"x":21848.72221818565,"y":18856.58750278947},"targetPosition":{"x":22518.30995906993,"y":18776.673361403184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Position End Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.endRate","id":"4f114564-7657-4037-9f5e-43e2fcfb75a5","savedPayload":{"position":{"x":21520.20394823597,"y":18609.019431217563},"targetPosition":{"x":21853.29898570107,"y":18664.931737460527},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a0921f86-e8f0-40d9-99ee-0a316dd6ad67","savedPayload":{"position":{"x":21853.29898570107,"y":18664.931737460527},"targetPosition":{"x":22518.30995906993,"y":18776.673361403184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Type","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitType","id":"48b097fa-bc1f-4cd9-bcf4-284bd77c5055","savedPayload":{"position":{"x":21607.96927751588,"y":18334.542260799815},"targetPosition":{"x":21911.7703647708,"y":18482.062869350728},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"5e243e8e-1909-4a9d-a605-984e530846c3","savedPayload":{"position":{"x":21911.7703647708,"y":18482.062869350728},"targetPosition":{"x":22518.30995906993,"y":18776.673361403184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Periods","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.periods","id":"0cea2f32-e0b8-4011-8389-eb24536ec638","savedPayload":{"position":{"x":21769.54642789044,"y":18095.895049103146},"targetPosition":{"x":22019.41785688682,"y":18323.05848671926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b98c147d-3f4d-41d6-b821-df00d7eeab29","savedPayload":{"position":{"x":22019.41785688682,"y":18323.05848671926},"targetPosition":{"x":22518.30995906993,"y":18776.673361403184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Days","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.days","id":"95d9e4b7-2951-4dac-b0e6-c9cdb77cd0b9","savedPayload":{"position":{"x":21991.931839685687,"y":17912.419832799187},"targetPosition":{"x":22167.57352517165,"y":18200.787342054926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"298d34c8-3b72-4c1f-92bd-b3e2c2f3e73e","savedPayload":{"position":{"x":22167.57352517165,"y":18200.787342054926},"targetPosition":{"x":22518.30995906993,"y":18776.673361403184},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3d274e02-8896-4311-a0c8-9041b6507090","savedPayload":{"position":{"x":22519.188946043723,"y":18776.43310607086},"targetPosition":{"x":23817.540497140402,"y":18428.741200132783},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"a"}}},{"type":"Plotter Panel","name":"Position Combined Statistics","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Profit Loss","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.profitLoss","id":"96dd9046-7942-489e-8960-2de57321551b","savedPayload":{"position":{"x":22150.055933445416,"y":17890.354140128005},"targetPosition":{"x":22312.22444730111,"y":17846.98488704057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e226898a-74c0-4e4e-95e2-b2435c464dd5","savedPayload":{"position":{"x":22312.22444730111,"y":17846.98488704057},"targetPosition":{"x":22652.046730228925,"y":17755.961796933258},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"ROI","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ROI","id":"b7079949-8602-4b96-97f3-bc704e9e77e7","savedPayload":{"position":{"x":22202.787362095612,"y":17496.701428846714},"targetPosition":{"x":22347.584006809368,"y":17580.238409750928},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"06a9c88b-3edb-4a5e-a239-c2cad3cbad17","savedPayload":{"position":{"x":22347.584006809368,"y":17580.238409750928},"targetPosition":{"x":22652.046730228925,"y":17755.961796933258},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Hit Fail","config":"{\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.hitFail","id":"7dc1c993-470e-4c7b-b879-9a91361859a4","savedPayload":{"position":{"x":22518.123198770732,"y":17255.275425794378},"targetPosition":{"x":22561.13547524989,"y":17416.12875339966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2102dc89-6799-4287-8c4d-d3591c9fd17e","savedPayload":{"position":{"x":22561.13547524989,"y":17416.12875339966},"targetPosition":{"x":22652.046730228925,"y":17755.961796933258},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"05d6bb3e-f975-471f-be1f-3215025ce6fe","savedPayload":{"position":{"x":22653.533969692653,"y":17756.723185501727},"targetPosition":{"x":23817.540497140402,"y":18428.741200132783},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"a"}}}],"id":"8854b5f8-8407-4a0d-9099-5456a8e4cced","savedPayload":{"position":{"x":24236.235162129688,"y":18545.632811267675},"targetPosition":{"x":24659.537709461314,"y":18432.153314953848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Position Base Asset","config":"{ \n \"codeName\": \"Position-Objects\", \n \"icon\": \"trend\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Left Entry Target Rate","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.entryTargetRate","id":"2d03dfa3-bce6-478b-8f65-a50344ae4601","savedPayload":{"position":{"x":22880.530636654625,"y":18867.151342954727},"targetPosition":{"x":22852.192837555023,"y":18687.462475535656},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"1c279ac2-347d-453f-9b5e-436216cebd7d","savedPayload":{"position":{"x":22852.192837555023,"y":18687.462475535656},"targetPosition":{"x":22795.398838789093,"y":18328.381488041126},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Right Entry Target Rate","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.entryTargetRate","id":"174cdc36-dc92-4e69-aecb-3418b9863d4e","savedPayload":{"position":{"x":22474.754048779567,"y":18769.690715771274},"targetPosition":{"x":22581.697717643983,"y":18622.50313669316},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"609e9ed3-5503-4a3e-949b-d2ab2cf10f10","savedPayload":{"position":{"x":22581.697717643983,"y":18622.50313669316},"targetPosition":{"x":22795.398838789093,"y":18328.381488041126},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Right Exit Target Rate","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.exitTargetRate","id":"ce2f05dc-daa2-472f-89e4-66d37b7eb0ae","savedPayload":{"position":{"x":22256.52445352935,"y":18413.482704019967},"targetPosition":{"x":22436.256006960764,"y":18385.124441541997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"93ba04d2-21ec-41a2-9a2e-eb47a8d39149","savedPayload":{"position":{"x":22436.256006960764,"y":18385.124441541997},"targetPosition":{"x":22795.398838789093,"y":18328.381488041126},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0ac578ec-3648-4413-82ea-944a6fc7db1d","savedPayload":{"position":{"x":22795.398838789093,"y":18328.381488041126},"targetPosition":{"x":23222.2917257119,"y":17740.821356681612},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Profit Triangle","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.ROIInBaseAsset > 0","id":"35ca8e2f-58a1-49dc-ab7a-a40eb53483a5","savedPayload":{"position":{"x":22430.825929933082,"y":18680.163090731057},"targetPosition":{"x":22530.88685618943,"y":17965.287717310253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}","id":"3dba4bdb-c7ff-44ff-897b-a7b98a253585","savedPayload":{"position":{"x":21731.105943474133,"y":19176.637759317317},"targetPosition":{"x":22130.875094285147,"y":18571.019047014113},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"b672a718-2e17-4659-aff7-63a98fab5c1f","savedPayload":{"position":{"x":22130.875094285147,"y":18571.019047014113},"targetPosition":{"x":22530.88685618943,"y":17965.287717310253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}","id":"33837834-ffbd-46c0-8d62-2d6122bcff17","savedPayload":{"position":{"x":21284.78438383012,"y":18709.43125245946},"targetPosition":{"x":21907.74271164393,"y":18337.349520189247},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"2bdd5fe6-32ba-4120-a4f7-bd4e4099a206","savedPayload":{"position":{"x":21907.74271164393,"y":18337.349520189247},"targetPosition":{"x":22530.88685618943,"y":17965.287717310253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Left Entry Target Rate","id":"8b93b7e7-30ed-46a5-ba59-95cb38ba87fa","savedPayload":{"position":{"x":21808.001942840434,"y":18030.099264627803},"targetPosition":{"x":22530.88685618943,"y":17965.287717310253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Left Entry Target Rate","id":"1c279ac2-347d-453f-9b5e-436216cebd7d"}}},{"type":"Polygon Vertex","name":"Right Entry Target Rate","id":"bcc031f8-556b-4d6f-b438-4f9b14804d0f","savedPayload":{"position":{"x":21851.351691052478,"y":17710.35663716765},"targetPosition":{"x":22530.88685618943,"y":17965.287717310253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Entry Target Rate","id":"609e9ed3-5503-4a3e-949b-d2ab2cf10f10"}}},{"type":"Polygon Vertex","name":"Right Exit Target Rate","id":"fa6bc1ba-8d7c-4c08-8dfc-5cca7451113f","savedPayload":{"position":{"x":22029.364476084633,"y":17440.735378068704},"targetPosition":{"x":22530.88685618943,"y":17965.287717310253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Exit Target Rate","id":"93ba04d2-21ec-41a2-9a2e-eb47a8d39149"}}}],"id":"2628b290-a09a-4807-8a45-7ff5a880d195","savedPayload":{"position":{"x":22530.661178857976,"y":17965.35721860801},"targetPosition":{"x":23222.2917257119,"y":17740.821356681612},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Loss Triangle","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.ROIInBaseAsset < 0","id":"9aba703c-bd76-446b-9017-0fc1e03d5ae2","savedPayload":{"position":{"x":22029.20045372594,"y":18040.972980447877},"targetPosition":{"x":22530.794142525996,"y":17516.13028195662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}","id":"a7260cb4-6c92-42da-9a63-bc05e0cc0451","savedPayload":{"position":{"x":21171.407470708364,"y":18026.051181132298},"targetPosition":{"x":21851.026547994963,"y":17771.03712562104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"ec365a09-3739-47f0-8068-1c88d4d815c3","savedPayload":{"position":{"x":21851.026547994963,"y":17771.03712562104},"targetPosition":{"x":22530.794142525996,"y":17516.13028195662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}","id":"6c71aefb-c41b-4fe1-b0cc-25827fd91a9e","savedPayload":{"position":{"x":21084.701614979993,"y":17386.22910736162},"targetPosition":{"x":21807.706985097913,"y":17451.151683588323},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"a2f74418-ca41-437e-b377-414a234acf1b","savedPayload":{"position":{"x":21807.706985097913,"y":17451.151683588323},"targetPosition":{"x":22530.794142525996,"y":17516.13028195662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Left Entry Target Rate","id":"1b7b3265-d7ca-43fb-9dc7-4703eb918db5","savedPayload":{"position":{"x":21907.543590600046,"y":17143.84548066967},"targetPosition":{"x":22530.794142525996,"y":17516.13028195662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Left Entry Target Rate","id":"1c279ac2-347d-453f-9b5e-436216cebd7d"}}},{"type":"Polygon Vertex","name":"Right Entry Target Rate","id":"36b61d3e-013b-483f-a3ec-d88d6c4693aa","savedPayload":{"position":{"x":22130.794814657387,"y":16910.313396429872},"targetPosition":{"x":22530.794142525996,"y":17516.13028195662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Entry Target Rate","id":"609e9ed3-5503-4a3e-949b-d2ab2cf10f10"}}},{"type":"Polygon Vertex","name":"Right Exit Target Rate","id":"10f40dfc-bf39-41dc-b2ca-3e93c13aa1a5","savedPayload":{"position":{"x":22433.2834116487,"y":16796.793417903085},"targetPosition":{"x":22530.794142525996,"y":17516.13028195662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Exit Target Rate","id":"93ba04d2-21ec-41a2-9a2e-eb47a8d39149"}}}],"id":"e37cfbb4-fe54-49ad-9525-29b0d77e082b","savedPayload":{"position":{"x":22530.660478174075,"y":17516.172601893464},"targetPosition":{"x":23222.2917257119,"y":17740.821356681612},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Empty Triangle","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.ROIInBaseAsset === 0","id":"19cb9968-c1eb-451c-913b-807689e76acc","savedPayload":{"position":{"x":22073.049338032837,"y":17228.41512599113},"targetPosition":{"x":22794.96459776694,"y":17152.676819189437},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}","id":"c4823f51-eef8-488c-8b2f-a3eccff5a2ae","savedPayload":{"position":{"x":21468.795424749023,"y":16562.415933664364},"targetPosition":{"x":22131.827744592418,"y":16857.53524865068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"c2a0e17f-1ee8-4132-84d3-59a06a3b122d","savedPayload":{"position":{"x":22131.827744592418,"y":16857.53524865068},"targetPosition":{"x":22794.96459776694,"y":17152.676819189437},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Left Entry Target Rate","id":"b7295cca-db57-485e-94e4-e8770da6bb6b","savedPayload":{"position":{"x":22368.254224586814,"y":16565.503997090218},"targetPosition":{"x":22794.96459776694,"y":17152.676819189437},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Left Entry Target Rate","id":"1c279ac2-347d-453f-9b5e-436216cebd7d"}}},{"type":"Polygon Vertex","name":"Right Entry Target Rate","id":"f60220b1-c42c-4160-807d-eb7563c58e50","savedPayload":{"position":{"x":22733.41369816442,"y":16455.92498429848},"targetPosition":{"x":22794.96459776694,"y":17152.676819189437},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Entry Target Rate","id":"609e9ed3-5503-4a3e-949b-d2ab2cf10f10"}}},{"type":"Polygon Vertex","name":"Right Exit Target Rate","id":"8ec2c8d2-ed4a-4927-9208-4acde0721ac9","savedPayload":{"position":{"x":23090.41551792769,"y":16490.225387381783},"targetPosition":{"x":22794.96459776694,"y":17152.676819189437},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Exit Target Rate","id":"93ba04d2-21ec-41a2-9a2e-eb47a8d39149"}}}],"id":"23c30ca5-95ec-47b2-a65f-01969b1a5a78","savedPayload":{"position":{"x":22794.919927290925,"y":17152.65998213844},"targetPosition":{"x":23222.2917257119,"y":17740.821356681612},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"a1635ebb-9528-4f34-8729-4812e12a850f","savedPayload":{"position":{"x":23222.2917257119,"y":17740.821356681612},"targetPosition":{"x":23948.793740844274,"y":17740.814933455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Position Base Asset","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Entry Target Size","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.entryTargetSizeInBaseAsset","id":"31a77b72-a21e-4f05-acc9-2235fe404434","savedPayload":{"position":{"x":22695.95768926223,"y":16389.4698877303},"targetPosition":{"x":22932.31365261524,"y":16525.712505101837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c9bd8ca1-e2be-4ae1-b026-d80853994004","savedPayload":{"position":{"x":22932.31365261524,"y":16525.712505101837},"targetPosition":{"x":23404.56577489659,"y":16798.022340537136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Target Size","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitTargetSizeInBaseAsset","id":"1ab726ad-0192-49ad-94c2-f931a565257f","savedPayload":{"position":{"x":22826.05381145263,"y":16219.634607120592},"targetPosition":{"x":23019.06162202807,"y":16412.613291726448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"917b6343-ae61-4086-b3d2-c03831ae6833","savedPayload":{"position":{"x":23019.06162202807,"y":16412.613291726448},"targetPosition":{"x":23404.56577489659,"y":16798.022340537136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Profit Loss","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.profitLossInBaseAsset","id":"d1dc5d27-95f5-480d-bd36-4c1291ae2b24","savedPayload":{"position":{"x":22995.624459289265,"y":16089.479865975107},"targetPosition":{"x":23132.05537852364,"y":16325.886608817671},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"232bfbcc-1e50-40b0-84cf-d4bcebadfe2f","savedPayload":{"position":{"x":23132.05537852364,"y":16325.886608817671},"targetPosition":{"x":23404.56577489659,"y":16798.022340537136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"ROI","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ROIInBaseAsset + ' %'","id":"6e6fe2c8-e8ca-4b85-b19c-25aad68a9485","savedPayload":{"position":{"x":23193.1255982273,"y":16007.720411045368},"targetPosition":{"x":23263.650154074476,"y":16271.40102955244},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"dd5a890c-5c35-4b61-a80f-7e6d5fa1315f","savedPayload":{"position":{"x":23263.650154074476,"y":16271.40102955244},"targetPosition":{"x":23404.56577489659,"y":16798.022340537136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Hit Fail","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.hitFailInBaseAsset","id":"67b4e235-40db-4a56-8f55-64922adcbc02","savedPayload":{"position":{"x":23404.804918753787,"y":15979.914592208266},"targetPosition":{"x":23404.767885126137,"y":16252.842528807254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"24a6f905-7d60-4543-a3ff-98d142797358","savedPayload":{"position":{"x":23404.767885126137,"y":16252.842528807254},"targetPosition":{"x":23404.56577489659,"y":16798.022340537136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b4298480-8922-4c40-ac79-b4484f8558bd","savedPayload":{"position":{"x":23404.56577489659,"y":16798.022340537136},"targetPosition":{"x":23948.793740844274,"y":17740.814933455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"42a79594-bac8-40bf-a9eb-f13716e15465","savedPayload":{"position":{"x":24236.295421016286,"y":18318.840993716156},"targetPosition":{"x":24659.537709461314,"y":18432.153314953848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Position Quoted Asset","config":"{ \n \"codeName\": \"Position-Objects\", \n \"icon\": \"trend\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Left Entry Target Rate","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.entryTargetRate","id":"800c7bf9-3d8d-46ae-88ac-c168b80cbc78","savedPayload":{"position":{"x":22727.55022173442,"y":17916.865328144588},"targetPosition":{"x":22792.468043551988,"y":17747.605482044662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"17cf1421-4fc5-4cff-83d5-394cfcb4a88e","savedPayload":{"position":{"x":22792.468043551988,"y":17747.605482044662},"targetPosition":{"x":22923.23682672454,"y":17406.66050791253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Right Entry Target Rate","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.entryTargetRate","id":"4dbc8252-a487-41d9-9f3a-b054398acc8b","savedPayload":{"position":{"x":22422.97868950561,"y":17635.720404749205},"targetPosition":{"x":22590.224167122255,"y":17554.926472815092},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a00d0039-31a4-4033-8ad5-b0e0d9d13e4e","savedPayload":{"position":{"x":22590.224167122255,"y":17554.926472815092},"targetPosition":{"x":22923.23682672454,"y":17406.66050791253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Right Exit Target Rate","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.exitTargetRate","id":"8aab882e-d77b-4fcb-8eb0-1d4f6381c86d","savedPayload":{"position":{"x":22413.02418102183,"y":17210.924826421728},"targetPosition":{"x":22581.92239389269,"y":17275.708967892595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2af047d2-b4f1-4395-8d35-67c70c582c0e","savedPayload":{"position":{"x":22581.92239389269,"y":17275.708967892595},"targetPosition":{"x":22923.23682672454,"y":17406.66050791253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2d8c4071-9ea0-45cf-9b0d-e73fd57a9928","savedPayload":{"position":{"x":22922.609821181333,"y":17406.575773433276},"targetPosition":{"x":23586.159633584066,"y":17111.240981618233},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Profit Triangle","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.ROIInQuotedAsset > 0","id":"264f839b-e67b-4629-8465-cb404eb93754","savedPayload":{"position":{"x":22431.326746735624,"y":17534.521621008265},"targetPosition":{"x":22875.114835620177,"y":16960.31595339953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}","id":"07f5de9d-d271-4377-95d5-7ca4b1ffee19","savedPayload":{"position":{"x":21576.93679926165,"y":17609.241165512532},"targetPosition":{"x":22225.954057659943,"y":17284.75750175246},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"90188cf7-8395-4899-addc-0499321cff14","savedPayload":{"position":{"x":22225.954057659943,"y":17284.75750175246},"targetPosition":{"x":22875.114835620177,"y":16960.31595339953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}","id":"916fb502-a39c-4203-83fc-32d41c4c5755","savedPayload":{"position":{"x":21423.842940176495,"y":16981.622110798973},"targetPosition":{"x":22149.438295651096,"y":16970.96403191608},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"88d51449-8118-4d83-b768-112f9e212cc7","savedPayload":{"position":{"x":22149.438295651096,"y":16970.96403191608},"targetPosition":{"x":22875.114835620177,"y":16960.31595339953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Left Entry Target Rate","id":"b4c2062a-382b-43bc-a281-9df152bc8a49","savedPayload":{"position":{"x":22216.605966523988,"y":16655.288129632347},"targetPosition":{"x":22875.114835620177,"y":16960.31595339953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Left Entry Target Rate","id":"17cf1421-4fc5-4cff-83d5-394cfcb4a88e"}}},{"type":"Polygon Vertex","name":"Right Entry Target Rate","id":"4d43870a-1769-43e3-a927-641900ff72c0","savedPayload":{"position":{"x":22414.179951441143,"y":16399.787129165146},"targetPosition":{"x":22875.114835620177,"y":16960.31595339953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Entry Target Rate","id":"a00d0039-31a4-4033-8ad5-b0e0d9d13e4e"}}},{"type":"Polygon Vertex","name":"Right Exit Target Rate","id":"6347f1dc-7ab3-4570-877b-df9e04058758","savedPayload":{"position":{"x":22703.02940242601,"y":16255.34791241491},"targetPosition":{"x":22875.114835620177,"y":16960.31595339953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Exit Target Rate","id":"2af047d2-b4f1-4395-8d35-67c70c582c0e"}}}],"id":"9cf82ef4-557e-498e-b121-ff28235b3a25","savedPayload":{"position":{"x":22874.904294430107,"y":16960.14384207509},"targetPosition":{"x":23586.159633584066,"y":17111.240981618233},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Loss Triangle","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.ROIInQuotedAsset < 0","id":"ba9c6218-12de-4eeb-80ad-a5c949ea925d","savedPayload":{"position":{"x":22403.049330060323,"y":16774.97541065155},"targetPosition":{"x":23099.72333063888,"y":16571.206982114538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBody":{"type":"Polygon Body","name":"New Polygon Body","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}","id":"dd6fee79-df88-4f2c-8526-f364a1343f83","savedPayload":{"position":{"x":21667.752330509007,"y":16333.499038389782},"targetPosition":{"x":22383.683122853537,"y":16452.2483728414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"196adfa2-00ad-48a4-8eb3-c82256e91031","savedPayload":{"position":{"x":22383.683122853537,"y":16452.2483728414},"targetPosition":{"x":23099.72333063888,"y":16571.206982114538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}","id":"a04ad71d-d9f8-4122-913e-19892b51689b","savedPayload":{"position":{"x":21912.75471544863,"y":15735.807516784016},"targetPosition":{"x":22506.188603762326,"y":16153.480741624891},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"1fe378dc-3deb-4825-9401-83f963060acd","savedPayload":{"position":{"x":22506.188603762326,"y":16153.480741624891},"targetPosition":{"x":23099.72333063888,"y":16571.206982114538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Left Entry Target Rate","id":"78ee45ea-40df-4cb4-9e16-0b07d9e298fd","savedPayload":{"position":{"x":22746.185699967307,"y":15937.199960418315},"targetPosition":{"x":23099.72333063888,"y":16571.206982114538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Left Entry Target Rate","id":"17cf1421-4fc5-4cff-83d5-394cfcb4a88e"}}},{"type":"Polygon Vertex","name":"Right Entry Target Rate","id":"b719aa97-15aa-4d6c-a08e-451314cb604a","savedPayload":{"position":{"x":23042.43086060968,"y":15868.853725771041},"targetPosition":{"x":23099.72333063888,"y":16571.206982114538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Entry Target Rate","id":"a00d0039-31a4-4033-8ad5-b0e0d9d13e4e"}}},{"type":"Polygon Vertex","name":"Right Exit Target Rate","id":"508f7dd3-087d-4952-9140-29936aac5aa4","savedPayload":{"position":{"x":23374.842004495316,"y":15899.63043492085},"targetPosition":{"x":23099.72333063888,"y":16571.206982114538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Exit Target Rate","id":"2af047d2-b4f1-4395-8d35-67c70c582c0e"}}}],"id":"61faa796-9697-48b0-a582-613e1b351931","savedPayload":{"position":{"x":23099.62916347392,"y":16570.89649537591},"targetPosition":{"x":23586.159633584066,"y":17111.240981618233},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Empty Triangle","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.ROIInQuotedAsset === 0","id":"9b162bfd-0d6a-4ca2-ae2a-36b9b25d8180","savedPayload":{"position":{"x":22846.839624946886,"y":16092.870322126799},"targetPosition":{"x":23510.294162962302,"y":16388.191400652075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}","id":"93ec6c1e-fe4c-4857-b9e7-6914e626423a","savedPayload":{"position":{"x":22656.68667572161,"y":15213.189039494302},"targetPosition":{"x":23083.47253754621,"y":15800.661709435191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"29555fd1-c64d-4237-88f3-32fee8ae4c2c","savedPayload":{"position":{"x":23083.47253754621,"y":15800.661709435191},"targetPosition":{"x":23510.294162962302,"y":16388.191400652075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Left Entry Target Rate","id":"c4b528b7-667e-4aa1-b397-0f5bb15abd95","savedPayload":{"position":{"x":23434.501887887658,"y":15665.922402318753},"targetPosition":{"x":23510.294162962302,"y":16388.191400652075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Left Entry Target Rate","id":"17cf1421-4fc5-4cff-83d5-394cfcb4a88e"}}},{"type":"Polygon Vertex","name":"Right Entry Target Rate","id":"48fe8782-73d1-46d8-aa7d-55a843996fb3","savedPayload":{"position":{"x":23805.581442944764,"y":15724.737064206025},"targetPosition":{"x":23510.294162962302,"y":16388.191400652075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Entry Target Rate","id":"a00d0039-31a4-4033-8ad5-b0e0d9d13e4e"}}},{"type":"Polygon Vertex","name":"Right Exit Target Rate","id":"339258b7-534f-41b7-b0ea-9f958bb982ab","savedPayload":{"position":{"x":24097.761302414718,"y":15961.330167876793},"targetPosition":{"x":23510.294162962302,"y":16388.191400652075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Right Exit Target Rate","id":"2af047d2-b4f1-4395-8d35-67c70c582c0e"}}}],"id":"58c807a3-8443-43d9-82e9-81c3d0545399","savedPayload":{"position":{"x":23510.26506640266,"y":16388.118709730148},"targetPosition":{"x":23586.159633584066,"y":17111.240981618233},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"d2ad64d7-e463-4f5f-9f3d-05c98a5e8101","savedPayload":{"position":{"x":23586.159633584066,"y":17111.240981618233},"targetPosition":{"x":24215.162729329884,"y":17474.417065006484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Position Quoted Asset","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Entry Target Size","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.entryTargetSizeInQuotedAsset","id":"8a47d5d4-b86c-40cb-a4f1-a64244e80bfd","savedPayload":{"position":{"x":23134.279945074013,"y":16331.811729865756},"targetPosition":{"x":23346.40007584792,"y":16503.428535604737},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"38cae0a2-4954-4cbc-a178-3e665885c393","savedPayload":{"position":{"x":23346.40007584792,"y":16503.428535604737},"targetPosition":{"x":23770.025815015237,"y":16846.026067067956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Target Size","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitTargetSizeInQuotedAsset","id":"4ece6618-31a7-4e14-86b6-d1aecf9d0494","savedPayload":{"position":{"x":23289.340421220513,"y":16184.513951705338},"targetPosition":{"x":23449.73696321259,"y":16405.294108214628},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"821330e4-19c2-4267-a189-a2d28087850a","savedPayload":{"position":{"x":23449.73696321259,"y":16405.294108214628},"targetPosition":{"x":23770.025815015237,"y":16846.026067067956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Profit Loss","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.profitLossInQuotedAsset","id":"ec9c4116-3155-41cf-8e01-fbe6c8428c28","savedPayload":{"position":{"x":23476.981292623288,"y":16082.242191554365},"targetPosition":{"x":23574.73286416732,"y":16337.087081826992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"83330178-d79b-4709-bdee-5c3875214e06","savedPayload":{"position":{"x":23574.73286416732,"y":16337.087081826992},"targetPosition":{"x":23770.025815015237,"y":16846.026067067956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"ROI","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.ROIInQuotedAsset + ' %'","id":"7ad9a57d-8322-4677-8a2a-d108ea01fdca","savedPayload":{"position":{"x":23684.837031885367,"y":16032.37391341055},"targetPosition":{"x":23713.230218993776,"y":16303.847880362986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b5e39cc4-9b95-4e92-9814-41c34c2ea4a8","savedPayload":{"position":{"x":23713.230218993776,"y":16303.847880362986},"targetPosition":{"x":23770.025815015237,"y":16846.026067067956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Hit Fail","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.hitFailInQuotedAsset","id":"56c8470e-20fb-40c1-8224-37240bcad860","savedPayload":{"position":{"x":23898.25183552947,"y":16038.083040171574},"targetPosition":{"x":23855.51050834197,"y":16307.621885919534},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"09ec6e2f-ad57-4127-94af-0046a7b0d400","savedPayload":{"position":{"x":23855.51050834197,"y":16307.621885919534},"targetPosition":{"x":23770.025815015237,"y":16846.026067067956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f15d0a31-30bd-49a6-8c45-1bcd1a9cc5a8","savedPayload":{"position":{"x":24215.166430516183,"y":16386.089493753578},"targetPosition":{"x":24215.162729329884,"y":17474.417065006484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"baed45c2-228e-4679-876e-1867bbef5e9f","savedPayload":{"position":{"x":24349.758169894187,"y":18122.396608652674},"targetPosition":{"x":24659.537709461314,"y":18432.153314953848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Stop Loss","config":"{ \n \"codeName\": \"Module-Name\", \n \"icon\": \"histogram|band|moving-average|oscillator|trend\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.stopLoss","id":"eeef1100-0dcc-4367-99f1-b23a5e98b2ff","savedPayload":{"position":{"x":23032.29028356427,"y":17545.575198613275},"targetPosition":{"x":23092.905031431408,"y":17387.870799061413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7d0349ba-640b-43f2-b500-d62c06fecd81","savedPayload":{"position":{"x":23092.905031431408,"y":17387.870799061413},"targetPosition":{"x":23153.432938569997,"y":17230.327209016676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.stopLoss","id":"79f690f8-360a-49a8-9df0-bc42d1975099","savedPayload":{"position":{"x":22940.559875211013,"y":16968.307575445502},"targetPosition":{"x":23047.090506687975,"y":17099.425728322116},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a4c015cf-419c-44f6-9816-6828e5fbc3c3","savedPayload":{"position":{"x":23047.090506687975,"y":17099.425728322116},"targetPosition":{"x":23153.432938569997,"y":17230.327209016676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fdf923e9-1d23-41c0-9210-38d35313c4ab","savedPayload":{"position":{"x":23153.432938569997,"y":17230.327209016676},"targetPosition":{"x":23819.0088616997,"y":17124.941411447737},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"New Polygon","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.stopLoss > 0","id":"b8677c90-5e19-402b-b494-d2cce015c167","savedPayload":{"position":{"x":22616.819784215324,"y":17124.38759065187},"targetPosition":{"x":23217.550570946758,"y":16818.512109221505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.5,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.8,\n \"lineWidth\": 3,\n \"lineDash\": [0,0]\n }\n}","id":"1eee2eba-1af0-4cc0-ad50-22ac23a10dac","savedPayload":{"position":{"x":21886.07143579107,"y":16607.763725832945},"targetPosition":{"x":22551.74182206313,"y":16713.111607143033},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"83ae727f-2dc3-4153-9b7f-2bee0748e134","savedPayload":{"position":{"x":22551.74182206313,"y":16713.111607143033},"targetPosition":{"x":23217.550570946758,"y":16818.512109221505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"ac7ed016-4516-4ebc-a902-95e97ace1f55","savedPayload":{"position":{"x":22740.902873834362,"y":16341.858585645617},"targetPosition":{"x":23217.550570946758,"y":16818.512109221505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"7d0349ba-640b-43f2-b500-d62c06fecd81"}}},{"type":"Polygon Vertex","name":"End","id":"6f873316-c57a-48b4-80c7-362f823d37b4","savedPayload":{"position":{"x":23112.03375942053,"y":16152.604180266402},"targetPosition":{"x":23217.550570946758,"y":16818.512109221505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"a4c015cf-419c-44f6-9816-6828e5fbc3c3"}}}],"id":"9d351f29-6a3e-4c2b-b008-ebe1414d2aa8","savedPayload":{"position":{"x":23217.550570946758,"y":16818.512109221505},"targetPosition":{"x":23819.0088616997,"y":17124.941411447737},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"phase\", \n\"size\": 20\n}","imageCondition":{"type":"Image Condition","name":"New Image Condition","code":"(record.positions !== record.previous.positions && record.stopLossPhase >= 0 ) || \n(record.stopLossPhase !== record.previous.stopLossPhase && record.stopLossPhase >= 0 ) ","id":"ef8dedb9-454b-423b-94e7-1a522047aa12","savedPayload":{"position":{"x":23229.44901415684,"y":16339.540137028112},"targetPosition":{"x":23512.55681810117,"y":16523.444315116616},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"imagePosition":{"type":"Image Position","name":"Begin","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 10\n }","id":"860a9f6e-cc9d-46fb-83d6-fb908e12a30f","savedPayload":{"position":{"x":23529.75845300651,"y":16186.137033032743},"targetPosition":{"x":23512.55681810117,"y":16523.444315116616},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin","id":"7d0349ba-640b-43f2-b500-d62c06fecd81"}}},"id":"d4a99750-dd06-453f-a126-ac48c25372ab","savedPayload":{"position":{"x":23512.55681810117,"y":16523.444315116616},"targetPosition":{"x":23819.0088616997,"y":17124.941411447737},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[{"type":"Text","name":"New Text","config":"{ \n\"codeName\": \"\", \n\"fontSize\": 10\n}","textCondition":{"type":"Text Condition","name":"New Text Condition","code":"(record.positions !== record.previous.positions && record.stopLossPhase >= 0 ) || \n(record.stopLossPhase !== record.previous.stopLossPhase && record.stopLossPhase >= 0 ) ","id":"8e0eb7c3-171a-4fc3-a3e4-3c67bb772343","savedPayload":{"position":{"x":23684.42331738291,"y":16219.752456859429},"targetPosition":{"x":23923.034777782475,"y":16458.600400712174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"textPosition":{"type":"Text Position","name":"Begin","config":"{ \n\"offsetX\": -3,\n \"offsetY\": -15\n }","id":"817671c1-fd3f-43ff-9670-9c3bcb94b8fb","savedPayload":{"position":{"x":23870.389861066957,"y":16124.818302019852},"targetPosition":{"x":23923.034777782475,"y":16458.600400712174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin","id":"7d0349ba-640b-43f2-b500-d62c06fecd81"}}},"textFormula":{"type":"Text Formula","name":"New Text Formula","code":"record.stopLossPhase","id":"ccafd036-b292-48b1-847e-6735a3eb8253","savedPayload":{"position":{"x":24076.25197358491,"y":16157.446963282873},"targetPosition":{"x":23923.034777782475,"y":16458.600400712174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}","id":"42f9061a-9d2a-4d3f-9f7a-c47c9e6e0601","savedPayload":{"position":{"x":24223.845845224343,"y":16305.10881191629},"targetPosition":{"x":23923.034777782475,"y":16458.600400712174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"7e69ccc1-a9f7-4a64-aeaa-344eb46f63f7","savedPayload":{"position":{"x":23923.034777782475,"y":16458.600400712174},"targetPosition":{"x":23819.0088616997,"y":17124.941411447737},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"41dd1d86-998c-46d7-a37e-1a1508fd8b51","savedPayload":{"position":{"x":23819.0088616997,"y":17124.941411447737},"targetPosition":{"x":24295.54329549031,"y":17601.450689231664},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Stop Loss Panel","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Serial Number","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.serialNumber","id":"fdaab5ea-7f88-4b52-9b80-725f069907d9","savedPayload":{"position":{"x":24048.499238171025,"y":16425.15947944018},"targetPosition":{"x":24257.704302807026,"y":16688.304469283466},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"96d6bda9-5520-4690-8230-26ade54edcf1","savedPayload":{"position":{"x":24257.704302807026,"y":16688.304469283466},"targetPosition":{"x":24469.952646164937,"y":16950.549992274424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Stop Loss","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.stopLoss","id":"1a5679d8-426b-4789-ac5b-c8d9c3a18fd8","savedPayload":{"position":{"x":24435.395026251175,"y":16275.985536249174},"targetPosition":{"x":24452.58550584732,"y":16613.314929969856},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f590d585-66dd-47b9-99e8-38d081a1d1a0","savedPayload":{"position":{"x":24452.58550584732,"y":16613.314929969856},"targetPosition":{"x":24469.952646164937,"y":16950.549992274424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Stop Loss Phase","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.stopLossPhase","id":"9067e496-6c73-4ada-b403-6a097667f8a2","savedPayload":{"position":{"x":24745.993356903175,"y":16525.58650255822},"targetPosition":{"x":24653.862318167776,"y":16667.424656577226},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e78ebe16-bfdc-4814-b334-5aad14fbf307","savedPayload":{"position":{"x":24653.862318167776,"y":16667.424656577226},"targetPosition":{"x":24469.952646164937,"y":16950.549992274424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Stop Loss Stage","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.stopLossStage","id":"1eb68ffb-5a03-4b8f-a53f-0f120d52fa20","savedPayload":{"position":{"x":24943.115377465158,"y":16769.272697665987},"targetPosition":{"x":24785.21117576728,"y":16829.76542675504},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d84a629b-9ff1-4f24-aa41-55c18746cc10","savedPayload":{"position":{"x":24785.21117576728,"y":16829.76542675504},"targetPosition":{"x":24469.952646164937,"y":16950.549992274424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1b6d3bd0-e594-4b09-9f1c-021177676d84","savedPayload":{"position":{"x":24469.952646164937,"y":16950.549992274424},"targetPosition":{"x":24295.54329549031,"y":17601.450689231664},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9b8e4fc2-b62a-4d47-ac5f-08818e463da2","savedPayload":{"position":{"x":24546.182963509505,"y":18008.92994719919},"targetPosition":{"x":24659.537709461314,"y":18432.153314953848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Take Profit","config":"{ \n \"codeName\": \"Module-Name\", \n \"icon\": \"histogram|band|moving-average|oscillator|trend\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.takeProfit","id":"4e73522f-8830-4026-8aa9-aa20558e6bb0","savedPayload":{"position":{"x":23579.02231212041,"y":16921.10159582004},"targetPosition":{"x":23710.409724942954,"y":16815.007615228504},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9baaa58e-af64-4348-9320-fad9823153a9","savedPayload":{"position":{"x":23710.409724942954,"y":16815.007615228504},"targetPosition":{"x":23841.632758614305,"y":16709.016054607375},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.takeProfit","id":"f7740d4c-0742-4f8b-8ad3-b7fec1e92066","savedPayload":{"position":{"x":23788.645560751556,"y":16375.367193188855},"targetPosition":{"x":23815.171485064493,"y":16542.309485208323},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bcbd8777-10f8-46a6-ba09-4d635570057d","savedPayload":{"position":{"x":23815.171485064493,"y":16542.309485208323},"targetPosition":{"x":23841.632758614305,"y":16709.016054607375},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fc2dda29-1eb7-4f6f-8527-2e54ba32bb8b","savedPayload":{"position":{"x":23841.632758614305,"y":16709.016054607375},"targetPosition":{"x":24470.73186929911,"y":16950.432274690724},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"New Polygon","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.takeProfit > 0","id":"b96a45dc-f0db-4c23-8f66-081302ea7bbf","savedPayload":{"position":{"x":26575.112002446196,"y":16676.11048973976},"targetPosition":{"x":26152.905331465543,"y":16780.975770196957},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.5,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.8,\n \"lineWidth\": 3,\n \"lineDash\": [0,0]\n }\n}","id":"5033856c-d71d-4608-a6f2-347ef82d8591","savedPayload":{"position":{"x":26090.06092851102,"y":15571.019366885823},"targetPosition":{"x":26121.567478095134,"y":16175.902612099606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"1e3604e1-777b-4344-a47a-d3fefa10014b","savedPayload":{"position":{"x":26121.567478095134,"y":16175.902612099606},"targetPosition":{"x":26152.905331465543,"y":16780.975770196957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"74cef8d6-de4c-464d-8c00-97a88227f626","savedPayload":{"position":{"x":26482.857455321606,"y":16272.850166000817},"targetPosition":{"x":26152.905331465543,"y":16780.975770196957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"9baaa58e-af64-4348-9320-fad9823153a9"}}},{"type":"Polygon Vertex","name":"End","id":"e3c98070-e46c-4d6d-9079-2b9d556722cc","savedPayload":{"position":{"x":26718.62787798267,"y":16563.643719677715},"targetPosition":{"x":26152.905331465543,"y":16780.975770196957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"bcbd8777-10f8-46a6-ba09-4d635570057d"}}}],"id":"a0b598d2-cdb6-4ce7-96c5-ef3317ae1768","savedPayload":{"position":{"x":24103.076907617447,"y":16384.2631478919},"targetPosition":{"x":24470.73186929911,"y":16950.432274690724},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"phase\", \n\"size\": 20\n}","imageCondition":{"type":"Image Condition","name":"New Image Condition","code":"(record.positions !== record.previous.positions && record.takeProfitPhase >= 0 ) || \n(record.takeProfitPhase !== record.previous.takeProfitPhase && record.takeProfitPhase >= 0 ) ","id":"a404c20d-5c4d-4505-81f0-263987496ba0","savedPayload":{"position":{"x":24352.597211943117,"y":15975.323729778347},"targetPosition":{"x":24505.788355679037,"y":16276.248518047885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"imagePosition":{"type":"Image Position","name":"Begin","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 10\n }","id":"c1ed6b36-4dd8-4ff5-ae66-6c6878b4edc1","savedPayload":{"position":{"x":24689.325897781902,"y":15992.790010703302},"targetPosition":{"x":24505.788355679037,"y":16276.248518047885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin","id":"9baaa58e-af64-4348-9320-fad9823153a9"}}},"id":"0da5f29a-4847-460d-b982-68b8d5cc7fe5","savedPayload":{"position":{"x":24505.788355679037,"y":16276.248518047885},"targetPosition":{"x":24470.73186929911,"y":16950.432274690724},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[{"type":"Text","name":"New Text","config":"{ \n\"codeName\": \"\", \n\"fontSize\": 10\n}","textCondition":{"type":"Text Condition","name":"New Text Condition","code":"(record.positions !== record.previous.positions && record.takeProfitPhase >= 0 ) || \n(record.takeProfitPhase !== record.previous.takeProfitPhase && record.takeProfitPhase >= 0 ) ","id":"81c4f7bc-db04-4c61-a8e8-5a4a6308dda0","savedPayload":{"position":{"x":24806.798461322636,"y":16099.279406702133},"targetPosition":{"x":24893.99466086669,"y":16425.49323349367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"textPosition":{"type":"Text Position","name":"Begin","config":"{ \n\"offsetX\": -3,\n \"offsetY\": -15\n }","id":"5833e42f-c848-4271-9e20-f48d5a98929a","savedPayload":{"position":{"x":25015.03262999729,"y":16110.028957718008},"targetPosition":{"x":24893.99466086669,"y":16425.49323349367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin","id":"9baaa58e-af64-4348-9320-fad9823153a9"}}},"textFormula":{"type":"Text Formula","name":"New Text Formula","code":"record.takeProfitPhase","id":"00f3fb76-f50d-4879-b1d2-49c51824aef9","savedPayload":{"position":{"x":25177.283590503153,"y":16241.361207134765},"targetPosition":{"x":24893.99466086669,"y":16425.49323349367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}","id":"e4d1b248-ee99-42e0-9c77-18b9792b6631","savedPayload":{"position":{"x":25231.282936035797,"y":16442.71874749041},"targetPosition":{"x":24893.99466086669,"y":16425.49323349367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f26f4f43-95e1-406d-94e8-7c818e363777","savedPayload":{"position":{"x":24893.99466086669,"y":16425.49323349367},"targetPosition":{"x":24470.73186929911,"y":16950.432274690724},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"95465ef6-b26a-4ca3-817c-26b50e9ef8e0","savedPayload":{"position":{"x":24470.73186929911,"y":16950.432274690724},"targetPosition":{"x":24645.097255921595,"y":17601.43336881303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Take Profit Panel","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Serial Number","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.serialNumber","id":"c3aae579-7115-4e4c-bd43-829dea52a70f","savedPayload":{"position":{"x":25019.4112598735,"y":16459.15568047338},"targetPosition":{"x":25069.009861583665,"y":16791.750220131766},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"57d30bfc-893d-4e50-9cda-ee544fdae1e1","savedPayload":{"position":{"x":25069.009861583665,"y":16791.750220131766},"targetPosition":{"x":25121.62680865067,"y":17125.06354208498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Take Profit","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.takeProfit","id":"64f4a076-de71-444a-a543-f62da7701e6f","savedPayload":{"position":{"x":25428.500991221994,"y":16523.433900033768},"targetPosition":{"x":25274.971044383943,"y":16824.24624984227},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"321eb006-13d4-4f66-aeab-f6fd2aa4758b","savedPayload":{"position":{"x":25274.971044383943,"y":16824.24624984227},"targetPosition":{"x":25121.62680865067,"y":17125.06354208498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Take Profit Phase","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.takeProfitPhase","id":"0e3f0594-6a97-4e2e-a261-84be8b4ef02c","savedPayload":{"position":{"x":25573.24991221196,"y":16895.202145233565},"targetPosition":{"x":25422.5030690622,"y":16971.902947632014},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"eccb236b-4d20-4df2-9810-543bfbb3fc25","savedPayload":{"position":{"x":25422.5030690622,"y":16971.902947632014},"targetPosition":{"x":25121.62680865067,"y":17125.06354208498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Take Profit Stage","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.takeProfitStage","id":"4ed86294-eeef-476c-a723-e469189a3f03","savedPayload":{"position":{"x":25622.1122544666,"y":17204.14944233347},"targetPosition":{"x":25455.08278999192,"y":17177.84495632148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2a6d62db-bf02-4319-86bf-27e52fad0423","savedPayload":{"position":{"x":25455.08278999192,"y":17177.84495632148},"targetPosition":{"x":25121.62680865067,"y":17125.06354208498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"33aa2293-7958-4cc3-bb41-fc97c17ccd67","savedPayload":{"position":{"x":25121.62680865067,"y":17125.06354208498},"targetPosition":{"x":24645.097255921595,"y":17601.43336881303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"78a2df79-8912-44d7-a8c7-4b6a0a7235c2","savedPayload":{"position":{"x":24772.683707094475,"y":18008.92920906568},"targetPosition":{"x":24659.537709461314,"y":18432.153314953848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cd6f9452-2cce-424d-8059-e3b312f627c4","savedPayload":{"position":{"x":24623.01935253264,"y":18396.694994263296},"targetPosition":{"x":24941.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Trading Stages","config":"{ \n\"codeName\": \"\"\n}","modules":[{"type":"Plotter Module","name":"Trigger Stage Objects","config":"{ \n \"codeName\": \"Strategy-Objects\", \n \"icon\": \"trend\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin Bottom","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.beginRate * 0.90","id":"11876454-5f52-49ff-b29f-a5ddbd44e55f","savedPayload":{"position":{"x":23959.634761775054,"y":18983.6418680964},"targetPosition":{"x":23964.405529617292,"y":18783.39297649099},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ee6913fa-364d-4b80-bad5-35de44ca43fd","savedPayload":{"position":{"x":23964.405529617292,"y":18783.39297649099},"targetPosition":{"x":23973.684520128718,"y":18383.664611408898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin Top","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.beginRate","id":"f064b6c0-7eaf-4341-997a-8655f56c4ca8","savedPayload":{"position":{"x":23773.94253246708,"y":18949.947089032758},"targetPosition":{"x":23840.43055042814,"y":18761.087884904173},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"38094e81-9ae7-449d-bc9c-125f756b9f04","savedPayload":{"position":{"x":23840.43055042814,"y":18761.087884904173},"targetPosition":{"x":23973.684520128718,"y":18383.664611408898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Bottom","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.beginRate * 0.90","id":"2a99561e-32d8-430f-9f67-44ce7b3dbdb7","savedPayload":{"position":{"x":23608.20663344135,"y":18860.257501555803},"targetPosition":{"x":23729.823366611363,"y":18701.39680428531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"18c413f8-8acc-4172-91a6-d90a0762118c","savedPayload":{"position":{"x":23729.823366611363,"y":18701.39680428531},"targetPosition":{"x":23973.684520128718,"y":18383.664611408898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Top","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.endRate","id":"7ab18100-017d-4aef-b48d-32f69b294062","savedPayload":{"position":{"x":23477.234673007188,"y":18721.05727518828},"targetPosition":{"x":23642.01044652075,"y":18607.867618782395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"185d7e04-fa68-401d-b666-9152e57c3378","savedPayload":{"position":{"x":23642.01044652075,"y":18607.867618782395},"targetPosition":{"x":23973.684520128718,"y":18383.664611408898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a14053c2-6a61-4f8c-be0d-585e226b6bca","savedPayload":{"position":{"x":23973.684520128718,"y":18383.664611408898},"targetPosition":{"x":24164.210377696632,"y":18032.396906137597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Closed Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Closed'","id":"6b0d0c65-790f-4123-85da-5eeaae17e347","savedPayload":{"position":{"x":24030.31893563412,"y":17630.485376124627},"targetPosition":{"x":23811.45539209999,"y":17340.196301060725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n }\n}","id":"37f505da-f3f9-4eb2-b57e-4364f4c7557c","savedPayload":{"position":{"x":23383.789652508112,"y":17867.812847777677},"targetPosition":{"x":23579.694825711726,"y":17626.112833393323},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"debc9932-c238-4867-9bf3-51bbe419e2ff","savedPayload":{"position":{"x":23579.694825711726,"y":17626.112833393323},"targetPosition":{"x":23811.45539209999,"y":17340.196301060725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"172928bb-91a1-471b-8dc0-86069d7c02a0","savedPayload":{"position":{"x":23467.659798144865,"y":17208.384482990754},"targetPosition":{"x":23811.45539209999,"y":17340.196301060725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"ee6913fa-364d-4b80-bad5-35de44ca43fd"}}},{"type":"Polygon Vertex","name":"End Bottom","id":"a1267ac2-8258-49cb-95fd-05af04277e88","savedPayload":{"position":{"x":23847.39246989028,"y":16965.754606139933},"targetPosition":{"x":23811.45539209999,"y":17340.196301060725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"18c413f8-8acc-4172-91a6-d90a0762118c"}}}],"id":"9e88f3a0-09ad-44fd-a84e-731228860e66","savedPayload":{"position":{"x":23853.21084764623,"y":18284.078003063783},"targetPosition":{"x":24164.210377696632,"y":18032.396906137597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Open Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Open'","id":"d567e677-4217-4379-b873-1afc6fd52f11","savedPayload":{"position":{"x":23916.21343606553,"y":17444.060066378373},"targetPosition":{"x":23795.57396245202,"y":17098.694237658383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n }\n}","id":"592cc0ee-978d-4030-8fde-4ec503294f15","savedPayload":{"position":{"x":23198.813045226125,"y":17422.152888421446},"targetPosition":{"x":23471.667922806253,"y":17274.236201487205},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"07121085-90a5-4b16-a2b5-6dbb11c3d08c","savedPayload":{"position":{"x":23471.667922806253,"y":17274.236201487205},"targetPosition":{"x":23795.57396245202,"y":17098.694237658383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"8591ccfd-d6ec-495e-859d-29894c061971","savedPayload":{"position":{"x":23528.24863433687,"y":16845.215356289587},"targetPosition":{"x":23795.57396245202,"y":17098.694237658383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"ee6913fa-364d-4b80-bad5-35de44ca43fd"}}},{"type":"Polygon Vertex","name":"End Bottom","id":"72ad8b4e-d393-453d-8b57-527f63c248f2","savedPayload":{"position":{"x":23971.88121273497,"y":16766.91825748183},"targetPosition":{"x":23795.57396245202,"y":17098.694237658383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"18c413f8-8acc-4172-91a6-d90a0762118c"}}}],"id":"e2e18af7-af5f-4634-b8a4-4fabd2ddd7a5","savedPayload":{"position":{"x":23780.320507376346,"y":18145.827472651818},"targetPosition":{"x":24164.210377696632,"y":18032.396906137597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Left Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}","id":"e75c26a6-3516-4eeb-98c7-dcde0cd36ac9","savedPayload":{"position":{"x":24017.056589387055,"y":13341.960424578621},"targetPosition":{"x":24245.942113069115,"y":13527.414350339212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"460b5169-b17a-4c63-a789-44dd11736441","savedPayload":{"position":{"x":24245.942113069115,"y":13527.414350339212},"targetPosition":{"x":24513.415605771694,"y":13744.138820931614},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"bb8d8af7-3a7e-4bbd-b4a3-2f254e8a7288","savedPayload":{"position":{"x":24477.58630824296,"y":13401.726595908138},"targetPosition":{"x":24513.415605771694,"y":13744.138820931614},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"ee6913fa-364d-4b80-bad5-35de44ca43fd"}}},{"type":"Polygon Vertex","name":"Begin Top","id":"a146b387-51f1-41c0-8528-99088c6f22f8","savedPayload":{"position":{"x":24730.18927722066,"y":13476.370713897168},"targetPosition":{"x":24513.415605771694,"y":13744.138820931614},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Top","id":"38094e81-9ae7-449d-bc9c-125f756b9f04"}}}],"id":"08d916aa-6d2d-497b-8738-9b0966e3901e","savedPayload":{"position":{"x":23765.9992238542,"y":17990.616409282826},"targetPosition":{"x":24164.210377696632,"y":18032.396906137597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Right Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}","id":"2ecdf0cb-d87f-41cf-8317-d14776d5dda1","savedPayload":{"position":{"x":24137.74066940367,"y":13303.668566201772},"targetPosition":{"x":24345.485583669917,"y":13511.591075335185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"a7ba9639-8238-467d-b0be-b9b2e51311f0","savedPayload":{"position":{"x":24345.485583669917,"y":13511.591075335185},"targetPosition":{"x":24574.922955736663,"y":13741.248579688607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End Bottom","id":"354df2e6-8fd8-4beb-83ba-0bdcb67d613e","savedPayload":{"position":{"x":24574.9211661251,"y":13415.56583612577},"targetPosition":{"x":24574.922955736663,"y":13741.248579688607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"18c413f8-8acc-4172-91a6-d90a0762118c"}}},{"type":"Polygon Vertex","name":"End Top","id":"6babbbfe-f55b-424e-90a3-a7e0bf17b8a1","savedPayload":{"position":{"x":24805.486057526436,"y":13510.644296819013},"targetPosition":{"x":24574.922955736663,"y":13741.248579688607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Top","id":"185d7e04-fa68-401d-b666-9152e57c3378"}}}],"id":"70de0f73-5a2d-4a5a-a5f7-1863f192a14d","savedPayload":{"position":{"x":23812.295532315955,"y":17841.523107494806},"targetPosition":{"x":24164.210377696632,"y":18032.396906137597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"trigger-stage\",\n\"size\": 25\n}","imagePosition":{"type":"Image Position","name":"Begin Bottom","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"4a525c63-9096-4b33-980f-926bb7c16783","savedPayload":{"position":{"x":23785.517425616163,"y":17565.66729854801},"targetPosition":{"x":23912.169735536485,"y":17721.488854982836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"ee6913fa-364d-4b80-bad5-35de44ca43fd"}}},"id":"c5fd3ce1-b24e-455c-9557-b43a68d6e942","savedPayload":{"position":{"x":23912.169735536485,"y":17721.488854982836},"targetPosition":{"x":24164.210377696632,"y":18032.396906137597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"trigger-stage\",\n\"size\": 25\n}","imagePosition":{"type":"Image Position","name":"End Bottom","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"3433cd26-6fad-49b0-a789-6e12a9a8aad0","savedPayload":{"position":{"x":23991.707335767092,"y":17456.818597680136},"targetPosition":{"x":24048.922979998802,"y":17649.29875956626},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"End Bottom","id":"18c413f8-8acc-4172-91a6-d90a0762118c"}}},"id":"9657d954-28e9-496d-a8e6-6f4c9974796d","savedPayload":{"position":{"x":24048.922979998802,"y":17649.29875956626},"targetPosition":{"x":24164.210377696632,"y":18032.396906137597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[],"id":"09119fa5-53de-4885-af93-32aacf6445bb","savedPayload":{"position":{"x":24164.210377696632,"y":18032.396906137597},"targetPosition":{"x":24618.97355199314,"y":18080.07393575662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Trigger Stage Object","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Status","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.status","id":"d6725ef3-05e1-4146-89e6-4e0bd9581a57","savedPayload":{"position":{"x":24142.141488558333,"y":17603.948025093236},"targetPosition":{"x":24266.701196638118,"y":17630.585317927158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"983b2057-a7ec-42a8-914a-4dc778bf71a2","savedPayload":{"position":{"x":24266.701196638118,"y":17630.585317927158},"targetPosition":{"x":24433.44088328152,"y":17662.33720700488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Type","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitType","id":"4f0e461a-fc1c-4340-b9a0-9a59b068e8e9","savedPayload":{"position":{"x":24227.22124511846,"y":17437.466547787037},"targetPosition":{"x":24313.599691353065,"y":17529.79164760578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cbb7504c-0db6-47e8-9d75-d197d5d23bfe","savedPayload":{"position":{"x":24313.599691353065,"y":17529.79164760578},"targetPosition":{"x":24433.44088328152,"y":17662.33720700488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Begin Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.beginRate","id":"67721b90-f4f5-4ea0-ba40-cf5364f48ba6","savedPayload":{"position":{"x":24399.630197051298,"y":17357.3819697611},"targetPosition":{"x":24415.249062335773,"y":17482.727396056966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6408eb74-1535-45b9-be83-9c0841bdb019","savedPayload":{"position":{"x":24415.249062335773,"y":17482.727396056966},"targetPosition":{"x":24433.44088328152,"y":17662.33720700488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"End Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.endRate","id":"8bfbb311-c3cf-4c53-a42d-dc30c5336d17","savedPayload":{"position":{"x":24593.40475662828,"y":17401.744207783537},"targetPosition":{"x":24529.24547406063,"y":17513.078689135087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"4837a800-f016-4f60-836b-0fc7acc7d489","savedPayload":{"position":{"x":24529.24547406063,"y":17513.078689135087},"targetPosition":{"x":24433.44088328152,"y":17662.33720700488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c10b9b7b-04d8-460b-9dcc-2eaed24e17df","savedPayload":{"position":{"x":24433.44088328152,"y":17662.33720700488},"targetPosition":{"x":24618.97355199314,"y":18080.07393575662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6c6cddbc-cd78-445f-9498-8627ac99563d","savedPayload":{"position":{"x":24587.688913748076,"y":18057.575831546175},"targetPosition":{"x":24942.211964982052,"y":18315.02517647312},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Open Stage Objects","config":"{ \n \"codeName\": \"Strategy-Objects\", \n \"icon\": \"trend\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin Bottom","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.beginRate * 1.05","id":"c6d764f4-ffbe-4b62-8807-ff40e314f047","savedPayload":{"position":{"x":23754.168759963883,"y":18277.93435146567},"targetPosition":{"x":23875.924226643827,"y":18119.01897140589},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3f1ad539-6b21-4cbb-9623-daf242df45bc","savedPayload":{"position":{"x":23875.924226643827,"y":18119.01897140589},"targetPosition":{"x":24118.330856768156,"y":17801.07553114317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin Top","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.beginRate","id":"ee137d40-fd2c-4754-a18f-2d5c5c564c4c","savedPayload":{"position":{"x":23623.703285161606,"y":18141.538322202814},"targetPosition":{"x":23788.729973895257,"y":18028.122193249652},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c4b7fef3-79e2-45a6-96d6-4c9b6abf1514","savedPayload":{"position":{"x":23788.729973895257,"y":18028.122193249652},"targetPosition":{"x":24118.330856768156,"y":17801.07553114317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Bottom","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.beginRate * 1.05","id":"c7026d19-1d0a-499c-8bd2-2aa847d0d17b","savedPayload":{"position":{"x":23542.24676435274,"y":17971.585519594522},"targetPosition":{"x":23734.273675326196,"y":17914.83920841476},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"04304653-9361-433e-8e34-ca08c38ddb21","savedPayload":{"position":{"x":23734.273675326196,"y":17914.83920841476},"targetPosition":{"x":24118.330856768156,"y":17801.07553114317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Top","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.endRate","id":"5c87a7ab-9f96-495f-9073-95fcc251ed95","savedPayload":{"position":{"x":23518.083039382753,"y":17782.299475112093},"targetPosition":{"x":23718.192752087623,"y":17787.588822714322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"bfe5be37-4f1d-4b6b-be9b-1ed24bf51056","savedPayload":{"position":{"x":23718.192752087623,"y":17787.588822714322},"targetPosition":{"x":24118.330856768156,"y":17801.07553114317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6977ed19-0d15-49df-adec-e0b6beec8296","savedPayload":{"position":{"x":24118.330856768156,"y":17801.07553114317},"targetPosition":{"x":24478.86230987924,"y":17628.784392450263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Closed Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Closed'","id":"fbe73700-5914-4750-853f-f205da0e00d5","savedPayload":{"position":{"x":23829.512662519723,"y":17466.501172816945},"targetPosition":{"x":23675.55248658413,"y":17137.432160629713},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n }\n}","id":"c845a7dc-a73e-4bc2-92f5-a9f9e76963e1","savedPayload":{"position":{"x":23148.055197191596,"y":17564.090182030504},"targetPosition":{"x":23388.87582752122,"y":17369.290545821023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"f2e9bf45-007e-434e-b977-07a4ba08bd7e","savedPayload":{"position":{"x":23388.87582752122,"y":17369.290545821023},"targetPosition":{"x":23675.55248658413,"y":17137.432160629713},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"64879334-0c33-40de-b993-bbccaebc1ce5","savedPayload":{"position":{"x":23366.426325249937,"y":16936.87765768171},"targetPosition":{"x":23675.55248658413,"y":17137.432160629713},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"3f1ad539-6b21-4cbb-9623-daf242df45bc"}}},{"type":"Polygon Vertex","name":"End Bottom","id":"f3e5ca2b-9766-47fc-87b5-a8d400f073fb","savedPayload":{"position":{"x":23788.274626122147,"y":16778.836470480615},"targetPosition":{"x":23675.55248658413,"y":17137.432160629713},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"04304653-9361-433e-8e34-ca08c38ddb21"}}}],"id":"21db891e-4c47-4a5a-88a5-036297086138","savedPayload":{"position":{"x":24079.406096601542,"y":17649.665993859668},"targetPosition":{"x":24478.86230987924,"y":17628.784392450263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Open Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Open'","id":"de754019-110e-46e7-8991-969f82d7027f","savedPayload":{"position":{"x":23756.621590364204,"y":17260.892652857692},"targetPosition":{"x":23710.25096066634,"y":16897.922228570224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n }\n}","id":"8f03ebb4-360c-430d-adef-13b574d53d80","savedPayload":{"position":{"x":23059.13589393478,"y":17090.412107672168},"targetPosition":{"x":23356.94171730639,"y":17002.229593653705},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"e34a2ef9-0533-40a7-901f-a07b503ca847","savedPayload":{"position":{"x":23356.94171730639,"y":17002.229593653705},"targetPosition":{"x":23710.25096066634,"y":16897.922228570224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"eaf26e8a-cd01-450f-b939-af89c22a5746","savedPayload":{"position":{"x":23501.525427014352,"y":16594.213442636104},"targetPosition":{"x":23710.25096066634,"y":16897.922228570224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"3f1ad539-6b21-4cbb-9623-daf242df45bc"}}},{"type":"Polygon Vertex","name":"End Bottom","id":"3f4a9c46-b76a-4e07-b012-e447bbbabd11","savedPayload":{"position":{"x":23951.592510903658,"y":16610.04995509977},"targetPosition":{"x":23710.25096066634,"y":16897.922228570224},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"04304653-9361-433e-8e34-ca08c38ddb21"}}}],"id":"2a3d0d93-13d9-4a9e-8d32-c0aa5d7ab1e3","savedPayload":{"position":{"x":24101.69934259661,"y":17495.2343839386},"targetPosition":{"x":24478.86230987924,"y":17628.784392450263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Left Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}","id":"86f26dcc-e45b-4313-8182-e5f715a7ea2b","savedPayload":{"position":{"x":24456.17795246025,"y":13535.976728597892},"targetPosition":{"x":24685.06347614231,"y":13721.430654358483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"67e63d56-1a05-414e-a99b-a3003e3483c5","savedPayload":{"position":{"x":24685.06347614231,"y":13721.430654358483},"targetPosition":{"x":24952.536968844888,"y":13938.155124950885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"a4c6c33d-682a-418b-9dff-24a739838aeb","savedPayload":{"position":{"x":24916.707671316155,"y":13595.742899927409},"targetPosition":{"x":24952.536968844888,"y":13938.155124950885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"3f1ad539-6b21-4cbb-9623-daf242df45bc"}}},{"type":"Polygon Vertex","name":"Begin Top","id":"499e2a85-9ef8-4ca7-9f87-5a01fe2a5ca3","savedPayload":{"position":{"x":25169.310640293854,"y":13670.387017916439},"targetPosition":{"x":24952.536968844888,"y":13938.155124950885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Top","id":"c4b7fef3-79e2-45a6-96d6-4c9b6abf1514"}}}],"id":"616f49d0-daaa-4b82-be0d-56504b402616","savedPayload":{"position":{"x":24181.503670891194,"y":17361.02196231903},"targetPosition":{"x":24478.86230987924,"y":17628.784392450263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Right Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}","id":"feff4d08-a0de-4e2e-bafa-896613af0a14","savedPayload":{"position":{"x":24576.862032476864,"y":13497.684870221043},"targetPosition":{"x":24784.60694674311,"y":13705.607379354456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"f9c6d40c-a3fa-4f02-83c5-c2c39d478c42","savedPayload":{"position":{"x":24784.60694674311,"y":13705.607379354456},"targetPosition":{"x":25014.044318809858,"y":13935.264883707878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End Bottom","id":"680845ab-7423-4022-820b-a2d05b1ae32d","savedPayload":{"position":{"x":25014.042529198294,"y":13609.582140145041},"targetPosition":{"x":25014.044318809858,"y":13935.264883707878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"04304653-9361-433e-8e34-ca08c38ddb21"}}},{"type":"Polygon Vertex","name":"End Top","id":"b5abef98-275f-4c3c-9704-bc17e83f4f9b","savedPayload":{"position":{"x":25244.60742059963,"y":13704.660600838284},"targetPosition":{"x":25014.044318809858,"y":13935.264883707878},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Top","id":"bfe5be37-4f1d-4b6b-be9b-1ed24bf51056"}}}],"id":"0fab39ff-8caf-45f8-8650-33d7a65fa6e1","savedPayload":{"position":{"x":24306.58935161967,"y":17267.609238312958},"targetPosition":{"x":24478.86230987924,"y":17628.784392450263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"open-stage\",\n\"size\": 25\n}","imagePosition":{"type":"Image Position","name":"Begin Bottom","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"cbb69a21-082e-4364-a069-c33f92f0a07c","savedPayload":{"position":{"x":24447.192568344843,"y":17028.700034623955},"targetPosition":{"x":24457.941207889042,"y":17229.205957942057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"3f1ad539-6b21-4cbb-9623-daf242df45bc"}}},"id":"472dcf1a-f045-4d96-8a97-f11011bc667a","savedPayload":{"position":{"x":24457.941207889042,"y":17229.205957942057},"targetPosition":{"x":24478.86230987924,"y":17628.784392450263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"open-stage\",\n\"size\": 25\n}","imagePosition":{"type":"Image Position","name":"End Bottom","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"f0a4c47e-a1e4-436f-a470-1adb11c80b7a","savedPayload":{"position":{"x":24677.376007960083,"y":17061.831375195663},"targetPosition":{"x":24610.814310842226,"y":17251.22232007174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"End Bottom","id":"04304653-9361-433e-8e34-ca08c38ddb21"}}},"id":"7c64940b-d01e-47e5-902c-ece8262864cc","savedPayload":{"position":{"x":24610.814310842226,"y":17251.22232007174},"targetPosition":{"x":24478.86230987924,"y":17628.784392450263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[],"id":"d953dd4d-5603-4042-b15b-1e293988be14","savedPayload":{"position":{"x":24478.86230987924,"y":17628.784392450263},"targetPosition":{"x":24818.865548584658,"y":17934.85020292712},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Open Stage Object","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Status","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.status","id":"908c9dfe-fb97-457a-93e6-711df1e89436","savedPayload":{"position":{"x":24712.94461228994,"y":17268.857283834},"targetPosition":{"x":24797.616413206015,"y":17364.323215493157},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"13d4c685-4b50-4ce8-aba9-1075b89e4d79","savedPayload":{"position":{"x":24797.616413206015,"y":17364.323215493157},"targetPosition":{"x":24914.14729586783,"y":17487.514142464897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Type","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitType","id":"428c5592-0629-49e4-a929-91ed47cdd1d3","savedPayload":{"position":{"x":24879.84998310131,"y":17184.49599486259},"targetPosition":{"x":24894.81759722733,"y":17310.230012956483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"74b0dbe2-935f-40f0-bd3b-812b925aa887","savedPayload":{"position":{"x":24894.81759722733,"y":17310.230012956483},"targetPosition":{"x":24914.14729586783,"y":17487.514142464897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Begin Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.beginRate","id":"a862e1ab-2bd4-4627-8bc0-ca68102525bb","savedPayload":{"position":{"x":25066.018325494995,"y":17221.34053577333},"targetPosition":{"x":25004.7757025298,"y":17331.921504956874},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"83bfb9e8-3774-4740-ba7b-635fb0088b59","savedPayload":{"position":{"x":25004.7757025298,"y":17331.921504956874},"targetPosition":{"x":24914.14729586783,"y":17487.514142464897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"End Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.endRate","id":"be46adeb-8308-4ff1-9cc4-5939c3e040dd","savedPayload":{"position":{"x":25196.54749505843,"y":17371.430741823027},"targetPosition":{"x":25079.172988381953,"y":17423.446609478142},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ccae74f6-9331-4c03-a44f-9176cb815ce2","savedPayload":{"position":{"x":25079.172988381953,"y":17423.446609478142},"targetPosition":{"x":24914.14729586783,"y":17487.514142464897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"be56e169-d089-4aea-a18a-c01cf16a3485","savedPayload":{"position":{"x":24914.14729586783,"y":17487.514142464897},"targetPosition":{"x":24818.865548584658,"y":17934.85020292712},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8f7cad9f-153d-44e6-bdc2-812bc97e3929","savedPayload":{"position":{"x":24806.791503600904,"y":17898.425268662773},"targetPosition":{"x":24942.211964982052,"y":18315.02517647312},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Manage Stage Objects","config":"{ \n \"codeName\": \"Strategy-Objects\", \n \"icon\": \"trend\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin Bottom","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.beginRate * 0.95","id":"0c5c0deb-9d9f-4849-ac44-711f24c60962","savedPayload":{"position":{"x":23995.61297381892,"y":17597.579773541947},"targetPosition":{"x":24187.56988010251,"y":17540.6400028731},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"51020863-6f89-4c73-97fd-fbc7fc03348f","savedPayload":{"position":{"x":24187.56988010251,"y":17540.6400028731},"targetPosition":{"x":24570.757850042763,"y":17425.686459373293},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin Top","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.beginRate","id":"a2fd6f13-b771-40c1-9c7a-55d1bb965ae8","savedPayload":{"position":{"x":23970.172800887925,"y":17410.81649489765},"targetPosition":{"x":24170.41624574587,"y":17415.86336875541},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"38ed128c-3053-45dd-a069-24e21b798603","savedPayload":{"position":{"x":24170.41624574587,"y":17415.86336875541},"targetPosition":{"x":24570.757850042763,"y":17425.686459373293},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Bottom","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.beginRate * 0.95","id":"26bade31-216a-498d-961d-f5f5aeb03075","savedPayload":{"position":{"x":24004.196000742184,"y":17225.465024618632},"targetPosition":{"x":24193.002972329494,"y":17292.243737627356},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d1bf6c44-0b02-4e8a-8877-20210246d2d0","savedPayload":{"position":{"x":24193.002972329494,"y":17292.243737627356},"targetPosition":{"x":24570.757850042763,"y":17425.686459373293},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Top","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.endRate","id":"d6044513-956e-4ba9-994b-cce2f42e9cb1","savedPayload":{"position":{"x":24095.83468421934,"y":17058.032316501794},"targetPosition":{"x":24254.62725198452,"y":17180.00421254225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f23b14cc-df91-40a6-b1b2-9876aa8690c9","savedPayload":{"position":{"x":24254.62725198452,"y":17180.00421254225},"targetPosition":{"x":24570.757850042763,"y":17425.686459373293},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7bff6698-f9c9-4b44-a4ee-193ffd703e40","savedPayload":{"position":{"x":24570.757850042763,"y":17425.686459373293},"targetPosition":{"x":24967.73392317004,"y":17489.296902865837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Closed Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Closed'","id":"4b05add4-cf40-4168-9cc8-7aa79d81e819","savedPayload":{"position":{"x":24421.763123001547,"y":16932.144616107194},"targetPosition":{"x":24490.49711032994,"y":16575.463548937794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n }\n}","id":"a60fc3c0-051e-4063-99b9-b0be3fc7b3f0","savedPayload":{"position":{"x":23812.780619230267,"y":16610.348454258638},"targetPosition":{"x":24122.234079965558,"y":16594.413862145233},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"81182574-694d-43b5-a55b-f380bef4e226","savedPayload":{"position":{"x":24122.234079965558,"y":16594.413862145233},"targetPosition":{"x":24490.49711032994,"y":16575.463548937794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"270cce8d-9e8c-4b61-9f31-df178eb3dae1","savedPayload":{"position":{"x":24358.38939899577,"y":16231.458035432808},"targetPosition":{"x":24490.49711032994,"y":16575.463548937794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"51020863-6f89-4c73-97fd-fbc7fc03348f"}}},{"type":"Polygon Vertex","name":"End Bottom","id":"2b20e9f7-72c4-4a93-b278-c77295400bc9","savedPayload":{"position":{"x":24792.65666431669,"y":16351.563062282014},"targetPosition":{"x":24490.49711032994,"y":16575.463548937794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"d1bf6c44-0b02-4e8a-8877-20210246d2d0"}}}],"id":"43435aed-68cb-4a56-88c4-2574d91f5b32","savedPayload":{"position":{"x":24638.677723003882,"y":17241.808935262274},"targetPosition":{"x":24967.73392317004,"y":17489.296902865837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Open Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Open'","id":"28c153db-44db-466c-83c7-a47c56152c4b","savedPayload":{"position":{"x":24610.42413949528,"y":17368.684628122508},"targetPosition":{"x":24741.402082011235,"y":17159.59562994399},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n }\n}","id":"1ea48dcf-f651-4b4d-a218-d13fceaa4d33","savedPayload":{"position":{"x":24364.098579835358,"y":17024.962668422362},"targetPosition":{"x":24552.652807358096,"y":17092.105065052485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"8ad430dd-933a-4cf2-9f2d-b3189a57fae4","savedPayload":{"position":{"x":24552.652807358096,"y":17092.105065052485},"targetPosition":{"x":24741.402082011235,"y":17159.59562994399},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"e9ebc5af-2940-47d8-a067-26b70105b4e9","savedPayload":{"position":{"x":24746.189158804,"y":16958.592681203845},"targetPosition":{"x":24741.402082011235,"y":17159.59562994399},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"51020863-6f89-4c73-97fd-fbc7fc03348f"}}},{"type":"Polygon Vertex","name":"End Bottom","id":"b5d31d62-415f-4437-a011-9d89d3dd4d61","savedPayload":{"position":{"x":24937.84999493606,"y":17116.63576135556},"targetPosition":{"x":24741.402082011235,"y":17159.59562994399},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"d1bf6c44-0b02-4e8a-8877-20210246d2d0"}}}],"id":"904be022-f1e2-475e-9115-88224353cfa2","savedPayload":{"position":{"x":24741.402082011235,"y":17159.59562994399},"targetPosition":{"x":24967.73392317004,"y":17489.296902865837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Left Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}","id":"4f68d1c6-26e0-4c28-837d-fa6b137c48b6","savedPayload":{"position":{"x":24567.930872739886,"y":13885.76170133438},"targetPosition":{"x":24796.816396421946,"y":14071.21562709497},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"2cf632ed-a72b-4a59-817f-32a1160217cd","savedPayload":{"position":{"x":24796.816396421946,"y":14071.21562709497},"targetPosition":{"x":25064.289889124524,"y":14287.940097687373},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"420cb596-82bf-40f0-9097-b6ac41d35b13","savedPayload":{"position":{"x":25028.46059159579,"y":13945.527872663897},"targetPosition":{"x":25064.289889124524,"y":14287.940097687373},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"51020863-6f89-4c73-97fd-fbc7fc03348f"}}},{"type":"Polygon Vertex","name":"Begin Top","id":"1b42a439-3e00-444b-ab69-5f4e6af4f0f3","savedPayload":{"position":{"x":25281.06356057349,"y":14020.171990652927},"targetPosition":{"x":25064.289889124524,"y":14287.940097687373},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Top","id":"38ed128c-3053-45dd-a069-24e21b798603"}}}],"id":"4c74d4d8-d0a4-4581-bee7-36485d7a91a5","savedPayload":{"position":{"x":24857.84722114082,"y":17095.424636529846},"targetPosition":{"x":24967.73392317004,"y":17489.296902865837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Right Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}","id":"d11795b4-f398-4b0d-b028-f0b9aadb3fa7","savedPayload":{"position":{"x":24688.6149527565,"y":13847.469842957531},"targetPosition":{"x":24896.359867022747,"y":14055.392352090945},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"1a75e942-11f7-4b82-8dce-8383521d48e4","savedPayload":{"position":{"x":24896.359867022747,"y":14055.392352090945},"targetPosition":{"x":25125.797239089494,"y":14285.049856444366},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End Bottom","id":"9a6a4625-a7b7-47f6-8460-47f5899d7431","savedPayload":{"position":{"x":25125.79544947793,"y":13959.36711288153},"targetPosition":{"x":25125.797239089494,"y":14285.049856444366},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"d1bf6c44-0b02-4e8a-8877-20210246d2d0"}}},{"type":"Polygon Vertex","name":"End Top","id":"2ed6c5e7-fc8c-45e6-acb1-fdcb81fdee7b","savedPayload":{"position":{"x":25356.360340879266,"y":14054.445573574772},"targetPosition":{"x":25125.797239089494,"y":14285.049856444366},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Top","id":"f23b14cc-df91-40a6-b1b2-9876aa8690c9"}}}],"id":"9fc6d2c4-a67b-42e8-841b-7523f7ab4962","savedPayload":{"position":{"x":25065.35434285554,"y":17090.773714853665},"targetPosition":{"x":24967.73392317004,"y":17489.296902865837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"manage-stage\",\n\"size\": 25\n}","imagePosition":{"type":"Image Position","name":"Begin Bottom","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"d806311b-133d-423b-9026-7a418da2b5e3","savedPayload":{"position":{"x":25294.869520532997,"y":16985.1670166947},"targetPosition":{"x":25185.76053830832,"y":17153.776879011035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"51020863-6f89-4c73-97fd-fbc7fc03348f"}}},"id":"61fd08ac-8bd8-4539-a116-22c4469a2b2e","savedPayload":{"position":{"x":25185.76053830832,"y":17153.776879011035},"targetPosition":{"x":24967.73392317004,"y":17489.296902865837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"manage-stage\",\n\"size\": 25\n}","imagePosition":{"type":"Image Position","name":"End Bottom","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"608a821f-bdff-4ec0-abd9-251c7c085a34","savedPayload":{"position":{"x":25461.85101914124,"y":17147.537169013773},"targetPosition":{"x":25296.554108859025,"y":17261.511759905385},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"End Bottom","id":"d1bf6c44-0b02-4e8a-8877-20210246d2d0"}}},"id":"4a257e17-128c-4c00-9e2b-a76049e30657","savedPayload":{"position":{"x":25296.554108859025,"y":17261.511759905385},"targetPosition":{"x":24967.73392317004,"y":17489.296902865837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[],"id":"dd3a2274-3986-4c89-bab9-265f6fa6b1d1","savedPayload":{"position":{"x":24967.73392317004,"y":17489.296902865837},"targetPosition":{"x":25062.781273974313,"y":17936.99613464608},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Manage Stage Object","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Status","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.status","id":"d386f88a-6d4d-4606-992c-e19df72e7f29","savedPayload":{"position":{"x":25368.99844787749,"y":17336.127094477473},"targetPosition":{"x":25380.997958157037,"y":17463.060147419073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"434bbab3-b2a1-47b5-8c5a-55ac7a2a2674","savedPayload":{"position":{"x":25380.997958157037,"y":17463.060147419073},"targetPosition":{"x":25402.930917348676,"y":17631.17974777773},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Type","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitType","id":"5123b469-2376-4f03-a995-82df2842cde3","savedPayload":{"position":{"x":25553.349343509766,"y":17365.878163328063},"targetPosition":{"x":25491.459108529652,"y":17476.386215563372},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"7b7fa67c-cdfd-41c5-83a2-3362fe2cef3c","savedPayload":{"position":{"x":25491.459108529652,"y":17476.386215563372},"targetPosition":{"x":25402.930917348676,"y":17631.17974777773},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Begin Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.beginRate","id":"e172032f-6c23-4267-b1a5-80c4fa2f7571","savedPayload":{"position":{"x":25682.274546227418,"y":17505.2153018006},"targetPosition":{"x":25567.691138422226,"y":17558.604219809975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c3473f91-b229-43d5-a1d4-79d535b5ac64","savedPayload":{"position":{"x":25567.691138422226,"y":17558.604219809975},"targetPosition":{"x":25402.930917348676,"y":17631.17974777773},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"End Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.endRate","id":"2df876ce-61ff-4a24-a34a-03126c0e02a6","savedPayload":{"position":{"x":25699.775419998332,"y":17703.03138544741},"targetPosition":{"x":25574.123444674664,"y":17676.41891499346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"16af0d06-b721-48e5-8ed2-7072f25e8fc3","savedPayload":{"position":{"x":25574.123444674664,"y":17676.41891499346},"targetPosition":{"x":25402.930917348676,"y":17631.17974777773},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3db5604f-cacf-4c87-b1ea-5aa364bf9f48","savedPayload":{"position":{"x":25402.930917348676,"y":17631.17974777773},"targetPosition":{"x":25062.781273974313,"y":17936.99613464608},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"768a5cc5-72db-4218-9a8b-706c51186b3d","savedPayload":{"position":{"x":25077.14850997705,"y":17898.410158313432},"targetPosition":{"x":24942.211964982052,"y":18315.02517647312},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Close Stage Objects","config":"{ \n \"codeName\": \"Strategy-Objects\", \n \"icon\": \"trend\"\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin Bottom","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.beginRate * 1.05","id":"bb2edfb7-4b27-4023-937f-87edcefa4b36","savedPayload":{"position":{"x":24609.981796664386,"y":17173.793306038704},"targetPosition":{"x":24798.878932990257,"y":17240.285894025405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"064c3de1-dd16-4010-9267-f588f070aa32","savedPayload":{"position":{"x":24798.878932990257,"y":17240.285894025405},"targetPosition":{"x":25176.227806190716,"y":17372.511667638948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Begin Top","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.beginRate","id":"52da9824-848c-4ef6-ac1d-4c1a52baf9c2","savedPayload":{"position":{"x":24699.43924790597,"y":17007.576275133044},"targetPosition":{"x":24858.4234484772,"y":17129.308396751825},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ce4b9d0e-3e46-4cf2-9ea6-a108f962ba9b","savedPayload":{"position":{"x":24858.4234484772,"y":17129.308396751825},"targetPosition":{"x":25176.227806190716,"y":17372.511667638948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Bottom","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.beginRate * 1.05","id":"ec40fffd-d0b2-410e-b8a0-346fd3975c13","savedPayload":{"position":{"x":24835.932571856185,"y":16877.615490164808},"targetPosition":{"x":24949.351578285597,"y":17042.553220788395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9ad19ea8-8df3-4601-bfb9-0e858dad9140","savedPayload":{"position":{"x":24949.351578285597,"y":17042.553220788395},"targetPosition":{"x":25176.227806190716,"y":17372.511667638948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End Top","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.endRate","id":"d9ac4f25-f9aa-4de6-8f05-b43a159248be","savedPayload":{"position":{"x":25008.747837940853,"y":16796.026877474058},"targetPosition":{"x":25065.39419093945,"y":16987.91674892192},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"92930f08-af27-4807-a1eb-98fb82c58fb2","savedPayload":{"position":{"x":25065.39419093945,"y":16987.91674892192},"targetPosition":{"x":25176.227806190716,"y":17372.511667638948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ebdc8337-0d63-48c8-940e-83f14c7de8f3","savedPayload":{"position":{"x":25176.227806190716,"y":17372.511667638948},"targetPosition":{"x":25451.489223080098,"y":17662.29899610047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Closed Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Closed'","id":"17f11af6-9a1b-4df5-93ad-52acea4e9ccb","savedPayload":{"position":{"x":25214.00714764315,"y":16848.37412295763},"targetPosition":{"x":25479.583762565733,"y":16600.096094773846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n }\n}","id":"272091f5-637f-4389-ae00-8806170ec5fe","savedPayload":{"position":{"x":24910.94351595144,"y":16230.678454146599},"targetPosition":{"x":25170.220706971144,"y":16399.093056012447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"92bb2d8c-cbd9-4a46-ba6e-10ec3c04afbe","savedPayload":{"position":{"x":25170.220706971144,"y":16399.093056012447},"targetPosition":{"x":25479.583762565733,"y":16600.096094773846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"67a714b2-66d1-4c20-afc6-4985557c8924","savedPayload":{"position":{"x":25574.620486288033,"y":16244.36669967966},"targetPosition":{"x":25479.583762565733,"y":16600.096094773846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"064c3de1-dd16-4010-9267-f588f070aa32"}}},{"type":"Polygon Vertex","name":"End Bottom","id":"9e1c1d76-9d74-4812-b79a-176890c35d64","savedPayload":{"position":{"x":25854.896588752737,"y":16596.300635787647},"targetPosition":{"x":25479.583762565733,"y":16600.096094773846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"9ad19ea8-8df3-4601-bfb9-0e858dad9140"}}}],"id":"9463d512-21f5-48c1-8cd6-b14747b338cf","savedPayload":{"position":{"x":25308.20974161536,"y":17288.674570457908},"targetPosition":{"x":25451.489223080098,"y":17662.29899610047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Open Base","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Open'","id":"cb0d72ee-ae97-4482-94d0-6be4fa885ca3","savedPayload":{"position":{"x":25386.193526422514,"y":16714.45717864927},"targetPosition":{"x":25718.084202970855,"y":16558.939762472644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n }\n}","id":"4c30f5b9-b06f-4ed0-b8b8-6672347063e0","savedPayload":{"position":{"x":25333.843242628373,"y":15999.323623054206},"targetPosition":{"x":25509.43862266737,"y":16255.223247439988},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"90ab3a19-e778-46ce-8aad-05799a66cc36","savedPayload":{"position":{"x":25509.43862266737,"y":16255.223247439988},"targetPosition":{"x":25718.084202970855,"y":16558.939762472644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"f0ed2d50-c494-4fae-863a-752ecad0fd1d","savedPayload":{"position":{"x":25941.98001848433,"y":16266.705827831736},"targetPosition":{"x":25718.084202970855,"y":16558.939762472644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"064c3de1-dd16-4010-9267-f588f070aa32"}}},{"type":"Polygon Vertex","name":"End Bottom","id":"68c67883-1f21-4a00-9537-a794638a4d07","savedPayload":{"position":{"x":26066.468067215366,"y":16699.211162198673},"targetPosition":{"x":25718.084202970855,"y":16558.939762472644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"9ad19ea8-8df3-4601-bfb9-0e858dad9140"}}}],"id":"c3249cad-9f26-4ff2-ab0d-968c66bb7f2d","savedPayload":{"position":{"x":25461.963621188937,"y":17262.057680973976},"targetPosition":{"x":25451.489223080098,"y":17662.29899610047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Left Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}","id":"15a2eeab-c29f-45e9-b407-30f99dfb2b3a","savedPayload":{"position":{"x":25712.113038509237,"y":15977.769488781074},"targetPosition":{"x":25823.154730275273,"y":16267.724869987025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"ef752c53-dc77-4be4-80ec-f24b3ae0bf6d","savedPayload":{"position":{"x":25823.154730275273,"y":16267.724869987025},"targetPosition":{"x":25954.991874823794,"y":16611.832998990303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin Bottom","id":"b6002088-f077-44c3-bdac-1e310ef78e32","savedPayload":{"position":{"x":26104.736003293696,"y":16275.224868604024},"targetPosition":{"x":25954.991874823794,"y":16611.832998990303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"064c3de1-dd16-4010-9267-f588f070aa32"}}},{"type":"Polygon Vertex","name":"Begin Top","id":"210bad6f-d160-4d55-80f4-5a441a79cea1","savedPayload":{"position":{"x":26298.996323669162,"y":16479.665189475432},"targetPosition":{"x":25954.991874823794,"y":16611.832998990303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin Top","id":"ce4b9d0e-3e46-4cf2-9ea6-a108f962ba9b"}}}],"id":"dbd9d421-d90c-4ab8-a26b-c2254d7abec1","savedPayload":{"position":{"x":25614.27850607035,"y":17296.47688435172},"targetPosition":{"x":25451.489223080098,"y":17662.29899610047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Right Line","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}","id":"50698494-7f90-4d92-a87e-452567bce9b3","savedPayload":{"position":{"x":26170.53202427431,"y":16072.702860737658},"targetPosition":{"x":26162.52896593925,"y":16383.027662005394},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"58d29c18-d22b-4294-97a0-3a9fae711b6c","savedPayload":{"position":{"x":26162.52896593925,"y":16383.027662005394},"targetPosition":{"x":26152.993297019664,"y":16751.563980824445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"End Bottom","id":"4617c7b4-acc4-4122-a714-bc2b38b4566f","savedPayload":{"position":{"x":26420.030997271555,"y":16497.96932180807},"targetPosition":{"x":26152.993297019664,"y":16751.563980824445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Bottom","id":"9ad19ea8-8df3-4601-bfb9-0e858dad9140"}}},{"type":"Polygon Vertex","name":"End Top","id":"d0589ad1-0f35-4e0f-ab38-8de7a56f04b6","savedPayload":{"position":{"x":26520.97091356275,"y":16760.848756377032},"targetPosition":{"x":26152.993297019664,"y":16751.563980824445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End Top","id":"92930f08-af27-4807-a1eb-98fb82c58fb2"}}}],"id":"a5e40c24-183d-4896-97b0-f9f0f104c240","savedPayload":{"position":{"x":25741.781677324325,"y":17386.56995393502},"targetPosition":{"x":25451.489223080098,"y":17662.29899610047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"close-stage\",\n\"size\": 25\n}","imagePosition":{"type":"Image Position","name":"Begin Bottom","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"8c6238d9-007c-48b6-9d95-df4a6aa5c14b","savedPayload":{"position":{"x":26012.399601957903,"y":17446.4431610194},"targetPosition":{"x":25825.08439083658,"y":17518.642216019605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin Bottom","id":"064c3de1-dd16-4010-9267-f588f070aa32"}}},"id":"21f90d1d-d464-4bf4-9435-87afdc4daf19","savedPayload":{"position":{"x":25825.08439083658,"y":17518.642216019605},"targetPosition":{"x":25451.489223080098,"y":17662.29899610047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"close-stage\",\n\"size\": 25\n}","imagePosition":{"type":"Image Position","name":"End Bottom","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"cae4a4f0-e26b-40ab-8a29-04d1dfde4633","savedPayload":{"position":{"x":26052.20198605366,"y":17675.729129769694},"targetPosition":{"x":25851.465235867778,"y":17670.891224989064},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"End Bottom","id":"9ad19ea8-8df3-4601-bfb9-0e858dad9140"}}},"id":"63d17b18-3750-42c2-b785-9bfb4c2f7bfc","savedPayload":{"position":{"x":25851.465235867778,"y":17670.891224989064},"targetPosition":{"x":25451.489223080098,"y":17662.29899610047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[],"id":"2236ae6a-63a0-4031-a6aa-95fd8dbd1e6d","savedPayload":{"position":{"x":25451.489223080098,"y":17662.29899610047},"targetPosition":{"x":25265.650016852967,"y":18080.142869128475},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Close Stage Object","config":"{ \n\"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Status","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.status","id":"7ff88a72-886f-4417-980f-29ec65270b3b","savedPayload":{"position":{"x":25866.351018277473,"y":17773.697769214185},"targetPosition":{"x":25801.881018401167,"y":17883.70407874333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"30d603e4-521d-464e-9f80-a22f99d43bc4","savedPayload":{"position":{"x":25801.881018401167,"y":17883.70407874333},"targetPosition":{"x":25720.430132212674,"y":18032.693400433986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Type","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitType","id":"b1f57c8d-346f-4c8f-8bf1-4d0e9f9cec6f","savedPayload":{"position":{"x":25998.17850610818,"y":17906.20460691568},"targetPosition":{"x":25883.29291097318,"y":17959.507066043225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"1ccd3f25-5841-4563-98ef-f97f82b6da66","savedPayload":{"position":{"x":25883.29291097318,"y":17959.507066043225},"targetPosition":{"x":25720.430132212674,"y":18032.693400433986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Begin Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.beginRate","id":"6e1dc213-47ad-407a-b993-c9ed20d0db14","savedPayload":{"position":{"x":26020.882942709355,"y":18094.651578501012},"targetPosition":{"x":25896.695033874275,"y":18070.769375650347},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d6912158-6634-4cce-82e1-be1f3f8c0211","savedPayload":{"position":{"x":25896.695033874275,"y":18070.769375650347},"targetPosition":{"x":25720.430132212674,"y":18032.693400433986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"End Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.endRate","id":"0ecdc927-ff01-4f77-87ff-47be6ad314d6","savedPayload":{"position":{"x":25918.687413960644,"y":18265.106323810534},"targetPosition":{"x":25832.678259869346,"y":18169.725107442817},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f63619e4-c005-4a60-883e-ea24a36c04e6","savedPayload":{"position":{"x":25832.678259869346,"y":18169.725107442817},"targetPosition":{"x":25720.430132212674,"y":18032.693400433986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"069885e7-351f-45dc-8423-113db65b9592","savedPayload":{"position":{"x":25720.430132212674,"y":18032.693400433986},"targetPosition":{"x":25265.650016852967,"y":18080.142869128475},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"de84947f-ec29-4125-a2b3-a3da595d1653","savedPayload":{"position":{"x":25296.45345596248,"y":18057.63918933579},"targetPosition":{"x":24942.211964982052,"y":18315.02517647312},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"23f6d360-b2ec-462d-ba57-9226d0fc0c5b","savedPayload":{"position":{"x":24941.217404066585,"y":18264.893045797242},"targetPosition":{"x":24941.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Exchange Orders","config":"{ \n \"codeName\": \"Exchange-Orders\"\n}","modules":[{"type":"Plotter Module","name":"Market Buy Orders","config":"{ \n \"codeName\": \"Market-Buy-Orders\", \n \"icon\": \"trend\",\n \"useRateAtMousePosition\": true\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.rate","id":"bc2c1fb7-af45-4444-b883-7523eb94bcc0","savedPayload":{"position":{"x":24638.46142648067,"y":18264.958186421525},"targetPosition":{"x":24580.13793702735,"y":17895.26029393947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5d2c59a6-72ce-4f42-8d14-62e4a7d11d73","savedPayload":{"position":{"x":24580.13793702735,"y":17895.26029393947},"targetPosition":{"x":24521.952630055966,"y":17525.79759162451},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.rate","id":"76027de9-5f42-494b-be42-7b24e7663fb4","savedPayload":{"position":{"x":23939.44133341192,"y":17996.674170168684},"targetPosition":{"x":24230.6938760366,"y":17761.194255008635},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0e224c82-a863-4953-8e38-42ff372df6cd","savedPayload":{"position":{"x":24230.6938760366,"y":17761.194255008635},"targetPosition":{"x":24521.952630055966,"y":17525.79759162451},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c8f9bc68-22a9-47a7-8b54-f8e1ee93760a","savedPayload":{"position":{"x":24521.952630055966,"y":17525.79759162451},"targetPosition":{"x":24656.19931764129,"y":17176.48749619334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"New Polygon","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 1.5,\n \"lineDash\": [0,0]\n }\n}","id":"a307230c-ee14-4b3a-8430-5993da0e1b7e","savedPayload":{"position":{"x":23621.74965551195,"y":17346.343686513035},"targetPosition":{"x":23963.973114103304,"y":17194.236112540522},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"2c437c94-96f4-4b5b-9241-45636f73356e","savedPayload":{"position":{"x":23963.973114103304,"y":17194.236112540522},"targetPosition":{"x":24306.27286015115,"y":17042.12509637507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"7d4ca25c-5454-4d6a-8ead-a4ecee6709b8","savedPayload":{"position":{"x":23956.475341559923,"y":16907.823057672944},"targetPosition":{"x":24306.27286015115,"y":17042.12509637507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"5d2c59a6-72ce-4f42-8d14-62e4a7d11d73"}}},{"type":"Polygon Vertex","name":"End","id":"cefe7159-5b2f-4036-9aad-1d72358cbf81","savedPayload":{"position":{"x":24153.912412618698,"y":16699.802518316345},"targetPosition":{"x":24306.27286015115,"y":17042.12509637507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"0e224c82-a863-4953-8e38-42ff372df6cd"}}}],"id":"6217d021-ea5b-4b20-b093-758a2d2fb5d4","savedPayload":{"position":{"x":24306.27286015115,"y":17042.12509637507},"targetPosition":{"x":24656.19931764129,"y":17176.48749619334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"bullet-market-buy-order\", \n\"size\": 20\n}","imagePosition":{"type":"Image Position","name":"Begin","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"48799848-30ad-4ef3-914e-45c3299168da","savedPayload":{"position":{"x":24847.82126157343,"y":16647.73908178241},"targetPosition":{"x":24780.87855599763,"y":16823.005405574546},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin","id":"5d2c59a6-72ce-4f42-8d14-62e4a7d11d73"}}},"id":"c988d815-94cf-48e3-9447-2e81b97271b2","savedPayload":{"position":{"x":24780.87855599763,"y":16823.005405574546},"targetPosition":{"x":24656.19931764129,"y":17176.48749619334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[],"id":"486a0f30-691f-4c40-a18e-a1b0ac336ac1","savedPayload":{"position":{"x":24656.19931764129,"y":17176.48749619334},"targetPosition":{"x":25354.23363845282,"y":17444.45884346508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Market Buy Order","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Serial Number","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.serialNumber","id":"6c10223a-aec1-485d-a731-2122a2485359","savedPayload":{"position":{"x":23868.399092957447,"y":17170.9616351311},"targetPosition":{"x":24208.183627462626,"y":17033.749621410225},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6edbd7e7-a5ef-4ec0-ae1d-41c6a7cec5e1","savedPayload":{"position":{"x":24208.183627462626,"y":17033.749621410225},"targetPosition":{"x":24547.967815566248,"y":16896.297154647396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.rate","id":"706b3e18-b354-4b2d-ad94-8a1e06aa3d6a","savedPayload":{"position":{"x":23815.295253307635,"y":16921.740187466366},"targetPosition":{"x":24181.591181145603,"y":16909.06589895518},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"312fc9a8-af5d-428b-b1b9-9207bf4def4d","savedPayload":{"position":{"x":24181.591181145603,"y":16909.06589895518},"targetPosition":{"x":24547.967815566248,"y":16896.297154647396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Status","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.status","id":"6823da7b-b937-44ec-a748-6544810c5e4d","savedPayload":{"position":{"x":23850.686042368026,"y":16669.917379737602},"targetPosition":{"x":24199.281240664917,"y":16783.12074227086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bdc187a2-01a2-4d5e-a3b6-e03a3aa83337","savedPayload":{"position":{"x":24199.281240664917,"y":16783.12074227086},"targetPosition":{"x":24547.967815566248,"y":16896.297154647396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Type","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitType","id":"df586a2e-5e92-4719-b43a-b66e92d54cfb","savedPayload":{"position":{"x":23970.21643519404,"y":16445.037650075534},"targetPosition":{"x":24259.052371519163,"y":16670.65746647881},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8c832572-6989-49fe-af66-337113d833bd","savedPayload":{"position":{"x":24259.052371519163,"y":16670.65746647881},"targetPosition":{"x":24547.967815566248,"y":16896.297154647396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Order Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.orderName","id":"ccaa9e2b-3d64-40fc-85e3-db8852ffe835","savedPayload":{"position":{"x":24159.45061837541,"y":16274.622167143008},"targetPosition":{"x":24353.685211466985,"y":16585.437309734738},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"008d9794-b703-4e95-90a5-4be6541257b5","savedPayload":{"position":{"x":24353.685211466985,"y":16585.437309734738},"targetPosition":{"x":24547.967815566248,"y":16896.297154647396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Algorithm Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.algorithmName","id":"cb7fe638-c8c1-4017-91c5-332f2a42d411","savedPayload":{"position":{"x":24395.548221643516,"y":16179.227629767918},"targetPosition":{"x":24471.76049520407,"y":16537.741599180794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"233fcc31-94fb-4a83-8010-a47b06aa0175","savedPayload":{"position":{"x":24471.76049520407,"y":16537.741599180794},"targetPosition":{"x":24547.967815566248,"y":16896.297154647396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Situation Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.situationName","id":"b205501c-00a5-42a5-bfb1-e1d766474e9b","savedPayload":{"position":{"x":24649.593633954613,"y":16170.362364262595},"targetPosition":{"x":24598.833400129206,"y":16533.334709673683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ef885584-c0ad-42ab-af01-1507c16da1c1","savedPayload":{"position":{"x":24598.833400129206,"y":16533.334709673683},"targetPosition":{"x":24547.967815566248,"y":16896.297154647396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Periods","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.periods","id":"43a37c5e-0519-4920-9c61-1c8e7ee35308","savedPayload":{"position":{"x":24861.758065811726,"y":16252.321756420351},"targetPosition":{"x":24720.016025858626,"y":16572.824580531535},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"64741d06-09d2-497f-ab50-f1a0d1eba4bd","savedPayload":{"position":{"x":24720.016025858626,"y":16572.824580531535},"targetPosition":{"x":24547.967815566248,"y":16896.297154647396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"12929733-5964-4948-877b-b1edda37162a","savedPayload":{"position":{"x":24902.45015840262,"y":16870.318231147907},"targetPosition":{"x":25354.23363845282,"y":17444.45884346508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Market Buy Order Stats","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Percentage Filled","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.percentageFilled","id":"14e3004b-320d-4791-aa6e-3f0d872ec7ec","savedPayload":{"position":{"x":24624.09570162402,"y":16439.966226993307},"targetPosition":{"x":24766.75621966212,"y":16555.3445127771},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0d50ad49-9842-4e0e-86fd-12c026ada170","savedPayload":{"position":{"x":24766.75621966212,"y":16555.3445127771},"targetPosition":{"x":24960.703993567215,"y":16712.091785698405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Actual Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.actualRate","id":"8a56fba9-5ffc-4adf-8d6e-021fd4e5a43c","savedPayload":{"position":{"x":24905.031477799002,"y":16292.004712325104},"targetPosition":{"x":24934.43089547231,"y":16464.4358144584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d6c7e18a-79da-4aed-8fae-298e604e05d0","savedPayload":{"position":{"x":24934.43089547231,"y":16464.4358144584},"targetPosition":{"x":24960.703993567215,"y":16712.091785698405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Days","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.days","id":"d7dd0006-3d9f-49c8-984a-07b9d5f0dc48","savedPayload":{"position":{"x":25211.165582800037,"y":16377.122256855275},"targetPosition":{"x":25096.252681451027,"y":16520.09968608916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d411dc1c-83d7-4d2d-948e-c90f9e29121b","savedPayload":{"position":{"x":25096.252681451027,"y":16520.09968608916},"targetPosition":{"x":24960.703993567215,"y":16712.091785698405},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"81a88e44-189c-44ec-9607-cb1e4de8baa1","savedPayload":{"position":{"x":25237.309576295556,"y":16705.77950951327},"targetPosition":{"x":25354.23363845282,"y":17444.45884346508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Market Buy Order Base Asset","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Size","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeInBaseAsset","id":"d304ece3-18dc-4e5a-bc0e-1249258b184e","savedPayload":{"position":{"x":25317.43043980048,"y":16061.774482430787},"targetPosition":{"x":25469.6619486441,"y":16404.01639309925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8313aeb6-6167-45ca-a3ca-4dc22b7fa33a","savedPayload":{"position":{"x":25469.6619486441,"y":16404.01639309925},"targetPosition":{"x":25621.96396165302,"y":16746.306680233338},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Size Filled","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeFilledInBaseAsset","id":"461ae1a5-1d20-451a-8852-13d56b5268fb","savedPayload":{"position":{"x":25890.09537704848,"y":16046.626091607817},"targetPosition":{"x":25755.999856907125,"y":16396.44556435957},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"83d46c3b-27cb-4aa9-a358-2e156aeece00","savedPayload":{"position":{"x":25755.999856907125,"y":16396.44556435957},"targetPosition":{"x":25621.96396165302,"y":16746.306680233338},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Fees Paid","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.feesPaidInBaseAsset","id":"88cf9464-968d-4222-ac52-b8e4dc151e69","savedPayload":{"position":{"x":26258.835849581195,"y":16408.995005113888},"targetPosition":{"x":25916.58621085853,"y":16561.46280870457},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"38227d86-ab39-4e74-8eb0-0cd44edf49eb","savedPayload":{"position":{"x":25916.58621085853,"y":16561.46280870457},"targetPosition":{"x":25621.96396165302,"y":16746.306680233338},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"608a9068-7324-4f4c-8fdd-d9d8e42e26c6","savedPayload":{"position":{"x":25621.96396165302,"y":16746.306680233338},"targetPosition":{"x":25354.23363845282,"y":17444.45884346508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Market Buy Order Quoted Asset","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Size","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeInQuotedAsset","id":"1b8818af-996e-4d6b-8a97-f4606714ee91","savedPayload":{"position":{"x":26061.25550494769,"y":16261.236901400414},"targetPosition":{"x":26022.068381438712,"y":16633.869256739785},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"56ca8980-8ba9-4e01-a040-cdf19c9ae7f5","savedPayload":{"position":{"x":26022.068381438712,"y":16633.869256739785},"targetPosition":{"x":25935.39679985265,"y":16973.99146213661},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Size Filled","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeFilledInQuotedAsset","id":"82c2ea84-a616-47e6-920b-1e0804dd20ed","savedPayload":{"position":{"x":26517.853399916883,"y":16502.67094846557},"targetPosition":{"x":26226.65658948197,"y":16738.351739174414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"913a187b-5504-4b85-a382-8f74726a54f4","savedPayload":{"position":{"x":26226.65658948197,"y":16738.351739174414},"targetPosition":{"x":25935.39679985265,"y":16973.99146213661},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Fees Paid","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.feesPaidInQuotedAsset","id":"a337b247-237b-41f8-93a3-3f5a964ae63a","savedPayload":{"position":{"x":26680.575242638966,"y":17051.96549469142},"targetPosition":{"x":26308.01508438468,"y":17013.004788213097},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"040ea111-a7a0-453c-9c65-d731c846324f","savedPayload":{"position":{"x":26308.01508438468,"y":17013.004788213097},"targetPosition":{"x":25935.39679985265,"y":16973.99146213661},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1a55af5e-821d-4421-80d2-2c543d25ea1a","savedPayload":{"position":{"x":25935.39679985265,"y":16973.99146213661},"targetPosition":{"x":25354.23363845282,"y":17444.45884346508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e00fe7d4-894d-4483-a73a-3cd77943ea80","savedPayload":{"position":{"x":25354.13610694824,"y":17444.269222692743},"targetPosition":{"x":25471.345029942826,"y":18184.8045462756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Market Sell Orders","config":"{ \n \"codeName\": \"Market-Sell-Orders\", \n \"icon\": \"trend\",\n \"useRateAtMousePosition\": true\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.rate","id":"df7ab0aa-4814-411b-a2f6-9594f67c7b41","savedPayload":{"position":{"x":24749.91866637749,"y":17759.93755215404},"targetPosition":{"x":24920.185642084733,"y":17426.716960890706},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"788a8d38-a7f8-4e9f-aa91-0d73d83967ba","savedPayload":{"position":{"x":24920.185642084733,"y":17426.716960890706},"targetPosition":{"x":25090.33299259757,"y":17093.31654697176},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.rate","id":"464d3c72-0056-48b0-b044-9131f136797f","savedPayload":{"position":{"x":24342.094181247518,"y":17131.938918227344},"targetPosition":{"x":24716.19439706348,"y":17112.594913500518},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5c7415c1-6a1d-4838-8587-6883c11724b4","savedPayload":{"position":{"x":24716.19439706348,"y":17112.594913500518},"targetPosition":{"x":25090.33299259757,"y":17093.31654697176},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2e23d19b-466f-485b-b61d-ded90fa7b221","savedPayload":{"position":{"x":25090.33299259757,"y":17093.31654697176},"targetPosition":{"x":25404.421709115057,"y":16889.65095927658},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"New Polygon","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 1.5,\n \"lineDash\": [0,0]\n }\n}","id":"fc7ced4a-bcf0-4c18-9e3b-959e7cac59f6","savedPayload":{"position":{"x":24467.58338452526,"y":16419.400978674992},"targetPosition":{"x":24833.956275456065,"y":16497.28960005645},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"10637dce-3cba-4c02-9561-da3ec43bdf0c","savedPayload":{"position":{"x":24833.956275456065,"y":16497.28960005645},"targetPosition":{"x":25200.392208658857,"y":16575.219779632742},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"210399d5-7817-4136-b2bf-59bc5b5c4eb6","savedPayload":{"position":{"x":24996.418462614336,"y":16260.907933559358},"targetPosition":{"x":25200.392208658857,"y":16575.219779632742},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"788a8d38-a7f8-4e9f-aa91-0d73d83967ba"}}},{"type":"Polygon Vertex","name":"End","id":"912ac4dc-6acb-4097-84e9-cf3d72060597","savedPayload":{"position":{"x":25278.153284374934,"y":16208.656989011186},"targetPosition":{"x":25200.392208658857,"y":16575.219779632742},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"5c7415c1-6a1d-4838-8587-6883c11724b4"}}}],"id":"5b8dcb5c-6b20-4edf-aae5-1c526cdca536","savedPayload":{"position":{"x":25200.392208658857,"y":16575.219779632742},"targetPosition":{"x":25404.421709115057,"y":16889.65095927658},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[{"type":"Image","name":"New Image","config":"{ \n\"codeName\": \"bullet-market-sell-order\", \n\"size\": 20\n}","imagePosition":{"type":"Image Position","name":"Begin","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","id":"5321e00c-41b9-42a6-8e9a-e84067288a6a","savedPayload":{"position":{"x":25870.329648772902,"y":16574.7029564738},"targetPosition":{"x":25713.111488535844,"y":16677.029115105244},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin","id":"788a8d38-a7f8-4e9f-aa91-0d73d83967ba"}}},"id":"8ad2d152-57e7-4db6-b810-44bb870c46e2","savedPayload":{"position":{"x":25713.111488535844,"y":16677.029115105244},"targetPosition":{"x":25404.421709115057,"y":16889.65095927658},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[],"id":"c24bfe41-ef93-4f0a-8c96-843536c85a2f","savedPayload":{"position":{"x":25404.421709115057,"y":16889.65095927658},"targetPosition":{"x":25811.618191421298,"y":17516.922712831594},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Market Sell Order","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Serial Number","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.serialNumber","id":"3beb54d7-d0a4-499e-becc-22691e15a292","savedPayload":{"position":{"x":25270.31333581048,"y":17379.902973956123},"targetPosition":{"x":25610.097870315658,"y":17242.690960235246},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b1093c73-8eac-4291-a67f-7e4d546a914b","savedPayload":{"position":{"x":25610.097870315658,"y":17242.690960235246},"targetPosition":{"x":25949.88205841928,"y":17105.238493472418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.rate","id":"08be12d1-b8cd-4ab1-affe-008e4a6c2c17","savedPayload":{"position":{"x":25217.209496160667,"y":17130.681526291388},"targetPosition":{"x":25583.505423998635,"y":17118.007237780203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"18550807-aa68-4b52-83c6-e16a44beb9f6","savedPayload":{"position":{"x":25583.505423998635,"y":17118.007237780203},"targetPosition":{"x":25949.88205841928,"y":17105.238493472418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Status","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.status","id":"917325b0-e9a2-428c-b291-34f6a4a462ed","savedPayload":{"position":{"x":25252.60028522106,"y":16878.858718562624},"targetPosition":{"x":25601.19548351795,"y":16992.062081095883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f6b71a6b-982d-4b61-9693-bbda2cb5abac","savedPayload":{"position":{"x":25601.19548351795,"y":16992.062081095883},"targetPosition":{"x":25949.88205841928,"y":17105.238493472418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Type","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitType","id":"71213f89-f5d2-4946-a100-dd141090ea0c","savedPayload":{"position":{"x":25372.130678047073,"y":16653.978988900555},"targetPosition":{"x":25660.966614372195,"y":16879.59880530383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9dca5f8f-c6c8-475f-ad85-96975552fb12","savedPayload":{"position":{"x":25660.966614372195,"y":16879.59880530383},"targetPosition":{"x":25949.88205841928,"y":17105.238493472418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Order Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.orderName","id":"24ab5826-f6bb-4ca7-b720-2fbd7a7a142c","savedPayload":{"position":{"x":25561.36486122844,"y":16483.56350596803},"targetPosition":{"x":25755.599454320018,"y":16794.37864855976},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2af2f91f-8198-4be6-9ff6-f2fa525573b8","savedPayload":{"position":{"x":25755.599454320018,"y":16794.37864855976},"targetPosition":{"x":25949.88205841928,"y":17105.238493472418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Algorithm Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.algorithmName","id":"a48449db-1def-49af-8210-c06704e34cc9","savedPayload":{"position":{"x":25797.462464496548,"y":16388.168968592938},"targetPosition":{"x":25873.674738057103,"y":16746.682938005815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9b58e3d6-c336-4193-adf4-305640812adf","savedPayload":{"position":{"x":25873.674738057103,"y":16746.682938005815},"targetPosition":{"x":25949.88205841928,"y":17105.238493472418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Situation Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.situationName","id":"e0490e8b-a1f0-463e-808e-d5d4e34b6880","savedPayload":{"position":{"x":26051.507876807646,"y":16379.303703087617},"targetPosition":{"x":26000.747642982238,"y":16742.276048498705},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e865f45c-813d-43c6-861d-bacdf4b90b7d","savedPayload":{"position":{"x":26000.747642982238,"y":16742.276048498705},"targetPosition":{"x":25949.88205841928,"y":17105.238493472418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Periods","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.periods","id":"f43b14f3-f74f-44fc-9901-a3928fc38cdf","savedPayload":{"position":{"x":26263.672308664758,"y":16461.263095245373},"targetPosition":{"x":26121.930268711658,"y":16781.765919356556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7b13f0e5-8cd7-48e7-b743-2fbf89ae2029","savedPayload":{"position":{"x":26121.930268711658,"y":16781.765919356556},"targetPosition":{"x":25949.88205841928,"y":17105.238493472418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a5856620-e9ce-4ee1-830c-5b5dc45e9139","savedPayload":{"position":{"x":25783.70315298311,"y":16786.796066967505},"targetPosition":{"x":25811.618191421298,"y":17516.922712831594},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Market Sell Order Stats","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Percentage Filled","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.percentageFilled","id":"f5522236-9f5c-4fdb-b08d-2e4946abc2e3","savedPayload":{"position":{"x":25692.699363342137,"y":16973.220124804247},"targetPosition":{"x":25835.359881380235,"y":17088.59841058804},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2c7e8609-e799-4098-adfe-0a7b75ccb263","savedPayload":{"position":{"x":25835.359881380235,"y":17088.59841058804},"targetPosition":{"x":26029.30765528533,"y":17245.345683509346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Actual Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.actualRate","id":"c6fe3736-eb2b-4750-b7f0-72ae5ff7d713","savedPayload":{"position":{"x":25973.63513951712,"y":16825.258610136047},"targetPosition":{"x":26003.034557190425,"y":16997.68971226934},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ffc9a08a-8c74-4c50-a441-3f59296079b3","savedPayload":{"position":{"x":26003.034557190425,"y":16997.68971226934},"targetPosition":{"x":26029.30765528533,"y":17245.345683509346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Days","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.days","id":"8636289b-9bd2-4026-a816-e1f75abf64bb","savedPayload":{"position":{"x":26279.769244518153,"y":16910.376154666217},"targetPosition":{"x":26164.856343169144,"y":17053.3535839001},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c54f0f59-b80f-4f72-bd85-ac1fd7a15b19","savedPayload":{"position":{"x":26164.856343169144,"y":17053.3535839001},"targetPosition":{"x":26029.30765528533,"y":17245.345683509346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fb23f6bb-8383-4276-8a77-5180e622653a","savedPayload":{"position":{"x":26151.079114742482,"y":16850.419779358985},"targetPosition":{"x":25811.618191421298,"y":17516.922712831594},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Market Sell Order Base Asset","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Size","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeInBaseAsset","id":"44fa5bfe-9b0b-48a9-a894-ddec881a6ad4","savedPayload":{"position":{"x":26594.373923640498,"y":16376.567278333489},"targetPosition":{"x":26516.55245262842,"y":16743.011540141288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4498020e-77ee-4e27-9e10-9e463b1af7e6","savedPayload":{"position":{"x":26516.55245262842,"y":16743.011540141288},"targetPosition":{"x":26438.75402806073,"y":17109.52842757837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Size Filled","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeFilledInBaseAsset","id":"6e97ae4f-f7e2-4391-bae7-87ae36c4abd0","savedPayload":{"position":{"x":27067.07779770725,"y":16701.28711010068},"targetPosition":{"x":26752.905975544403,"y":16905.377344765562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dc0870d0-d0f2-42d2-aaef-5d7dda44618d","savedPayload":{"position":{"x":26752.905975544403,"y":16905.377344765562},"targetPosition":{"x":26438.75402806073,"y":17109.52842757837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Fees Paid","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.feesPaidInBaseAsset","id":"05ae1a21-206b-4e53-b52d-b00917748c2a","savedPayload":{"position":{"x":27153.02032790691,"y":17210.58254093096},"targetPosition":{"x":26786.463329860293,"y":17132.92798535795},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"93694e2d-8e12-4bd3-9497-2489aa33caca","savedPayload":{"position":{"x":26786.463329860293,"y":17132.92798535795},"targetPosition":{"x":26438.75402806073,"y":17109.52842757837},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3e9e4e57-bd41-41f5-8d52-c92d3a707e80","savedPayload":{"position":{"x":26438.75402806073,"y":17109.52842757837},"targetPosition":{"x":25811.618191421298,"y":17516.922712831594},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Market Sell Order Quoted Asset","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Size","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeInQuotedAsset","id":"394b6e9b-ee43-4cb9-8b7d-fef145bd8846","savedPayload":{"position":{"x":27078.75736801844,"y":16975.58538707181},"targetPosition":{"x":26827.962153173925,"y":17253.93412876616},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"50b03be9-48dc-42db-8f6c-b9bac7d96276","savedPayload":{"position":{"x":26827.962153173925,"y":17253.93412876616},"targetPosition":{"x":26558.502682932693,"y":17478.00789217562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Size Filled","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeFilledInQuotedAsset","id":"34bd06ab-2d1e-4c03-9279-2fef1663d0a3","savedPayload":{"position":{"x":27306.889337396547,"y":17439.24900629721},"targetPosition":{"x":26932.709047182365,"y":17458.663715969018},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5685f2bc-a91c-4e84-92ee-8dfe2bacd4a2","savedPayload":{"position":{"x":26932.709047182365,"y":17458.663715969018},"targetPosition":{"x":26558.502682932693,"y":17478.00789217562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Fees Paid","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.feesPaidInQuotedAsset","id":"b63f1a7f-cbf8-4060-a74f-a2c624f3673f","savedPayload":{"position":{"x":27115.316077610518,"y":17979.236465199363},"targetPosition":{"x":26836.91697773837,"y":17728.661450603424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"28b9cc5b-898f-4cd6-87e9-5a8233362e88","savedPayload":{"position":{"x":26836.91697773837,"y":17728.661450603424},"targetPosition":{"x":26558.502682932693,"y":17478.00789217562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51d59c30-3a02-4d74-aa62-f1524ea544ee","savedPayload":{"position":{"x":26558.502682932693,"y":17478.00789217562},"targetPosition":{"x":25811.618191421298,"y":17516.922712831594},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a9811005-1b7d-45bb-8003-0e60caab5f09","savedPayload":{"position":{"x":25811.679484556655,"y":17516.772431626487},"targetPosition":{"x":25471.345029942826,"y":18184.8045462756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Limit Buy Orders","config":"{ \n \"codeName\": \"Market-Buy-Orders\", \n \"icon\": \"trend\",\n \"useRateAtMousePosition\": true\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.rate","id":"94f80738-6b21-4e8d-8bdf-aa8ef6f8ad4f","savedPayload":{"position":{"x":24586.059526280933,"y":16278.77536777752},"targetPosition":{"x":25138.358211551447,"y":16381.07051202885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"491e71de-b648-48aa-b493-67ed00359e73","savedPayload":{"position":{"x":25138.358211551447,"y":16381.07051202885},"targetPosition":{"x":25690.735069953465,"y":16483.27799020472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.rate","id":"57bd54ae-96c8-4d10-bd6d-adf3d705e47e","savedPayload":{"position":{"x":24793.340213466046,"y":15770.786756659098},"targetPosition":{"x":25220.50474103633,"y":16135.52590270336},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"38fccc9b-d822-4598-a156-95c734ec3d6b","savedPayload":{"position":{"x":25220.50474103633,"y":16135.52590270336},"targetPosition":{"x":25690.735069953465,"y":16483.27799020472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8901df44-b813-47f3-8ded-4e1f6c68ae8b","savedPayload":{"position":{"x":25690.735069953465,"y":16483.27799020472},"targetPosition":{"x":26197.92446296634,"y":16724.792561341023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Status Open","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Open'","id":"bbbba1d8-fbf6-4e15-a4e7-edb6683dd74f","savedPayload":{"position":{"x":25340.10694547308,"y":16089.032763422265},"targetPosition":{"x":25821.624268779593,"y":16307.147328472518},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [2,2]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 1.5,\n \"lineDash\": [0,0]\n }\n}","id":"fa856a62-67b2-45b5-a186-a6538b220858","savedPayload":{"position":{"x":24948.524038469925,"y":15600.011682053184},"targetPosition":{"x":25385.01105612928,"y":15953.54730616546},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"bb28a0e6-1cb3-4138-95f0-069745242288","savedPayload":{"position":{"x":25385.01105612928,"y":15953.54730616546},"targetPosition":{"x":25821.624268779593,"y":16307.147328472518},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"c4de49da-cd9d-4687-b08b-93f8bba1d454","savedPayload":{"position":{"x":25498.152278440524,"y":15841.66426735189},"targetPosition":{"x":25821.624268779593,"y":16307.147328472518},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"491e71de-b648-48aa-b493-67ed00359e73"}}},{"type":"Polygon Vertex","name":"End","id":"7b269f5c-62d2-4f58-a010-71f1179a3312","savedPayload":{"position":{"x":25680.132702974755,"y":15772.807818571482},"targetPosition":{"x":25821.624268779593,"y":16307.147328472518},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"38fccc9b-d822-4598-a156-95c734ec3d6b"}}}],"id":"7be8ba85-07e7-4800-8988-ce76d2105b73","savedPayload":{"position":{"x":25821.624268779593,"y":16307.147328472518},"targetPosition":{"x":26197.92446296634,"y":16724.792561341023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Status Closed Cancel Event","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Closed' && record.exitType === 'Cancel Event'","id":"754cb109-361e-4b50-964a-0b5ef0ba4b70","savedPayload":{"position":{"x":25595.1802783479,"y":15819.0631952216},"targetPosition":{"x":26010.311899882243,"y":16194.820225867119},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [4,4]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 1.5,\n \"lineDash\": [0,0]\n }\n}","id":"6cae8828-961f-4184-b324-453570bf247e","savedPayload":{"position":{"x":25495.662603371897,"y":15182.329609203645},"targetPosition":{"x":25763.61519290333,"y":15675.9966810718},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"bd024ea0-0641-43fe-8d01-63f23a7326cb","savedPayload":{"position":{"x":25763.61519290333,"y":15675.9966810718},"targetPosition":{"x":26010.311899882243,"y":16194.820225867119},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"f05d7b53-3fba-4da7-91c2-154f4f2f92a2","savedPayload":{"position":{"x":25889.520597059345,"y":15640.847832144544},"targetPosition":{"x":26010.311899882243,"y":16194.820225867119},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"491e71de-b648-48aa-b493-67ed00359e73"}}},{"type":"Polygon Vertex","name":"End","id":"bc515a2b-68af-43a1-b0cb-036129122c87","savedPayload":{"position":{"x":26083.879285711864,"y":15646.874470347913},"targetPosition":{"x":26010.311899882243,"y":16194.820225867119},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"38fccc9b-d822-4598-a156-95c734ec3d6b"}}}],"id":"ab881143-5631-4b27-a97a-94138dbd370d","savedPayload":{"position":{"x":26010.311899882243,"y":16194.820225867119},"targetPosition":{"x":26197.92446296634,"y":16724.792561341023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Status Closed Filled","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Closed' && record.exitType === 'Filled'","id":"c206ef6f-d846-4744-b49d-c1261977a591","savedPayload":{"position":{"x":25987.984174357844,"y":15657.371078789987},"targetPosition":{"x":26227.361676979166,"y":16163.31814386424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 2.5,\n \"lineDash\": [0,0]\n }\n}","id":"be3d2e3c-c973-421a-87d7-720472b42080","savedPayload":{"position":{"x":26139.68603306751,"y":15030.897745761895},"targetPosition":{"x":26198.256736602772,"y":15589.548956794692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"daebbf6b-f45b-40f5-8182-bd95d1a657e9","savedPayload":{"position":{"x":26198.256736602772,"y":15589.548956794692},"targetPosition":{"x":26227.361676979166,"y":16163.31814386424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"72d869ee-aa3b-4995-9832-7ab1b06579bf","savedPayload":{"position":{"x":26344.271926077017,"y":15613.719827795745},"targetPosition":{"x":26227.361676979166,"y":16163.31814386424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"491e71de-b648-48aa-b493-67ed00359e73"}}},{"type":"Polygon Vertex","name":"End","id":"da73c5dc-926a-4368-9229-98574af7fec4","savedPayload":{"position":{"x":26508.391464547378,"y":15676.728166141254},"targetPosition":{"x":26227.361676979166,"y":16163.31814386424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"38fccc9b-d822-4598-a156-95c734ec3d6b"}}}],"id":"a54693cf-8ec1-469d-afb9-2a724e4f6af7","savedPayload":{"position":{"x":26227.361676979166,"y":16163.31814386424},"targetPosition":{"x":26197.92446296634,"y":16724.792561341023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[{"type":"Image","name":"Status Closed Cancel Event","config":"{ \n\"codeName\": \"bullet-cancelled-order\", \n\"size\": 10\n}","imageCondition":{"type":"Image Condition","name":"New Image Condition","code":"record.status === 'Closed' && record.exitType === 'Cancel Event'","id":"9c3cb413-e20e-499b-ad72-de3ba1fc6543","savedPayload":{"position":{"x":26491.346209437455,"y":15940.767129915328},"targetPosition":{"x":26440.065873212054,"y":16217.401000885013},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"imagePosition":{"type":"Image Position","name":"End","config":"{ \n\"offsetX\": -5,\n \"offsetY\": 0\n }","id":"b8016af3-22de-4a1b-b4cb-45a23b2928d5","savedPayload":{"position":{"x":26622.928328184484,"y":16003.5102819721},"targetPosition":{"x":26440.065873212054,"y":16217.401000885013},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"End","id":"38fccc9b-d822-4598-a156-95c734ec3d6b"}}},"id":"d562a270-c953-4ebe-9985-9f724e0e7eb6","savedPayload":{"position":{"x":26440.065873212054,"y":16217.401000885013},"targetPosition":{"x":26197.92446296634,"y":16724.792561341023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Image","name":"Starting Point","config":"{ \n\"codeName\": \"bullet-limit-buy-order\", \n\"size\": 15\n}","imagePosition":{"type":"Image Position","name":"Begin","config":"{ \n\"offsetX\": 5,\n \"offsetY\": 0\n }","id":"324aa438-7134-4918-b13e-082f3b3078dc","savedPayload":{"position":{"x":26825.020837225566,"y":16160.529165683985},"targetPosition":{"x":26615.85958975527,"y":16348.729768707868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin","id":"491e71de-b648-48aa-b493-67ed00359e73"}}},"id":"89fe166c-e48e-4a0c-b357-149ffa17f2c2","savedPayload":{"position":{"x":26615.85958975527,"y":16348.729768707868},"targetPosition":{"x":26197.92446296634,"y":16724.792561341023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Image","name":"Status Closed Filled","config":"{ \n\"codeName\": \"bullet-limit-buy-order-filled\", \n\"size\": 20\n}","imageCondition":{"type":"Image Condition","name":"New Image Condition","code":"record.status === 'Closed' && record.exitType === 'Filled'","id":"09ebd654-f653-467c-91f3-e8b9ec95feeb","savedPayload":{"position":{"x":26959.898443168513,"y":16378.202906099483},"targetPosition":{"x":26727.997316432273,"y":16537.44583069873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"imagePosition":{"type":"Image Position","name":"End","config":"{ \n\"offsetX\": -5,\n \"offsetY\": 0\n }","id":"a22c8598-870b-4d86-bb42-938cb21a5d28","savedPayload":{"position":{"x":27008.50577946452,"y":16515.64453328297},"targetPosition":{"x":26727.997316432273,"y":16537.44583069873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"End","id":"38fccc9b-d822-4598-a156-95c734ec3d6b"}}},"id":"7c9a0ee3-b3f4-44c7-b51b-0efc830fd8d5","savedPayload":{"position":{"x":26727.997316432273,"y":16537.44583069873},"targetPosition":{"x":26197.92446296634,"y":16724.792561341023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[],"id":"3ea3861e-f37d-4d78-a45e-9b5fa738aefd","savedPayload":{"position":{"x":26197.92446296634,"y":16724.792561341023},"targetPosition":{"x":26139.279586343233,"y":17844.66393386529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Limit Buy Order","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Serial Number","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.serialNumber","id":"5cec4759-6b80-42b0-9443-1b831b5b7d09","savedPayload":{"position":{"x":25839.520774648186,"y":16844.729747350353},"targetPosition":{"x":26030.779213225724,"y":17098.389452365012},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b09e6f5e-9273-4e1c-a54a-43ce45bc6dd8","savedPayload":{"position":{"x":26030.779213225724,"y":17098.389452365012},"targetPosition":{"x":26310.926817547024,"y":17460.705984473396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.rate","id":"f26cae34-697d-4ad2-a143-1693300d3311","savedPayload":{"position":{"x":26081.1492288885,"y":16718.485801362534},"targetPosition":{"x":26174.024723435738,"y":17022.524368134324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"387d66c8-900b-4e9d-8bc9-ea37b257256a","savedPayload":{"position":{"x":26174.024723435738,"y":17022.524368134324},"targetPosition":{"x":26310.926817547024,"y":17460.705984473396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Status","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.status","id":"b6443228-7052-4e44-8338-44a3d2498ae0","savedPayload":{"position":{"x":26350.131394734948,"y":16684.161952212493},"targetPosition":{"x":26333.57552282128,"y":17001.768915162287},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d6f79efe-1f80-4033-92a1-6869a7e9fb06","savedPayload":{"position":{"x":26333.57552282128,"y":17001.768915162287},"targetPosition":{"x":26310.926817547024,"y":17460.705984473396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Type","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitType","id":"c448c5dc-5941-4bca-9328-79703fa9cabf","savedPayload":{"position":{"x":26614.390851391137,"y":16744.256958459442},"targetPosition":{"x":26489.943393495392,"y":17037.275687191617},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5bdddc9e-d08c-4944-8add-a1c1753489b1","savedPayload":{"position":{"x":26489.943393495392,"y":17037.275687191617},"targetPosition":{"x":26310.926817547024,"y":17460.705984473396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Order Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.orderName","id":"482dca74-9ba2-4a76-8101-fc24179e9299","savedPayload":{"position":{"x":26841.50307556864,"y":16891.596992091232},"targetPosition":{"x":26624.563015671192,"y":17124.042992508068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bc07d18f-6016-4959-ae36-efd2b9bd44f8","savedPayload":{"position":{"x":26624.563015671192,"y":17124.042992508068},"targetPosition":{"x":26310.926817547024,"y":17460.705984473396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Algorithm Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.algorithmName","id":"7a0ad104-5485-4807-891e-2aa1b970020c","savedPayload":{"position":{"x":27004.647709815898,"y":17107.574544065763},"targetPosition":{"x":26720.925452476375,"y":17251.78937096081},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b04fe3cd-9003-4a69-a49d-ad6eface3203","savedPayload":{"position":{"x":26720.925452476375,"y":17251.78937096081},"targetPosition":{"x":26310.926817547024,"y":17460.705984473396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Situation Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.situationName","id":"cadd0d45-e81e-40fe-ac32-76bb35061bf2","savedPayload":{"position":{"x":27083.421494033337,"y":17366.417494960642},"targetPosition":{"x":26768.068994502195,"y":17404.718128900655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7239341a-6c4b-468a-bee8-21b27c2fa9d9","savedPayload":{"position":{"x":26768.068994502195,"y":17404.718128900655},"targetPosition":{"x":26310.926817547024,"y":17460.705984473396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Periods","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.periods","id":"d62047f4-7a35-4249-8b91-ffcc53228417","savedPayload":{"position":{"x":27065.098117231082,"y":17646.70383417113},"targetPosition":{"x":26754.843682533174,"y":17574.298399856838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a34576ad-99d8-469e-8b78-1bacb5aa7ee2","savedPayload":{"position":{"x":26754.843682533174,"y":17574.298399856838},"targetPosition":{"x":26310.926817547024,"y":17460.705984473396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"48ec80a7-6f68-4284-9bb5-f04ce3c1052b","savedPayload":{"position":{"x":26547.016604901022,"y":17217.09601353226},"targetPosition":{"x":26139.279586343233,"y":17844.66393386529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Limit Buy Order Stats","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Percentage Filled","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.percentageFilled","id":"bf5f428c-4b90-47d1-b001-8a3478e74522","savedPayload":{"position":{"x":26215.744370251676,"y":17393.41353984155},"targetPosition":{"x":26358.404888289773,"y":17508.791825625343},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"94b4e199-d798-4ba3-8fc7-3d739ae55cb1","savedPayload":{"position":{"x":26358.404888289773,"y":17508.791825625343},"targetPosition":{"x":26552.35266219487,"y":17665.539098546647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Actual Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.actualRate","id":"cf967a95-e485-4fbe-9647-4b86624511f3","savedPayload":{"position":{"x":26496.680146426657,"y":17245.452025173345},"targetPosition":{"x":26526.079564099964,"y":17417.883127306643},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bd576bff-fa79-4ea3-87b7-565a2877a7b7","savedPayload":{"position":{"x":26526.079564099964,"y":17417.883127306643},"targetPosition":{"x":26552.35266219487,"y":17665.539098546647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Days","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.days","id":"c523a647-b720-4932-ae18-771cb70e3145","savedPayload":{"position":{"x":26802.81425142769,"y":17330.569569703515},"targetPosition":{"x":26687.901350078682,"y":17473.546998937403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"32b22d53-13c5-44db-941c-e29a4c1f05f7","savedPayload":{"position":{"x":26687.901350078682,"y":17473.546998937403},"targetPosition":{"x":26552.35266219487,"y":17665.539098546647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"90bd6690-de93-4158-a17f-728c28defc38","savedPayload":{"position":{"x":26806.279350114608,"y":17504.978548133964},"targetPosition":{"x":26139.279586343233,"y":17844.66393386529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Limit Buy Order Base Asset","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Size","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeInBaseAsset","id":"50c5c78c-49ba-43c1-9000-dfb7a2890db5","savedPayload":{"position":{"x":27174.42740560968,"y":17508.087845937593},"targetPosition":{"x":26938.92827047577,"y":17720.099271153897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e60271d1-8ce8-47e1-9776-42b583c9f2d6","savedPayload":{"position":{"x":26938.92827047577,"y":17720.099271153897},"targetPosition":{"x":26599.600999444443,"y":18025.86211070353},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Size Filled","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeFilledInBaseAsset","id":"65c1b916-6c36-4818-901a-7b6411c523b2","savedPayload":{"position":{"x":27372.506969563958,"y":18066.024283002414},"targetPosition":{"x":27054.759936787967,"y":18049.597120613977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"63d19192-c46d-4e53-bf40-c229089d93b6","savedPayload":{"position":{"x":27054.759936787967,"y":18049.597120613977},"targetPosition":{"x":26599.600999444443,"y":18025.86211070353},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Fees Paid","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.feesPaidInBaseAsset","id":"7a32b13c-7e88-48d1-9ef7-dee529f39c95","savedPayload":{"position":{"x":27117.5787956666,"y":18600.943146731624},"targetPosition":{"x":26905.05404149945,"y":18365.04915827637},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b1a42210-66b9-4e3a-aef5-4b0f385bcfc8","savedPayload":{"position":{"x":26905.05404149945,"y":18365.04915827637},"targetPosition":{"x":26599.600999444443,"y":18025.86211070353},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8504b6e3-83c8-45ea-959a-41303f9d4274","savedPayload":{"position":{"x":26886.844188844036,"y":17883.775924927813},"targetPosition":{"x":26139.279586343233,"y":17844.66393386529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Limit Buy Order Quoted Asset","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Size","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeInQuotedAsset","id":"0b1e5b50-51c0-4753-b11f-37fe4179f81f","savedPayload":{"position":{"x":27255.905648596738,"y":18177.43630018128},"targetPosition":{"x":26944.08379991229,"y":18243.70523216879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d30de7e2-c899-49da-b015-95ca5ca26133","savedPayload":{"position":{"x":26944.08379991229,"y":18243.70523216879},"targetPosition":{"x":26498.174089175543,"y":18338.662656737823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Size Filled","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeFilledInQuotedAsset","id":"d6a5ced0-9c91-4d52-ad4a-ac544a917496","savedPayload":{"position":{"x":27147.527686477177,"y":18760.17435970883},"targetPosition":{"x":26880.928420935088,"y":18587.15239263583},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3c7ad592-3802-479f-9f03-c7f5d90aa827","savedPayload":{"position":{"x":26880.928420935088,"y":18587.15239263583},"targetPosition":{"x":26498.174089175543,"y":18338.662656737823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Fees Paid","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.feesPaidInQuotedAsset","id":"7b5c11c3-8e14-4de1-9f05-46d958bac220","savedPayload":{"position":{"x":26659.123886502704,"y":19096.015661650654},"targetPosition":{"x":26592.957890978683,"y":18784.71514709761},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d0862104-b7d8-42da-bc28-b4218d1cad2e","savedPayload":{"position":{"x":26592.957890978683,"y":18784.71514709761},"targetPosition":{"x":26498.174089175543,"y":18338.662656737823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b60e7e48-8ae7-4701-848b-8faa9ba58c11","savedPayload":{"position":{"x":26767.114641445914,"y":18252.315217694064},"targetPosition":{"x":26139.279586343233,"y":17844.66393386529},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7e3120c7-a0c9-483c-ada9-8c53deb10f33","savedPayload":{"position":{"x":26139.3704617056,"y":17844.46836521267},"targetPosition":{"x":25471.345029942826,"y":18184.8045462756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Module","name":"Limit Sell Orders","config":"{ \n \"codeName\": \"Market-Sell-Orders\", \n \"icon\": \"trend\",\n \"useRateAtMousePosition\": true\n}","shapes":{"type":"Shapes","name":"New Shapes","chartPoints":[{"type":"Chart Points","name":"New Chart Points","points":[{"type":"Point","name":"Begin","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.rate","id":"7f75a437-7e83-43b8-8353-459cec82a3da","savedPayload":{"position":{"x":25875.62583529475,"y":16123.395882222663},"targetPosition":{"x":26262.593256891225,"y":16531.234705500126},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d8a8ba4d-ceac-43f7-9cac-b15d3c577e0a","savedPayload":{"position":{"x":26262.593256891225,"y":16531.234705500126},"targetPosition":{"x":26649.13216683521,"y":16938.306687669792},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"End","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.rate","id":"d69fedc3-dcb6-4b3a-a8a5-7db14d37f8da","savedPayload":{"position":{"x":26335.14869792057,"y":15826.746909616519},"targetPosition":{"x":26466.17967674842,"y":16373.004585439416},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a7c33161-bd93-4a7d-9d79-d6e6c3f3b292","savedPayload":{"position":{"x":26466.17967674842,"y":16373.004585439416},"targetPosition":{"x":26649.13216683521,"y":16938.306687669792},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"045c78e6-ddff-4981-b497-31d6d19f9ef1","savedPayload":{"position":{"x":26649.13216683521,"y":16938.306687669792},"targetPosition":{"x":26917.19280806739,"y":17431.450016724466},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Status Open","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Open'","id":"5aeb9711-2374-4a99-b757-f037eb05db27","savedPayload":{"position":{"x":26573.604031561357,"y":16444.598250042556},"targetPosition":{"x":26858.52055621916,"y":16872.63383772474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [2,2]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 1.5,\n \"lineDash\": [0,0]\n }\n}","id":"f829eef3-dc45-4244-934b-8955baa9a363","savedPayload":{"position":{"x":26599.69077419537,"y":15786.67825735026},"targetPosition":{"x":26744.371602759493,"y":16329.452648185477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"f24f885d-8cb5-4519-a209-9dccea0d7b32","savedPayload":{"position":{"x":26744.371602759493,"y":16329.452648185477},"targetPosition":{"x":26858.52055621916,"y":16872.63383772474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"4f668994-11ef-4a59-a41c-b238fb22c449","savedPayload":{"position":{"x":26867.181457349474,"y":16299.403798514752},"targetPosition":{"x":26858.52055621916,"y":16872.63383772474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"d8a8ba4d-ceac-43f7-9cac-b15d3c577e0a"}}},{"type":"Polygon Vertex","name":"End","id":"95434555-e691-495e-ba26-d489c6356590","savedPayload":{"position":{"x":27060.016435304642,"y":16359.40112533202},"targetPosition":{"x":26858.52055621916,"y":16872.63383772474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"a7c33161-bd93-4a7d-9d79-d6e6c3f3b292"}}}],"id":"186d1b59-7d04-4b40-83c9-acc361b8a12a","savedPayload":{"position":{"x":26858.52055621916,"y":16872.63383772474},"targetPosition":{"x":26917.19280806739,"y":17431.450016724466},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Status Closed Cancel Event","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Closed' && record.exitType === 'Cancel Event'","id":"831bf4d8-74d0-4451-9ac1-74129aed4035","savedPayload":{"position":{"x":26977.482235802698,"y":16296.81115336115},"targetPosition":{"x":27076.94374541954,"y":16892.558241511266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [4,4]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 1.5,\n \"lineDash\": [0,0]\n }\n}","id":"1981c910-838a-472d-bef0-df163a5ba786","savedPayload":{"position":{"x":27257.198642177405,"y":15769.57158611154},"targetPosition":{"x":27183.785191400264,"y":16326.46822920491},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"34016ca1-5c63-4cad-8f9e-5f042f3ff604","savedPayload":{"position":{"x":27183.785191400264,"y":16326.46822920491},"targetPosition":{"x":27076.94374541954,"y":16892.558241511266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"bf1708a8-16c7-45fc-88c4-1ad7aace15ea","savedPayload":{"position":{"x":27304.94149287744,"y":16373.452241694491},"targetPosition":{"x":27076.94374541954,"y":16892.558241511266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"d8a8ba4d-ceac-43f7-9cac-b15d3c577e0a"}}},{"type":"Polygon Vertex","name":"End","id":"db93470c-9f50-465c-b5f1-e222beb27f6c","savedPayload":{"position":{"x":27458.566648312168,"y":16492.86929112822},"targetPosition":{"x":27076.94374541954,"y":16892.558241511266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"a7c33161-bd93-4a7d-9d79-d6e6c3f3b292"}}}],"id":"8e993263-dbfc-4d41-864a-9470e70d7e4f","savedPayload":{"position":{"x":27076.94374541954,"y":16892.558241511266},"targetPosition":{"x":26917.19280806739,"y":17431.450016724466},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Status Closed Filled","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.status === 'Closed' && record.exitType === 'Filled'","id":"efdea12d-4ac6-4fa1-819f-1de25267d9bc","savedPayload":{"position":{"x":27375.006711728187,"y":16444.721193622696},"targetPosition":{"x":27271.168735483167,"y":16994.71072830357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 2.5,\n \"lineDash\": [0,0]\n }\n}","id":"753d66c8-8384-4ae0-bdae-8cfa0a3564b6","savedPayload":{"position":{"x":27865.797070799414,"y":16027.044485735834},"targetPosition":{"x":27584.915472654477,"y":16513.383968868744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"decddc18-331d-4a58-bf36-02808c215d87","savedPayload":{"position":{"x":27584.915472654477,"y":16513.383968868744},"targetPosition":{"x":27271.168735483167,"y":16994.71072830357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Begin","id":"373ba1e5-fa16-405f-b4f2-4d2d3cea3acb","savedPayload":{"position":{"x":27688.878505226618,"y":16618.988873979306},"targetPosition":{"x":27271.168735483167,"y":16994.71072830357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Begin","id":"d8a8ba4d-ceac-43f7-9cac-b15d3c577e0a"}}},{"type":"Polygon Vertex","name":"End","id":"b67222e6-6186-4e69-ad67-a3a6c5a89201","savedPayload":{"position":{"x":27784.5739336403,"y":16766.405361442914},"targetPosition":{"x":27271.168735483167,"y":16994.71072830357},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"End","id":"a7c33161-bd93-4a7d-9d79-d6e6c3f3b292"}}}],"id":"bf0751d6-fdb2-4e66-a39c-2bd99252bd60","savedPayload":{"position":{"x":27271.168735483167,"y":16994.71072830357},"targetPosition":{"x":26917.19280806739,"y":17431.450016724466},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[{"type":"Image","name":"Status Closed Cancel Event","config":"{ \n\"codeName\": \"bullet-cancelled-order\", \n\"size\": 10\n}","imageCondition":{"type":"Image Condition","name":"New Image Condition","code":"record.status === 'Closed' && record.exitType === 'Cancel Event'","id":"191dc665-7aaf-4aa6-8c8e-966ded042b38","savedPayload":{"position":{"x":27615.685794079604,"y":16969.92563570906},"targetPosition":{"x":27411.426373634968,"y":17163.481017592996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"imagePosition":{"type":"Image Position","name":"End","config":"{ \n\"offsetX\": -5,\n \"offsetY\": 0\n }","id":"ed6c3f2f-fa06-45f6-af44-7038503f9c5c","savedPayload":{"position":{"x":27685.262285561683,"y":17098.062559711823},"targetPosition":{"x":27411.426373634968,"y":17163.481017592996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"End","id":"a7c33161-bd93-4a7d-9d79-d6e6c3f3b292"}}},"id":"5533709c-4ba8-4b2e-af48-827be2e1fe75","savedPayload":{"position":{"x":27411.426373634968,"y":17163.481017592996},"targetPosition":{"x":26917.19280806739,"y":17431.450016724466},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Image","name":"Starting Point","config":"{ \n\"codeName\": \"bullet-limit-sell-order\", \n\"size\": 15\n}","imagePosition":{"type":"Image Position","name":"Begin","config":"{ \n\"offsetX\": 5,\n \"offsetY\": 0\n }","id":"8a78cf69-decb-4ab7-b182-f96676867972","savedPayload":{"position":{"x":27756.398154188748,"y":17343.866624209753},"targetPosition":{"x":27476.421378762047,"y":17373.038902635817},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"Begin","id":"d8a8ba4d-ceac-43f7-9cac-b15d3c577e0a"}}},"id":"5c00fd53-4ca0-4903-9b02-ccb5afd7df12","savedPayload":{"position":{"x":27476.421378762047,"y":17373.038902635817},"targetPosition":{"x":26917.19280806739,"y":17431.450016724466},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Image","name":"Status Closed Filled","config":"{ \n\"codeName\": \"bullet-limit-sell-order-filled\", \n\"size\": 20\n}","imageCondition":{"type":"Image Condition","name":"New Image Condition","code":"record.status === 'Closed' && record.exitType === 'Filled'","id":"510f3cbf-b1ba-4a5f-9db3-b90c91c6c38b","savedPayload":{"position":{"x":27737.524425048665,"y":17598.74709372508},"targetPosition":{"x":27456.182424374732,"y":17591.389017239704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"imagePosition":{"type":"Image Position","name":"End","config":"{ \n\"offsetX\": -5,\n \"offsetY\": 0\n }","id":"5feb84a7-3898-4c30-87c9-40b3d141eb5e","savedPayload":{"position":{"x":27696.027459885267,"y":17738.56055627448},"targetPosition":{"x":27456.182424374732,"y":17591.389017239704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Point","name":"End","id":"a7c33161-bd93-4a7d-9d79-d6e6c3f3b292"}}},"id":"8564bc89-fb34-453f-8c5c-75459681cd7d","savedPayload":{"position":{"x":27456.182424374732,"y":17591.389017239704},"targetPosition":{"x":26917.19280806739,"y":17431.450016724466},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"texts":[],"id":"42719bff-262a-4401-9611-761f0db1e790","savedPayload":{"position":{"x":26917.19280806739,"y":17431.450016724466},"targetPosition":{"x":26211.705373039615,"y":18302.310660002582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Limit Sell Order","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Serial Number","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.serialNumber","id":"c5062c3f-117f-4c7f-8baf-1181e07c1f44","savedPayload":{"position":{"x":25609.880192707555,"y":19270.643344420576},"targetPosition":{"x":25949.664727212734,"y":19133.4313306997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d2775824-cc6b-415a-a9a1-083a6f143c28","savedPayload":{"position":{"x":25949.664727212734,"y":19133.4313306997},"targetPosition":{"x":26289.448915316356,"y":18995.97886393687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.rate","id":"f1a1e227-ac94-4216-a73a-8e1499532932","savedPayload":{"position":{"x":25556.776353057743,"y":19021.42189675584},"targetPosition":{"x":25923.07228089571,"y":19008.747608244656},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9714ab0d-e1c1-4556-9467-d08f7cde214c","savedPayload":{"position":{"x":25923.07228089571,"y":19008.747608244656},"targetPosition":{"x":26289.448915316356,"y":18995.97886393687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Status","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.status","id":"5a83a8c5-a25c-4489-8659-a2de66406218","savedPayload":{"position":{"x":25592.167142118135,"y":18769.599089027077},"targetPosition":{"x":25940.762340415025,"y":18882.802451560336},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"86407d60-10e5-43bf-ab20-ef5aadee9b29","savedPayload":{"position":{"x":25940.762340415025,"y":18882.802451560336},"targetPosition":{"x":26289.448915316356,"y":18995.97886393687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Exit Type","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.exitType","id":"4471f450-8aa3-428e-a2d7-11ea1f32fbce","savedPayload":{"position":{"x":25711.69753494415,"y":18544.719359365008},"targetPosition":{"x":26000.53347126927,"y":18770.339175768284},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5d944f70-0ef5-423a-88da-ee0d5cdf73ee","savedPayload":{"position":{"x":26000.53347126927,"y":18770.339175768284},"targetPosition":{"x":26289.448915316356,"y":18995.97886393687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Order Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.orderName","id":"dbf9a292-37f8-424e-800e-b479ae70f3de","savedPayload":{"position":{"x":25900.931718125517,"y":18374.30387643248},"targetPosition":{"x":26095.166311217094,"y":18685.119019024212},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a268a651-1823-4ae5-b1d3-8bb325ca0ad7","savedPayload":{"position":{"x":26095.166311217094,"y":18685.119019024212},"targetPosition":{"x":26289.448915316356,"y":18995.97886393687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Algorithm Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.algorithmName","id":"fc31dc8f-c014-43a2-b0e9-5885f0456011","savedPayload":{"position":{"x":26137.029321393624,"y":18278.90933905739},"targetPosition":{"x":26213.24159495418,"y":18637.42330847027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"09a1d252-4dd5-42f2-841a-0f9db2b2c1d4","savedPayload":{"position":{"x":26213.24159495418,"y":18637.42330847027},"targetPosition":{"x":26289.448915316356,"y":18995.97886393687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Situation Name","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.situationName","id":"ec99ec3d-02cc-445e-9281-f17347a84fc9","savedPayload":{"position":{"x":26391.07473370472,"y":18270.044073552068},"targetPosition":{"x":26340.314499879314,"y":18633.016418963158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d9cee878-f71a-4829-8ce4-0debdc3833fa","savedPayload":{"position":{"x":26340.314499879314,"y":18633.016418963158},"targetPosition":{"x":26289.448915316356,"y":18995.97886393687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Periods","config":"{\n \"valueDecimals\": 0\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.periods","id":"55e5a5ee-fcbc-4ac0-ae44-4fc4ef2ca64f","savedPayload":{"position":{"x":26603.239165561834,"y":18352.003465709826},"targetPosition":{"x":26461.497125608734,"y":18672.50628982101},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a08ab071-656a-4f19-8d63-694d32f88b83","savedPayload":{"position":{"x":26461.497125608734,"y":18672.50628982101},"targetPosition":{"x":26289.448915316356,"y":18995.97886393687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5d485d15-9919-42cc-9399-54c679d7085d","savedPayload":{"position":{"x":26910.302115336704,"y":18034.66485247684},"targetPosition":{"x":26211.705373039615,"y":18302.310660002582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Limit Sell Order Stats","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Percentage Filled","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.percentageFilled","id":"e34fb8e5-a23a-461f-86b1-ee87aed3c3cf","savedPayload":{"position":{"x":26992.0723962566,"y":18232.14371165281},"targetPosition":{"x":26864.42963948916,"y":18325.545570627848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cc61478e-bfdb-439b-a55c-4238c8ba920a","savedPayload":{"position":{"x":26864.42963948916,"y":18325.545570627848},"targetPosition":{"x":26652.795627538373,"y":18480.671535225363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Actual Rate","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.actualRate","id":"ae5c666b-5001-479a-8d1f-2f00079e5585","savedPayload":{"position":{"x":27068.080870283033,"y":18545.620670988774},"targetPosition":{"x":26911.591419073797,"y":18521.417591734717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"172b26d5-66ca-4bcc-b453-e97fe8b0d06f","savedPayload":{"position":{"x":26911.591419073797,"y":18521.417591734717},"targetPosition":{"x":26652.795627538373,"y":18480.671535225363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Days","config":"{\n \"valueDecimals\": 2\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.days","id":"c119f6cb-3354-4c7f-9d75-a4027adbdc2d","savedPayload":{"position":{"x":26897.88105174628,"y":18822.21496175113},"targetPosition":{"x":26805.92639171644,"y":18693.27010543133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"906f7f52-dedc-4c67-a18c-e1be9e753c5b","savedPayload":{"position":{"x":26805.92639171644,"y":18693.27010543133},"targetPosition":{"x":26652.795627538373,"y":18480.671535225363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"db2f6e9c-ce79-4465-a0dc-8ea02fac26b7","savedPayload":{"position":{"x":26950.800227337946,"y":18419.490520849467},"targetPosition":{"x":26211.705373039615,"y":18302.310660002582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Limit Sell Order Base Asset","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Size","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeInBaseAsset","id":"ace027c0-94cc-4f43-b7bc-5c845840b58f","savedPayload":{"position":{"x":27290.118642669102,"y":18700.96465435519},"targetPosition":{"x":26973.693916083277,"y":18733.821636006396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7bf8afbb-b802-4355-812c-2b9c2bf10a71","savedPayload":{"position":{"x":26973.693916083277,"y":18733.821636006396},"targetPosition":{"x":26520.36200037679,"y":18781.263842312026},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Size Filled","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeFilledInBaseAsset","id":"2e2c5d6c-3539-498f-b2ca-a720877aa5a3","savedPayload":{"position":{"x":27121.757142379465,"y":19268.57138872106},"targetPosition":{"x":26874.809412502742,"y":19068.470960417053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a75fbc3b-400f-4246-8946-22b17df79b7e","savedPayload":{"position":{"x":26874.809412502742,"y":19068.470960417053},"targetPosition":{"x":26520.36200037679,"y":18781.263842312026},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Fees Paid","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.feesPaidInBaseAsset","id":"5d54cc4b-46d5-4931-a687-d62dc4764ca1","savedPayload":{"position":{"x":26601.17520314173,"y":19551.37925824329},"targetPosition":{"x":26568.04104559584,"y":19235.264803650254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a22de527-1426-4575-a7bc-cce1aaf9c28c","savedPayload":{"position":{"x":26568.04104559584,"y":19235.264803650254},"targetPosition":{"x":26520.36200037679,"y":18781.263842312026},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3e34000e-ad8c-4049-9eee-89e8ea362a0f","savedPayload":{"position":{"x":26793.205856755056,"y":18773.25878335093},"targetPosition":{"x":26211.705373039615,"y":18302.310660002582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter Panel","name":"Limit Sell Order Quoted Asset","config":"{ \n \"codeName\": \"\"\n}","panelData":[{"type":"Panel Data","name":"Size","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeInQuotedAsset","id":"8b27eaa0-3c2b-42ea-830a-dbec2b2ddf21","savedPayload":{"position":{"x":26961.59633919207,"y":19289.145386940756},"targetPosition":{"x":26671.39116256476,"y":19159.96491881869},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ea964346-031e-4c3e-9e72-c644659cc7e0","savedPayload":{"position":{"x":26671.39116256476,"y":19159.96491881869},"targetPosition":{"x":26254.531247833645,"y":18974.50594254728},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Size Filled","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.sizeFilledInQuotedAsset","id":"b9d28a73-c3a6-4da6-b86b-19f524a02b8a","savedPayload":{"position":{"x":26531.878839175366,"y":19697.01120346041},"targetPosition":{"x":26417.785498098317,"y":19399.980505865737},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b65033c3-ee30-48c1-9ce5-a517f4ec24f5","savedPayload":{"position":{"x":26417.785498098317,"y":19399.980505865737},"targetPosition":{"x":26254.531247833645,"y":18974.50594254728},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Fees Paid","config":"{\n \"valueDecimals\": 10\n}","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.feesPaidInQuotedAsset","id":"3b945002-5861-43c5-8cdd-835c6639acd6","savedPayload":{"position":{"x":25939.914514576503,"y":19682.149708045836},"targetPosition":{"x":26069.1824601456,"y":19391.27495675221},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b57e89db-a5bc-4d67-86ab-acee68676d5f","savedPayload":{"position":{"x":26069.1824601456,"y":19391.27495675221},"targetPosition":{"x":26254.531247833645,"y":18974.50594254728},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ae18b041-f16e-4d96-8a83-56845dddf64a","savedPayload":{"position":{"x":26479.832789439744,"y":19000.909677347816},"targetPosition":{"x":26211.705373039615,"y":18302.310660002582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fb243322-ec2a-4f03-bb77-e97e4699d1c6","savedPayload":{"position":{"x":26211.862590639554,"y":18302.014361744335},"targetPosition":{"x":25471.345029942826,"y":18184.8045462756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"93c15cbf-185a-4b59-b55f-847f437bb841","savedPayload":{"position":{"x":25259.41545560053,"y":18396.694994263296},"targetPosition":{"x":24941.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6a54eece-4582-4cda-a854-1cd805e00fed","savedPayload":{"position":{"x":24941.217404066585,"y":18714.893045797242},"targetPosition":{"x":24941.217404066585,"y":18714.893045797242},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}
\ No newline at end of file
diff --git a/Plugins/Trading-Systems/Masters-Lightning-Strike.json b/Plugins/Trading-Systems/Masters-Lightning-Strike.json
deleted file mode 100644
index 346a25bda..000000000
--- a/Plugins/Trading-Systems/Masters-Lightning-Strike.json
+++ /dev/null
@@ -1 +0,0 @@
-{"type":"Trading System","name":"Lightning Strike","config":"{ \n\"codeName\": \"Lightning Strike\"\n}","tradingStrategies":[{"type":"Trading Strategy","name":"My Trading Strategy","triggerStage":{"type":"Trigger Stage","triggerOn":{"type":"Trigger On Event","situations":[{"type":"Situation","name":"Inmediate Trigger On","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","id":"e2ea7ded-2be1-43a3-a7fa-de3d9b8eeec4","savedPayload":{"position":{"x":31009.345537114667,"y":29641.264363248516},"targetPosition":{"x":31454.096259318965,"y":29867.859646712426},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e693623c-e11f-49e3-99da-1897c7a47563","savedPayload":{"position":{"x":31454.096259318965,"y":29867.859646712426},"targetPosition":{"x":31898.948096117412,"y":30094.527093006476},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9135663f-deeb-4b3f-8855-91750810a406","savedPayload":{"position":{"x":31898.948096117412,"y":30094.527093006476},"targetPosition":{"x":32344.606420886405,"y":30321.488889627235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"05f2f6b7-15ab-4386-a299-91a949de634e","savedPayload":{"position":{"x":32344.606420886405,"y":30321.488889627235},"targetPosition":{"x":32790.22293559008,"y":30548.406010951592},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"triggerOff":{"type":"Trigger Off Event","situations":[{"type":"Situation","name":"Never Trigger Off","conditions":[{"type":"Condition","name":"Close Above MA","javascriptCode":{"type":"Javascript Code","code":"false","id":"0eb59e3b-ccc8-4eab-a1f2-a7c8dea28949","savedPayload":{"position":{"x":32172.836612408217,"y":28647.647426362768},"targetPosition":{"x":32327.059454816794,"y":29122.310413107418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"31ab47dd-fe2d-47ac-9a77-08ec8beee068","savedPayload":{"position":{"x":32327.059454816794,"y":29122.310413107418},"targetPosition":{"x":32481.31006690743,"y":29597.163654202104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fa93a965-e836-42b3-9784-79acda1468dd","savedPayload":{"position":{"x":32481.31006690743,"y":29597.163654202104},"targetPosition":{"x":32635.740280232243,"y":30072.847206458973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"8a46ebed-4ed4-4b70-882b-416ffa1b37f6","savedPayload":{"position":{"x":32635.740280232243,"y":30072.847206458973},"targetPosition":{"x":32790.22293559008,"y":30548.406010951592},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takePosition":{"type":"Take Position Event","situations":[{"type":"Situation","name":"Inmediate Take Position","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","id":"90dda64b-17fd-469c-8066-3855596795ab","savedPayload":{"position":{"x":33705.303575265214,"y":28740.226973794255},"targetPosition":{"x":33478.88254713001,"y":29185.011603913717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4054a522-7863-4ac2-9eab-26db2a6f037f","savedPayload":{"position":{"x":33478.88254713001,"y":29185.011603913717},"targetPosition":{"x":33243.83631252263,"y":29657.20922965271},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0b8d71ab-6430-4e3f-840a-162745ab8d22","savedPayload":{"position":{"x":33243.83631252263,"y":29657.20922965271},"targetPosition":{"x":33017.00489673196,"y":30102.801586361402},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"f8ca03db-0afa-4c98-abad-d9a5d17bdd36","savedPayload":{"position":{"x":33017.00489673196,"y":30102.801586361402},"targetPosition":{"x":32790.22293559008,"y":30548.406010951592},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"a31576e1-6f47-4e02-8953-c863c79cf783","savedPayload":{"position":{"x":32790.41126749725,"y":30548.190299998096},"targetPosition":{"x":32944.88921624964,"y":31023.821104724644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},"openStage":{"type":"Open Stage","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","targetRate":{"type":"Target Rate","name":"New Target Rate","formula":{"type":"Formula","name":"Entry Target Rate","code":"tradingEngine.current.episode.candle.close.value","id":"c9aada83-91b0-4b34-955a-858bd201b4e2","savedPayload":{"position":{"x":33448.25964936278,"y":29280.41438209381},"targetPosition":{"x":33500.254754356094,"y":29776.797185559502},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9158b840-9adc-4476-9137-72cc97037498","savedPayload":{"position":{"x":33500.254754356094,"y":29776.797185559502},"targetPosition":{"x":33552.172363266734,"y":30272.794022937273},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInQuotedAsset":{"type":"Target Size In Quoted Asset","name":"New Target Size In Quoted Asset","formula":{"type":"Formula","name":"Target Size in Quoted Asset","code":"tradingEngine.current.episode.episodeQuotedAsset.balance.value\n","id":"a1796525-0b97-4b83-bf89-6f084f69cae2","savedPayload":{"position":{"x":34359.4235848001,"y":29685.81818369684},"targetPosition":{"x":33955.83685871737,"y":29979.266048044417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8ca6e0cd-15ac-4743-aed2-965ec3dff80c","savedPayload":{"position":{"x":33955.83685871737,"y":29979.266048044417},"targetPosition":{"x":33552.172363266734,"y":30272.794022937273},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a3827280-3a20-433b-a297-51994eb7198e","savedPayload":{"position":{"x":33552.55252810221,"y":30273.18511904878},"targetPosition":{"x":33349.28643413483,"y":30729.963858881853},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openExecution":{"type":"Open Execution","name":"New Open Execution","executionAlgorithms":[{"type":"Execution Algorithm","name":"Buy Orders","config":"{\n\"percentageOfStageTargetSize\": 100\n}","marketBuyOrders":[],"marketSellOrders":[],"limitBuyOrders":[{"type":"Limit Buy Order","name":"Limit Buy","config":"{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": true\n}","orderRate":{"type":"Order Rate","name":"New Order Rate","formula":{"type":"Formula","name":"New Formula","code":"chart.at01min.support.support5Rate","id":"d6637c4c-8cec-497e-83c5-2cce8375c193","savedPayload":{"position":{"x":35336.59987734892,"y":29709.42357687428},"targetPosition":{"x":35087.1899461272,"y":30141.772361744803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3ff96eb6-5965-4f82-98d4-cd23bf8d0369","savedPayload":{"position":{"x":35087.1899461272,"y":30141.772361744803},"targetPosition":{"x":34838.09465383782,"y":30573.763304000317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"Create Order Event","javascriptCode":{"type":"Javascript Code","name":"My Javascript Code","code":"true","id":"3c441caf-e674-475e-aa34-8cc028743089","savedPayload":{"position":{"x":36662.8788325754,"y":29761.31300360918},"targetPosition":{"x":36206.93157735158,"y":29964.242899029025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4162428b-4e63-4529-87be-beac9ffc13f0","savedPayload":{"position":{"x":36206.93157735158,"y":29964.242899029025},"targetPosition":{"x":35750.87094976003,"y":30167.255297960746},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2395b55f-c4f9-478a-a20c-3a6ac69b9439","savedPayload":{"position":{"x":35750.87094976003,"y":30167.255297960746},"targetPosition":{"x":35294.32709772989,"y":30370.558785678044},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"91a2d093-075b-443e-8d54-de0e50fdac61","savedPayload":{"position":{"x":35294.32709772989,"y":30370.558785678044},"targetPosition":{"x":34838.09465383782,"y":30573.763304000317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"cancelOrderEvent":{"type":"Cancel Order Event","name":"New Cancel Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"Cancel Order Event","javascriptCode":{"type":"Javascript Code","name":"My Javascript Code","code":"true","id":"98e8e55b-b65e-436d-9d98-2b7f1eef0119","savedPayload":{"position":{"x":36792.04936103466,"y":30988.890038414003},"targetPosition":{"x":36303.84178594226,"y":30885.216153771264},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"70d79bb0-a78b-4d2e-b7ee-90335c1c7afb","savedPayload":{"position":{"x":36303.84178594226,"y":30885.216153771264},"targetPosition":{"x":35815.50924532801,"y":30781.489067390274},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cc2b8c5e-90d8-4017-8726-b27d696ab4ef","savedPayload":{"position":{"x":35815.50924532801,"y":30781.489067390274},"targetPosition":{"x":35326.64731769253,"y":30677.586033600743},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"14564d4f-22a0-4c7c-be38-ad1323f3dcf8","savedPayload":{"position":{"x":35326.64731769253,"y":30677.586033600743},"targetPosition":{"x":34838.09465383782,"y":30573.763304000317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"simulatedExchangeEvents":{"type":"Simulated Exchange Events","name":"New Simulated Exchange Events","simulatedPartialFill":{"type":"Simulated Partial Fill","name":"New Simulated Partial Fill","config":"{ \n\"fillProbability\": 1\n}","id":"294c2555-7134-454e-bfcd-66ba4be59dfc","savedPayload":{"position":{"x":41520.55788253979,"y":30171.333778377477},"targetPosition":{"x":41226.01897175846,"y":30058.1230241269},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"simulatedActualRate":{"type":"Simulated Actual Rate","name":"New Simulated Actual Rate","formula":{"type":"Formula","name":"New Formula","code":"// Type your formula","id":"62bea2ba-686f-410e-9fb3-02246c583ead","savedPayload":{"position":{"x":41394.62591467189,"y":30437.876322973476},"targetPosition":{"x":41351.84867186038,"y":30341.53463369237},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"bc1381f8-3d46-45e9-830a-369628b699c4","savedPayload":{"position":{"x":41351.84867186038,"y":30341.53463369237},"targetPosition":{"x":41226.01897175846,"y":30058.1230241269},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"simulatedFeesPaid":{"type":"Simulated Fees Paid","name":"New Simulated Fees Paid","config":"{ \n\"percentage\": 0.1\n}","id":"b1020734-07c6-42e9-937b-c173acf381a6","savedPayload":{"position":{"x":41112.93891067161,"y":30352.122589085964},"targetPosition":{"x":41226.01897175846,"y":30058.1230241269},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"1ecbcd0b-9822-4caa-aced-c6e38c33afb5","savedPayload":{"position":{"x":35172.22886253331,"y":30945.1599498038},"targetPosition":{"x":34838.09465383782,"y":30573.763304000317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b278718b-6ff9-44b4-8c6d-acdad79aabb5","savedPayload":{"position":{"x":34838.09465383782,"y":30573.763304000317},"targetPosition":{"x":34341.50997395279,"y":30625.85545452507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Limit Order","name":"Limit Buy Order #1","id":"008e16b8-9487-4db3-81e1-d11c19a7f59e"}}}],"limitSellOrders":[],"id":"e635ed9f-3c8c-45bf-8be0-e3836fa0844e","savedPayload":{"position":{"x":34341.50997395279,"y":30625.85545452507},"targetPosition":{"x":33845.33086761034,"y":30677.90651289832},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"6bdce67c-b2c2-40b6-940e-6c929d074e05","savedPayload":{"position":{"x":33845.33086761034,"y":30677.90651289832},"targetPosition":{"x":33349.28643413483,"y":30729.963858881853},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"d2fc92c9-b2cc-4332-aad3-d82234f01bf4","savedPayload":{"position":{"x":33349.28643413483,"y":30729.963858881853},"targetPosition":{"x":32944.88921624964,"y":31023.821104724644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"manageStage":{"type":"Manage Stage","managedStopLoss":{"type":"Managed Stop Loss","name":"New Managed Stop Loss","phases":[{"type":"Phase","name":"New Phase","formula":{"type":"Formula","name":"Stop Loss Phase #1","code":"if (tradingEngine.last.limitOrders.orderName.value === 'Limit Buy') \n{ tradingEngine.last.limitOrders.rate.value } \nelse \n{ 0 }","id":"5b32bb95-b7be-427a-b448-bbc3f6c63275","savedPayload":{"position":{"x":34839.873603041866,"y":31473.857444803758},"targetPosition":{"x":34343.37557861643,"y":31421.63871479898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"b65f8638-f70a-45a4-9649-47d71ea1aa9d","savedPayload":{"position":{"x":34343.37557861643,"y":31421.63871479898},"targetPosition":{"x":33846.11407091601,"y":31369.428076285833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8df55ed2-98c6-473e-8a09-0fd0f55af210","savedPayload":{"position":{"x":33846.11407091601,"y":31369.428076285833},"targetPosition":{"x":33348.896472627435,"y":31317.354433000375},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"managedTakeProfit":{"type":"Managed Take Profit","name":"New Managed Take Profit","phases":[{"type":"Phase","name":"New Phase","formula":{"type":"Formula","name":"New Formula","code":"chart.at01min.candle.close * 1.2","id":"bb6b732f-e20d-4945-a545-ff2826ec145e","savedPayload":{"position":{"x":33958.556597032,"y":32687.137344678424},"targetPosition":{"x":33755.50700259472,"y":32230.97597459398},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"d0d56645-d5b6-4b61-8970-b32163e23daa","savedPayload":{"position":{"x":33755.50700259472,"y":32230.97597459398},"targetPosition":{"x":33552.15421564119,"y":31774.11996495485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6f5ed0dc-4133-473b-9095-cf809e6ca000","savedPayload":{"position":{"x":33552.15421564119,"y":31774.11996495485},"targetPosition":{"x":33348.896472627435,"y":31317.354433000375},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"c44831c2-dacf-4853-b70a-69e5b4276dff","savedPayload":{"position":{"x":33349.42756141783,"y":31317.69384930672},"targetPosition":{"x":32944.88921624964,"y":31023.821104724644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeStage":{"type":"Close Stage","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","targetRate":{"type":"Target Rate","name":"New Target Rate","formula":{"type":"Formula","name":"Target Rate Formula","code":"tradingEngine.last.limitOrders.orderStatistics.actualRate.value","id":"326c2266-7d3a-43ca-9847-e6a7ca93ddb5","savedPayload":{"position":{"x":33562.00915092142,"y":32729.76069066402},"targetPosition":{"x":33228.11772863275,"y":32358.84191313465},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9937bbc6-860d-4460-aca0-0bd2517b76e5","savedPayload":{"position":{"x":33228.11772863275,"y":32358.84191313465},"targetPosition":{"x":32894.44636325951,"y":31988.1840472132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInBaseAsset":{"type":"Target Size In Base Asset","name":"New Target Size In Base Asset","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.episode.episodeBaseAsset.balance.value","id":"7400ed81-c264-4e91-b467-89acf86dfcf6","savedPayload":{"position":{"x":32586.49857989301,"y":32937.804274555354},"targetPosition":{"x":32740.493266037513,"y":32463.024171062556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0e21ecb7-0090-478c-b439-48c1e6e79da1","savedPayload":{"position":{"x":32740.493266037513,"y":32463.024171062556},"targetPosition":{"x":32894.44636325951,"y":31988.1840472132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5fe56eb2-92f0-407c-b400-4a19e748b5ec","savedPayload":{"position":{"x":32894.49550024195,"y":31988.29408296463},"targetPosition":{"x":32790.553974415394,"y":31499.21734730436},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeExecution":{"type":"Close Execution","executionAlgorithms":[{"type":"Execution Algorithm","name":"Race to Break Even","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","marketBuyOrders":[],"marketSellOrders":[],"limitBuyOrders":[],"limitSellOrders":[{"type":"Limit Sell Order","name":"Profit 0.6","config":"{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}","orderRate":{"type":"Order Rate","name":"New Order Rate","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.position.exitTargetRate.value * 1.008","id":"53978d5a-9efe-43c9-8f90-33095de4527f","savedPayload":{"position":{"x":33621.24344862895,"y":32476.60033154521},"targetPosition":{"x":33313.58090376129,"y":32329.483700063996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"31dfa984-8378-49cc-8429-82245a6401b3","savedPayload":{"position":{"x":33313.58090376129,"y":32329.483700063996},"targetPosition":{"x":32959.141897771595,"y":32160.051295419304},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","id":"b090d786-eab4-4a8c-bd9d-9d453f3359fa","savedPayload":{"position":{"x":33427.40974219164,"y":33484.534458375194},"targetPosition":{"x":33313.69998819087,"y":33162.89019774662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"96e2f7c4-9eb8-4dfc-b186-793785812ffc","savedPayload":{"position":{"x":33313.69998819087,"y":33162.89019774662},"targetPosition":{"x":33199.93190041815,"y":32841.072558189335},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"60b82e59-a9f8-414f-9483-c516518d8e8e","savedPayload":{"position":{"x":33199.93190041815,"y":32841.072558189335},"targetPosition":{"x":33085.99884170641,"y":32518.844512411095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"5837fa08-1862-4a07-a10d-c1a35cbca9df","savedPayload":{"position":{"x":33085.99884170641,"y":32518.844512411095},"targetPosition":{"x":32959.141897771595,"y":32160.051295419304},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"cancelOrderEvent":{"type":"Cancel Order Event","name":"New Cancel Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[6].orderCounters.periods.value >= 2","id":"1362c6f6-45e3-4bcf-9d07-2138493dd413","savedPayload":{"position":{"x":32353.927095784515,"y":33428.47243930165},"targetPosition":{"x":32501.01383128465,"y":33120.04035704301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"shortcutKey":"a"}}},"id":"89d67597-c113-4e7e-94ee-03f4e8c69c19","savedPayload":{"position":{"x":32501.01383128465,"y":33120.04035704301},"targetPosition":{"x":32647.963121046443,"y":32811.9904994038},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"acb050f9-35d5-400a-a5f5-8810c1fa9df5","savedPayload":{"position":{"x":32647.963121046443,"y":32811.9904994038},"targetPosition":{"x":32795.100329616864,"y":32503.745011836843},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"2dbc0df0-6c1c-4e5d-bbd0-3b1893706a93","savedPayload":{"position":{"x":32795.100329616864,"y":32503.745011836843},"targetPosition":{"x":32959.141897771595,"y":32160.051295419304},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b80fe127-d306-4fc1-a3a8-95bf88de046f","savedPayload":{"position":{"x":32215.308098285655,"y":32638.64240981047},"targetPosition":{"x":32048.374094968323,"y":32167.526863652147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Limit Order","name":"Limit Sell Order #7","id":"5bfce673-ceb2-4104-bd7e-75d62453164e"}}},{"type":"Limit Sell Order","name":"Profit 0.5","config":"{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}","orderRate":{"type":"Order Rate","name":"New Order Rate","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.position.exitTargetRate.value * 1.007","id":"4df6dc0e-887a-4627-9fd1-75926327eb09","savedPayload":{"position":{"x":33342.37163445384,"y":32751.647958170128},"targetPosition":{"x":33114.24014869904,"y":32497.971660415038},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8306171d-b7d4-4b7f-a5c5-2bc320581a55","savedPayload":{"position":{"x":33114.24014869904,"y":32497.971660415038},"targetPosition":{"x":32827.347172201655,"y":32178.99431482714},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"tradingEngine.last.limitOrders.orderName.value === 'Profit 0.6'","id":"b5c796b8-6da7-4e15-9063-7b778a6f92e7","savedPayload":{"position":{"x":32753.28385683019,"y":33603.32433907591},"targetPosition":{"x":32771.031980643544,"y":33262.64979540346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4e968238-bb89-4633-8840-17a3eee97127","savedPayload":{"position":{"x":32771.031980643544,"y":33262.64979540346},"targetPosition":{"x":32788.818371948895,"y":32920.93872675964},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b6f8f8a7-6201-40b8-85ef-f566d24f6f41","savedPayload":{"position":{"x":32788.818371948895,"y":32920.93872675964},"targetPosition":{"x":32806.499076037275,"y":32580.314162567658},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"f2509852-f910-40aa-9786-4858a185755b","savedPayload":{"position":{"x":32806.499076037275,"y":32580.314162567658},"targetPosition":{"x":32827.347172201655,"y":32178.99431482714},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"cancelOrderEvent":{"type":"Cancel Order Event","name":"New Cancel Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","code":"chart.at24hs.candlesProbability.begin > chart.at24hs.candlesProbability.begin","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[5].orderCounters.periods.value >= 2","id":"30d37563-9245-4814-a2d2-e81566fdfafb","savedPayload":{"position":{"x":31767.482740223073,"y":33132.94087452211},"targetPosition":{"x":32020.795367545423,"y":32904.8870538829},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7572eda9-8711-454e-abd3-ee9f4bae2a60","savedPayload":{"position":{"x":32020.795367545423,"y":32904.8870538829},"targetPosition":{"x":32274.6529831055,"y":32676.382337493917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fc3d3165-f40a-4224-aea1-8b7c55c29468","savedPayload":{"position":{"x":32274.6529831055,"y":32676.382337493917},"targetPosition":{"x":32528.8800353613,"y":32447.629327210394},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"036b27b4-55f7-4f1b-80cc-914950ce3016","savedPayload":{"position":{"x":32528.8800353613,"y":32447.629327210394},"targetPosition":{"x":32827.347172201655,"y":32178.99431482714},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8a730b1e-e8d8-4ca0-9342-e58b27b3c0a2","savedPayload":{"position":{"x":32022.365051581302,"y":32666.740681218107},"targetPosition":{"x":32048.374094968323,"y":32167.526863652147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Limit Order","name":"Limit Sell Order #6","id":"90d28d1e-6fd2-4a83-a423-3f34bf455004"}}},{"type":"Limit Sell Order","name":"Profit 0.4","config":"{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}","orderRate":{"type":"Order Rate","name":"New Order Rate","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.position.exitTargetRate.value * 1.006","id":"8cffe4c6-a60c-442c-9c67-27860832bdff","savedPayload":{"position":{"x":32943.211316179266,"y":32839.31882310109},"targetPosition":{"x":32829.14584043107,"y":32516.8039580411},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"882824fb-0d18-4c48-8cb1-c60fb9b2e4b3","savedPayload":{"position":{"x":32829.14584043107,"y":32516.8039580411},"targetPosition":{"x":32698.2875129115,"y":32146.75354170856},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"tradingEngine.last.limitOrders.orderName.value === 'Profit 0.5'","id":"546d2700-547f-4fbc-b8cc-5b73a97ab69d","savedPayload":{"position":{"x":32093.91354794959,"y":33415.25520480642},"targetPosition":{"x":32240.804325899364,"y":33107.102822068424},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"631f4eaa-9716-46e5-9022-a0f00231e34c","savedPayload":{"position":{"x":32240.804325899364,"y":33107.102822068424},"targetPosition":{"x":32387.681324142817,"y":32798.90636057538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"aec594bc-6efe-4273-971e-0112bc46ec2b","savedPayload":{"position":{"x":32387.681324142817,"y":32798.90636057538},"targetPosition":{"x":32534.538817171982,"y":32490.584162567917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"029f599b-b17f-4851-88d7-9c80b1662af5","savedPayload":{"position":{"x":32534.538817171982,"y":32490.584162567917},"targetPosition":{"x":32698.2875129115,"y":32146.75354170856},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"cancelOrderEvent":{"type":"Cancel Order Event","name":"New Cancel Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[4].orderCounters.periods.value >= 2","id":"5e1a76ec-7ab1-47d5-8f65-9e2aed7e5526","savedPayload":{"position":{"x":31373.74115806557,"y":32615.46628851325},"targetPosition":{"x":31695.284766726683,"y":32501.66880793689},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a8091739-137a-4ba3-9427-02c44396d1c5","savedPayload":{"position":{"x":31695.284766726683,"y":32501.66880793689},"targetPosition":{"x":32017.20537803662,"y":32387.751604891397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6e36cc24-a86d-4889-a57f-de80068d33f0","savedPayload":{"position":{"x":32017.20537803662,"y":32387.751604891397},"targetPosition":{"x":32339.328943839944,"y":32273.81007283237},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"07757b18-bb3e-45f5-8ae6-a635b479e703","savedPayload":{"position":{"x":32339.328943839944,"y":32273.81007283237},"targetPosition":{"x":32698.2875129115,"y":32146.75354170856},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e065f375-4663-45f0-8d7a-e5eee5d90cb4","savedPayload":{"position":{"x":31833.24418607585,"y":32618.729335594864},"targetPosition":{"x":32048.374094968323,"y":32167.526863652147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Limit Order","name":"Limit Sell Order #5","id":"3c44b04d-6b6b-4278-ba85-898b1f12cdfa"}}},{"type":"Limit Sell Order","name":"Profit 0.3","config":"{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}","orderRate":{"type":"Order Rate","name":"New Order Rate","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.position.exitTargetRate.value * 1.005","id":"ed5df221-812e-47e0-8ee5-34cee0346cea","savedPayload":{"position":{"x":32553.51909517061,"y":32800.50308625388},"targetPosition":{"x":32571.200927774764,"y":32459.417103149208},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5673a468-77ac-4312-a1b1-ea5e9d070988","savedPayload":{"position":{"x":32571.200927774764,"y":32459.417103149208},"targetPosition":{"x":32591.59695497345,"y":32067.128743916008},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"tradingEngine.last.limitOrders.orderName.value === 'Profit 0.4'","id":"fcd99b77-0333-4105-950d-eb03ffc2129e","savedPayload":{"position":{"x":31547.725744553733,"y":33007.75239234119},"targetPosition":{"x":31801.488540719874,"y":32779.21747384216},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b5c038b2-15ae-450f-8f86-242e2402257d","savedPayload":{"position":{"x":31801.488540719874,"y":32779.21747384216},"targetPosition":{"x":32055.172033357696,"y":32550.691911189846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"12e843fe-9a85-4300-b4e5-097af10db775","savedPayload":{"position":{"x":32055.172033357696,"y":32550.691911189846},"targetPosition":{"x":32308.885231247605,"y":32322.015684571852},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"c9610e5d-0cb9-426a-af86-f7bfdb230d7b","savedPayload":{"position":{"x":32308.885231247605,"y":32322.015684571852},"targetPosition":{"x":32591.59695497345,"y":32067.128743916008},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"cancelOrderEvent":{"type":"Cancel Order Event","name":"New Cancel Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","code":"chart.at24hs.candlesProbability.begin > chart.at24hs.candlesProbability.begin","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[3].orderCounters.periods.value >= 2","id":"ed52c351-2965-4e4d-916e-0d882efc332e","savedPayload":{"position":{"x":31187.987109898088,"y":31994.510992700474},"targetPosition":{"x":31529.076625253387,"y":32012.1605228485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"675c8f52-d97a-4afc-a2e4-bedcd501662f","savedPayload":{"position":{"x":31529.076625253387,"y":32012.1605228485},"targetPosition":{"x":31870.158219884866,"y":32029.806729858356},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c9155dd9-9e2c-4254-8d2c-63d9c32e40eb","savedPayload":{"position":{"x":31870.158219884866,"y":32029.806729858356},"targetPosition":{"x":32211.453195252943,"y":32047.489815598798},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"cbf59193-c567-4b58-a83c-d9871204a520","savedPayload":{"position":{"x":32211.453195252943,"y":32047.489815598798},"targetPosition":{"x":32591.59695497345,"y":32067.128743916008},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e8cb9d8f-6e16-4b5c-a5e4-141f2047ce19","savedPayload":{"position":{"x":31676.91312851621,"y":32501.999369944042},"targetPosition":{"x":32048.374094968323,"y":32167.526863652147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Limit Order","name":"Limit Sell Order #4","id":"7fb716f8-8bba-4c0d-8df3-69a7bc9ae317"}}},{"type":"Limit Sell Order","name":"Profit 0.2","config":"{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}","orderRate":{"type":"Order Rate","name":"New Order Rate","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.position.exitTargetRate.value * 1.004","id":"25c6516a-f1d9-461f-b012-6d5524320da9","savedPayload":{"position":{"x":32207.844113213963,"y":32615.515782967275},"targetPosition":{"x":32354.53074678532,"y":32307.53074093093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"29b9bd1b-a6e8-4a75-9df9-527db78c0e7b","savedPayload":{"position":{"x":32354.53074678532,"y":32307.53074093093},"targetPosition":{"x":32523.56779071538,"y":31952.713635987035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"tradingEngine.last.limitOrders.orderName.value === 'Profit 0.3'","id":"a0b1e36b-640d-4ec8-96ea-d26597b61e8e","savedPayload":{"position":{"x":31199.352197392087,"y":32422.148920498068},"targetPosition":{"x":31520.907001830434,"y":32308.29092736564},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dab80166-691d-47b6-964a-76df68e98c42","savedPayload":{"position":{"x":31520.907001830434,"y":32308.29092736564},"targetPosition":{"x":31842.758596062507,"y":32194.26264579912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"97061747-71e5-4abe-b339-30e3fd35519f","savedPayload":{"position":{"x":31842.758596062507,"y":32194.26264579912},"targetPosition":{"x":32164.840994373364,"y":32080.03172804365},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"998dc335-6c8b-4559-9bbd-8c73bc5844da","savedPayload":{"position":{"x":32164.840994373364,"y":32080.03172804365},"targetPosition":{"x":32523.56779071538,"y":31952.713635987035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"cancelOrderEvent":{"type":"Cancel Order Event","name":"New Cancel Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[2].orderCounters.periods.value >= 2","id":"54de11dd-16f2-4c11-b530-c9b1bcb8a3de","savedPayload":{"position":{"x":31255.13313779977,"y":31348.81865287888},"targetPosition":{"x":31563.101886767312,"y":31495.460555517115},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"77ebec63-371b-40c5-9aa7-4779d885b269","savedPayload":{"position":{"x":31563.101886767312,"y":31495.460555517115},"targetPosition":{"x":31871.55684009257,"y":31642.305773593755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"34f00d60-b8aa-4eda-8276-5bbaa3d6d4ea","savedPayload":{"position":{"x":31871.55684009257,"y":31642.305773593755},"targetPosition":{"x":32179.72831837753,"y":31789.035325805817},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"431cdafe-93a5-4647-8ea4-89fd44d9abf0","savedPayload":{"position":{"x":32179.72831837753,"y":31789.035325805817},"targetPosition":{"x":32523.56779071538,"y":31952.713635987035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5d13da4a-9bdf-44f9-8e7b-ca05423ce0a4","savedPayload":{"position":{"x":31577.158343581337,"y":32334.32835337361},"targetPosition":{"x":32048.374094968323,"y":32167.526863652147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Limit Order","name":"Limit Sell Order #3","id":"a5d970bf-0f85-4546-9c4a-a0a113e7ea04"}}},{"type":"Limit Sell Order","name":"Profit 0.1","config":"{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}","orderRate":{"type":"Order Rate","name":"New Order Rate","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.position.exitTargetRate.value * 1.003","id":"f6a2eda5-75a8-4305-961d-9a1c52b1d837","savedPayload":{"position":{"x":31958.86379158337,"y":32312.928426319493},"targetPosition":{"x":32212.764150040988,"y":32084.07671568887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"66b3fe34-fe06-408f-8181-fc696710c2a9","savedPayload":{"position":{"x":32212.764150040988,"y":32084.07671568887},"targetPosition":{"x":32504.46893109646,"y":31821.147179757805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"tradingEngine.last.limitOrders.orderName.value === 'Profit 0.2'","id":"f0c458d6-d23f-48c4-9156-593429089f97","savedPayload":{"position":{"x":31101.07733211601,"y":31749.350114796194},"targetPosition":{"x":31441.822904391942,"y":31766.930465798825},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"488d1160-ae61-45c0-b295-b533b38bbeb5","savedPayload":{"position":{"x":31441.822904391942,"y":31766.930465798825},"targetPosition":{"x":31783.054151700322,"y":31784.45673824515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c296ade6-4a0b-40d3-8ace-f02649f96da5","savedPayload":{"position":{"x":31783.054151700322,"y":31784.45673824515},"targetPosition":{"x":32124.190154471245,"y":31801.83685937668},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"8182ab58-4809-48ee-a481-06a6954dc89f","savedPayload":{"position":{"x":32124.190154471245,"y":31801.83685937668},"targetPosition":{"x":32504.46893109646,"y":31821.147179757805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"cancelOrderEvent":{"type":"Cancel Order Event","name":"New Cancel Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"tradingEngine.exchangeOrders.limitSellOrders.limitOrders[1].orderCounters.periods.value >= 2","id":"d255fc7b-cb37-471b-8fed-9031a1170765","savedPayload":{"position":{"x":31563.560326628227,"y":30777.8882995854},"targetPosition":{"x":31792.233735642047,"y":31031.474377012506},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"317e867c-c4a0-48db-9bdf-75d5225f22bc","savedPayload":{"position":{"x":31792.233735642047,"y":31031.474377012506},"targetPosition":{"x":32020.747747545884,"y":31284.828001166636},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c287f36d-074b-498c-ad12-be1bf473be63","savedPayload":{"position":{"x":32020.747747545884,"y":31284.828001166636},"targetPosition":{"x":32249.509315754025,"y":31538.427362495073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"7c575bbe-7429-4167-aba5-e7a3b59bd958","savedPayload":{"position":{"x":32249.509315754025,"y":31538.427362495073},"targetPosition":{"x":32504.46893109646,"y":31821.147179757805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"de750ccf-154f-4495-a9fd-cee163cccf66","savedPayload":{"position":{"x":31549.17302048519,"y":32141.511322089547},"targetPosition":{"x":32048.374094968323,"y":32167.526863652147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Limit Order","name":"Limit Sell Order #2","id":"e133f5d4-034b-4333-9ea4-a6b52183476e"}}},{"type":"Limit Sell Order","name":"Profit 0.0","config":"{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}","orderRate":{"type":"Order Rate","name":"New Order Rate","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.position.exitTargetRate.value * 1.002","id":"9344ebf6-3efa-4904-a952-d2dbb1b0ead1","savedPayload":{"position":{"x":31805.26963417929,"y":31749.68065670642},"targetPosition":{"x":32145.566814320024,"y":31722.794674652483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ef824607-7571-4f06-84d6-ce4e97e4cc62","savedPayload":{"position":{"x":32145.566814320024,"y":31722.794674652483},"targetPosition":{"x":32537.128049335588,"y":31691.808105691816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"tradingEngine.last.limitOrders.orderName.value === 'Profit 0.1'","id":"91c9b7c1-1250-450e-b7b3-b5b5bf4abd77","savedPayload":{"position":{"x":31739.95885407582,"y":30535.386880577542},"targetPosition":{"x":31933.406108295792,"y":30816.274297492913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cb5f3c82-b13e-4edb-a738-89f653250d56","savedPayload":{"position":{"x":31933.406108295792,"y":30816.274297492913},"targetPosition":{"x":32127.145253834915,"y":31097.449256664135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ff70b3ad-19b0-4be5-bf58-f3b9253ac170","savedPayload":{"position":{"x":32127.145253834915,"y":31097.449256664135},"targetPosition":{"x":32321.169212353423,"y":31378.65588284892},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"5658a835-b46f-40c4-a7c1-5d5d6f10b95b","savedPayload":{"position":{"x":32321.169212353423,"y":31378.65588284892},"targetPosition":{"x":32537.128049335588,"y":31691.808105691816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c077f171-dabc-49e6-8956-3e1144a0b0ef","savedPayload":{"position":{"x":31597.307960676673,"y":31952.294830683208},"targetPosition":{"x":32048.374094968323,"y":32167.526863652147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Limit Order","name":"Limit Sell Order #1","id":"929c1c8c-1964-4495-991c-0a516f1e9ba0"}}}],"id":"0fe764ce-3312-4964-9841-b55500e3f80a","savedPayload":{"position":{"x":32048.374094968323,"y":32167.526863652147},"targetPosition":{"x":32419.233706128747,"y":31833.597708519756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"33993524-848d-4d57-a503-075c5df4a31b","savedPayload":{"position":{"x":32419.233706128747,"y":31833.597708519756},"targetPosition":{"x":32790.553974415394,"y":31499.21734730436},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"f4d8925b-697e-4f52-ad2e-d368780739d0","savedPayload":{"position":{"x":32790.553974415394,"y":31499.21734730436},"targetPosition":{"x":32944.88921624964,"y":31023.821104724644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"711041eb-3055-4611-b64f-570363bae854","savedPayload":{"position":{"x":32944.88921624964,"y":31023.821104724644},"targetPosition":{"x":32445.365708673427,"y":31023.826468868458},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"628b758d-ffff-445f-9d4f-8aa480a13db3","savedPayload":{"position":{"x":32445.365708673427,"y":31023.826468868458},"targetPosition":{"x":32445.365708673427,"y":31023.826468868458},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}
\ No newline at end of file
diff --git a/Plugins/Trading-Systems/Sparta-WHB-BTC-USDT.json b/Plugins/Trading-Systems/Sparta-WHB-BTC-USDT.json
deleted file mode 100644
index e720ca346..000000000
--- a/Plugins/Trading-Systems/Sparta-WHB-BTC-USDT.json
+++ /dev/null
@@ -1 +0,0 @@
-{"type":"Trading System","name":"WHB v2","config":"{ \n\"codeName\": \"Sparta-WHB-BTC-USDT\"\n}","tradingStrategies":[{"type":"Trading Strategy","name":"Steep","triggerStage":{"type":"Trigger Stage","triggerOn":{"type":"Trigger On Event","situations":[{"type":"Situation","name":"Steep","conditions":[{"type":"Condition","name":"3 Closes Below MA","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage && \nchart.at01hs.candle.previous.close < chart.at01hs.bollingerBand.previous.movingAverage && \nchart.at01hs.candle.previous.previous.close < chart.at01hs.bollingerBand.previous.previous.movingAverage","id":"123b1af6-9639-4b6d-a4c3-7a8a9287169c","savedPayload":{"position":{"x":31075.323254310468,"y":29934.630604067414},"targetPosition":{"x":31240.97284151726,"y":29966.829622037207},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"427da1e1-cc4a-4c78-88f6-c254d87cc88f","savedPayload":{"position":{"x":31240.97284151726,"y":29966.829622037207},"targetPosition":{"x":31572.27201593085,"y":30031.22765797679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Breakdown","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation","id":"1b9e755e-eefe-4b0d-addd-1e19b6a597b6","savedPayload":{"position":{"x":31138.331069950404,"y":29770.489632553574},"targetPosition":{"x":31282.978051943886,"y":29857.402307694647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"55bf7721-7fb2-42f0-8a3c-c2b97e278a29","savedPayload":{"position":{"x":31282.978051943886,"y":29857.402307694647},"targetPosition":{"x":31572.27201593085,"y":30031.22765797679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2H Down","javascriptCode":{"type":"Javascript Code","code":"chart.at02hs.bollingerChannel.direction === \"Down\"","id":"e8db5fac-2f00-47fe-ac57-dc93ad15f2b5","savedPayload":{"position":{"x":31253.678567961866,"y":29637.797514989197},"targetPosition":{"x":31359.876383951527,"y":29768.940895985063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"11e00b31-e7eb-4fe9-b006-dcd640dbbd3b","savedPayload":{"position":{"x":31359.876383951527,"y":29768.940895985063},"targetPosition":{"x":31572.27201593085,"y":30031.22765797679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Deviation > 200","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.bollingerBand.deviation > 200","id":"7671ca91-4b4c-40c5-b0c2-199169b013e8","savedPayload":{"position":{"x":31407.453137736913,"y":29552.558879079636},"targetPosition":{"x":31462.39276380156,"y":29712.11513871202},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"dd938286-61b3-41e4-bfbb-db34971ffa47","savedPayload":{"position":{"x":31462.39276380156,"y":29712.11513871202},"targetPosition":{"x":31572.27201593085,"y":30031.22765797679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Candle Size < 750","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.max - chart.at01hs.candle.min < 750","id":"19b7edeb-b180-429f-9adf-61bf47262033","savedPayload":{"position":{"x":31581.107296689723,"y":29525.054762303866},"targetPosition":{"x":31578.16220310343,"y":29693.779060861507},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8f94ab97-1574-4136-9404-b66dfc1e3b9f","savedPayload":{"position":{"x":31578.16220310343,"y":29693.779060861507},"targetPosition":{"x":31572.27201593085,"y":30031.22765797679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Deviation < 1000","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.bollingerBand.deviation < 1000","id":"0aa38939-f2ef-4c2b-bfc1-a45bda2ac50e","savedPayload":{"position":{"x":31753.695790388156,"y":29558.602567062582},"targetPosition":{"x":31693.221198902385,"y":29716.144264033985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0b2efc27-4aa5-472c-bb7a-73fc3796cc0e","savedPayload":{"position":{"x":31693.221198902385,"y":29716.144264033985},"targetPosition":{"x":31572.27201593085,"y":30031.22765797679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Not Completly Oversold","javascriptCode":{"type":"Javascript Code","code":"chart.at02hs.percentageBandwidth.movingAverage >= 30 || \nchart.at03hs.percentageBandwidth.movingAverage >= 30 || \nchart.at04hs.percentageBandwidth.movingAverage >= 30 || \nchart.at06hs.percentageBandwidth.movingAverage >= 30 || \nchart.at08hs.percentageBandwidth.movingAverage >= 30","id":"8f02c79c-1807-42ce-a9e8-e707ec73e9e4","savedPayload":{"position":{"x":31904.40189935729,"y":29649.15593298901},"targetPosition":{"x":31793.691938215143,"y":29776.513174651605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0ff24392-a128-4d59-8049-301e99ce941e","savedPayload":{"position":{"x":31793.691938215143,"y":29776.513174651605},"targetPosition":{"x":31572.27201593085,"y":30031.22765797679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Slope Not Extreme, or...","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.bollingerSubChannel.slope != \"Extreme\" || \n(chart.at01hs.bollingerSubChannel.period <= 6 && \nchart.at08hs.bollingerChannel.direction === \"Down\" && \nchart.at06hs.bollingerChannel.direction === \"Down\" && \nchart.at04hs.bollingerChannel.direction === \"Down\" && \nchart.at02hs.bollingerSubChannel.slope === (\"Extreme\" || \"Steep\"))","id":"231acfc1-6010-4d84-822f-056d1f3f9dc8","savedPayload":{"position":{"x":32015.048242670167,"y":29785.79278772708},"targetPosition":{"x":31867.456167090393,"y":29867.60441114365},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"da235bf3-976c-4832-a565-98a6bb13236d","savedPayload":{"position":{"x":31867.456167090393,"y":29867.60441114365},"targetPosition":{"x":31572.27201593085,"y":30031.22765797679},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c94fdd47-c451-4c27-ad56-82b346d60f87","savedPayload":{"position":{"x":31572.27201593085,"y":30031.22765797679},"targetPosition":{"x":31625.068647881926,"y":30364.572472927648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"f5bf32a8-54eb-42ef-bc75-86caf1fd16a2","savedPayload":{"position":{"x":31625.068647881926,"y":30364.572472927648},"targetPosition":{"x":31660.26640251598,"y":30586.802349561553},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"triggerOff":{"type":"Trigger Off Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"Close Above MA","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.close > chart.at01hs.bollingerBand.movingAverage","id":"bd638ed9-46fa-42d5-9dfd-5ff8921f83cd","savedPayload":{"position":{"x":32189.273129579207,"y":29858.6870546241},"targetPosition":{"x":32057.0214478134,"y":30040.715878358464},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e5fbd2ee-9cef-4887-a270-8fb307dff36d","savedPayload":{"position":{"x":32057.0214478134,"y":30040.715878358464},"targetPosition":{"x":31924.769766047593,"y":30222.744702092827},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"faabf32b-db1f-49d2-8a74-39e9f653867c","savedPayload":{"position":{"x":31924.769766047593,"y":30222.744702092827},"targetPosition":{"x":31792.518084281786,"y":30404.77352582719},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"d33d5a40-93e6-4a51-9bf0-389702d7c57c","savedPayload":{"position":{"x":31792.518084281786,"y":30404.77352582719},"targetPosition":{"x":31660.26640251598,"y":30586.802349561553},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takePosition":{"type":"Take Position Event","situations":[{"type":"Situation","name":"Steep","conditions":[{"type":"Condition","name":"3 Closes Below MA","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage && \nchart.at01hs.candle.previous.close < chart.at01hs.bollingerBand.previous.movingAverage && \nchart.at01hs.candle.previous.previous.close < chart.at01hs.bollingerBand.previous.previous.movingAverage","id":"b5967d93-adf2-4a9e-9f1f-8ddb83c11e89","savedPayload":{"position":{"x":32280.725228558294,"y":29996.73315620387},"targetPosition":{"x":32259.09718373911,"y":30164.091425128056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"946e10ee-70f9-4489-8ac9-c523116f997d","savedPayload":{"position":{"x":32259.09718373911,"y":30164.091425128056},"targetPosition":{"x":32215.841094100742,"y":30498.80796297642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Breakdown","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation","id":"35e54c04-f05e-4790-9431-da49c89895a4","savedPayload":{"position":{"x":32419.54778424952,"y":30035.350686748472},"targetPosition":{"x":32351.645554199928,"y":30189.83644549112},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"299cc453-ffa7-4bcc-84be-fcf9187e0188","savedPayload":{"position":{"x":32351.645554199928,"y":30189.83644549112},"targetPosition":{"x":32215.841094100742,"y":30498.80796297642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2H Down","javascriptCode":{"type":"Javascript Code","code":"chart.at02hs.bollingerChannel.direction === \"Down\"","id":"91d65f47-922b-4e28-874a-7ccb83389509","savedPayload":{"position":{"x":32541.867235395224,"y":30111.51476952651},"targetPosition":{"x":32433.19185496373,"y":30240.61250067648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"74da641c-243d-4e2c-86e7-b215d804796d","savedPayload":{"position":{"x":32433.19185496373,"y":30240.61250067648},"targetPosition":{"x":32215.841094100742,"y":30498.80796297642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Deviation > 200","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.bollingerBand.deviation > 200","id":"8616a334-50d8-437a-9631-96e1b6611f77","savedPayload":{"position":{"x":32637.773987525372,"y":30219.055043516553},"targetPosition":{"x":32497.129689717163,"y":30312.30601666984},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"98acfea3-5f57-4dd2-ad9b-f13643c04b3a","savedPayload":{"position":{"x":32497.129689717163,"y":30312.30601666984},"targetPosition":{"x":32215.841094100742,"y":30498.80796297642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Candle Size < 750","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.max - chart.at01hs.candle.min < 750","id":"bc3a1d72-8424-40e4-bf3b-e9aec5365cfe","savedPayload":{"position":{"x":32699.498245961793,"y":30349.259235286558},"targetPosition":{"x":32538.27919534144,"y":30399.108811183178},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"4219ab16-929b-4489-80f8-2e2970e170dd","savedPayload":{"position":{"x":32538.27919534144,"y":30399.108811183178},"targetPosition":{"x":32215.841094100742,"y":30498.80796297642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Deviation < 1000","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.bollingerBand.deviation < 1000","id":"7ef4294e-31a6-4a56-b4cc-ed4a3f205bb2","savedPayload":{"position":{"x":32722.039478374267,"y":30491.578975573466},"targetPosition":{"x":32553.306683616425,"y":30493.98863804112},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"7bacba88-87bc-491a-95fa-4024d49438f5","savedPayload":{"position":{"x":32553.306683616425,"y":30493.98863804112},"targetPosition":{"x":32215.841094100742,"y":30498.80796297642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Not Completly Oversold","javascriptCode":{"type":"Javascript Code","code":"chart.at02hs.percentageBandwidth.movingAverage >= 30 || \nchart.at03hs.percentageBandwidth.movingAverage >= 30 || \nchart.at04hs.percentageBandwidth.movingAverage >= 30 || \nchart.at06hs.percentageBandwidth.movingAverage >= 30 || \nchart.at08hs.percentageBandwidth.movingAverage >= 30","id":"d717997d-c2f4-4332-abd3-cf4a0f25cb65","savedPayload":{"position":{"x":32703.57152817061,"y":30634.48436542732},"targetPosition":{"x":32540.994716813988,"y":30589.258897943688},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"63558a06-3dab-46c6-b361-2d55aca38eea","savedPayload":{"position":{"x":32540.994716813988,"y":30589.258897943688},"targetPosition":{"x":32215.841094100742,"y":30498.80796297642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Slope Not Extreme, or...","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.bollingerSubChannel.slope != \"Extreme\" || \n(chart.at01hs.bollingerSubChannel.period <= 6 && \nchart.at08hs.bollingerChannel.direction === \"Down\" && \nchart.at06hs.bollingerChannel.direction === \"Down\" && \nchart.at04hs.bollingerChannel.direction === \"Down\" && \nchart.at02hs.bollingerSubChannel.slope === (\"Extreme\" || \"Steep\"))","id":"e8563aee-5cd1-4953-a1c4-890a47ef8af3","savedPayload":{"position":{"x":32645.590558843192,"y":30766.398060053234},"targetPosition":{"x":32502.340737262377,"y":30677.20136102763},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d900ad86-c048-45d3-9b26-dc8665b8aba8","savedPayload":{"position":{"x":32502.340737262377,"y":30677.20136102763},"targetPosition":{"x":32215.841094100742,"y":30498.80796297642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"8H Deviation","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at08hs.bollingerBand.deviation < 1575","id":"84f24347-1102-48e1-9d13-b7ae0f043e5e","savedPayload":{"position":{"x":32552.793843700816,"y":30876.633196433573},"targetPosition":{"x":32440.476260500793,"y":30750.691451947856},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"182deaef-3884-4ddd-b08b-2a554a130832","savedPayload":{"position":{"x":32440.476260500793,"y":30750.691451947856},"targetPosition":{"x":32215.841094100742,"y":30498.80796297642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Below Top Band","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at24hs.candle.open < \nchart.at24hs.bollingerBand.movingAverage + chart.at24hs.bollingerBand.deviation || \nchart.at24hs.candle.close < \nchart.at24hs.bollingerBand.movingAverage + chart.at24hs.bollingerBand.deviation","id":"7ea70416-894f-4fae-ad62-db36e510519f","savedPayload":{"position":{"x":32432.699220721006,"y":30956.259179412395},"targetPosition":{"x":32360.413178514253,"y":30803.775440600402},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"eb6577c9-7823-490c-9a25-81165b4d4f6b","savedPayload":{"position":{"x":32360.413178514253,"y":30803.775440600402},"targetPosition":{"x":32215.841094100742,"y":30498.80796297642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a8a86bab-322e-4f20-8f2d-74671e8d2b7e","savedPayload":{"position":{"x":32215.841094100742,"y":30498.80796297642},"targetPosition":{"x":31882.496279149884,"y":30551.6045949275},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"97e60ce9-228e-459d-b2cc-2ba447266e22","savedPayload":{"position":{"x":31882.496279149884,"y":30551.6045949275},"targetPosition":{"x":31660.26640251598,"y":30586.802349561553},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"166df39d-b70e-4061-9557-a6bb41a74bea","savedPayload":{"position":{"x":31660.26640251598,"y":30586.802349561553},"targetPosition":{"x":31395.763038984365,"y":30950.85999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},"openStage":{"type":"Open Stage","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","targetRate":{"type":"Target Rate","name":"New Target Rate","formula":{"type":"Formula","name":"My Formula","code":"tradingEngine.current.episode.candle.close.value","id":"4f34635c-d4e2-47c1-8c75-cd18d577fe33","savedPayload":{"position":{"x":32067.85311861592,"y":30204.428343498927},"targetPosition":{"x":32021.072988181924,"y":30424.511553664033},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9f6351ce-0ca2-44f2-9e85-e9365265131b","savedPayload":{"position":{"x":32021.072988181924,"y":30424.511553664033},"targetPosition":{"x":31974.29285774793,"y":30644.59476382914},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInBaseAsset":{"type":"Target Size In Base Asset","name":"New Target Size In Base Asset","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.episode.episodeBaseAsset.balance.value","id":"492cee3d-1709-41c5-bfd8-e700a3fdf3da","savedPayload":{"position":{"x":32402.268290080745,"y":30505.537116360414},"targetPosition":{"x":32188.280573914337,"y":30575.065940094777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"df940eb5-ea9b-485d-a03a-27491d496fc3","savedPayload":{"position":{"x":32188.280573914337,"y":30575.065940094777},"targetPosition":{"x":31974.29285774793,"y":30644.59476382914},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"dbfab28a-d209-4896-96bb-05a26db8b73f","savedPayload":{"position":{"x":31974.29285774793,"y":30644.59476382914},"targetPosition":{"x":31823.738471317185,"y":30811.802349561553},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openExecution":{"type":"Open Execution","name":"New Open Execution","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","marketBuyOrders":[],"marketSellOrders":[{"type":"Market Sell Order","name":"Quick Entry","config":"{\n\"percentageOfAlgorithmSize\": 100\n}","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","id":"cc515fe8-2957-4ef9-aef8-e65512f6ebf0","savedPayload":{"position":{"x":33364.32094247292,"y":31139.26326259952},"targetPosition":{"x":33144.23773230782,"y":31092.483132165526},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"be9e2b59-adac-4ec8-8b16-73c9c1367eff","savedPayload":{"position":{"x":33144.23773230782,"y":31092.483132165526},"targetPosition":{"x":32924.154522142715,"y":31045.70300173153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"95614ecb-8d7a-4a56-8ca8-3a51ec209f45","savedPayload":{"position":{"x":32924.154522142715,"y":31045.70300173153},"targetPosition":{"x":32704.071311977612,"y":30998.922871297535},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"938d2ee7-fd7b-409a-8ba3-2e10898ecf2c","savedPayload":{"position":{"x":32704.071311977612,"y":30998.922871297535},"targetPosition":{"x":32483.988101812505,"y":30952.14274086354},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c54cb995-2b02-426e-bfe3-dea00d502d56","savedPayload":{"position":{"x":32483.988101812505,"y":30952.14274086354},"targetPosition":{"x":32263.9048916474,"y":30905.362610429544},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Sell Order #1","id":"8e404329-d41f-41e0-ad5a-c84ee1fa2604"}}}],"limitBuyOrders":[],"limitSellOrders":[],"id":"f3ccceff-a347-4100-b429-0788d0035868","savedPayload":{"position":{"x":32263.9048916474,"y":30905.362610429544},"targetPosition":{"x":32043.82168148229,"y":30858.582479995548},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"381d75d8-f6de-4841-b6a3-fc3c01884438","savedPayload":{"position":{"x":32043.82168148229,"y":30858.582479995548},"targetPosition":{"x":31823.738471317185,"y":30811.802349561553},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"262e5a8c-cb38-43be-840d-a41ee5f4665f","savedPayload":{"position":{"x":31823.738471317185,"y":30811.802349561553},"targetPosition":{"x":31395.763038984365,"y":30950.85999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"manageStage":{"type":"Manage Stage","managedStopLoss":{"type":"Managed Stop Loss","name":"New Managed Stop Loss","phases":[{"type":"Phase","name":"New Phase","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.position.entryTargetRate.value * 1.03","id":"098e918d-2dee-44f7-97bd-9d3a9ef0458a","savedPayload":{"position":{"x":32431.11247737981,"y":30845.80299720027},"targetPosition":{"x":32263.9048916474,"y":30996.357383631013},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"shortcutKey":"q"}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"Close Below 5%","code":"chart.at24hs.candlesProbability.begin > chart.at24hs.candlesProbability.begin","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.close < tradingEngine.current.position.entryTargetRate.value * 0.95","id":"96683629-b453-49a5-a871-94a0deb2a017","savedPayload":{"position":{"x":34709.05769560074,"y":43147.29248489483},"targetPosition":{"x":34350.794450271744,"y":43263.95908845504},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c48e62b6-cdf5-4ee0-9872-6487a99d1861","savedPayload":{"position":{"x":34350.794450271744,"y":43263.95908845504},"targetPosition":{"x":33993.38106367408,"y":43380.47742524669},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e502afa9-3ac9-4d7c-9a1c-02a66181c75c","savedPayload":{"position":{"x":33993.38106367408,"y":43380.47742524669},"targetPosition":{"x":33629.03081013233,"y":43499.30045523796},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"2ae990f4-51b6-47de-8cb4-3acd042c1218","savedPayload":{"position":{"x":32477.892607813807,"y":31065.886207365376},"targetPosition":{"x":32263.9048916474,"y":30996.357383631013},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"92bc3860-4ffb-44e8-bd90-15b05113b3d2","savedPayload":{"position":{"x":32263.9048916474,"y":30996.357383631013},"targetPosition":{"x":32043.82168148229,"y":31043.13751406501},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P1: Trailing 5.25% Above MA","formula":{"type":"Formula","code":"if (chart.at01hs.bollingerBand.movingAverage * 1.0525 < tradingEngine.current.position.stopLoss.value) \n{chart.at01hs.bollingerBand.movingAverage * 1.0525} \nelse {tradingEngine.current.position.stopLoss.value}","id":"6f65573a-c2ac-476a-9ca1-738971e3ff78","savedPayload":{"position":{"x":32704.071311977612,"y":30902.797122763022},"targetPosition":{"x":32483.988101812505,"y":30949.577253197018},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"e29bf8a5-014c-4868-b50a-c4b79b2b2eb3","savedPayload":{"position":{"x":32483.988101812505,"y":30949.577253197018},"targetPosition":{"x":32263.9048916474,"y":30996.357383631013},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"89593e32-77e8-4216-a351-64c852d06784","savedPayload":{"position":{"x":32043.82168148229,"y":31043.13751406501},"targetPosition":{"x":31823.738471317185,"y":31089.917644499004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"managedTakeProfit":{"type":"Managed Take Profit","name":"New Managed Take Profit","phases":[{"type":"Phase","name":"P1: 60% of Rate","formula":{"type":"Formula","name":"New Formula","code":"chart.at01hs.bollingerBand.movingAverage * 0.6","id":"1766975c-17c8-477e-b2e5-cb6ff1c7ddd3","savedPayload":{"position":{"x":33314.04535671645,"y":45271.487712938455},"targetPosition":{"x":32946.24898886059,"y":45349.681816214885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"3H Oversold","javascriptCode":{"type":"Javascript Code","code":"chart.at03hs.percentageBandwidth.previous.movingAverage <= 10","id":"c3f076df-8b01-4a9a-ad60-9bf53433e4bf","savedPayload":{"position":{"x":34892.563316073385,"y":44818.65764511538},"targetPosition":{"x":34525.300786683394,"y":44739.66279607378},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"553fde3a-dcb6-41b2-89c8-ba278a2fd4e0","savedPayload":{"position":{"x":34525.300786683394,"y":44739.66279607378},"targetPosition":{"x":34158.05296887747,"y":44662.307954719756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fa198094-34dd-4f2e-8d57-002ca886ba71","savedPayload":{"position":{"x":34158.05296887747,"y":44662.307954719756},"targetPosition":{"x":33782.92022434599,"y":44582.296709466376},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"3H Entering Oversold","javascriptCode":{"type":"Javascript Code","code":"chart.at03hs.percentageBandwidth.movingAverage <= 30","id":"f1452048-936e-4c93-a615-66ed6b18bd11","savedPayload":{"position":{"x":34462.142449704144,"y":45448.81149551981},"targetPosition":{"x":34182.69168377307,"y":45198.65311590572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d85e95b6-4108-40d6-9ed0-a382f8d5015a","savedPayload":{"position":{"x":34182.69168377307,"y":45198.65311590572},"targetPosition":{"x":33902.315930860655,"y":44946.60348367144},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Up","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.bollingerChannel.direction === \"Up\"","id":"67baba53-16eb-4a64-b7ae-f8b2e999e710","savedPayload":{"position":{"x":33746.86737551633,"y":45681.825152902136},"targetPosition":{"x":33824.63395623886,"y":45314.558632879474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f3a53caf-c1d2-4786-869d-3e4ed1c9b71b","savedPayload":{"position":{"x":33824.63395623886,"y":45314.558632879474},"targetPosition":{"x":33902.315930860655,"y":44946.60348367144},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"034c0358-0163-4448-9511-8e154f07226e","savedPayload":{"position":{"x":33902.315930860655,"y":44946.60348367144},"targetPosition":{"x":33782.92022434599,"y":44582.296709466376},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"a2d912bb-6362-4505-91b6-8b726dd670c7","savedPayload":{"position":{"x":32829.90240058197,"y":45707.41475850233},"targetPosition":{"x":32946.24898886059,"y":45349.681816214885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"17a900a2-bcfd-4e3f-b115-baa06c2b077a","savedPayload":{"position":{"x":32946.24898886059,"y":45349.681816214885},"targetPosition":{"x":32662.57024758354,"y":45034.571909609454},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P2: 85% MA - 4 Deviations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage * 0.85 - \nchart.at01hs.bollingerBand.deviation * 4 > 1) \n{chart.at01hs.bollingerBand.movingAverage * 0.85 - \nchart.at01hs.bollingerBand.deviation * 4} \nelse {tradingEngine.current.position.takeProfit.value}","id":"77e53622-cb53-410d-892f-cd474b28c29e","savedPayload":{"position":{"x":33565.495667517156,"y":45550.699227629724},"targetPosition":{"x":33197.76323381353,"y":45629.00513569311},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"8H Oversold","conditions":[{"type":"Condition","name":"8H %B < 15","javascriptCode":{"type":"Javascript Code","code":"chart.at08hs.percentageBandwidth.previous.movingAverage <= 15","id":"5fbde96a-6337-465e-8304-ca3def2b6410","savedPayload":{"position":{"x":34313.896196108704,"y":34006.94768962772},"targetPosition":{"x":34027.55809144888,"y":33903.90890385494},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b855a2c5-d616-4379-a31a-5e187f36bfc4","savedPayload":{"position":{"x":34027.55809144888,"y":33903.90890385494},"targetPosition":{"x":33670.54217406637,"y":33767.06013221846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Extreme","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.slope === \"Extreme\"","id":"9bff4bf4-56cd-46ea-adf1-273dbe6c8299","savedPayload":{"position":{"x":33943.545916131174,"y":34380.65230579139},"targetPosition":{"x":33826.05464291599,"y":34116.36499175626},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3dbea2ad-06be-4a8e-ba8e-7718704e1dbe","savedPayload":{"position":{"x":33826.05464291599,"y":34116.36499175626},"targetPosition":{"x":33670.54217406637,"y":33767.06013221846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Channel Period > 5","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.period >= 5","id":"f969b936-fd9a-45f2-bf59-4a18d691bc06","savedPayload":{"position":{"x":33365.21759514697,"y":34361.89351578371},"targetPosition":{"x":33469.069993306824,"y":34092.07750163722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a8ac6da5-2f72-4c53-953a-4135624d6230","savedPayload":{"position":{"x":33469.069993306824,"y":34092.07750163722},"targetPosition":{"x":33670.54217406637,"y":33767.06013221846},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"15b3728c-3b03-4a2b-9e05-6b7f772e6bf3","savedPayload":{"position":{"x":33670.3617968467,"y":33767.36681069698},"targetPosition":{"x":33435.187492379744,"y":33238.76127967883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"24H Previous Up","conditions":[{"type":"Condition","name":"8H %B < 40","javascriptCode":{"type":"Javascript Code","code":"chart.at08hs.percentageBandwidth.movingAverage <= 40","id":"867dd327-29de-4b01-af95-8e18191a299a","savedPayload":{"position":{"x":33303.23943993116,"y":34347.47096855905},"targetPosition":{"x":33214.009041898185,"y":34072.534936798365},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"eef8d507-fcf6-4efa-9fcb-9e58ccc0af36","savedPayload":{"position":{"x":33214.009041898185,"y":34072.534936798365},"targetPosition":{"x":33095.222469697415,"y":33706.74008515364},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Extreme","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":" chart.at01hs.bollingerSubChannel.slope === \"Extreme\"","id":"f2fa836d-23f0-47cb-ba81-550089468d9a","savedPayload":{"position":{"x":32887.809835374734,"y":34345.48828495419},"targetPosition":{"x":32977.1943507916,"y":34070.1752676027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f75a18be-7ac8-4276-89bd-b3ff8ea5c69f","savedPayload":{"position":{"x":32977.1943507916,"y":34070.1752676027},"targetPosition":{"x":33095.222469697415,"y":33706.74008515364},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Channel Period > 3","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.period >= 3","id":"5556b779-ef49-4a0b-ad26-1cdbfd6a01b8","savedPayload":{"position":{"x":32551.79163330382,"y":34101.68307275206},"targetPosition":{"x":32786.20141093785,"y":33931.303262504545},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a8762e6c-04a8-49dc-a6e7-de73f24bb295","savedPayload":{"position":{"x":32786.20141093785,"y":33931.303262504545},"targetPosition":{"x":33095.222469697415,"y":33706.74008515364},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Previous Up","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.bollingerChannel.previous.direction === \"Up\"","id":"42cf65fc-dc6a-4a45-9e14-1820db151b51","savedPayload":{"position":{"x":32419.40835986473,"y":33706.77467618883},"targetPosition":{"x":32708.281092431735,"y":33706.74468798921},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8137faa0-d59a-4eab-ad95-ca8d2250bbf6","savedPayload":{"position":{"x":32708.281092431735,"y":33706.74468798921},"targetPosition":{"x":33095.222469697415,"y":33706.74008515364},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c688240e-5e54-456d-b219-16994f799907","savedPayload":{"position":{"x":33095.1260744772,"y":33706.85565164525},"targetPosition":{"x":33435.187492379744,"y":33238.76127967883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"6e59e30a-bd6e-45ad-afb9-f1bab0a759d9","savedPayload":{"position":{"x":33081.37059716739,"y":45986.675750518916},"targetPosition":{"x":33197.76323381353,"y":45629.00513569311},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"62709ed5-832a-43e8-8f74-29a359af7127","savedPayload":{"position":{"x":33197.76323381353,"y":45629.00513569311},"targetPosition":{"x":32946.2721927684,"y":45349.70875447456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P3: 90% MA - 4 Deviations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage * 0.9 - \nchart.at01hs.bollingerBand.deviation * 4 > 1) \n{chart.at01hs.bollingerBand.movingAverage * 0.9 - \nchart.at01hs.bollingerBand.deviation * 4} \nelse {tradingEngine.current.position.takeProfit.value}","id":"2d4907e5-54f3-4677-b191-15a85b95c64e","savedPayload":{"position":{"x":33816.99926232152,"y":45830.00500999967},"targetPosition":{"x":33449.171569216196,"y":45908.19263107522},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"12H Previous Oversold","conditions":[{"type":"Condition","name":"12H Previous %B < 15","javascriptCode":{"type":"Javascript Code","code":"chart.at12hs.percentageBandwidth.previous.movingAverage <= 15","id":"7e9cefff-d831-4c3d-ba5a-42ef48397d0f","savedPayload":{"position":{"x":34765.98380616339,"y":34347.39549418623},"targetPosition":{"x":34496.48882922251,"y":34243.977113013236},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d1d9d786-da85-4a7b-b5b5-3278dcdccfa8","savedPayload":{"position":{"x":34496.48882922251,"y":34243.977113013236},"targetPosition":{"x":34139.1826846747,"y":34106.89727920106},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Extreme","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":" chart.at01hs.bollingerSubChannel.slope === \"Extreme\"","id":"512f3976-5707-426d-b6cf-63306b90b71a","savedPayload":{"position":{"x":34412.36598168939,"y":34720.47374541691},"targetPosition":{"x":34294.68096502172,"y":34456.12380723472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1e09d719-39f0-4e66-afe9-e46f816c0b8a","savedPayload":{"position":{"x":34294.68096502172,"y":34456.12380723472},"targetPosition":{"x":34139.1826846747,"y":34106.89727920106},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Channel Period > 15","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.period >= 15","id":"53159d45-d2aa-4faf-b9a8-b6643623a64b","savedPayload":{"position":{"x":33898.86836226647,"y":34733.99282114502},"targetPosition":{"x":34002.3451549622,"y":34463.91025400862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a3cf6274-a828-41f0-a293-8e79ecfe4e39","savedPayload":{"position":{"x":34002.3451549622,"y":34463.91025400862},"targetPosition":{"x":34139.1826846747,"y":34106.89727920106},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7f47a98b-6d2e-40e4-8105-82a9fa301600","savedPayload":{"position":{"x":34138.72923068571,"y":34107.041593114736},"targetPosition":{"x":33903.444890449115,"y":33578.37533891156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"24H Previous Previous Up","conditions":[{"type":"Condition","name":"24H %B MA < 70 || 12H %B MA < 40","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.percentageBandwidth.movingAverage <= 70 || \nchart.at12hs.percentageBandwidth.movingAverage <= 40","id":"52ec70e3-9089-4cba-beb3-c8310ab966b5","savedPayload":{"position":{"x":33774.13609584818,"y":34693.67974843563},"targetPosition":{"x":33685.01926297211,"y":34418.94168257089},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9bb204df-4376-4a7d-996f-8e41d75f49c3","savedPayload":{"position":{"x":33685.01926297211,"y":34418.94168257089},"targetPosition":{"x":33564.09567865441,"y":34046.53559984974},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Previous Previous Up","code":"chart.at24hs.candlesProbability.begin > chart.at24hs.candlesProbability.begin","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.bollingerChannel.previous.previous.direction === \"Up\"","id":"a18dfaba-685b-4ac6-8435-211bb8d59f2b","savedPayload":{"position":{"x":33354.08646562934,"y":34693.63279292591},"targetPosition":{"x":33443.320245870666,"y":34418.66698641436},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b9ddf58a-89b4-4fec-899a-ab905e97234a","savedPayload":{"position":{"x":33443.320245870666,"y":34418.66698641436},"targetPosition":{"x":33564.09567865441,"y":34046.53559984974},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Extreme","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.slope === \"Extreme\"","id":"1d3956c4-c13a-414f-86ce-49acc5557ebe","savedPayload":{"position":{"x":33013.86300374505,"y":34446.71004276765},"targetPosition":{"x":33247.674194499516,"y":34276.65968787363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ee9eaf68-0a23-45a3-8aaf-42b97ebf4584","savedPayload":{"position":{"x":33247.674194499516,"y":34276.65968787363},"targetPosition":{"x":33564.09567865441,"y":34046.53559984974},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Channel Period > 5","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.period >= 5","id":"4f684afd-4c77-42b0-8b2b-64994ab95e09","savedPayload":{"position":{"x":32883.44848831362,"y":34047.03987855057},"targetPosition":{"x":33173.189255956066,"y":34046.762218374395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5ca55797-a76b-4be7-921d-bdd84773a407","savedPayload":{"position":{"x":33173.189255956066,"y":34046.762218374395},"targetPosition":{"x":33564.09567865441,"y":34046.53559984974},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"73890378-cc74-4c04-8e2b-e467429bcdb5","savedPayload":{"position":{"x":33563.36381764707,"y":34046.74274547042},"targetPosition":{"x":33903.444890449115,"y":33578.37533891156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"41a619aa-ca95-4184-a651-0fdfced33f96","savedPayload":{"position":{"x":33332.908876866,"y":46265.96430054825},"targetPosition":{"x":33449.171569216196,"y":45908.19263107522},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"c51fe1c0-ac69-4b35-913f-76e24ee4c4b2","savedPayload":{"position":{"x":33449.171569216196,"y":45908.19263107522},"targetPosition":{"x":33197.76323381353,"y":45629.00513569311},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P4: MA - 3 Deviations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage - \nchart.at01hs.bollingerBand.deviation * 3 > 1) \n{chart.at01hs.bollingerBand.movingAverage - \nchart.at01hs.bollingerBand.deviation * 3} \nelse {tradingEngine.current.position.takeProfit.value}","id":"d1425de3-3c9f-4b1a-a3ad-b5b2a604f857","savedPayload":{"position":{"x":34068.57788161443,"y":46109.40292379315},"targetPosition":{"x":33700.701198255425,"y":46187.50784931677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"24H Previous Oversold","conditions":[{"type":"Condition","name":"24H Previous %B < 20","code":"chart.at24hs.candlesProbability.begin > chart.at24hs.candlesProbability.begin","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.percentageBandwidth.previous.movingAverage <= 20","id":"1ff4ea62-15ff-4409-9e8c-0c5576958be6","savedPayload":{"position":{"x":35409.03748914336,"y":34332.41240836034},"targetPosition":{"x":35120.87684356308,"y":34347.3660115159},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"13f09ae8-9b15-4e6a-be3c-d0745b7252a3","savedPayload":{"position":{"x":35120.87684356308,"y":34347.3660115159},"targetPosition":{"x":34736.1983014881,"y":34367.45608838943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Extreme","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":" chart.at01hs.bollingerSubChannel.slope === \"Extreme\"","id":"90d32cba-ec65-4a52-a96a-02e5436b790e","savedPayload":{"position":{"x":35299.74423366926,"y":34733.223274601914},"targetPosition":{"x":35057.00651498286,"y":34575.66060019508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5a58f7e1-75da-4e8f-a4c5-185a59e8c938","savedPayload":{"position":{"x":35057.00651498286,"y":34575.66060019508},"targetPosition":{"x":34736.1983014881,"y":34367.45608838943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Channel Period > 10","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.period >=10","id":"fff48225-fa90-4ed5-aca8-4ae98a55e135","savedPayload":{"position":{"x":34976.39130225283,"y":34992.43466496907},"targetPosition":{"x":34872.571000307085,"y":34722.27863131596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e01c18f1-b9f7-4cc7-91be-6d18c3168f13","savedPayload":{"position":{"x":34872.571000307085,"y":34722.27863131596},"targetPosition":{"x":34736.1983014881,"y":34367.45608838943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H EMA 20 > 50 or Convergence","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.popularEMA.ema20 > chart.at01hs.popularEMA.ema50 || \n(chart.at01hs.popularEMA.ema50 - chart.at01hs.popularEMA.ema20 < \nchart.at01hs.popularEMA.previous.ema50 - chart.at01hs.popularEMA.previous.ema20 && \nchart.at01hs.popularEMA.previous.ema50 - chart.at01hs.popularEMA.previous.ema20 < chart.at01hs.popularEMA.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.ema20 && \nchart.at01hs.popularEMA.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.ema20 < \nchart.at01hs.popularEMA.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.ema20 && \nchart.at01hs.popularEMA.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.ema20 < \nchart.at01hs.popularEMA.previous.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.previous.ema20 && \nchart.at01hs.popularEMA.previous.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.previous.ema20 < \nchart.at01hs.popularEMA.previous.previous.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.previous.previous.ema20)\n","id":"7ee960b5-be23-4649-92ca-fc4ea5adc99b","savedPayload":{"position":{"x":34588.6896831818,"y":35003.24238230911},"targetPosition":{"x":34638.21451177582,"y":34734.76550724741},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4262c963-84df-44ba-ac06-7ecb331ba24d","savedPayload":{"position":{"x":34638.21451177582,"y":34734.76550724741},"targetPosition":{"x":34736.1983014881,"y":34367.45608838943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"186df69f-9a0d-49af-9394-0dbd05f18628","savedPayload":{"position":{"x":32493.284936710133,"y":34899.97010995033},"targetPosition":{"x":32434.623958472763,"y":34512.41242352729},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"24H Previous Previous Up","conditions":[{"type":"Condition","name":"24H Previous Previous Up","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.bollingerChannel.previous.previous.direction === \"Up\"","id":"d08197af-2643-4f8c-83ac-8eb33a9ff474","savedPayload":{"position":{"x":34851.28599295458,"y":34966.245125547284},"targetPosition":{"x":34635.47354092749,"y":34771.87096227452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"750174f5-0953-4204-bb06-9f68030e9185","savedPayload":{"position":{"x":34635.47354092749,"y":34771.87096227452},"targetPosition":{"x":34312.05778430146,"y":34480.55766622613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Extreme","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.slope === \"Extreme\"","id":"9d8a9727-239e-42db-952a-7c04e065ffca","savedPayload":{"position":{"x":34462.2575998714,"y":35187.42822942591},"targetPosition":{"x":34402.217549161316,"y":34904.801585394336},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f42f3843-bf81-4782-b129-f06e98f354d8","savedPayload":{"position":{"x":34402.217549161316,"y":34904.801585394336},"targetPosition":{"x":34312.05778430146,"y":34480.55766622613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Channel Period > 5","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.period >=5","id":"99b3c782-ecb4-43ca-9624-962220c38981","savedPayload":{"position":{"x":34017.69062754922,"y":35142.827005323794},"targetPosition":{"x":34135.06246520573,"y":34878.72637517916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0fdfb277-cfa0-4fc6-aee9-db2cc997b208","savedPayload":{"position":{"x":34135.06246520573,"y":34878.72637517916},"targetPosition":{"x":34312.05778430146,"y":34480.55766622613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H %B < 60 || 12H %B < 30","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.percentageBandwidth.movingAverage <= 60 || \nchart.at12hs.percentageBandwidth.movingAverage <= 30","id":"90331db7-a6e8-47a6-be28-4e679b728ce3","savedPayload":{"position":{"x":33688.6060823321,"y":34841.204941147946},"targetPosition":{"x":33938.84406993014,"y":34696.41520430634},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ef2973eb-d707-41cc-b492-96dbf5215de1","savedPayload":{"position":{"x":33938.84406993014,"y":34696.41520430634},"targetPosition":{"x":34312.05778430146,"y":34480.55766622613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"91020a9c-998e-407c-94f1-774941d9033c","savedPayload":{"position":{"x":32204.60372331289,"y":34829.153321840844},"targetPosition":{"x":32434.623958472763,"y":34512.41242352729},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"25% Target","conditions":[{"type":"Condition","name":"25% Target","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close <= tradingEngine.current.position.entryTargetRate.value * 0.8","id":"a8a904a9-cbf3-40cb-89ef-8066d65fe443","savedPayload":{"position":{"x":31439.153660104803,"y":34670.91668652775},"targetPosition":{"x":31631.279843679597,"y":34640.18604123795},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b841c21b-789a-49bf-b959-f91613e089a8","savedPayload":{"position":{"x":31631.279843679597,"y":34640.18604123795},"targetPosition":{"x":32053.638629901925,"y":34573.02752757285},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"66105054-6e57-4aec-ada2-14054981fd68","savedPayload":{"position":{"x":32048.25665768771,"y":34573.683429503624},"targetPosition":{"x":32434.623958472763,"y":34512.41242352729},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"830013bf-e507-4960-9742-1a9b8ffdd16a","savedPayload":{"position":{"x":33584.52207707842,"y":46545.3487760963},"targetPosition":{"x":33700.701198255425,"y":46187.50784931677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"b30e4c2c-fe06-4217-af5a-5c728463388a","savedPayload":{"position":{"x":33700.701198255425,"y":46187.50784931677},"targetPosition":{"x":33449.171569216196,"y":45908.19263107522},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P5: MA - 1.5 Deviations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage - \nchart.at01hs.bollingerBand.deviation * 1.5 > 1) \n{chart.at01hs.bollingerBand.movingAverage - \nchart.at01hs.bollingerBand.deviation * 1.5} \nelse {tradingEngine.current.position.takeProfit.value}","id":"b04ad21c-bd81-401e-8b70-c158ab668f66","savedPayload":{"position":{"x":34320.106779168156,"y":46388.82870795658},"targetPosition":{"x":33952.307488258244,"y":46466.911476557114},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"24H Previous Oversold","conditions":[{"type":"Condition","name":"24H Previous MA < 10","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.percentageBandwidth.previous.movingAverage <= 10","id":"7637580c-cda0-4056-ad4a-de67510050fa","savedPayload":{"position":{"x":35876.25205652919,"y":34671.62305414491},"targetPosition":{"x":35586.44372881866,"y":34686.63835648769},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ecaa9841-49d1-45da-8249-17e373c7d662","savedPayload":{"position":{"x":35586.44372881866,"y":34686.63835648769},"targetPosition":{"x":35204.802553158996,"y":34706.52466078047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Extreme","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.slope === \"Extreme\"","id":"f6f6d914-5813-4389-b29e-6c7edc4927e0","savedPayload":{"position":{"x":35768.29691707317,"y":35072.353314686974},"targetPosition":{"x":35525.69778322024,"y":34914.843887799856},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9fb9d04e-da7e-45a8-af44-e87d65e5650f","savedPayload":{"position":{"x":35525.69778322024,"y":34914.843887799856},"targetPosition":{"x":35204.802553158996,"y":34706.52466078047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Channel Period > 10","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.period >=10","id":"a08871c1-b85d-4afc-9480-7eeca7598dd1","savedPayload":{"position":{"x":35445.71323171194,"y":35333.763656162},"targetPosition":{"x":35341.881768878666,"y":35063.38160905354},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1dcf89ef-e3e3-4d6e-bbfb-16ccdeeec348","savedPayload":{"position":{"x":35341.881768878666,"y":35063.38160905354},"targetPosition":{"x":35204.802553158996,"y":34706.52466078047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H EMA 20 > 50 or Convergence","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.popularEMA.ema20 > chart.at01hs.popularEMA.ema50 || (chart.at01hs.popularEMA.ema50 - chart.at01hs.popularEMA.ema20 < chart.at01hs.popularEMA.previous.ema50 - chart.at01hs.popularEMA.previous.ema20 && chart.at01hs.popularEMA.previous.ema50 - chart.at01hs.popularEMA.previous.ema20 < chart.at01hs.popularEMA.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.ema20 && chart.at01hs.popularEMA.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.ema20 < chart.at01hs.popularEMA.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.ema20 && chart.at01hs.popularEMA.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.ema20 < chart.at01hs.popularEMA.previous.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.previous.ema20 && chart.at01hs.popularEMA.previous.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.previous.ema20 < chart.at01hs.popularEMA.previous.previous.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.previous.previous.ema20)","id":"5dc14b5f-4a07-413a-83ac-7c57eb96a8d3","savedPayload":{"position":{"x":35031.521909945615,"y":35355.73056921952},"targetPosition":{"x":35106.25401711537,"y":35075.68784345852},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8a062525-23e1-48dc-83c1-c0cec0e30907","savedPayload":{"position":{"x":35106.25401711537,"y":35075.68784345852},"targetPosition":{"x":35204.802553158996,"y":34706.52466078047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f3086330-375a-4871-a7a8-f12b0543f1c3","savedPayload":{"position":{"x":33726.66071845453,"y":46849.50789825656},"targetPosition":{"x":33552.467278048556,"y":46508.107532752314},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"24H Previous Previous Up","conditions":[{"type":"Condition","name":"24H Previous Previous Up","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.bollingerChannel.previous.previous.direction === \"Up\"","id":"aca8f925-5511-4d06-92bb-29b637072f66","savedPayload":{"position":{"x":35291.71769970888,"y":35293.15526062224},"targetPosition":{"x":35069.51748654536,"y":35093.00585602653},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d0ff1bab-8072-4dab-97b8-69d3cb9d0d48","savedPayload":{"position":{"x":35069.51748654536,"y":35093.00585602653},"targetPosition":{"x":34780.54057706965,"y":34832.61490488943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H %B < 50 || 12H %B < 17.5","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.percentageBandwidth.movingAverage <= 50 || \nchart.at12hs.percentageBandwidth.movingAverage <= 17.5","id":"7673df58-3326-4d28-9005-47214b0f05c0","savedPayload":{"position":{"x":34919.96500259511,"y":35488.16089355628},"targetPosition":{"x":34859.67021793508,"y":35204.39181583699},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5435a45d-891a-4456-8521-6587003fb171","savedPayload":{"position":{"x":34859.67021793508,"y":35204.39181583699},"targetPosition":{"x":34780.54057706965,"y":34832.61490488943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Extreme","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.slope === \"Extreme\"","id":"4eadea14-f412-4849-b3f6-187e72b13bd8","savedPayload":{"position":{"x":34508.62639265218,"y":35444.61230201032},"targetPosition":{"x":34626.14280748206,"y":35180.09379289712},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a94adefc-e6c3-4531-ab91-84d23096900a","savedPayload":{"position":{"x":34626.14280748206,"y":35180.09379289712},"targetPosition":{"x":34780.54057706965,"y":34832.61490488943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Channel Period > 5","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.period >=5","id":"c69a88a9-be56-4dd6-88d9-c360b06fa501","savedPayload":{"position":{"x":34201.18512479268,"y":35167.99486195829},"targetPosition":{"x":34451.70454936917,"y":35022.94867924883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fe46196d-b481-4b9f-8908-43b5e7094d7f","savedPayload":{"position":{"x":34451.70454936917,"y":35022.94867924883},"targetPosition":{"x":34780.54057706965,"y":34832.61490488943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"80b47c3e-843a-43f5-8f74-5d2a437457fc","savedPayload":{"position":{"x":33434.240282908795,"y":46872.8894925803},"targetPosition":{"x":33552.467278048556,"y":46508.107532752314},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"66% Target","conditions":[{"type":"Condition","name":"66% Target","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close <= tradingEngine.current.position.entryTargetRate.value * 0.6","id":"8a74b52a-5fc5-4ed0-85a3-4092e474081c","savedPayload":{"position":{"x":31596.267109871722,"y":35023.159554406884},"targetPosition":{"x":31788.215617618942,"y":34992.51174426056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f27c3841-bbe5-40a0-81e1-031db8512b53","savedPayload":{"position":{"x":31788.215617618942,"y":34992.51174426056},"targetPosition":{"x":32210.72091809486,"y":34925.37752862128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ff1379fd-2b18-4c17-b69b-5aed7bffc5c9","savedPayload":{"position":{"x":33210.889634246996,"y":46682.09164890673},"targetPosition":{"x":33552.467278048556,"y":46508.107532752314},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"5e8f7f0f-0a93-4f9d-ac7c-da2b53d38919","savedPayload":{"position":{"x":33836.17019015389,"y":46824.696261092555},"targetPosition":{"x":33952.307488258244,"y":46466.911476557114},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"ac38aa6f-c935-4bd3-90f5-69163e3f23ac","savedPayload":{"position":{"x":33952.307488258244,"y":46466.911476557114},"targetPosition":{"x":33700.701198255425,"y":46187.50784931677},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P6: Lower Band","formula":{"type":"Formula","name":"New Formula","code":"chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation","id":"5a0e05fc-2b96-46dd-b913-fa10420404c0","savedPayload":{"position":{"x":34455.40981462937,"y":47025.64828811611},"targetPosition":{"x":34203.931419250424,"y":46746.35130423025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"9dc858f9-63b4-48a4-bcfc-5cee9a7219b4","savedPayload":{"position":{"x":34203.931419250424,"y":46746.35130423025},"targetPosition":{"x":33952.307488258244,"y":46466.911476557114},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"116048c4-81d3-469d-842c-390bb32de8ce","savedPayload":{"position":{"x":31974.29285774793,"y":31257.125230231417},"targetPosition":{"x":31823.738471317185,"y":31089.917644499004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"7c129ba3-8e7d-422a-9e40-d3a362b2f251","savedPayload":{"position":{"x":31823.738471317185,"y":31089.917644499004},"targetPosition":{"x":31395.763038984365,"y":30950.85999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeStage":{"type":"Close Stage","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","targetRate":{"type":"Target Rate","name":"New Target Rate","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.episode.candle.close.value","id":"3d3dc6e9-d5c3-405d-bea2-ff0867368e87","savedPayload":{"position":{"x":33248.49395561729,"y":44909.281020401424},"targetPosition":{"x":32897.946257332456,"y":45042.85172175319},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"93fa6d49-ec93-4df0-aa39-0e41982a794a","savedPayload":{"position":{"x":32897.946257332456,"y":45042.85172175319},"targetPosition":{"x":32509.004845169762,"y":45190.80298383253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInQuotedAsset":{"type":"Target Size In Quoted Asset","name":"New Target Size In Quoted Asset","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.strategyOpenStage.stageQuotedAsset.sizeFilled.value","id":"6e98a177-0236-4e1c-8d32-7c67df342fac","savedPayload":{"position":{"x":33124.27622132987,"y":45689.29129050877},"targetPosition":{"x":32833.607795602526,"y":45453.94255605627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"85c5712b-61bc-4eaf-92a9-4fdacd110f85","savedPayload":{"position":{"x":32833.607795602526,"y":45453.94255605627},"targetPosition":{"x":32509.004845169762,"y":45190.80298383253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4cd64320-79e3-4a06-a892-02756d235dbe","savedPayload":{"position":{"x":31865.814130485564,"y":31406.43338919106},"targetPosition":{"x":31660.26640251598,"y":31314.917644499004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeExecution":{"type":"Close Execution","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","marketBuyOrders":[{"type":"Market Buy Order","name":"Quick Exit","config":"{\n\"percentageOfAlgorithmSize\": 100,\n\"spawnMultipleOrders\": false\n}","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","id":"142e80e8-6ef4-443c-91c2-96e0a2041523","savedPayload":{"position":{"x":31945.0952739475,"y":35200.95805384226},"targetPosition":{"x":31882.71536786642,"y":34905.689225518174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2e4205ca-82db-4481-a5f9-8bd3d3619eac","savedPayload":{"position":{"x":31882.71536786642,"y":34905.689225518174},"targetPosition":{"x":31820.25060740452,"y":34610.32110299557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4067e6b8-f217-4094-a02f-4da7014704a1","savedPayload":{"position":{"x":31820.25060740452,"y":34610.32110299557},"targetPosition":{"x":31753.280299356597,"y":34293.364650702104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"092bc2da-ac37-407f-8e2f-6492ae11502c","savedPayload":{"position":{"x":32298.83872267936,"y":46667.345580818335},"targetPosition":{"x":32259.659298779105,"y":46293.50645989808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"3b1d6016-48ec-4460-8200-30bc40049643","savedPayload":{"position":{"x":32259.659298779105,"y":46293.50645989808},"targetPosition":{"x":32220.5074034845,"y":45919.80180983993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Buy Order #1","id":"7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3"}}}],"marketSellOrders":[],"limitBuyOrders":[],"limitSellOrders":[],"id":"f46a0d35-2aea-47d3-96c9-ec3e063c5168","savedPayload":{"position":{"x":32220.5074034845,"y":45919.80180983993},"targetPosition":{"x":32177.067500130102,"y":45504.92975961235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"13f97380-5bfb-4f7d-a690-ffefb67fdfb9","savedPayload":{"position":{"x":31683.7853067512,"y":31538.685070956864},"targetPosition":{"x":31660.26640251598,"y":31314.917644499004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"bdaf22d5-ad3a-43e4-8a9e-848b8f32eff4","savedPayload":{"position":{"x":31660.26640251598,"y":31314.917644499004},"targetPosition":{"x":31395.763038984365,"y":30950.85999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5a5f437d-1a17-4619-95e6-925b7686c87c","savedPayload":{"position":{"x":31395.763038984365,"y":30950.85999703028},"targetPosition":{"x":30945.763038984365,"y":30950.85999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Trading Strategy","name":"Xtreme","triggerStage":{"type":"Trigger Stage","triggerOn":{"type":"Trigger On Event","situations":[{"type":"Situation","name":"Xtreme","conditions":[{"type":"Condition","name":"3 Closes Below MA","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage && \nchart.at01hs.candle.previous.close < chart.at01hs.bollingerBand.previous.movingAverage && \nchart.at01hs.candle.previous.previous.close < chart.at01hs.bollingerBand.previous.previous.movingAverage","id":"afc33e4f-53e2-4106-83c3-9efa7e7bebc5","savedPayload":{"position":{"x":30821.328868810433,"y":31935.37647054132},"targetPosition":{"x":30653.97059988625,"y":31913.748425722137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0f055de8-0eb0-4a8c-aea8-0acc7480ac6c","savedPayload":{"position":{"x":30653.97059988625,"y":31913.748425722137},"targetPosition":{"x":30319.254062037882,"y":31870.492336083767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Breakdown","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation","id":"34bd2c52-c5aa-4e69-9b82-414008ee0b80","savedPayload":{"position":{"x":30782.71133826583,"y":32074.199026232545},"targetPosition":{"x":30628.225579523183,"y":32006.296796182953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"4ccae6ab-5911-4e5b-aa69-57e157a5acf9","savedPayload":{"position":{"x":30628.225579523183,"y":32006.296796182953},"targetPosition":{"x":30319.254062037882,"y":31870.492336083767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2H Down","javascriptCode":{"type":"Javascript Code","code":"chart.at02hs.bollingerChannel.direction === \"Down\"","id":"527f0ba5-4997-44c4-94d8-095c7b3d869e","savedPayload":{"position":{"x":30706.547255487792,"y":32196.51847737825},"targetPosition":{"x":30577.449524337822,"y":32087.843096946755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"bfed975b-1086-4648-b900-2c493bcd2278","savedPayload":{"position":{"x":30577.449524337822,"y":32087.843096946755},"targetPosition":{"x":30319.254062037882,"y":31870.492336083767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Deviation > 200","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.bollingerBand.deviation > 200","id":"56266555-5754-48e1-be35-51840b451a61","savedPayload":{"position":{"x":30599.00698149775,"y":32292.425229508397},"targetPosition":{"x":30505.756008344462,"y":32151.78093170019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ca52539f-eab7-4867-80a9-4c03295df977","savedPayload":{"position":{"x":30505.756008344462,"y":32151.78093170019},"targetPosition":{"x":30319.254062037882,"y":31870.492336083767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Candle Size < 750","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.max - chart.at01hs.candle.min < 750","id":"63b99ed2-4919-4262-aa74-ca9de1f83e0a","savedPayload":{"position":{"x":30468.802789727746,"y":32354.14948794482},"targetPosition":{"x":30418.953213831126,"y":32192.930437324467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"04132e51-a148-4e3b-a41a-d47deaa5113d","savedPayload":{"position":{"x":30418.953213831126,"y":32192.930437324467},"targetPosition":{"x":30319.254062037882,"y":31870.492336083767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Deviation < 1000","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.bollingerBand.deviation < 1000","id":"5de63c96-ba0b-4329-8f5d-36414ecec5f3","savedPayload":{"position":{"x":30326.483049440838,"y":32376.690720357292},"targetPosition":{"x":30324.073386973185,"y":32207.95792559945},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"206f98c9-6ebc-47bf-97f9-7a2369cf2a20","savedPayload":{"position":{"x":30324.073386973185,"y":32207.95792559945},"targetPosition":{"x":30319.254062037882,"y":31870.492336083767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Not Completly Oversold","javascriptCode":{"type":"Javascript Code","code":"chart.at02hs.percentageBandwidth.movingAverage >= 30 || \nchart.at03hs.percentageBandwidth.movingAverage >= 30 || \nchart.at04hs.percentageBandwidth.movingAverage >= 30 || \nchart.at06hs.percentageBandwidth.movingAverage >= 30 || \nchart.at08hs.percentageBandwidth.movingAverage >= 30","id":"09a75c6c-1d70-4826-9926-b65c58db8ec9","savedPayload":{"position":{"x":30183.577659586983,"y":32358.222770153636},"targetPosition":{"x":30228.803127070616,"y":32195.645958797013},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e5cc491c-ca57-4138-8c28-9b0f3aa706d7","savedPayload":{"position":{"x":30228.803127070616,"y":32195.645958797013},"targetPosition":{"x":30319.254062037882,"y":31870.492336083767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Extreme","javascriptCode":{"type":"Javascript Code","code":"if (chart.at01hs.bollingerSubChannel.slope != \"Extreme\") {true} else {if (chart.at01hs.bollingerSubChannel.period <=7) {true} else {false}}","id":"67f3557c-8ecd-46bc-afbc-433af0bc47de","savedPayload":{"position":{"x":30051.66396496107,"y":32300.241800826214},"targetPosition":{"x":30140.860663986674,"y":32156.9919792454},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f9dbefdb-09bf-4d90-964f-35b02cde3ce4","savedPayload":{"position":{"x":30140.860663986674,"y":32156.9919792454},"targetPosition":{"x":30319.254062037882,"y":31870.492336083767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2H %B MA > 70","javascriptCode":{"type":"Javascript Code","code":"chart.at02hs.percentageBandwidth.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.previous.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.previous.previous.previous.movingAverage >= 70","id":"3e758bbf-798d-4350-b600-f66e65b79a94","savedPayload":{"position":{"x":29941.42882858073,"y":32207.44508568384},"targetPosition":{"x":30067.370573066448,"y":32095.127502483818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d4c531a6-e637-4fd8-a2b8-b8b248bf4a0a","savedPayload":{"position":{"x":30067.370573066448,"y":32095.127502483818},"targetPosition":{"x":30319.254062037882,"y":31870.492336083767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Deviation > 2000","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at24hs.bollingerBand.deviation > 2000","id":"6dc8d475-f68f-4405-8418-5869e7ca3785","savedPayload":{"position":{"x":29861.80284560191,"y":32087.35046270403},"targetPosition":{"x":30014.2865844139,"y":32015.064420497278},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"445f4ffc-bac0-44f2-9441-cf01424fd36e","savedPayload":{"position":{"x":30014.2865844139,"y":32015.064420497278},"targetPosition":{"x":30319.254062037882,"y":31870.492336083767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8a5bd03d-6958-4fd0-bd5d-84afb04a6bed","savedPayload":{"position":{"x":30319.254062037882,"y":31870.492336083767},"targetPosition":{"x":30266.457430086804,"y":31537.14752113291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"b21fbf4b-4ed3-4536-93f3-531ca2700817","savedPayload":{"position":{"x":30266.457430086804,"y":31537.14752113291},"targetPosition":{"x":30231.25967545275,"y":31314.917644499004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"triggerOff":{"type":"Trigger Off Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.close > chart.at01hs.bollingerBand.movingAverage","id":"3b591e8c-1739-4466-b9f3-87be08d0db90","savedPayload":{"position":{"x":29702.252948389523,"y":32043.032939436456},"targetPosition":{"x":29834.50463015533,"y":31861.004115702093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"20b59f4c-8ec5-4be8-9d06-f1b223045e83","savedPayload":{"position":{"x":29834.50463015533,"y":31861.004115702093},"targetPosition":{"x":29966.756311921137,"y":31678.97529196773},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4b8da5dc-c9d7-4794-ba8a-ad3a737f82c6","savedPayload":{"position":{"x":29966.756311921137,"y":31678.97529196773},"targetPosition":{"x":30099.007993686944,"y":31496.946468233367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"4e265461-a65e-4f61-a123-f74d32a3d14f","savedPayload":{"position":{"x":30099.007993686944,"y":31496.946468233367},"targetPosition":{"x":30231.25967545275,"y":31314.917644499004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takePosition":{"type":"Take Position Event","situations":[{"type":"Situation","name":"Xtreme","conditions":[{"type":"Condition","name":"3 Closes Below MA","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage && \nchart.at01hs.candle.previous.close < chart.at01hs.bollingerBand.previous.movingAverage && \nchart.at01hs.candle.previous.previous.close < chart.at01hs.bollingerBand.previous.previous.movingAverage","id":"88151639-ba25-411f-ab3a-8e002e9948f2","savedPayload":{"position":{"x":29596.49003594137,"y":31902.929253510425},"targetPosition":{"x":29622.88835191691,"y":31736.256846034994},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"fc0bf247-86a1-4352-a85b-a0515a158629","savedPayload":{"position":{"x":29622.88835191691,"y":31736.256846034994},"targetPosition":{"x":29675.68498386799,"y":31402.912031084135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Breakdown","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation","id":"5ce80f14-1175-4cce-8f3f-cd05977d02e8","savedPayload":{"position":{"x":29445.852293374843,"y":31853.984083954496},"targetPosition":{"x":29522.46319020589,"y":31703.62673299771},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"449a1458-781c-4214-9ddc-4e268891db36","savedPayload":{"position":{"x":29522.46319020589,"y":31703.62673299771},"targetPosition":{"x":29675.68498386799,"y":31402.912031084135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2H Down","javascriptCode":{"type":"Javascript Code","code":"chart.at02hs.bollingerChannel.direction === \"Down\"","id":"660a8819-2e1b-46f9-b8ff-0f07b772ffb7","savedPayload":{"position":{"x":29317.7121758923,"y":31760.884839059825},"targetPosition":{"x":29437.036445217527,"y":31641.560569734596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b9a2cd43-d129-444e-9684-04ba93aa939e","savedPayload":{"position":{"x":29437.036445217527,"y":31641.560569734596},"targetPosition":{"x":29675.68498386799,"y":31402.912031084135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Deviation > 200","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.bollingerBand.deviation > 200","id":"9d354242-8f6f-4dd4-8488-f453699caf51","savedPayload":{"position":{"x":29224.612930997628,"y":31632.74472157728},"targetPosition":{"x":29374.970281954415,"y":31556.133824746234},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2d429ceb-6816-4f9d-b211-4034080d39a3","savedPayload":{"position":{"x":29374.970281954415,"y":31556.133824746234},"targetPosition":{"x":29675.68498386799,"y":31402.912031084135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Candle Size < 750","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.max - chart.at01hs.candle.min < 750","id":"85a4f5bd-4255-4b8d-bb4e-62eddb053030","savedPayload":{"position":{"x":29175.6677614417,"y":31482.106979010754},"targetPosition":{"x":29342.34016891713,"y":31455.708663035213},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0b3dba7b-79a2-425e-be41-0368ea2f005d","savedPayload":{"position":{"x":29342.34016891713,"y":31455.708663035213},"targetPosition":{"x":29675.68498386799,"y":31402.912031084135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Deviation < 1000","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.bollingerBand.deviation < 1000","id":"89150469-6c19-4781-8c80-f3ac0728d734","savedPayload":{"position":{"x":29175.6677614417,"y":31323.71708315752},"targetPosition":{"x":29342.34016891713,"y":31350.115399133058},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c27245cb-4562-4e8b-8cd2-171427de3d04","savedPayload":{"position":{"x":29342.34016891713,"y":31350.115399133058},"targetPosition":{"x":29675.68498386799,"y":31402.912031084135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Not Completly Oversold","javascriptCode":{"type":"Javascript Code","code":"chart.at02hs.percentageBandwidth.movingAverage >= 30 || \nchart.at03hs.percentageBandwidth.movingAverage >= 30 || \nchart.at04hs.percentageBandwidth.movingAverage >= 30 || \nchart.at06hs.percentageBandwidth.movingAverage >= 30 || \nchart.at08hs.percentageBandwidth.movingAverage >= 30","id":"72d449b1-2eaf-449c-b4c2-7e54165620e4","savedPayload":{"position":{"x":29224.612930997628,"y":31173.07934059099},"targetPosition":{"x":29374.970281954415,"y":31249.690237422037},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"72c0840a-0162-4fb5-8fe0-1043a3500942","savedPayload":{"position":{"x":29374.970281954415,"y":31249.690237422037},"targetPosition":{"x":29675.68498386799,"y":31402.912031084135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Extreme","javascriptCode":{"type":"Javascript Code","code":"if (chart.at01hs.bollingerSubChannel.slope != \"Extreme\") {true} else {if (chart.at01hs.bollingerSubChannel.period <=7) {true} else {false}}","id":"fd550ee5-bb66-4475-9712-165aff7123a2","savedPayload":{"position":{"x":29317.7121758923,"y":31044.939223108446},"targetPosition":{"x":29437.036445217527,"y":31164.263492433674},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"27abcda3-5917-4345-b070-f506dd03d511","savedPayload":{"position":{"x":29437.036445217527,"y":31164.263492433674},"targetPosition":{"x":29675.68498386799,"y":31402.912031084135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2H %B MA > 70","javascriptCode":{"type":"Javascript Code","code":"chart.at02hs.percentageBandwidth.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.previous.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.previous.previous.previous.movingAverage >= 70","id":"ae35fa99-f82e-421d-9df7-695e52a2dbe3","savedPayload":{"position":{"x":29445.852293374843,"y":30951.839978213775},"targetPosition":{"x":29522.46319020589,"y":31102.19732917056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"055aec39-19b4-4001-8c7e-4e9d0b46a41d","savedPayload":{"position":{"x":29522.46319020589,"y":31102.19732917056},"targetPosition":{"x":29675.68498386799,"y":31402.912031084135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"935320b2-9c4b-4f95-a23b-eca780f9968e","savedPayload":{"position":{"x":29675.68498386799,"y":31402.912031084135},"targetPosition":{"x":30009.029798818847,"y":31350.115399133058},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"9473e9a0-df49-4111-aeb3-c3398a2cca06","savedPayload":{"position":{"x":30009.029798818847,"y":31350.115399133058},"targetPosition":{"x":30231.25967545275,"y":31314.917644499004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"7653910c-4637-4b93-909a-934356164e61","savedPayload":{"position":{"x":30231.25967545275,"y":31314.917644499004},"targetPosition":{"x":30495.763038984365,"y":30950.85999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},"openStage":{"type":"Open Stage","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","targetRate":{"type":"Target Rate","name":"New Target Rate","formula":{"type":"Formula","name":"My Formula","code":"tradingEngine.current.episode.candle.close.value","id":"20253ca8-c331-4d15-83dd-3615e5b3bd94","savedPayload":{"position":{"x":29823.67295935281,"y":31697.29165056163},"targetPosition":{"x":29870.453089786806,"y":31477.208440396524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e2d8b919-87fd-4d37-86b7-7c1e7d6268ff","savedPayload":{"position":{"x":29870.453089786806,"y":31477.208440396524},"targetPosition":{"x":29917.2332202208,"y":31257.125230231417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInBaseAsset":{"type":"Target Size In Base Asset","name":"New Target Size In Base Asset","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.episode.episodeBaseAsset.balance.value","id":"a90e0c3d-a8f5-4cce-a763-2cc1a0d64502","savedPayload":{"position":{"x":29489.257787887986,"y":31396.182877700143},"targetPosition":{"x":29703.245504054394,"y":31326.65405396578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1f3a30b8-30b5-46e9-b8b7-1ceb4bf80aae","savedPayload":{"position":{"x":29703.245504054394,"y":31326.65405396578},"targetPosition":{"x":29917.2332202208,"y":31257.125230231417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"82010f4f-3614-4bdc-8c40-4d99e9e31312","savedPayload":{"position":{"x":29917.2332202208,"y":31257.125230231417},"targetPosition":{"x":30067.787606651546,"y":31089.917644499004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openExecution":{"type":"Open Execution","name":"New Open Execution","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","marketBuyOrders":[],"marketSellOrders":[{"type":"Market Sell Order","name":"Quick Entry","config":"{\n\"percentageOfAlgorithmSize\": 100\n}","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","id":"1fe7e332-45dd-45c0-b106-63cdaea4bed4","savedPayload":{"position":{"x":28527.2051354958,"y":30762.456731461036},"targetPosition":{"x":28747.288345660905,"y":30809.23686189503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f2f65162-a972-4815-885c-a82298951d0b","savedPayload":{"position":{"x":28747.288345660905,"y":30809.23686189503},"targetPosition":{"x":28967.371555826012,"y":30856.016992329027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0662db35-3b83-4fad-be6c-aed4105f1804","savedPayload":{"position":{"x":28967.371555826012,"y":30856.016992329027},"targetPosition":{"x":29187.45476599112,"y":30902.797122763022},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"8c738920-803e-4d81-81d7-f08f9d94d4b6","savedPayload":{"position":{"x":29187.45476599112,"y":30902.797122763022},"targetPosition":{"x":29407.537976156225,"y":30949.577253197018},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b4d78477-d485-45cc-ba6e-d97c76cf7dcc","savedPayload":{"position":{"x":29407.537976156225,"y":30949.577253197018},"targetPosition":{"x":29627.621186321332,"y":30996.357383631013},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Sell Order #1","id":"8e404329-d41f-41e0-ad5a-c84ee1fa2604"}}}],"limitBuyOrders":[],"limitSellOrders":[],"id":"8243f9c5-daa7-4793-9752-ade0c6dc895a","savedPayload":{"position":{"x":29627.621186321332,"y":30996.357383631013},"targetPosition":{"x":29847.70439648644,"y":31043.13751406501},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"a2395358-86a8-43ae-8473-fd8bc36631b7","savedPayload":{"position":{"x":29847.70439648644,"y":31043.13751406501},"targetPosition":{"x":30067.787606651546,"y":31089.917644499004},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"17b1363e-f9cb-4a68-bb06-666749e377e9","savedPayload":{"position":{"x":30067.787606651546,"y":31089.917644499004},"targetPosition":{"x":30495.763038984365,"y":30950.85999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"manageStage":{"type":"Manage Stage","managedStopLoss":{"type":"Managed Stop Loss","name":"New Managed Stop Loss","phases":[{"type":"Phase","name":"New Phase","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.position.entryTargetRate.value * 1.03","id":"2477d7a0-e2ef-4f98-8859-c9abdd65f330","savedPayload":{"position":{"x":29460.41360058892,"y":31055.916996860287},"targetPosition":{"x":29627.621186321332,"y":30905.362610429544},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"shortcutKey":"q"}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"Close Below 5%","code":"chart.at24hs.candlesProbability.begin > chart.at24hs.candlesProbability.begin","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.close < tradingEngine.current.position.entryTargetRate.value * 0.95","id":"aa5d897c-69c4-4c32-a25d-76662d7e110f","savedPayload":{"position":{"x":27395.437900321685,"y":45499.13558438583},"targetPosition":{"x":27739.16174441729,"y":45387.42703343237},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ac91438d-54f6-4de5-bd93-2414037fd447","savedPayload":{"position":{"x":27739.16174441729,"y":45387.42703343237},"targetPosition":{"x":28083.096701816885,"y":45275.62140783953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ba1814d0-9aac-443f-8ce8-9f19e860b532","savedPayload":{"position":{"x":28083.096701816885,"y":45275.62140783953},"targetPosition":{"x":28436.764796764543,"y":45160.60887785924},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"784ae520-1c92-4923-b9b1-b3da21840959","savedPayload":{"position":{"x":29413.633470154924,"y":30835.83378669518},"targetPosition":{"x":29627.621186321332,"y":30905.362610429544},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"48832805-7cb3-4fe7-b465-5e20cb5393ce","savedPayload":{"position":{"x":29627.621186321332,"y":30905.362610429544},"targetPosition":{"x":29847.70439648644,"y":30858.582479995548},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P1: Trailing 4% Above MA","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage * 1.04 < tradingEngine.current.position.stopLoss.value) \n{chart.at01hs.bollingerBand.movingAverage * 1.04} \nelse {tradingEngine.current.position.stopLoss.value}","id":"1348c680-76ae-4766-bb6d-b8885b8b976c","savedPayload":{"position":{"x":29187.45476599112,"y":30998.922871297535},"targetPosition":{"x":29407.537976156225,"y":30952.14274086354},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"b65434d1-738d-4df6-9b40-cb3674874299","savedPayload":{"position":{"x":29407.537976156225,"y":30952.14274086354},"targetPosition":{"x":29627.621186321332,"y":30905.362610429544},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e0588afd-77c9-41e2-9ba3-6ad4661b299e","savedPayload":{"position":{"x":29847.70439648644,"y":30858.582479995548},"targetPosition":{"x":30067.787606651546,"y":30811.802349561553},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"managedTakeProfit":{"type":"Managed Take Profit","name":"New Managed Take Profit","phases":[{"type":"Phase","name":"P 1","formula":{"type":"Formula","name":"New Formula","code":"chart.at01hs.bollingerBand.movingAverage * 0.6","id":"da970219-d04e-4e81-b13f-11206c1ac444","savedPayload":{"position":{"x":29552.69111762365,"y":30407.858354362364},"targetPosition":{"x":29766.678833790058,"y":30477.387178096727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"3H Oversold","javascriptCode":{"type":"Javascript Code","code":"chart.at03hs.percentageBandwidth.previous.movingAverage <= 10","id":"598ad9f2-1628-484a-8064-dc02a603a76a","savedPayload":{"position":{"x":27141.352546152822,"y":44241.26971039022},"targetPosition":{"x":27495.175104833386,"y":44316.152772204965},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8d0ee4a2-12bc-4397-88eb-0336f5727cc5","savedPayload":{"position":{"x":27495.175104833386,"y":44316.152772204965},"targetPosition":{"x":27849.176437450467,"y":44390.979339874495},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7aec6373-83e5-49e9-a929-24793f0edf63","savedPayload":{"position":{"x":27849.176437450467,"y":44390.979339874495},"targetPosition":{"x":28213.028976823505,"y":44467.6441906245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"3H Entering Oversold","javascriptCode":{"type":"Javascript Code","code":"chart.at03hs.percentageBandwidth.movingAverage <= 30","id":"80b84359-b9be-4edb-959f-019c7db1a646","savedPayload":{"position":{"x":27559.969235306173,"y":43630.923525453385},"targetPosition":{"x":27828.938824338173,"y":43872.63429078541},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b49b85e8-3e0f-4690-81aa-63bcc653bf61","savedPayload":{"position":{"x":27828.938824338173,"y":43872.63429078541},"targetPosition":{"x":28098.064358305954,"y":44114.51517420761},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Up","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.bollingerChannel.direction === \"Up\"","id":"ab06f5d1-3b5b-46bb-a11f-53bdfb934128","savedPayload":{"position":{"x":28246.871216683878,"y":43408.13058942948},"targetPosition":{"x":28172.528002608564,"y":43761.0448782765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c7e3d21c-8c14-4803-baf0-993d5ea14115","savedPayload":{"position":{"x":28172.528002608564,"y":43761.0448782765},"targetPosition":{"x":28098.064358305954,"y":44114.51517420761},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"66e824e8-bcb1-4d2f-b0c0-71d69c21c21d","savedPayload":{"position":{"x":28098.064358305954,"y":44114.51517420761},"targetPosition":{"x":28213.028976823505,"y":44467.6441906245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"45d39511-6b07-4481-aae9-2db4bb322f55","savedPayload":{"position":{"x":29719.898703356062,"y":30257.30396793162},"targetPosition":{"x":29766.678833790058,"y":30477.387178096727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"af39b8d4-dff2-4b71-85b8-25f18c617aca","savedPayload":{"position":{"x":29766.678833790058,"y":30477.387178096727},"targetPosition":{"x":29917.2332202208,"y":30644.59476382914},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P 2","formula":{"type":"Formula","name":"New Formula","code":"chart.at01hs.bollingerBand.movingAverage * 0.7","id":"6e57c877-ec29-43b0-9003-6a4bc491437b","savedPayload":{"position":{"x":29396.041237194207,"y":30356.95972279831},"targetPosition":{"x":29616.124447359314,"y":30310.179592364315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"4H Previous %B < 15","javascriptCode":{"type":"Javascript Code","code":"chart.at04hs.percentageBandwidth.previous.movingAverage <= 15","id":"70a8d00a-b4e5-4bf7-b778-5044173db6e0","savedPayload":{"position":{"x":29812.67441774126,"y":29491.425221160447},"targetPosition":{"x":29781.92217281446,"y":29657.349486811865},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"02fdb9bc-e3fe-4133-9992-33c81371e710","savedPayload":{"position":{"x":29781.92217281446,"y":29657.349486811865},"targetPosition":{"x":29751.16992788766,"y":29823.273752463283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"74c4dbfb-5dee-4404-9eda-2f93ba6fc5b5","savedPayload":{"position":{"x":29751.16992788766,"y":29823.273752463283},"targetPosition":{"x":29720.41768296086,"y":29989.1980181147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"4H %B < 50","javascriptCode":{"type":"Javascript Code","code":"chart.at04hs.percentageBandwidth.movingAverage <= 50","id":"0ecf3b89-510e-41e2-bb99-fca45f1ecade","savedPayload":{"position":{"x":30029.63904657774,"y":29593.230911610062},"targetPosition":{"x":29937.731209418955,"y":29734.756569950852},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a9031b3b-9d32-42c7-929d-7d83f7fa0fac","savedPayload":{"position":{"x":29937.731209418955,"y":29734.756569950852},"targetPosition":{"x":29845.82337226017,"y":29876.282228291642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Up","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.bollingerChannel.direction === \"Up\"","id":"6131bc6f-dacb-4247-a4fc-d18f8d204491","savedPayload":{"position":{"x":30146.538074173743,"y":29723.060434629548},"targetPosition":{"x":29996.180723216956,"y":29799.671331460595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4f96a644-8447-4406-94c9-d466e0d4d7f9","savedPayload":{"position":{"x":29996.180723216956,"y":29799.671331460595},"targetPosition":{"x":29845.82337226017,"y":29876.282228291642},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9253d35a-1ff4-4889-aa4c-d2d9cc495879","savedPayload":{"position":{"x":29845.82337226017,"y":29876.282228291642},"targetPosition":{"x":29720.41768296086,"y":29989.1980181147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"ca7f0fa8-4f3b-4090-bc50-ff76e84401f2","savedPayload":{"position":{"x":29720.41768296086,"y":29989.1980181147},"targetPosition":{"x":29616.124447359314,"y":30310.179592364315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"cbc568dd-3da9-4818-8501-6c7f48b2a42e","savedPayload":{"position":{"x":29616.124447359314,"y":30310.179592364315},"targetPosition":{"x":29766.678833790058,"y":30477.387178096727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P 3","formula":{"type":"Formula","name":"New Formula","code":"chart.at01hs.bollingerBand.movingAverage * 0.8","id":"b20cc025-3f64-4362-bc52-a43fa66de135","savedPayload":{"position":{"x":29245.486850763464,"y":30189.752137065898},"targetPosition":{"x":29465.57006092857,"y":30142.972006631902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"6H Previous %B < 15","javascriptCode":{"type":"Javascript Code","code":"chart.at06hs.percentageBandwidth.previous.movingAverage <= 15","id":"ad489932-52d2-423a-bb47-db08d9934027","savedPayload":{"position":{"x":30052.162272354126,"y":29705.099219426414},"targetPosition":{"x":29896.04073890948,"y":29992.932242028524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d0a8b6d2-862f-4dc8-894f-98a147328521","savedPayload":{"position":{"x":29896.04073890948,"y":29992.932242028524},"targetPosition":{"x":29739.854985148024,"y":30281.041779624098},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51dea0e4-a5b0-419e-9077-f5d60ad8e4cd","savedPayload":{"position":{"x":29739.854985148024,"y":30281.041779624098},"targetPosition":{"x":29576.313790416472,"y":30583.86671076985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"5H %B < 50","javascriptCode":{"type":"Javascript Code","code":"chart.at06hs.percentageBandwidth.movingAverage <= 50","id":"10317b11-632c-4cbf-ad84-7ec0b75f999e","savedPayload":{"position":{"x":30399.757281309398,"y":30032.217909045383},"targetPosition":{"x":30145.727753739946,"y":30238.146283338727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8beb8b51-1353-4670-b392-b4e6c9c2cdf0","savedPayload":{"position":{"x":30145.727753739946,"y":30238.146283338727},"targetPosition":{"x":29891.131347398343,"y":30444.339473641743},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Up","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.bollingerChannel.direction === \"Up\"","id":"d87940c6-f532-4acd-96da-06e846214122","savedPayload":{"position":{"x":30541.834860457213,"y":30512.04205133554},"targetPosition":{"x":30216.777087561208,"y":30478.203269652593},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b2b584bd-42c3-4a54-94d1-afcc2e676afc","savedPayload":{"position":{"x":30216.777087561208,"y":30478.203269652593},"targetPosition":{"x":29891.131347398343,"y":30444.339473641743},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0d104bb9-af75-4f6f-97b6-9d1bbad410b3","savedPayload":{"position":{"x":29891.131347398343,"y":30444.339473641743},"targetPosition":{"x":29576.313790416472,"y":30583.86671076985},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"74fa819d-43c6-44b7-8ec4-64bd97c2ce29","savedPayload":{"position":{"x":29569.863296530115,"y":29821.99043238229},"targetPosition":{"x":29465.57006092857,"y":30142.972006631902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"d909c920-b2a7-457f-96a4-1841a61b0428","savedPayload":{"position":{"x":29465.57006092857,"y":30142.972006631902},"targetPosition":{"x":29616.124447359314,"y":30310.179592364315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P 4","formula":{"type":"Formula","name":"New Formula","code":"chart.at01hs.bollingerBand.movingAverage * 0.85","id":"72e1f768-6908-4402-8935-41705cb7c2e1","savedPayload":{"position":{"x":29094.93246433272,"y":30022.544551333485},"targetPosition":{"x":29315.015674497827,"y":29975.76442089949},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"8H %B 0< 15 && 1H Extreme","javascriptCode":{"type":"Javascript Code","code":"chart.at08hs.percentageBandwidth.previous.movingAverage <= 15 && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >= 5","id":"72c3f3e2-037a-4840-a2ac-5f682a578c14","savedPayload":{"position":{"x":29874.90656577674,"y":29307.063268891063},"targetPosition":{"x":29718.77357235677,"y":29594.86170753431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a3c4a2c7-bb79-4d9d-9a6f-bd56fc231211","savedPayload":{"position":{"x":29718.77357235677,"y":29594.86170753431},"targetPosition":{"x":29562.592338657883,"y":29882.869472221493},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ea20d7db-4468-457c-b65f-a52744fb6fc5","savedPayload":{"position":{"x":29562.592338657883,"y":29882.869472221493},"targetPosition":{"x":29398.899029725475,"y":30185.57647056243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"8H %B < 40 && 1H Extreme","javascriptCode":{"type":"Javascript Code","code":"chart.at08hs.percentageBandwidth.movingAverage <= 40 && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >= 3","id":"6485a5b2-2959-4358-947e-98d0f3c88011","savedPayload":{"position":{"x":30222.171178564622,"y":29633.853046262546},"targetPosition":{"x":29968.140008420076,"y":29839.753519159894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d8553226-ae92-4b87-ae86-5b53607d3bd3","savedPayload":{"position":{"x":29968.140008420076,"y":29839.753519159894},"targetPosition":{"x":29713.653747334454,"y":30045.92476117662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Previous Up","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.bollingerChannel.previous.direction === \"Up\"","id":"d1a82d5f-7ff4-4c23-9147-a13f5199f21f","savedPayload":{"position":{"x":30359.97452446457,"y":29943.62981102186},"targetPosition":{"x":30037.075252348648,"y":29994.765115099915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c80b06ad-0f63-41c0-a485-0bc97313fd48","savedPayload":{"position":{"x":30037.075252348648,"y":29994.765115099915},"targetPosition":{"x":29713.653747334454,"y":30045.92476117662},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5a234bc0-ff31-4650-878e-c21a11204d2a","savedPayload":{"position":{"x":29713.653747334454,"y":30045.92476117662},"targetPosition":{"x":29398.899029725475,"y":30185.57647056243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"248f0567-8e65-41c6-9580-71229332c7bb","savedPayload":{"position":{"x":29419.30891009937,"y":29654.782846649876},"targetPosition":{"x":29315.015674497827,"y":29975.76442089949},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"d52d95cd-0d77-468c-a7f1-497c2476fe33","savedPayload":{"position":{"x":29315.015674497827,"y":29975.76442089949},"targetPosition":{"x":29465.57006092857,"y":30142.972006631902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P 5","formula":{"type":"Formula","name":"New Formula","code":"chart.at01hs.bollingerBand.movingAverage * 0.9","id":"a39ae165-abd6-4725-ac6a-4edbef7200e4","savedPayload":{"position":{"x":28944.378077901976,"y":29855.336965601073},"targetPosition":{"x":29164.461288067083,"y":29808.556835167077},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"Complex","javascriptCode":{"type":"Javascript Code","code":"chart.at12hs.percentageBandwidth.previous.movingAverage <= 15 && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >= 15","id":"0d7d916c-3334-4422-8998-28f78bcbaf78","savedPayload":{"position":{"x":29697.122114349182,"y":28908.726944748352},"targetPosition":{"x":29541.141576651138,"y":29196.344299952125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"60ecd582-0e23-4c8a-8077-7201d263cca2","savedPayload":{"position":{"x":29541.141576651138,"y":29196.344299952125},"targetPosition":{"x":29385.19517334748,"y":29484.04274537672},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4d364cc4-cdb0-4fba-bc23-235dcb482a4e","savedPayload":{"position":{"x":29385.19517334748,"y":29484.04274537672},"targetPosition":{"x":29221.499578234634,"y":29787.14258710573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"Complex","javascriptCode":{"type":"Javascript Code","code":"(chart.at24hs.percentageBandwidth.movingAverage <= 70 || chart.at12hs.percentageBandwidth.movingAverage <= 40 ) && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >=5","id":"ddebbd89-cba4-4d06-8fe9-a13fcbd4ba18","savedPayload":{"position":{"x":30045.10715016517,"y":29235.31315188759},"targetPosition":{"x":29790.61435873267,"y":29441.434346657265},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2bf45ba3-ea96-40d1-a8eb-1f5b58eb97e3","savedPayload":{"position":{"x":29790.61435873267,"y":29441.434346657265},"targetPosition":{"x":29536.113176797804,"y":29647.668860440335},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Prev Prev Up","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.bollingerChannel.previous.previous.direction === \"Up\"","id":"877fda2b-35d0-45b5-9457-3f791f5ceeb0","savedPayload":{"position":{"x":30182.953528688606,"y":29545.187878596458},"targetPosition":{"x":29859.584338640296,"y":29596.529836509013},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"658ac695-5997-4780-9d05-8ca8cdd9cd6a","savedPayload":{"position":{"x":29859.584338640296,"y":29596.529836509013},"targetPosition":{"x":29536.113176797804,"y":29647.668860440335},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"11b94bab-c0d6-4b49-95c2-4a65f5794288","savedPayload":{"position":{"x":29536.113176797804,"y":29647.668860440335},"targetPosition":{"x":29221.499578234634,"y":29787.14258710573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"6b6a705b-b008-4784-8e06-a7ff7138725b","savedPayload":{"position":{"x":29268.754523668627,"y":29487.575260917463},"targetPosition":{"x":29164.461288067083,"y":29808.556835167077},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"46eafddb-7478-432f-818f-0c458b59171b","savedPayload":{"position":{"x":29164.461288067083,"y":29808.556835167077},"targetPosition":{"x":29315.015674497827,"y":29975.76442089949},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P 6","formula":{"type":"Formula","name":"New Formula","code":"chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation * 1.75","id":"29d4e7bb-f154-44c4-825c-24719949e808","savedPayload":{"position":{"x":28793.823691471232,"y":29688.12937986866},"targetPosition":{"x":29013.90690163634,"y":29641.349249434665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.percentageBandwidth.previous.movingAverage <= 30 && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >=10","id":"d5ac2bb6-e328-40f7-bae6-26c46b85f9ea","savedPayload":{"position":{"x":29401.251250099,"y":28455.622075619573},"targetPosition":{"x":29284.170036567153,"y":28761.166299644003},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c57b02c1-e38e-4c24-8ca0-5d5790f8c475","savedPayload":{"position":{"x":29284.170036567153,"y":28761.166299644003},"targetPosition":{"x":29166.971657079706,"y":29067.24633926581},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cbfd82c7-c57c-4d1e-9a95-b05ad5765eca","savedPayload":{"position":{"x":29166.971657079706,"y":29067.24633926581},"targetPosition":{"x":29044.20351071421,"y":29388.761341743604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","code":"(chart.at24hs.percentageBandwidth.movingAverage <= 60 || chart.at12hs.percentageBandwidth.movingAverage <= 30 ) && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >=5","id":"7af7ef05-50d0-4db9-ae3c-8aed6a9842cd","savedPayload":{"position":{"x":29867.284395806066,"y":28836.921399785744},"targetPosition":{"x":29613.240695694218,"y":29042.856164012057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0b79e13b-e44f-41bb-9450-47881760fb81","savedPayload":{"position":{"x":29613.240695694218,"y":29042.856164012057},"targetPosition":{"x":29358.87726829868,"y":29249.038776782076},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Prev Prev Up","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.bollingerChannel.previous.previous.direction === \"Up\"","id":"8c6bbc80-2d99-434a-ad29-12505c118c41","savedPayload":{"position":{"x":30005.140598084403,"y":29146.780322527065},"targetPosition":{"x":29682.23983599029,"y":29197.939183669154},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ce4d9250-7aee-432f-b0f7-a25a0d3739d1","savedPayload":{"position":{"x":29682.23983599029,"y":29197.939183669154},"targetPosition":{"x":29358.87726829868,"y":29249.038776782076},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"defc1a9e-ccaa-424b-be17-0efc30e2c0a6","savedPayload":{"position":{"x":29358.87726829868,"y":29249.038776782076},"targetPosition":{"x":29044.20351071421,"y":29388.761341743604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"9fb1dbd3-fed7-424c-add0-f6b7481dab05","savedPayload":{"position":{"x":29118.200137237884,"y":29320.36767518505},"targetPosition":{"x":29013.90690163634,"y":29641.349249434665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"8c0276f0-0551-4ce2-9287-0c9bfe22085a","savedPayload":{"position":{"x":29013.90690163634,"y":29641.349249434665},"targetPosition":{"x":29164.461288067083,"y":29808.556835167077},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P 7","formula":{"type":"Formula","name":"New Formula","code":"chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation * 1.25","id":"4e6d15ed-8c85-43cd-90e3-a73eeed22389","savedPayload":{"position":{"x":28643.26930504049,"y":29520.921794136248},"targetPosition":{"x":28863.352515205595,"y":29474.141663702252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.percentageBandwidth.previous.movingAverage <= 30 && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >=10","id":"c29560f8-3916-4e7b-bd05-ec4c5c70aaad","savedPayload":{"position":{"x":28684.506999529363,"y":28347.255729950233},"targetPosition":{"x":28535.982761822477,"y":28621.423196330805},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"29cd95e8-e310-4279-8fc6-a886eaeb939d","savedPayload":{"position":{"x":28535.982761822477,"y":28621.423196330805},"targetPosition":{"x":28387.281959765012,"y":28896.11491117168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7849fb9b-2762-47fa-bc35-690f40049780","savedPayload":{"position":{"x":28387.281959765012,"y":28896.11491117168},"targetPosition":{"x":28235.51926868731,"y":29177.667254171032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","code":"(chart.at24hs.percentageBandwidth.movingAverage <= 50 || chart.at12hs.percentageBandwidth.movingAverage <= 17.5 ) && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >=5","id":"f15eb65a-7dfa-4d09-b624-3a3d3e2b6420","savedPayload":{"position":{"x":29059.887319675054,"y":28722.00932339908},"targetPosition":{"x":28794.113522475807,"y":28884.830545158376},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b4307590-5fe4-4997-a25c-3221fcaea5ea","savedPayload":{"position":{"x":28794.113522475807,"y":28884.830545158376},"targetPosition":{"x":28528.18840968589,"y":29047.94235434471},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","code":"chart.at24hs.bollingerChannel.previous.previous.direction === \"Up\"","id":"98b65fea-6bb0-4a9a-8d31-3997e56c6c63","savedPayload":{"position":{"x":29144.359722680336,"y":28950.717726368173},"targetPosition":{"x":28836.33492280896,"y":28999.32774570377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7a79c0f2-514b-441a-ae08-5e1c1d815095","savedPayload":{"position":{"x":28836.33492280896,"y":28999.32774570377},"targetPosition":{"x":28528.18840968589,"y":29047.94235434471},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e2165070-d0eb-428c-a168-dfacb74f0844","savedPayload":{"position":{"x":28528.18840968589,"y":29047.94235434471},"targetPosition":{"x":28235.51926868731,"y":29177.667254171032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"5ea9ce09-4324-4961-a5c0-9018bd9e8d36","savedPayload":{"position":{"x":28967.64575080714,"y":29153.16008945264},"targetPosition":{"x":28863.352515205595,"y":29474.141663702252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"64a62511-14f3-45ad-897b-543abba98920","savedPayload":{"position":{"x":28863.352515205595,"y":29474.141663702252},"targetPosition":{"x":29013.90690163634,"y":29641.349249434665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"P 8","formula":{"type":"Formula","name":"New Formula","code":"chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation","id":"96ea6099-ad3a-4240-95d9-1486bb21c131","savedPayload":{"position":{"x":28562.243742344108,"y":29139.726492237427},"targetPosition":{"x":28712.79812877485,"y":29306.93407796984},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"cd3e2a56-39ae-4a5e-8190-f2b65ba6f8e2","savedPayload":{"position":{"x":28712.79812877485,"y":29306.93407796984},"targetPosition":{"x":28863.352515205595,"y":29474.141663702252},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1d7d8a99-1d8d-41e4-9544-61ae4667aa1a","savedPayload":{"position":{"x":29917.2332202208,"y":30644.59476382914},"targetPosition":{"x":30067.787606651546,"y":30811.802349561553},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"fa22b9a6-5479-4409-b77a-b9a20b365f95","savedPayload":{"position":{"x":30067.787606651546,"y":30811.802349561553},"targetPosition":{"x":30495.763038984365,"y":30950.85999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeStage":{"type":"Close Stage","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","targetRate":{"type":"Target Rate","name":"New Target Rate","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.episode.candle.close.value","id":"00a8423d-4604-4d28-aa43-0fe8410c1a4e","savedPayload":{"position":{"x":29578.177094567447,"y":30542.32441333994},"targetPosition":{"x":29801.944521025307,"y":30518.805509104717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"62dec497-f190-41dc-b7a6-430ffb78fa3c","savedPayload":{"position":{"x":29801.944521025307,"y":30518.805509104717},"targetPosition":{"x":30025.711947483167,"y":30495.286604869496},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInQuotedAsset":{"type":"Target Size In Quoted Asset","name":"New Target Size In Quoted Asset","formula":{"type":"Formula","name":"New Formula","code":"tradingEngine.current.strategyOpenStage.stageQuotedAsset.sizeFilled.value","id":"8bbc979f-5425-49af-807b-38944be9b312","savedPayload":{"position":{"x":29761.208583951553,"y":30131.22895740077},"targetPosition":{"x":29893.46026571736,"y":30313.257781135133},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e4a38608-0a48-4e4c-b291-36ee1a1b85c5","savedPayload":{"position":{"x":29893.46026571736,"y":30313.257781135133},"targetPosition":{"x":30025.711947483167,"y":30495.286604869496},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7421d18f-87c9-4790-8e17-16642ba1efac","savedPayload":{"position":{"x":30025.711947483167,"y":30495.286604869496},"targetPosition":{"x":30231.25967545275,"y":30586.802349561553},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeExecution":{"type":"Close Execution","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","marketBuyOrders":[{"type":"Market Buy Order","name":"Quick Exit","config":"{\n\"percentageOfAlgorithmSize\": 100,\n\"spawnMultipleOrders\": false\n}","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","situations":[{"type":"Situation","name":"New Situation","conditions":[{"type":"Condition","name":"New Condition","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","id":"f9b6428b-706c-4762-b526-e65ce3a9eba1","savedPayload":{"position":{"x":29531.21158822058,"y":41412.8767554386},"targetPosition":{"x":29569.16794466943,"y":41771.85148066509},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7ce28ab2-846f-44e3-8d42-66e702d7cf6f","savedPayload":{"position":{"x":29569.16794466943,"y":41771.85148066509},"targetPosition":{"x":29607.708310118538,"y":42131.16499748407},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"17c82be6-9c06-467f-8e89-bc76d7f3b0d8","savedPayload":{"position":{"x":29607.708310118538,"y":42131.16499748407},"targetPosition":{"x":29646.209330251946,"y":42500.54025517216},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"acb7cd15-47a6-4b89-a991-02d53cbd5d88","savedPayload":{"position":{"x":30137.184058511866,"y":29691.732643730113},"targetPosition":{"x":30160.702962747087,"y":29915.500070187973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4f521b37-053e-45a1-9cc0-a2b54430a6f1","savedPayload":{"position":{"x":30160.702962747087,"y":29915.500070187973},"targetPosition":{"x":30184.22186698231,"y":30139.267496645833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Buy Order #1","id":"7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3"}}}],"marketSellOrders":[],"limitBuyOrders":[],"limitSellOrders":[],"id":"7bacad1e-a99b-4dee-ba33-4857babf5f60","savedPayload":{"position":{"x":30184.22186698231,"y":30139.267496645833},"targetPosition":{"x":30207.74077121753,"y":30363.034923103693},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2fb3a68a-bccc-4f15-a093-81d7230e3534","savedPayload":{"position":{"x":30207.74077121753,"y":30363.034923103693},"targetPosition":{"x":30231.25967545275,"y":30586.802349561553},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"b0b4389a-74f6-4807-af15-1b8c43c247cb","savedPayload":{"position":{"x":30231.25967545275,"y":30586.802349561553},"targetPosition":{"x":30495.763038984365,"y":30950.85999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c6dfb2a4-3e3d-4a44-a9da-00251dae88a7","savedPayload":{"position":{"x":30495.763038984365,"y":30950.85999703028},"targetPosition":{"x":30945.763038984365,"y":30950.85999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"975c2fc3-a8f5-43e9-900f-4a4f2430d128","savedPayload":{"position":{"x":30945.763038984365,"y":30950.85999703028},"targetPosition":{"x":30945.763038984365,"y":30950.85999703028},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"w"}}}
\ No newline at end of file
diff --git a/Plugins/Workspaces/Getting-Started.json b/Plugins/Workspaces/Getting-Started.json
deleted file mode 100644
index d4a594626..000000000
--- a/Plugins/Workspaces/Getting-Started.json
+++ /dev/null
@@ -1 +0,0 @@
-{"type":"Workspace","name":"Getting-Started","rootNodes":[{"type":"Network","name":"My Network","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","dataMining":{"type":"Data Mining","name":"New Data Mining","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","dataMineTasks":[{"type":"Data Mine Tasks","name":"Masters","taskManagers":[{"type":"Task Manager","name":"Masters","tasks":[{"type":"Task","name":"Exchange Raw Data","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","id":"d244c564-4e86-43c7-9796-dc3b6294ec8b","savedPayload":{"position":{"x":23993.925629940142,"y":29195.742554406977},"targetPosition":{"x":24261.227587196652,"y":29331.93970432884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"343313ae-5705-484d-8bf8-aed25ba61cfa","savedPayload":{"position":{"x":24261.227587196652,"y":29331.93970432884},"targetPosition":{"x":24528.529544453162,"y":29468.136854250704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a8f38508-1cac-4ab1-815f-d338fc813377","savedPayload":{"position":{"x":24528.529544453162,"y":29468.136854250704},"targetPosition":{"x":24795.831501709672,"y":29604.334004172568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{}","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Market","id":"f0ef12ed-f0fd-4b88-8e15-27cf24265a5f","savedPayload":{"position":{"x":24387.47785744149,"y":28832.96091248782},"targetPosition":{"x":24610.421305084707,"y":29033.700094395477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Daily","id":"7c8b312c-09bf-4c59-853f-1592391a9c57","savedPayload":{"position":{"x":24672.794812330034,"y":28740.255814175336},"targetPosition":{"x":24610.421305084707,"y":29033.700094395477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"8d58e84b-d7ef-464f-8079-0ec0887e3da3","savedPayload":{"position":{"x":24610.421305084707,"y":29033.700094395477},"targetPosition":{"x":24703.12640339719,"y":29319.017049284023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bf29e3bd-9386-408b-9091-042da0c53e81","savedPayload":{"position":{"x":24703.12640339719,"y":29319.017049284023},"targetPosition":{"x":24795.831501709672,"y":29604.334004172568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Resistances and Supports","bot":{"type":"Indicator Bot Instance","name":"Resistances and Supports","config":"{}","processes":[{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Period-Market","id":"a707814e-b81b-4102-9b5b-4e2fe969324f","savedPayload":{"position":{"x":25052.525014680516,"y":28770.141229233177},"targetPosition":{"x":25068.2258015534,"y":29069.730089659548},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"5d9b2729-43fb-4e7e-aa4f-b8477c424e51"}}},{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Period-Daily","id":"c5395fbe-4b5a-4492-a7fb-e2d259905e27","savedPayload":{"position":{"x":25319.826971937026,"y":28906.33837915504},"targetPosition":{"x":25068.2258015534,"y":29069.730089659548},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"be19d91b-9337-4f84-96b3-f4e54ea12df5"}}}],"id":"112be2cf-74ea-4272-9566-cf0cd24c111c","savedPayload":{"position":{"x":25068.2258015534,"y":29069.730089659548},"targetPosition":{"x":24932.028651631535,"y":29337.032046916058},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e74c3232-7b59-4006-87fa-b3b2a328a52b","savedPayload":{"position":{"x":24932.028651631535,"y":29337.032046916058},"targetPosition":{"x":24795.831501709672,"y":29604.334004172568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c193ecbb-c3e0-4fd5-94ed-bb6356d1d5ea","savedPayload":{"position":{"x":24795.831501709672,"y":29604.334004172568},"targetPosition":{"x":24888.536600022155,"y":29889.650959061113},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"85224e5e-f3ee-4e8d-b9bd-e5901bd49b33","savedPayload":{"position":{"x":24888.536600022155,"y":29889.650959061113},"targetPosition":{"x":24981.241698334637,"y":30174.96791394966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Masters","id":"35be7b1c-a0f7-4b5f-9ee1-8fb51595e959"}}}],"id":"70d459d6-d270-49e0-b70d-2053c65a40e2","savedPayload":{"position":{"x":24981.241698334637,"y":30174.96791394966},"targetPosition":{"x":25073.94679664712,"y":30460.284868838204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"af949a76-a6f4-4ec6-869e-f240480eea81","savedPayload":{"position":{"x":25073.94679664712,"y":30460.284868838204},"targetPosition":{"x":25166.651894959603,"y":30745.60182372675},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"4df1cb4e-b9ca-4f62-bb5f-c7e262aaa22a","savedPayload":{"position":{"x":25166.651894959603,"y":30745.60182372675},"targetPosition":{"x":25259.356993272086,"y":31030.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"testingEnvironment":{"type":"Testing Environment","name":"New Testing Environment","exchangeTradingTasks":[{"type":"Exchange Trading Tasks","name":"Binance","marketTradingTasks":[{"type":"Market Trading Tasks","name":"Binance BTC/USDT","tradingMineTasks":[{"type":"Trading Mine Tasks","name":"Masters","taskManagers":[{"type":"Task Manager","name":"Masters","tasks":[{"type":"Task","name":"Lightning Strike","bot":{"type":"Trading Bot Instance","name":"Low Frequency","config":"{}","processes":[{"type":"Trading Process Instance","name":"Low Frequency Trading","session":{"type":"Backtesting Session","name":"Lightning Strike","config":"{\"folderName\":\"Lightning-Strike\"}","parameters":{"type":"Parameters","name":"New Parameters","sessionBaseAsset":{"type":"Session Base Asset","name":"","config":"{\n\"initialBalance\": 0,\n\"minimumBalance\": 0\n}","id":"fb252bd6-3e7d-49a0-9fc6-be392be5db5b","savedPayload":{"position":{"x":26091.344126806052,"y":30021.15686197025},"targetPosition":{"x":26224.995105434307,"y":30089.25543693118},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sessionQuotedAsset":{"type":"Session Quoted Asset","name":"","config":"{\n\"initialBalance\": 1000\n}","id":"ed578090-732c-4e41-a4ae-9d4f34607170","savedPayload":{"position":{"x":26118.929088256325,"y":29983.1894197532},"targetPosition":{"x":26224.995105434307,"y":30089.25543693118},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeRange":{"type":"Time Range","name":"New Time Range","config":"{ \n\"initialDatetime\": \"2020-09-01\",\n\"finalDatetime\": \"2020-09-02\",\n \"allowStartingFromThePast\": false\n}","id":"47fa4509-16f4-42b7-9453-fa3b3d2885b0","savedPayload":{"position":{"x":26156.896530473376,"y":29955.604458302925},"targetPosition":{"x":26224.995105434307,"y":30089.25543693118},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeFrame":{"type":"Time Frame","name":"New Time Frame","config":"{ \n\"label\": \"01-min\"\n}","id":"dfe3514c-1aa9-4cea-bb2d-e6657037e69d","savedPayload":{"position":{"x":26201.529935678274,"y":29941.102185841908},"targetPosition":{"x":26224.995105434307,"y":30089.25543693118},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"slippage":{"type":"Slippage","name":"New Slippage","config":"{ \n\"positionRate\": 0.1,\n\"stopLoss\": 0.2,\n\"takeProfit\": 0.3\n}","id":"c711e510-373f-468d-8ed9-1601da6a06f5","savedPayload":{"position":{"x":26248.46027519034,"y":29941.102185841908},"targetPosition":{"x":26224.995105434307,"y":30089.25543693118},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"feeStructure":{"type":"Fee Structure","name":"New Fee Structure","config":"{ \n\"maker\": 0.1,\n\"taker\": 0.1\n}","id":"fdc7c383-8301-4393-b415-8c2d542e05fe","savedPayload":{"position":{"x":26293.09368039524,"y":29955.604458302925},"targetPosition":{"x":26224.995105434307,"y":30089.25543693118},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"snapshots":{"type":"Snapshots","name":"New Snapshots","config":"{ \n\"strategy\": true,\n\"position\": true\n}","id":"28db17c9-2703-430b-a162-5e04b68640a3","savedPayload":{"position":{"x":26331.06112261229,"y":29983.1894197532},"targetPosition":{"x":26224.995105434307,"y":30089.25543693118},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"heartbeats":{"type":"Heartbeats","name":"New Heartbeats","config":"{ \n\"date\": true,\n\"candleIndex\": false\n}","id":"78270062-7d10-4afa-baee-2bda8a4b4ed2","savedPayload":{"position":{"x":26358.646084062562,"y":30021.15686197025},"targetPosition":{"x":26224.995105434307,"y":30089.25543693118},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedParameters":{"type":"User Defined Parameters","name":"New User Defined Parameters","config":"{ \n\"param1Name\": \"A text string value example\",\n\"param2Name\": 0\n}","id":"4c9cdc50-70c0-43ee-ad54-052f8b7ecbc8","savedPayload":{"position":{"x":26373.14835652358,"y":30065.790267175147},"targetPosition":{"x":26224.995105434307,"y":30089.25543693118},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e79ab7df-ba40-46aa-abcd-63df8031a931","savedPayload":{"position":{"x":26224.995105434307,"y":30089.25543693118},"targetPosition":{"x":26201.529935678274,"y":30237.408688020452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"tradingSystemReference":{"type":"Trading System Reference","name":"Lightning Strike","id":"c6397744-c7b6-4fad-92a0-6954f282c0c2","savedPayload":{"position":{"x":26322.882484834518,"y":30149.24090017658},"targetPosition":{"x":26201.529935678274,"y":30237.408688020452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Trading System","name":"Lightning Strike","id":"628b758d-ffff-445f-9d4f-8aa480a13db3"}}},"tradingEngineReference":{"type":"Trading Engine Reference","name":"Low-Frequency","id":"720feaab-efc8-435a-bb3c-ab4e33ed1ca2","savedPayload":{"position":{"x":26349.683186767546,"y":30260.873857776485},"targetPosition":{"x":26201.529935678274,"y":30237.408688020452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Trading Engine","name":"Low-Frequency","id":"eb20f622-71bf-4479-a574-d2320e1d4bd1"}}},"id":"ce648922-fef2-44e3-8d76-2bd7ab72a29f","savedPayload":{"position":{"x":26201.529935678274,"y":30237.408688020452},"targetPosition":{"x":26080.17738652203,"y":30325.576475864324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"60a5e5c0-cfb3-4488-b46c-55d637212aa5","savedPayload":{"position":{"x":26080.17738652203,"y":30325.576475864324},"targetPosition":{"x":25958.824837365788,"y":30413.744263708195},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Trading","id":"a8c8d761-96e5-4a86-9285-6c3881d61442"}}}],"id":"cbfbb9e7-9c30-4482-8a9f-4c90771feffc","savedPayload":{"position":{"x":25958.824837365788,"y":30413.744263708195},"targetPosition":{"x":25837.472288209545,"y":30501.912051552066},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"08222935-2499-4a3e-a927-4f5dfbc392df","savedPayload":{"position":{"x":25837.472288209545,"y":30501.912051552066},"targetPosition":{"x":25716.1197390533,"y":30590.079839395938},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"56c5656b-a7e0-42ed-92d6-631e78ca99d0","savedPayload":{"position":{"x":25716.1197390533,"y":30590.079839395938},"targetPosition":{"x":25594.76718989706,"y":30678.24762723981},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1ce02342-473e-4614-ac76-c7788f56ab8e","savedPayload":{"position":{"x":25594.76718989706,"y":30678.24762723981},"targetPosition":{"x":25473.414640740815,"y":30766.41541508368},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Trading Mine","name":"Masters","id":"6a54eece-4582-4cda-a854-1cd805e00fed"}}}],"id":"2db856e0-4719-408c-88bc-5b47d412c066","savedPayload":{"position":{"x":25473.414640740815,"y":30766.41541508368},"targetPosition":{"x":25352.062091584572,"y":30854.58320292755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"ba36975c-08d6-458d-b7c0-eb4684a85b5d","savedPayload":{"position":{"x":25352.062091584572,"y":30854.58320292755},"targetPosition":{"x":25230.70954242833,"y":30942.750990771423},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"5882d8a8-345b-4188-b1c1-797e9ff805d9","savedPayload":{"position":{"x":25502.06209158457,"y":30854.58320292755},"targetPosition":{"x":25259.356993272086,"y":31030.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"productionEnvironment":{"type":"Production Environment","name":"New Production Environment","exchangeTradingTasks":[{"type":"Exchange Trading Tasks","name":"Binance","marketTradingTasks":[{"type":"Market Trading Tasks","name":"Binance BTC/USDT","tradingMineTasks":[{"type":"Trading Mine Tasks","name":"Masters","taskManagers":[{"type":"Task Manager","name":"Masters","tasks":[{"type":"Task","name":"Lightning Strike","bot":{"type":"Trading Bot Instance","name":"Low Frequency","config":"{}","processes":[{"type":"Trading Process Instance","name":"Low Frequency Trading","session":{"type":"Live Trading Session","name":"Lightning Strike","config":"{\"folderName\":\"Lightning-Strike\"}","parameters":{"type":"Parameters","name":"New Parameters","sessionBaseAsset":{"type":"Session Base Asset","name":"","config":"{\n\"initialBalance\": 0,\n\"minimumBalance\": 0\n}","id":"5db563b5-a8d6-48c6-a34e-bbca8825ce37","savedPayload":{"position":{"x":29136.33779719249,"y":31900.557007311294},"targetPosition":{"x":29513.77662209029,"y":32228.37801386833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sessionQuotedAsset":{"type":"Session Quoted Asset","name":"","config":"{\n\"initialBalance\": 20\n}","id":"f6cd46c1-66df-422c-82d4-02ac8e37f689","savedPayload":{"position":{"x":29271.38185908932,"y":31791.1034306834},"targetPosition":{"x":29513.77662209029,"y":32228.37801386833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeFrame":{"type":"Time Frame","name":"New Time Frame","config":"{ \n\"label\": \"01-min\"\n}","id":"727de4cc-40e6-4064-843c-8cb3a9f2fcdf","savedPayload":{"position":{"x":29435.611912240918,"y":31734.531513385184},"targetPosition":{"x":29513.77662209029,"y":32228.37801386833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"slippage":{"type":"Slippage","name":"New Slippage","config":"{ \n\"positionRate\": 0.1,\n\"stopLoss\": 0.2,\n\"takeProfit\": 0.3\n}","id":"598dc355-73c9-4e7f-a0e9-ee5fd7952825","savedPayload":{"position":{"x":29609.068802022866,"y":31737.555437792893},"targetPosition":{"x":29513.77662209029,"y":32228.37801386833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"feeStructure":{"type":"Fee Structure","name":"New Fee Structure","config":"{ \n\"maker\": 0.1,\n\"taker\": 0.1\n}","id":"a3646bab-4d27-48a7-b17c-79d6da48f64d","savedPayload":{"position":{"x":29771.213170410017,"y":31799.79563397899},"targetPosition":{"x":29513.77662209029,"y":32228.37801386833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"snapshots":{"type":"Snapshots","name":"New Snapshots","config":"{ \n\"strategy\": true,\n\"position\": true\n}","id":"5021a926-442a-4341-8844-8a432293ecb1","savedPayload":{"position":{"x":29902.294526505633,"y":31913.74413225854},"targetPosition":{"x":29513.77662209029,"y":32228.37801386833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"heartbeats":{"type":"Heartbeats","name":"New Heartbeats","config":"{ \n\"date\": true,\n\"candleIndex\": false\n}","id":"e8cedec0-1bc2-46ba-98de-b7ff746a74c8","savedPayload":{"position":{"x":29986.506569957906,"y":32065.668420774917},"targetPosition":{"x":29513.77662209029,"y":32228.37801386833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedParameters":{"type":"User Defined Parameters","name":"New User Defined Parameters","config":"{ \n\"param1Name\": \"A text string value example\",\n\"param2Name\": 0\n}","id":"67da1d57-62ff-424c-ab2e-034e008fc079","savedPayload":{"position":{"x":30013.68034443371,"y":32237.1490071955},"targetPosition":{"x":29513.77662209029,"y":32228.37801386833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"726c35b1-e30b-4620-819f-a88a955f1902","savedPayload":{"position":{"x":29513.77662209029,"y":32228.37801386833},"targetPosition":{"x":29334.86323334934,"y":32695.002812706356},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"tradingSystemReference":{"type":"Trading System Reference","name":"Lightning Strike","id":"ff1cd7c1-9415-4c49-8ecf-188fd0c60ea4","savedPayload":{"position":{"x":29791.614691734634,"y":32491.98444885297},"targetPosition":{"x":29334.86323334934,"y":32695.002812706356},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Trading System","name":"Lightning Strike","id":"628b758d-ffff-445f-9d4f-8aa480a13db3"}}},"tradingEngineReference":{"type":"Trading Engine Reference","name":"Low-Frequency","id":"5fd0a826-0819-4f19-a999-66cc64be0272","savedPayload":{"position":{"x":29801.561287125278,"y":32874.31813935596},"targetPosition":{"x":29334.86323334934,"y":32695.002812706356},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Trading Engine","name":"Low-Frequency","id":"eb20f622-71bf-4479-a574-d2320e1d4bd1"}}},"id":"1ce123af-467f-4295-b317-dba8729faf25","savedPayload":{"position":{"x":29334.86323334934,"y":32695.002812706356},"targetPosition":{"x":28878.4539791934,"y":32897.99329377132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"executionStartedEvent":{"type":"Execution Started Event","name":"Resistances and Supports Multi-Period-Daily","id":"0d54601b-fcac-42c9-8ce6-d532bfc81de5","savedPayload":{"position":{"x":29282.623855251295,"y":33191.91239116231},"targetPosition":{"x":28878.4539791934,"y":32897.99329377132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"7e2fdde9-8b64-44a3-85f1-10c3935bd3e3"}}},"id":"4d7e7fa0-afcb-4b2f-983b-ceacea91b29d","savedPayload":{"position":{"x":28878.4539791934,"y":32897.99329377132},"targetPosition":{"x":28381.61405979186,"y":32845.699264065865},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Trading","id":"a8c8d761-96e5-4a86-9285-6c3881d61442"}}}],"id":"2451fc98-0396-44df-902c-a3eaa90f0618","savedPayload":{"position":{"x":28381.61405979186,"y":32845.699264065865},"targetPosition":{"x":27884.825314464462,"y":32793.4798823336},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"keyReference":{"type":"Key Reference","name":"Key for Lighting Strike","id":"a0622fc9-c4e3-44c3-963d-7ae5fa163e99","savedPayload":{"position":{"x":28087.64901178369,"y":33249.50782050918},"targetPosition":{"x":27884.825314464462,"y":32793.4798823336},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Exchange Account Key","name":"Key for Lighting Strike","id":"e85bbbd6-aca8-450f-9237-788062de5761"}}},"id":"c8492c4a-a7a7-4a80-a25a-a610377e6180","savedPayload":{"position":{"x":27884.825314464462,"y":32793.4798823336},"targetPosition":{"x":27480.530470283273,"y":32499.671050557776},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dd73b670-11d7-4cdc-848b-c063fb7a3848","savedPayload":{"position":{"x":27480.530470283273,"y":32499.671050557776},"targetPosition":{"x":27076.338818500477,"y":32205.966385015265},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1e087225-153c-4c7e-b9ec-2a36f32ee511","savedPayload":{"position":{"x":27076.338818500477,"y":32205.966385015265},"targetPosition":{"x":26672.09592394053,"y":31912.249482914292},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Trading Mine","name":"Masters","id":"6a54eece-4582-4cda-a854-1cd805e00fed"}}}],"id":"013985a8-7bf7-4b91-8e2d-f4e8bd81cb62","savedPayload":{"position":{"x":26672.09592394053,"y":31912.249482914292},"targetPosition":{"x":26267.828989419053,"y":31618.52729735555},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"d539c0ac-aaeb-4c44-9dba-ac26df819a8d","savedPayload":{"position":{"x":26267.828989419053,"y":31618.52729735555},"targetPosition":{"x":25863.48739163261,"y":31324.7565723021},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"65a40d20-837c-4652-8356-f8054b4e1346","savedPayload":{"position":{"x":25502.06209158457,"y":31207.254354303037},"targetPosition":{"x":25259.356993272086,"y":31030.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"u"}}},"dataStorage":{"type":"Data Storage","name":"New Data Storage","dataMinesData":{"type":"Data Mines Data","name":"New Data Mines Data","exchangeDataProducts":[{"type":"Exchange Data Products","name":"Binance","marketDataProducts":[{"type":"Market Data Products","name":"Binance BTC/USDT","dataProducts":[],"dataMineProducts":[{"type":"Data Mine Products","name":"Masters","botProducts":[{"type":"Bot Products","name":"Candles Volumes","dataProducts":[{"type":"Data Product","name":"Candles","id":"b9c30464-73e5-4f5c-b422-9ba1a02b78ab","savedPayload":{"position":{"x":25884.66459599203,"y":31894.120994910885},"targetPosition":{"x":25787.66459599203,"y":31992.120994910885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Candles","id":"fe6065ec-4d2d-47a0-bae0-8647f0e195d7"}}},{"type":"Data Product","name":"Volumes","id":"07c11481-7dbd-477d-8bf7-79212542a6aa","savedPayload":{"position":{"x":25866.66459599203,"y":31951.120994910885},"targetPosition":{"x":25787.66459599203,"y":31992.120994910885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Volumes","id":"1a366aef-efef-470e-88e0-2a6fbe4dd91f"}}}],"dataProductFolders":[],"id":"73bb62ff-8212-4387-b160-40ee8de2a133","savedPayload":{"position":{"x":25616.88510584857,"y":32712.956302027622},"targetPosition":{"x":25416.145923940912,"y":32490.012854384404},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Products","name":"Resistances and Supports","dataProducts":[{"type":"Data Product","name":"Resistances","id":"a1669770-1bbe-40f7-acb3-ded15272935f","savedPayload":{"position":{"x":25870.66459599203,"y":31844.120994910885},"targetPosition":{"x":25841.66459599203,"y":31926.120994910885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Resistances","id":"7a734501-a0fb-4305-803e-7e95d477c513"}}},{"type":"Data Product","name":"Supports","id":"64899503-b618-493a-ba94-bfad2051a611","savedPayload":{"position":{"x":25893.66459599203,"y":31906.120994910885},"targetPosition":{"x":25841.66459599203,"y":31926.120994910885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Supports","id":"bc3c43de-6312-47d4-ae3d-0c95c1b039e0"}}}],"dataProductFolders":[],"id":"a1855a09-0948-43de-bba7-8900c5c161d8","savedPayload":{"position":{"x":25323.44082562843,"y":32775.32980927295},"targetPosition":{"x":25416.145923940912,"y":32490.012854384404},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d37d8bf1-be3b-49ac-805b-0ddb3944e6a0","savedPayload":{"position":{"x":25416.145923940912,"y":32490.012854384404},"targetPosition":{"x":25353.772416695585,"y":32196.568574164263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Masters","id":"35be7b1c-a0f7-4b5f-9ee1-8fb51595e959"}}}],"id":"6d7273da-5366-4fe3-9749-e643038abd7a","savedPayload":{"position":{"x":25353.772416695585,"y":32196.568574164263},"targetPosition":{"x":25291.398909450258,"y":31903.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"9bc0aea4-0596-449c-91bd-4fb4cb672aa8","savedPayload":{"position":{"x":25291.398909450258,"y":31903.12429394412},"targetPosition":{"x":25229.02540220493,"y":31609.68001372398},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"32e7c122-fa5a-4d00-9d71-d54e890e32de","savedPayload":{"position":{"x":25229.02540220493,"y":31609.68001372398},"targetPosition":{"x":25166.651894959603,"y":31316.23573350384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"tradingMinesData":{"type":"Trading Mines Data","name":"New Trading Mines Data","exchangeTradingProducts":[{"type":"Exchange Trading Products","name":"Binance","marketTradingProducts":[{"type":"Market Trading Products","name":"Binance BTC/USDT","sessionReferences":[{"type":"Session Reference","name":"Lightning Strike Backtesting Session","dataProducts":[],"tradingMineProducts":[{"type":"Trading Mine Products","name":"Masters","botProducts":[{"type":"Bot Products","name":"Low Frequency","dataProducts":[],"dataProductFolders":[{"type":"Data Product Folder","name":"Trading Engine","dataProducts":[],"dataProductFolders":[{"type":"Data Product Folder","name":"Episode","dataProducts":[{"type":"Data Product","name":"Episode Counters","id":"a01b42b0-ea87-47ab-b0e9-52d4b10cb631","savedPayload":{"position":{"x":24480.592002018682,"y":31761.454740869387},"targetPosition":{"x":24394.592002018682,"y":31753.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Counters","id":"d81c6019-864e-42f5-94ba-2f249b865f85"}}},{"type":"Data Product","name":"Episode Statistics","id":"559a20a7-6697-4245-9d6c-ad7c0e31ff84","savedPayload":{"position":{"x":24330.592002018682,"y":31690.454740869387},"targetPosition":{"x":24394.592002018682,"y":31753.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Statistics","id":"400c7f49-37da-41fb-b83d-879960aa74ff"}}},{"type":"Data Product","name":"Episode Candle","id":"24fab05f-ff78-4cca-af61-d4d0bb2f2960","savedPayload":{"position":{"x":24437.592002018682,"y":31733.454740869387},"targetPosition":{"x":24394.592002018682,"y":31753.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Candle","id":"b9a58113-cf27-4d57-9810-87a2cc158804"}}},{"type":"Data Product","name":"Episode Balances","id":"7c580919-08ce-4aff-9e84-888fdf07caec","savedPayload":{"position":{"x":24298.592002018682,"y":31745.454740869387},"targetPosition":{"x":24394.592002018682,"y":31753.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Balances","id":"a9a53d82-133b-4417-b639-f9a56d338233"}}},{"type":"Data Product","name":"Distance To Event","id":"389797d4-8456-4258-9adf-246a6ba69016","savedPayload":{"position":{"x":24458.592002018682,"y":31765.454740869387},"targetPosition":{"x":24394.592002018682,"y":31753.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Distance To Event","id":"8ea88d6c-7d7f-4152-b781-ea108df52c63"}}},{"type":"Data Product","name":"Episode Base Asset","id":"323c7b0b-42b1-4ff0-9d4b-36c2fd605caa","savedPayload":{"position":{"x":24434.592002018682,"y":31776.454740869387},"targetPosition":{"x":24394.592002018682,"y":31753.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Base Asset","id":"234969ff-eab1-4d59-b6fa-79433c9a20e9"}}},{"type":"Data Product","name":"Episode Quoted Asset","id":"63594fc6-3b89-4507-bca8-2d43ef618cbe","savedPayload":{"position":{"x":24492.592002018682,"y":31682.454740869387},"targetPosition":{"x":24394.592002018682,"y":31753.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Quoted Asset","id":"ae525e31-d6a8-47d2-9021-3f2ddb9615b0"}}},{"type":"Data Product","name":"Current Episode","id":"73bb3f9e-b112-4e5a-bce9-6d4bec41cc6c","savedPayload":{"position":{"x":24323.592002018682,"y":31849.454740869387},"targetPosition":{"x":24394.592002018682,"y":31753.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Episode","id":"b8da0132-ba28-46ec-aa54-eb9eaac56ce7"}}}],"dataProductFolders":[],"id":"a606455e-f5ce-4535-b1af-6d9dd529f91c","savedPayload":{"position":{"x":24394.592002018682,"y":31753.454740869387},"targetPosition":{"x":24438.592002018682,"y":31839.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Strategy","dataProducts":[{"type":"Data Product","name":"Current Strategy","id":"515f5fd6-d860-44d4-b5d6-a19acd9c5c86","savedPayload":{"position":{"x":24492.592002018682,"y":31734.454740869387},"targetPosition":{"x":24471.592002018682,"y":31803.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Strategy","id":"895d8a04-ef45-41a7-909a-ba31013ffb90"}}},{"type":"Data Product","name":"Last Strategy","id":"556e97e8-eba3-419d-869d-950cc99371da","savedPayload":{"position":{"x":24465.592002018682,"y":31852.454740869387},"targetPosition":{"x":24471.592002018682,"y":31803.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Strategy","id":"0625f524-2b97-4b4d-8a90-590ffc62ecd3"}}}],"dataProductFolders":[],"id":"3af0887b-ae23-4f57-b376-4a540fe13112","savedPayload":{"position":{"x":24471.592002018682,"y":31803.454740869387},"targetPosition":{"x":24438.592002018682,"y":31839.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Position","dataProducts":[{"type":"Data Product","name":"Current Position","id":"d33abc39-702b-4d7a-8435-43d90e0f2c3a","savedPayload":{"position":{"x":24369.592002018682,"y":31805.454740869387},"targetPosition":{"x":24464.592002018682,"y":31882.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Position","id":"832ecada-8da3-4ba6-b6e9-be34dd5f7ce9"}}},{"type":"Data Product","name":"Last Position","id":"d681fd5f-64af-4f39-9f6d-a767bef7692f","savedPayload":{"position":{"x":24415.592002018682,"y":31816.454740869387},"targetPosition":{"x":24464.592002018682,"y":31882.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Position","id":"477cd6d5-862a-44d0-9313-786a4e63a602"}}}],"dataProductFolders":[],"id":"895feaf2-ae82-4b8e-ada6-780beab73ea9","savedPayload":{"position":{"x":24464.592002018682,"y":31882.454740869387},"targetPosition":{"x":24438.592002018682,"y":31839.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Stages","dataProducts":[{"type":"Data Product","name":"Open Stage","id":"b0961496-1af9-48cd-bbeb-ac5973192e78","savedPayload":{"position":{"x":24572.592002018682,"y":31678.454740869387},"targetPosition":{"x":24537.592002018682,"y":31755.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Open Stage","id":"73c3c041-ba2a-4798-a362-a453409b518a"}}},{"type":"Data Product","name":"Close Stage","id":"0c9cf78d-ce6e-4318-811d-e748ca72845d","savedPayload":{"position":{"x":24558.592002018682,"y":31710.454740869387},"targetPosition":{"x":24537.592002018682,"y":31755.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Close Stage","id":"2bb9bb41-1ff5-4f83-aa5b-bfc4c9f06a9a"}}},{"type":"Data Product","name":"Trigger Stage","id":"e298787f-b7f2-4334-931e-38b9441e43f9","savedPayload":{"position":{"x":24521.592002018682,"y":31742.454740869387},"targetPosition":{"x":24537.592002018682,"y":31755.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trigger Stage","id":"b6cff826-9056-4fbd-8eca-cbd6cceec962"}}},{"type":"Data Product","name":"Manage Stage","id":"4719b69d-b23e-4037-8c0a-b641fd8ab14c","savedPayload":{"position":{"x":24461.592002018682,"y":31689.454740869387},"targetPosition":{"x":24537.592002018682,"y":31755.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Manage Stage","id":"bd691611-e7a6-49a8-b07d-c15360b55e40"}}}],"dataProductFolders":[],"id":"9fe11205-286a-4610-81ec-29cbc70d6075","savedPayload":{"position":{"x":24537.592002018682,"y":31755.454740869387},"targetPosition":{"x":24438.592002018682,"y":31839.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Orders","dataProducts":[{"type":"Data Product","name":"Market Buy Orders","id":"90834a1b-cc7e-48a9-be5c-0e30380af4bd","savedPayload":{"position":{"x":24500.592002018682,"y":31771.454740869387},"targetPosition":{"x":24528.592002018682,"y":31804.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Buy Orders","id":"7c769317-2639-4460-8b88-9dc92f7b0585"}}},{"type":"Data Product","name":"Market Sell Orders","id":"e2112d60-5fc2-4e67-befe-d4fbd6c1de77","savedPayload":{"position":{"x":24508.592002018682,"y":31784.454740869387},"targetPosition":{"x":24528.592002018682,"y":31804.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Sell Orders","id":"9cc7645a-54fe-40d6-9896-9278167011fb"}}},{"type":"Data Product","name":"Limit Buy Orders","id":"e734b6be-ba40-468c-a94f-1153dc85e00c","savedPayload":{"position":{"x":24462.592002018682,"y":31870.454740869387},"targetPosition":{"x":24528.592002018682,"y":31804.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Buy Orders","id":"4c827ee0-a29b-4b65-8438-03e2ea98b410"}}},{"type":"Data Product","name":"Limit Sell Orders","id":"9a973229-4d9d-45af-b5aa-64906a915f6e","savedPayload":{"position":{"x":24439.592002018682,"y":31813.454740869387},"targetPosition":{"x":24528.592002018682,"y":31804.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Sell Orders","id":"2c753cd8-36d8-466c-bd80-1ebfa8e314dc"}}},{"type":"Data Product","name":"Last Market Order","id":"56517fe9-64da-4404-83f3-005106bc1c0a","savedPayload":{"position":{"x":24429.592002018682,"y":31799.454740869387},"targetPosition":{"x":24528.592002018682,"y":31804.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Market Order","id":"6df1ac87-92d5-4788-b0bc-f3543b283ef0"}}},{"type":"Data Product","name":"Last Limit Order","id":"d00c76e7-4be0-4518-9892-a0f6df943951","savedPayload":{"position":{"x":24611.592002018682,"y":31730.454740869387},"targetPosition":{"x":24528.592002018682,"y":31804.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Limit Order","id":"c24ec6a1-e937-4d20-93eb-4faf2a0becc3"}}}],"dataProductFolders":[],"id":"b5154bc1-4311-4148-b396-5ebca1c62417","savedPayload":{"position":{"x":24528.592002018682,"y":31804.454740869387},"targetPosition":{"x":24438.592002018682,"y":31839.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"89edd698-1d64-4500-bcef-d13ea74bee1c","savedPayload":{"position":{"x":24438.592002018682,"y":31839.454740869387},"targetPosition":{"x":24453.592002018682,"y":31759.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Trading System","dataProducts":[{"type":"Data Product","name":"Trading System Errors","id":"a0c29c57-0a20-4084-9697-142300f62f9c","savedPayload":{"position":{"x":24400.592002018682,"y":31844.454740869387},"targetPosition":{"x":24395.592002018682,"y":31841.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Errors","id":"1d9c570d-77c7-40ac-a61e-c5a57a411de8"}}},{"type":"Data Product","name":"Trading System Highlights","id":"aa0fe882-89a8-4811-8988-c589554afe9d","savedPayload":{"position":{"x":24311.592002018682,"y":31789.454740869387},"targetPosition":{"x":24395.592002018682,"y":31841.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Highlights","id":"319f660a-78be-4cf4-8052-877837cad806"}}},{"type":"Data Product","name":"Trading System Values","id":"bbc65054-b22b-4cbb-816b-529672e2f498","savedPayload":{"position":{"x":24341.592002018682,"y":31813.454740869387},"targetPosition":{"x":24395.592002018682,"y":31841.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Values","id":"c90c009b-588d-45d4-aff1-05e375181dfa"}}},{"type":"Data Product","name":"Trading System Status","id":"776a3ece-8255-4e80-b60f-85bb818b561f","savedPayload":{"position":{"x":24357.592002018682,"y":31807.454740869387},"targetPosition":{"x":24395.592002018682,"y":31841.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Status","id":"eed48c80-35c5-49fa-b12d-18e7280ffb8f"}}},{"type":"Data Product","name":"Trading System Progress","id":"7593aaf9-0505-4b58-9920-235340ff2d2f","savedPayload":{"position":{"x":24342.592002018682,"y":31784.454740869387},"targetPosition":{"x":24395.592002018682,"y":31841.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Progress","id":"04c8606b-5e59-4e7d-b3ac-387bfffcd300"}}},{"type":"Data Product","name":"Trading System Running","id":"3e2e6105-f41f-42e2-bce5-74ebb3b81cbd","savedPayload":{"position":{"x":24349.592002018682,"y":31820.454740869387},"targetPosition":{"x":24395.592002018682,"y":31841.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Running","id":"17236f59-6ef2-4cc3-913c-1ff6db052236"}}},{"type":"Data Product","name":"Trading System Announcements","id":"faab4399-898b-4393-8c27-fa2f3109c60a","savedPayload":{"position":{"x":24324.592002018682,"y":31838.454740869387},"targetPosition":{"x":24395.592002018682,"y":31841.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Announcements","id":"4a6f828a-9671-431e-8257-fc920943581e"}}},{"type":"Data Product","name":"Trading System Warnings","id":"9ff0f035-ca7f-4e65-a82c-186fa7f09157","savedPayload":{"position":{"x":24314.592002018682,"y":31914.454740869387},"targetPosition":{"x":24395.592002018682,"y":31841.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Warnings","id":"34310596-466a-4e9a-a5a2-256b0fe3e339"}}},{"type":"Data Product","name":"Trading System Infos","id":"04210a59-070a-45f1-a2a0-cf50bd4879f7","savedPayload":{"position":{"x":24406.592002018682,"y":31780.454740869387},"targetPosition":{"x":24395.592002018682,"y":31841.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Infos","id":"020ad519-0fc6-4f2f-9f26-b2c7de118fb8"}}}],"dataProductFolders":[],"id":"1a16bc12-581d-4626-846c-895f08e65fdf","savedPayload":{"position":{"x":24395.592002018682,"y":31841.454740869387},"targetPosition":{"x":24453.592002018682,"y":31759.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Objects","dataProducts":[{"type":"Data Product","name":"Episodes","id":"73dff61a-7b05-4ca6-b963-99d6c578e9ba","savedPayload":{"position":{"x":24450.592002018682,"y":31727.454740869387},"targetPosition":{"x":24545.592002018682,"y":31727.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episodes","id":"aeec080e-8caf-4976-8187-ba4e725b73b0"}}},{"type":"Data Product","name":"Strategies","id":"a9c454c8-9075-4dcf-bfe9-ebd0c1658049","savedPayload":{"position":{"x":24507.592002018682,"y":31747.454740869387},"targetPosition":{"x":24545.592002018682,"y":31727.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Strategies","id":"21db6fce-8450-4b07-9015-d81a339fd030"}}}],"dataProductFolders":[{"type":"Data Product Folder","name":"Orders","dataProducts":[{"type":"Data Product","name":"Market Buy Orders","id":"cad1eecc-e897-4086-b42c-fcfd843c04cc","savedPayload":{"position":{"x":24587.592002018682,"y":31833.454740869387},"targetPosition":{"x":24603.592002018682,"y":31752.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Buy Orders","id":"db256083-9aa2-48e1-8fd6-3425a5085302"}}},{"type":"Data Product","name":"Market Sell Orders","id":"fdf22e85-7071-4847-bdba-e3fb43a616ed","savedPayload":{"position":{"x":24584.592002018682,"y":31838.454740869387},"targetPosition":{"x":24603.592002018682,"y":31752.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Sell Orders","id":"1958f79b-5c6c-4874-9154-98c314822ed7"}}},{"type":"Data Product","name":"Limit Buy Orders","id":"d2b1ab31-d8a1-422b-a717-33ee7df9b07b","savedPayload":{"position":{"x":24562.592002018682,"y":31737.454740869387},"targetPosition":{"x":24603.592002018682,"y":31752.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Buy Orders","id":"5deceb32-c7ab-4560-818a-0f0b9d6632fb"}}},{"type":"Data Product","name":"Limit Sell Orders","id":"3b5a12db-b969-4400-8b9d-afb9b7b81642","savedPayload":{"position":{"x":24689.592002018682,"y":31670.454740869387},"targetPosition":{"x":24603.592002018682,"y":31752.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Sell Orders","id":"2a1d405b-2fbe-4ed4-a76a-d2c7be59d20e"}}}],"dataProductFolders":[],"id":"97736b8e-761c-43f2-83bf-df8f5d41b963","savedPayload":{"position":{"x":24603.592002018682,"y":31752.454740869387},"targetPosition":{"x":24545.592002018682,"y":31727.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Stages","dataProducts":[{"type":"Data Product","name":"Trigger Stages","id":"9fc29be1-9393-4933-95d3-bebddd73c05e","savedPayload":{"position":{"x":24524.592002018682,"y":31656.454740869387},"targetPosition":{"x":24504.592002018682,"y":31656.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trigger Stages","id":"18cc2e79-7e57-418c-b635-6c68fc11d681"}}},{"type":"Data Product","name":"Open Stages","id":"b555388f-db93-4db1-91be-7772550afa70","savedPayload":{"position":{"x":24456.592002018682,"y":31707.454740869387},"targetPosition":{"x":24504.592002018682,"y":31656.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Open Stages","id":"d5938c00-0849-466d-ae14-4ea91b571678"}}},{"type":"Data Product","name":"Manage Stages","id":"41953904-e48c-4176-bf0f-09d133bc444c","savedPayload":{"position":{"x":24458.592002018682,"y":31664.454740869387},"targetPosition":{"x":24504.592002018682,"y":31656.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Manage Stages","id":"8fab86b3-db8d-4113-8418-1d256bd98cf2"}}},{"type":"Data Product","name":"Close Stages","id":"47b4553c-7f2e-438c-9f4b-9ba30e943a6c","savedPayload":{"position":{"x":24480.592002018682,"y":31712.454740869387},"targetPosition":{"x":24504.592002018682,"y":31656.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Close Stages","id":"ba911e61-f951-48cd-b547-9a70aa211100"}}}],"dataProductFolders":[],"id":"ac789224-64dc-4ff5-a316-2dfbb6347b8a","savedPayload":{"position":{"x":24504.592002018682,"y":31656.454740869387},"targetPosition":{"x":24545.592002018682,"y":31727.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Position","dataProducts":[{"type":"Data Product","name":"Positions","id":"6e49b57f-8c94-410f-985b-82c126155b11","savedPayload":{"position":{"x":24710.592002018682,"y":31651.454740869387},"targetPosition":{"x":24633.592002018682,"y":31702.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Positions","id":"1eabba24-cbd4-4cbf-95e0-c5135349d41d"}}},{"type":"Data Product","name":"Position Base Asset","id":"ae8fa9a5-95b6-4769-8ade-f9854e6855ba","savedPayload":{"position":{"x":24690.592002018682,"y":31799.454740869387},"targetPosition":{"x":24633.592002018682,"y":31702.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Position Base Asset","id":"b371b039-f6c8-4f60-84cb-52f55c96c84d"}}},{"type":"Data Product","name":"Position Quoted Asset","id":"9e9b19ee-9c51-4586-b74d-d2880f13f71f","savedPayload":{"position":{"x":24673.592002018682,"y":31768.454740869387},"targetPosition":{"x":24633.592002018682,"y":31702.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Position Quoted Asset","id":"a376f02b-a5d2-4079-b5cd-ab7dc894b909"}}},{"type":"Data Product","name":"Stop Loss","id":"01491591-0462-453c-91e0-6da6f554a729","savedPayload":{"position":{"x":24553.592002018682,"y":31664.454740869387},"targetPosition":{"x":24633.592002018682,"y":31702.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Stop Loss","id":"c18bdc82-216a-4b1d-8850-5c3c9dc2000b"}}},{"type":"Data Product","name":"Take Profit","id":"719dd8a6-58ab-41c6-9693-9b67c12232d2","savedPayload":{"position":{"x":24575.592002018682,"y":31611.454740869387},"targetPosition":{"x":24633.592002018682,"y":31702.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Take Profit","id":"2542c7d0-fa26-4b52-a59a-a3630e52eb89"}}}],"dataProductFolders":[],"id":"2a4cb5a2-8e6a-4b14-816a-b8e0cce4dae5","savedPayload":{"position":{"x":24633.592002018682,"y":31702.454740869387},"targetPosition":{"x":24545.592002018682,"y":31727.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"39e122ca-cdc4-49a6-91a6-2f2c05f62ea0","savedPayload":{"position":{"x":24545.592002018682,"y":31727.454740869387},"targetPosition":{"x":24453.592002018682,"y":31759.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"363150a9-d4e7-4e2e-b327-89109935718c","savedPayload":{"position":{"x":24453.592002018682,"y":31759.454740869387},"targetPosition":{"x":24400.592002018682,"y":31793.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"13a2b4f9-2c05-49b2-b42c-32ffa71ae0b7","savedPayload":{"position":{"x":24400.592002018682,"y":31793.454740869387},"targetPosition":{"x":24360.592002018682,"y":31706.454740869387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Trading Mine","name":"Masters","id":"6a54eece-4582-4cda-a854-1cd805e00fed"}}}],"id":"a5de30a4-022e-4f8a-afd0-3eb6d8600ae8","savedPayload":{"position":{"x":24405.116453717466,"y":32203.77023411536},"targetPosition":{"x":24497.82155202995,"y":31918.453279226815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Backtesting Session","name":"Lightning Strike","id":"ce648922-fef2-44e3-8d76-2bd7ab72a29f"}}},{"type":"Session Reference","name":"Lightning Strike Live Trading Session","dataProducts":[],"tradingMineProducts":[{"type":"Trading Mine Products","name":"Masters","botProducts":[{"type":"Bot Products","name":"Low Frequency","dataProducts":[],"dataProductFolders":[{"type":"Data Product Folder","name":"Trading Engine","dataProducts":[],"dataProductFolders":[{"type":"Data Product Folder","name":"Episode","dataProducts":[{"type":"Data Product","name":"Episode Counters","id":"dc6cc4ef-4bd7-4837-8442-919462314db3","savedPayload":{"position":{"x":24057.07658106541,"y":32555.381497697002},"targetPosition":{"x":23684.871774199913,"y":32601.08250147393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Counters","id":"d81c6019-864e-42f5-94ba-2f249b865f85"}}},{"type":"Data Product","name":"Episode Statistics","id":"776ed571-8321-47aa-8cfb-c8ebf565dace","savedPayload":{"position":{"x":24050.260548494378,"y":32685.43914685288},"targetPosition":{"x":23684.871774199913,"y":32601.08250147393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Statistics","id":"400c7f49-37da-41fb-b83d-879960aa74ff"}}},{"type":"Data Product","name":"Episode Candle","id":"ded93703-a48d-44be-9703-878c28f949cd","savedPayload":{"position":{"x":23999.373237179447,"y":32805.32213960456},"targetPosition":{"x":23684.871774199913,"y":32601.08250147393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Candle","id":"b9a58113-cf27-4d57-9810-87a2cc158804"}}},{"type":"Data Product","name":"Episode Balances","id":"e702f1dd-1c91-4d05-ac55-19db363f5f3a","savedPayload":{"position":{"x":23910.552407881933,"y":32900.57081774167},"targetPosition":{"x":23684.871774199913,"y":32601.08250147393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Balances","id":"a9a53d82-133b-4417-b639-f9a56d338233"}}},{"type":"Data Product","name":"Distance To Event","id":"b8abea53-8221-47bd-91a2-cdcdd2ad1027","savedPayload":{"position":{"x":23794.51116347094,"y":32959.69678496007},"targetPosition":{"x":23684.871774199913,"y":32601.08250147393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Distance To Event","id":"8ea88d6c-7d7f-4152-b781-ea108df52c63"}}},{"type":"Data Product","name":"Episode Base Asset","id":"18bcbd26-c237-4acb-96f4-d9c95d833a42","savedPayload":{"position":{"x":23665.24579060881,"y":32975.568577006896},"targetPosition":{"x":23684.871774199913,"y":32601.08250147393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Base Asset","id":"234969ff-eab1-4d59-b6fa-79433c9a20e9"}}},{"type":"Data Product","name":"Episode Quoted Asset","id":"c444f4b5-fa67-4c21-afa8-1f998da7a2a2","savedPayload":{"position":{"x":23538.347601016434,"y":32946.271821518596},"targetPosition":{"x":23684.871774199913,"y":32601.08250147393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Quoted Asset","id":"ae525e31-d6a8-47d2-9021-3f2ddb9615b0"}}},{"type":"Data Product","name":"Current Episode","id":"057570bd-69d4-4f3c-b0d4-94ee32f61e65","savedPayload":{"position":{"x":23429.122389176475,"y":32875.34013958112},"targetPosition":{"x":23684.871774199913,"y":32601.08250147393},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Episode","id":"b8da0132-ba28-46ec-aa54-eb9eaac56ce7"}}}],"dataProductFolders":[],"id":"6a331de0-7872-4f86-bea0-6dd802c97921","savedPayload":{"position":{"x":23684.871774199913,"y":32601.08250147393},"targetPosition":{"x":23514.625336797584,"y":32266.955054903294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Strategy","dataProducts":[{"type":"Data Product","name":"Current Strategy","id":"88dd680c-a81b-48ae-96ba-838281abfa35","savedPayload":{"position":{"x":23665.24579060881,"y":32975.568577006896},"targetPosition":{"x":23494.99935320648,"y":32641.44113043626},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Strategy","id":"895d8a04-ef45-41a7-909a-ba31013ffb90"}}},{"type":"Data Product","name":"Last Strategy","id":"24af3ffc-6a52-4ee3-a30b-f068aa5b2062","savedPayload":{"position":{"x":23290.759715075845,"y":32955.94259341579},"targetPosition":{"x":23494.99935320648,"y":32641.44113043626},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Strategy","id":"0625f524-2b97-4b4d-8a90-590ffc62ecd3"}}}],"dataProductFolders":[],"id":"74c10f36-887b-4233-81e5-abe365511bfa","savedPayload":{"position":{"x":23494.99935320648,"y":32641.44113043626},"targetPosition":{"x":23514.625336797584,"y":32266.955054903294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Position","dataProducts":[{"type":"Data Product","name":"Current Position","id":"25280962-e4e5-40df-9e42-9edfbad6f6d3","savedPayload":{"position":{"x":23290.759715075845,"y":32955.94259341579},"targetPosition":{"x":23310.38569866695,"y":32581.456517882827},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Position","id":"832ecada-8da3-4ba6-b6e9-be34dd5f7ce9"}}},{"type":"Data Product","name":"Last Position","id":"7a95a249-132d-4e0f-9182-cc7af45cacea","savedPayload":{"position":{"x":22976.25825209631,"y":32751.702955285156},"targetPosition":{"x":23310.38569866695,"y":32581.456517882827},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Position","id":"477cd6d5-862a-44d0-9313-786a4e63a602"}}}],"dataProductFolders":[],"id":"7eca88a8-3724-4ca1-aa30-9227727eb834","savedPayload":{"position":{"x":23310.38569866695,"y":32581.456517882827},"targetPosition":{"x":23514.625336797584,"y":32266.955054903294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Stages","dataProducts":[{"type":"Data Product","name":"Open Stage","id":"c9c4bca7-f918-4aa8-b538-ffe8aa31d5c2","savedPayload":{"position":{"x":23121.83496583686,"y":32807.5846200288},"targetPosition":{"x":23180.497890226947,"y":32437.201492305623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Open Stage","id":"73c3c041-ba2a-4798-a362-a453409b518a"}}},{"type":"Data Product","name":"Close Stage","id":"4201d7c0-43aa-4ac0-bd7e-ab26b688aa2d","savedPayload":{"position":{"x":22915.332847281992,"y":32702.366535250578},"targetPosition":{"x":23180.497890226947,"y":32437.201492305623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Close Stage","id":"2bb9bb41-1ff5-4f83-aa5b-bfc4c9f06a9a"}}},{"type":"Data Product","name":"Trigger Stage","id":"4fe24ddc-973f-4a5d-bf8a-d77090486125","savedPayload":{"position":{"x":22810.11476250377,"y":32495.86441669571},"targetPosition":{"x":23180.497890226947,"y":32437.201492305623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trigger Stage","id":"b6cff826-9056-4fbd-8eca-cbd6cceec962"}}},{"type":"Data Product","name":"Manage Stage","id":"e2f3d69e-2f0a-4463-8e74-4f0768c4fb70","savedPayload":{"position":{"x":22846.37044365631,"y":32266.955054903294},"targetPosition":{"x":23180.497890226947,"y":32437.201492305623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Manage Stage","id":"bd691611-e7a6-49a8-b07d-c15360b55e40"}}}],"dataProductFolders":[],"id":"7236bd16-a6e3-48ac-89bf-dc8674b7e812","savedPayload":{"position":{"x":23180.497890226947,"y":32437.201492305623},"targetPosition":{"x":23514.625336797584,"y":32266.955054903294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Orders","dataProducts":[{"type":"Data Product","name":"Market Buy Orders","id":"0e0b284a-5014-4ab0-ada0-4322c14a099e","savedPayload":{"position":{"x":22959.973442347367,"y":32576.21397168598},"targetPosition":{"x":23140.13926126462,"y":32247.32907131219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Buy Orders","id":"7c769317-2639-4460-8b88-9dc92f7b0585"}}},{"type":"Data Product","name":"Market Sell Orders","id":"95b3db7a-9b62-4eab-a76b-4af8794da5a6","savedPayload":{"position":{"x":22835.117657046547,"y":32465.473108499165},"targetPosition":{"x":23140.13926126462,"y":32247.32907131219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Sell Orders","id":"9cc7645a-54fe-40d6-9896-9278167011fb"}}},{"type":"Data Product","name":"Limit Buy Orders","id":"1c6eed42-23aa-4174-aade-be29222acb8c","savedPayload":{"position":{"x":22770.675141305597,"y":32311.52614338643},"targetPosition":{"x":23140.13926126462,"y":32247.32907131219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Buy Orders","id":"4c827ee0-a29b-4b65-8438-03e2ea98b410"}}},{"type":"Data Product","name":"Limit Sell Orders","id":"a2f44cd5-090d-42e5-9eb7-73e732310e85","savedPayload":{"position":{"x":22779.409525702606,"y":32144.86416082397},"targetPosition":{"x":23140.13926126462,"y":32247.32907131219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Sell Orders","id":"2c753cd8-36d8-466c-bd80-1ebfa8e314dc"}}},{"type":"Data Product","name":"Last Market Order","id":"8c24d559-ba52-46fe-81b4-8a6bf50c74b6","savedPayload":{"position":{"x":22859.590858287545,"y":31998.49661043336},"targetPosition":{"x":23140.13926126462,"y":32247.32907131219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Market Order","id":"6df1ac87-92d5-4788-b0bc-f3543b283ef0"}}},{"type":"Data Product","name":"Last Limit Order","id":"c451c035-5ece-451f-836f-b5334cb3f967","savedPayload":{"position":{"x":22995.338242782465,"y":31901.413380649665},"targetPosition":{"x":23140.13926126462,"y":32247.32907131219},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Limit Order","id":"c24ec6a1-e937-4d20-93eb-4faf2a0becc3"}}}],"dataProductFolders":[],"id":"ce9593a8-3e87-43bb-88c7-af50cf651806","savedPayload":{"position":{"x":23140.13926126462,"y":32247.32907131219},"targetPosition":{"x":23514.625336797584,"y":32266.955054903294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8be94a26-6821-48bb-8169-3eae2a1131af","savedPayload":{"position":{"x":23514.625336797584,"y":32266.955054903294},"targetPosition":{"x":23718.86497492822,"y":31952.45359192376},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Trading System","dataProducts":[{"type":"Data Product","name":"Trading System Errors","id":"ba606f99-2ae5-44dc-b7db-399e657830e1","savedPayload":{"position":{"x":23312.861450927674,"y":32403.366186743522},"targetPosition":{"x":23352.059624653044,"y":32030.42047598042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Errors","id":"1d9c570d-77c7-40ac-a61e-c5a57a411de8"}}},{"type":"Data Product","name":"Trading System Highlights","id":"2d20d8ae-4afa-4e92-8de2-89e66e5efdee","savedPayload":{"position":{"x":23199.53338349962,"y":32373.000022596396},"targetPosition":{"x":23352.059624653044,"y":32030.42047598042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Highlights","id":"319f660a-78be-4cf4-8052-877837cad806"}}},{"type":"Data Product","name":"Trading System Values","id":"f8a6219c-c7b4-410a-8aa4-1910583f51c8","savedPayload":{"position":{"x":23101.13564726847,"y":32309.099785534443},"targetPosition":{"x":23352.059624653044,"y":32030.42047598042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Values","id":"c90c009b-588d-45d4-aff1-05e375181dfa"}}},{"type":"Data Product","name":"Trading System Status","id":"dcff6f56-7646-4505-aa93-6682a110f3f2","savedPayload":{"position":{"x":23027.300098233878,"y":32217.92047598042},"targetPosition":{"x":23352.059624653044,"y":32030.42047598042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Status","id":"eed48c80-35c5-49fa-b12d-18e7280ffb8f"}}},{"type":"Data Product","name":"Trading System Progress","id":"0a9dff80-e462-4110-b988-11ce57bbbcd5","savedPayload":{"position":{"x":22985.25427437787,"y":32108.38736003708},"targetPosition":{"x":23352.059624653044,"y":32030.42047598042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Progress","id":"04c8606b-5e59-4e7d-b3ac-387bfffcd300"}}},{"type":"Data Product","name":"Trading System Running","id":"c7e05ad0-7d4a-4ffb-9aee-191511f85ee7","savedPayload":{"position":{"x":22979.11391388994,"y":31991.22230225505},"targetPosition":{"x":23352.059624653044,"y":32030.42047598042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Running","id":"17236f59-6ef2-4cc3-913c-1ff6db052236"}}},{"type":"Data Product","name":"Trading System Announcements","id":"e4811789-fd94-49b0-9917-8d9d434f997d","savedPayload":{"position":{"x":23009.480078037068,"y":31877.894234826996},"targetPosition":{"x":23352.059624653044,"y":32030.42047598042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Announcements","id":"4a6f828a-9671-431e-8257-fc920943581e"}}},{"type":"Data Product","name":"Trading System Warnings","id":"029ff3a7-9c65-425f-855a-882df68fa05b","savedPayload":{"position":{"x":23073.38031509902,"y":31779.496498595847},"targetPosition":{"x":23352.059624653044,"y":32030.42047598042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Warnings","id":"34310596-466a-4e9a-a5a2-256b0fe3e339"}}},{"type":"Data Product","name":"Trading System Infos","id":"0f47adaf-25a0-431f-b15b-0fbf44069b38","savedPayload":{"position":{"x":23164.559624653044,"y":31705.660949561254},"targetPosition":{"x":23352.059624653044,"y":32030.42047598042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Infos","id":"020ad519-0fc6-4f2f-9f26-b2c7de118fb8"}}}],"dataProductFolders":[],"id":"7096a712-deb7-4adb-86e0-d688f24d2832","savedPayload":{"position":{"x":23352.059624653044,"y":32030.42047598042},"targetPosition":{"x":23718.86497492822,"y":31952.45359192376},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Objects","dataProducts":[{"type":"Data Product","name":"Episodes","id":"c6fd6067-4b57-4860-ae3b-5668e4444490","savedPayload":{"position":{"x":23070.23606537805,"y":31918.460391195455},"targetPosition":{"x":23404.363511948686,"y":31748.213953793125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episodes","id":"aeec080e-8caf-4976-8187-ba4e725b73b0"}}},{"type":"Data Product","name":"Strategies","id":"60f88096-7343-42d1-afad-83fecd22fb44","savedPayload":{"position":{"x":23029.87743641572,"y":31728.58797020202},"targetPosition":{"x":23404.363511948686,"y":31748.213953793125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Strategies","id":"21db6fce-8450-4b07-9015-d81a339fd030"}}}],"dataProductFolders":[{"type":"Data Product Folder","name":"Orders","dataProducts":[{"type":"Data Product","name":"Market Buy Orders","id":"9f939086-c934-4924-8353-776707a7cf10","savedPayload":{"position":{"x":22739.769389032703,"y":31678.362296741976},"targetPosition":{"x":23089.862048969153,"y":31543.97431566249},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Buy Orders","id":"db256083-9aa2-48e1-8fd6-3425a5085302"}}},{"type":"Data Product","name":"Market Sell Orders","id":"da5f279e-d387-43cf-80f4-fc114b9ac906","savedPayload":{"position":{"x":22727.63986411075,"y":31446.917173749043},"targetPosition":{"x":23089.862048969153,"y":31543.97431566249},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Sell Orders","id":"1958f79b-5c6c-4874-9154-98c314822ed7"}}},{"type":"Data Product","name":"Limit Buy Orders","id":"367646bb-839a-4071-8305-6d26a647585d","savedPayload":{"position":{"x":22853.866902325462,"y":31252.544580116126},"targetPosition":{"x":23089.862048969153,"y":31543.97431566249},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Buy Orders","id":"5deceb32-c7ab-4560-818a-0f0b9d6632fb"}}},{"type":"Data Product","name":"Limit Sell Orders","id":"0b2fc73a-9635-40b2-98d8-0c79c69175a9","savedPayload":{"position":{"x":23070.23606537805,"y":31169.488240129525},"targetPosition":{"x":23089.862048969153,"y":31543.97431566249},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Sell Orders","id":"2a1d405b-2fbe-4ed4-a76a-d2c7be59d20e"}}}],"dataProductFolders":[],"id":"88643ab2-7859-45d4-b967-8681cf970828","savedPayload":{"position":{"x":23089.862048969153,"y":31543.97431566249},"targetPosition":{"x":23404.363511948686,"y":31748.213953793125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Stages","dataProducts":[{"type":"Data Product","name":"Trigger Stages","id":"7fe8c58f-9cad-47c9-ba4e-d66bff094dcf","savedPayload":{"position":{"x":22863.73394682318,"y":31355.4235828324},"targetPosition":{"x":23234.117074546357,"y":31414.086507222488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trigger Stages","id":"18cc2e79-7e57-418c-b635-6c68fc11d681"}}},{"type":"Data Product","name":"Open Stages","id":"41f17745-1819-4681-8a2b-9bdda3cd67c4","savedPayload":{"position":{"x":22968.952031601402,"y":31148.921464277533},"targetPosition":{"x":23234.117074546357,"y":31414.086507222488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Open Stages","id":"d5938c00-0849-466d-ae14-4ea91b571678"}}},{"type":"Data Product","name":"Manage Stages","id":"e89c8bfd-fac9-4aff-afc0-3a89c1dc2710","savedPayload":{"position":{"x":23175.45415015627,"y":31043.70337949931},"targetPosition":{"x":23234.117074546357,"y":31414.086507222488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Manage Stages","id":"8fab86b3-db8d-4113-8418-1d256bd98cf2"}}},{"type":"Data Product","name":"Close Stages","id":"bc2c6503-e935-4ad7-a76a-89b062d41e91","savedPayload":{"position":{"x":23404.363511948686,"y":31079.95906065185},"targetPosition":{"x":23234.117074546357,"y":31414.086507222488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Close Stages","id":"ba911e61-f951-48cd-b547-9a70aa211100"}}}],"dataProductFolders":[],"id":"869369c1-13de-4086-ad40-77b3d54cfc36","savedPayload":{"position":{"x":23234.117074546357,"y":31414.086507222488},"targetPosition":{"x":23404.363511948686,"y":31748.213953793125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Position","dataProducts":[{"type":"Data Product","name":"Positions","id":"3ed594a0-8452-4bd8-9eaa-37cd83a45b90","savedPayload":{"position":{"x":23109.488032560257,"y":31169.488240129525},"targetPosition":{"x":23423.98949553979,"y":31373.72787826016},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Positions","id":"1eabba24-cbd4-4cbf-95e0-c5135349d41d"}}},{"type":"Data Product","name":"Position Base Asset","id":"88997c97-e77f-490e-9eb5-c7531beec132","savedPayload":{"position":{"x":23253.74305813746,"y":31039.600431689523},"targetPosition":{"x":23423.98949553979,"y":31373.72787826016},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Position Base Asset","id":"b371b039-f6c8-4f60-84cb-52f55c96c84d"}}},{"type":"Data Product","name":"Position Quoted Asset","id":"b4772611-d5d0-4fbd-b689-d42de3c045d4","savedPayload":{"position":{"x":23443.615479130895,"y":30999.241802727196},"targetPosition":{"x":23423.98949553979,"y":31373.72787826016},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Position Quoted Asset","id":"a376f02b-a5d2-4079-b5cd-ab7dc894b909"}}},{"type":"Data Product","name":"Stop Loss","id":"9b064960-3829-441f-b955-334fb8324a53","savedPayload":{"position":{"x":23628.229133670426,"y":31059.226415280627},"targetPosition":{"x":23423.98949553979,"y":31373.72787826016},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Stop Loss","id":"c18bdc82-216a-4b1d-8850-5c3c9dc2000b"}}},{"type":"Data Product","name":"Take Profit","id":"cbcc817b-4333-4c80-addc-e2a0ee0845c1","savedPayload":{"position":{"x":23758.116942110428,"y":31203.48144085783},"targetPosition":{"x":23423.98949553979,"y":31373.72787826016},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Take Profit","id":"2542c7d0-fa26-4b52-a59a-a3630e52eb89"}}}],"dataProductFolders":[],"id":"7f74f2e1-91b6-4d7a-87cb-1d6232a41876","savedPayload":{"position":{"x":23423.98949553979,"y":31373.72787826016},"targetPosition":{"x":23404.363511948686,"y":31748.213953793125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"291949a0-847b-4b18-b3b4-191496fc38a9","savedPayload":{"position":{"x":23404.363511948686,"y":31748.213953793125},"targetPosition":{"x":23718.86497492822,"y":31952.45359192376},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ae78f4fc-6ee5-4ae4-9847-3bab0e2e51a6","savedPayload":{"position":{"x":23718.86497492822,"y":31952.45359192376},"targetPosition":{"x":24085.670325203395,"y":31874.4867078671},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"aa2b0766-a3d5-47e1-acd8-7345af564388","savedPayload":{"position":{"x":24085.670325203395,"y":31874.4867078671},"targetPosition":{"x":24330.207225386846,"y":31822.508785162663},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Trading Mine","name":"Masters","id":"6a54eece-4582-4cda-a854-1cd805e00fed"}}}],"id":"9ef30086-0c9d-47c2-8983-db5fc9a99583","savedPayload":{"position":{"x":24204.377271809808,"y":31980.826786472142},"targetPosition":{"x":24497.82155202995,"y":31918.453279226815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Live Trading Session","name":"Lightning Strike","id":"1ce123af-467f-4295-b317-dba8729faf25"}}}],"id":"026bab29-64d0-4d83-862c-446657efa101","savedPayload":{"position":{"x":24497.82155202995,"y":31918.453279226815},"targetPosition":{"x":24720.764999673167,"y":31717.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"f601d2a7-fada-477f-9b63-3ef7ed42d44a","savedPayload":{"position":{"x":24720.764999673167,"y":31717.714097319156},"targetPosition":{"x":24943.708447316385,"y":31516.974915411498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"e4e268f3-a677-4f90-90a1-d87244e647e5","savedPayload":{"position":{"x":24943.708447316385,"y":31516.974915411498},"targetPosition":{"x":25166.651894959603,"y":31316.23573350384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e2697759-6038-4943-b90c-5a68651ff9a8","savedPayload":{"position":{"x":25166.651894959603,"y":31316.23573350384},"targetPosition":{"x":25259.356993272086,"y":31030.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"d"}}},"id":"e452cf65-2b2b-44f2-9e67-bdd9d3c008e4","savedPayload":{"position":{"x":25259.356993272086,"y":31030.918778615294},"targetPosition":{"x":24959.356993272086,"y":31030.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"3c165071-7558-4708-9999-8ffe71d346b1","savedPayload":{"position":{"x":24959.356993272086,"y":31030.918778615294},"targetPosition":{"x":24959.356993272086,"y":31030.918778615294},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},{"type":"Crypto Ecosystem","name":"My Crypto Ecosystem","cryptoExchanges":[{"type":"Crypto Exchanges","name":"Tested","exchanges":[{"type":"Crypto Exchange","name":"Binance","config":"{\n \"codeName\": \"binance\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"EUR\"} \n}","assets":[{"type":"Asset","name":"Bitcoin","config":"{ \n\"codeName\": \"BTC\"\n}","id":"5f5e4a94-5090-47d4-8883-cc2325d20bfa","savedPayload":{"position":{"x":19794.079365950267,"y":30512.325102172115},"targetPosition":{"x":19716.43365241951,"y":30802.102850058836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Asset","name":"Tether","config":"{ \n\"codeName\": \"USDT\"\n}","id":"f110bfa0-bd5b-469b-a940-4524c8688136","savedPayload":{"position":{"x":20006.21140030623,"y":30724.45713652808},"targetPosition":{"x":19716.43365241951,"y":30802.102850058836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"id":"95d2c30f-215b-486e-8119-f4eac0279575","savedPayload":{"position":{"x":19716.43365241951,"y":30802.102850058836},"targetPosition":{"x":19504.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"E"}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","code":"{ \n\"codeName\": \"Write here the code name of the Market here.\"\n}","markets":[{"type":"Market","name":"BTC/USDT","config":"{ \n\"codeName\": \"BTC/USDT\"\n}","baseAsset":{"type":"Market Base Asset","name":"Bitcoin","id":"1017b30d-de1b-4212-991e-9fd0a5b6c814","savedPayload":{"position":{"x":20394.079365950267,"y":30936.589170884043},"targetPosition":{"x":20104.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Asset","name":"Bitcoin","id":"5f5e4a94-5090-47d4-8883-cc2325d20bfa"}}},"quotedAsset":{"type":"Market Quoted Asset","name":"Tether","id":"705c4a67-787a-48cd-a3dc-3a557438bf0b","savedPayload":{"position":{"x":20394.079365950267,"y":31091.880597945557},"targetPosition":{"x":20104.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Asset","name":"Tether","id":"f110bfa0-bd5b-469b-a940-4524c8688136"}}},"id":"9a867bf0-a71d-445c-b99a-75b60bbdce09","savedPayload":{"position":{"x":20104.301618063546,"y":31014.2348844148},"targetPosition":{"x":19804.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2fd80894-900e-44ac-a1a7-56c14124f7a1","savedPayload":{"position":{"x":19804.301618063546,"y":31014.2348844148},"targetPosition":{"x":19504.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[{"type":"Exchange Account Asset","name":"Bitcoin","id":"ba6f3d5c-b36b-49d9-947f-392068109169","savedPayload":{"position":{"x":20508.121182548915,"y":31438.498953126727},"targetPosition":{"x":20218.343434662194,"y":31516.144666657485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Asset","name":"Bitcoin","id":"5f5e4a94-5090-47d4-8883-cc2325d20bfa"}}},{"type":"Exchange Account Asset","name":"Tether","id":"c90be267-90f9-45ae-b225-0578adb4aad9","savedPayload":{"position":{"x":20430.475469018158,"y":31728.27670101345},"targetPosition":{"x":20218.343434662194,"y":31516.144666657485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Asset","name":"Tether","id":"f110bfa0-bd5b-469b-a940-4524c8688136"}}}],"id":"8ac5c2a9-a238-48ae-ab43-0a0a95a37464","savedPayload":{"position":{"x":20218.343434662194,"y":31516.144666657485},"targetPosition":{"x":19928.565686775473,"y":31438.498953126727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"Key for Lighting Strike","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"e85bbbd6-aca8-450f-9237-788062de5761","savedPayload":{"position":{"x":20083.857113836988,"y":32018.05444890017},"targetPosition":{"x":20006.21140030623,"y":31728.27670101345},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"id":"48925cc9-f3cd-4499-8466-1338fed28a0d","savedPayload":{"position":{"x":20006.21140030623,"y":31728.27670101345},"targetPosition":{"x":19928.565686775473,"y":31438.498953126727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"63794496-c94b-42f9-81cc-c588708617a6","savedPayload":{"position":{"x":19928.565686775473,"y":31438.498953126727},"targetPosition":{"x":19716.43365241951,"y":31226.366918770764},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4b0c1ac5-515f-44a9-b9b9-e698a9c51eac","savedPayload":{"position":{"x":19716.43365241951,"y":31226.366918770764},"targetPosition":{"x":19504.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b","savedPayload":{"position":{"x":19504.301618063546,"y":31014.2348844148},"targetPosition":{"x":19204.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""},"tutorial":{"status":"Done"}}}],"id":"e3879d63-6f8f-41a3-8ac3-0349c4361722","savedPayload":{"position":{"x":19204.301618063546,"y":31014.2348844148},"targetPosition":{"x":18904.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchanges","name":"Untested","exchanges":[{"type":"Crypto Exchange","name":"ACX","config":"{ \n\"codeName\": \"acx\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"ebcb522b-ae58-46d2-9d82-a9b0beec3976","savedPayload":{"position":{"x":17935.64382962515,"y":31014.23747069523},"targetPosition":{"x":17912.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"b2649588-27c6-442c-b179-f6d8817188b3","savedPayload":{"position":{"x":17954.64382962515,"y":31004.23747069523},"targetPosition":{"x":17912.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"9b2051d5-7ee7-4e94-8c8d-306674889339","savedPayload":{"position":{"x":17838.64382962515,"y":30896.23747069523},"targetPosition":{"x":17766.64382962515,"y":30905.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"1d5461aa-d26c-4df5-b383-8c83e311b8ca","savedPayload":{"position":{"x":17643.64382962515,"y":30952.23747069523},"targetPosition":{"x":17698.64382962515,"y":30973.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"c6372400-de52-4b63-97f3-f748aac9c63f","savedPayload":{"position":{"x":17698.64382962515,"y":30973.23747069523},"targetPosition":{"x":17766.64382962515,"y":30905.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c948314e-2247-4234-b83d-cc2c1b152665","savedPayload":{"position":{"x":17766.64382962515,"y":30905.23747069523},"targetPosition":{"x":17837.64382962515,"y":30978.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"04ccb742-ef1b-4138-b38d-a6b0d92f2f8e","savedPayload":{"position":{"x":17837.64382962515,"y":30978.23747069523},"targetPosition":{"x":17912.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e9c21b2d-de21-43b5-8b48-51367a8c981c","savedPayload":{"position":{"x":19313.14497226101,"y":30565.583066825377},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"AOFEX","config":"{ \n\"codeName\": \"aofex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"623ef91b-04c0-4bd5-ac0d-b32c809be3ea","savedPayload":{"position":{"x":17973.64382962515,"y":30923.23747069523},"targetPosition":{"x":17950.64382962515,"y":30994.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"9d0b5855-59a6-4dda-9a4b-33d7a44d582e","savedPayload":{"position":{"x":17901.64382962515,"y":30994.23747069523},"targetPosition":{"x":17950.64382962515,"y":30994.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"e898e569-0dd3-4a22-baa5-caaace66d4ed","savedPayload":{"position":{"x":18062.64382962515,"y":30838.23747069523},"targetPosition":{"x":17982.64382962515,"y":30899.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"64a69d3d-15ff-41c3-a926-5ec93c932ab1","savedPayload":{"position":{"x":17822.64382962515,"y":31052.23747069523},"targetPosition":{"x":17893.64382962515,"y":30981.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ae2785c5-75a1-44fc-a71b-363d88cb5dac","savedPayload":{"position":{"x":17893.64382962515,"y":30981.23747069523},"targetPosition":{"x":17982.64382962515,"y":30899.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"07ea69aa-7357-43b1-b548-a4c4fab70c55","savedPayload":{"position":{"x":17982.64382962515,"y":30899.23747069523},"targetPosition":{"x":17971.64382962515,"y":30962.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2146b410-fc4e-452d-ae57-5d58c9a29706","savedPayload":{"position":{"x":17971.64382962515,"y":30962.23747069523},"targetPosition":{"x":17950.64382962515,"y":30994.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c2e9bb45-97c7-47e8-b13c-56946e673c53","savedPayload":{"position":{"x":19413.67778623216,"y":30647.89853748846},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bequant","config":"{ \n\"codeName\": \"bequant\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"b23c8adf-c880-48fd-b4af-4b4be86cf0e5","savedPayload":{"position":{"x":18059.64382962515,"y":31101.23747069523},"targetPosition":{"x":17960.64382962515,"y":31060.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"523bd94f-68f9-457e-91fd-806c1b95e98d","savedPayload":{"position":{"x":18006.64382962515,"y":31117.23747069523},"targetPosition":{"x":17960.64382962515,"y":31060.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"9d914bb1-a68b-41ae-8666-0fcc755358c1","savedPayload":{"position":{"x":17859.64382962515,"y":30964.23747069523},"targetPosition":{"x":17936.64382962515,"y":31059.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"15d903b5-113c-465e-8120-7c46a9a85565","savedPayload":{"position":{"x":17976.64382962515,"y":31146.23747069523},"targetPosition":{"x":17943.64382962515,"y":31134.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"2d1c0bc3-abe2-4340-91bf-2eef5b98a2f0","savedPayload":{"position":{"x":17943.64382962515,"y":31134.23747069523},"targetPosition":{"x":17936.64382962515,"y":31059.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5a50d459-914c-4bfc-91e8-f15c383280eb","savedPayload":{"position":{"x":17936.64382962515,"y":31059.23747069523},"targetPosition":{"x":17931.64382962515,"y":31071.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b2f2b69f-3bef-4edc-9950-5261d9f36382","savedPayload":{"position":{"x":17931.64382962515,"y":31071.23747069523},"targetPosition":{"x":17960.64382962515,"y":31060.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8e928d3e-a2c2-4341-aa2f-b753551c9479","savedPayload":{"position":{"x":19504.72140465123,"y":30740.600980501622},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bibox","config":"{ \n\"codeName\": \"bibox\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"13c1f22c-9a35-4d3f-b000-c96984fd6a2b","savedPayload":{"position":{"x":17995.64382962515,"y":31047.23747069523},"targetPosition":{"x":17929.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"3c6df49d-70c3-468a-bdd8-6768ce6d3a9d","savedPayload":{"position":{"x":17916.64382962515,"y":31018.23747069523},"targetPosition":{"x":17929.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"5a54ef39-8fba-4a5f-ac24-5f27e763e28f","savedPayload":{"position":{"x":18050.64382962515,"y":31174.23747069523},"targetPosition":{"x":17956.64382962515,"y":31128.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"08df1f45-dab0-463a-8758-359973f2620d","savedPayload":{"position":{"x":17899.64382962515,"y":31242.23747069523},"targetPosition":{"x":17959.64382962515,"y":31180.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"105b52c2-90ad-4fa1-b690-d8fab14209b4","savedPayload":{"position":{"x":17959.64382962515,"y":31180.23747069523},"targetPosition":{"x":17956.64382962515,"y":31128.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"68c1ef42-1b7b-4cc6-981f-80b20dabcd89","savedPayload":{"position":{"x":17956.64382962515,"y":31128.23747069523},"targetPosition":{"x":17907.64382962515,"y":31057.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fc35e5d0-ea61-42b6-979a-859f19c5ac6c","savedPayload":{"position":{"x":17907.64382962515,"y":31057.23747069523},"targetPosition":{"x":17929.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e5f9ee4d-77a3-48ae-b354-b2f6a97d5e47","savedPayload":{"position":{"x":19585.208424334218,"y":30842.603544479174},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BigONE","config":"{ \n\"codeName\": \"bigone\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"3f289513-c1c8-457c-b65a-8cf62b5f5eb5","savedPayload":{"position":{"x":17778.64382962515,"y":31071.23747069523},"targetPosition":{"x":17839.64382962515,"y":31063.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"8b365e73-1cee-496a-921f-121cb628a130","savedPayload":{"position":{"x":17798.64382962515,"y":31121.23747069523},"targetPosition":{"x":17839.64382962515,"y":31063.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"447a4f6f-cfa0-443e-9339-d7c1153ada31","savedPayload":{"position":{"x":17921.64382962515,"y":31046.23747069523},"targetPosition":{"x":17891.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"0d234c53-c121-471e-bce1-a258c13cd148","savedPayload":{"position":{"x":17848.64382962515,"y":31175.23747069523},"targetPosition":{"x":17944.64382962515,"y":31086.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"816e1b6a-d790-4abd-9ae1-e203fa737af2","savedPayload":{"position":{"x":17944.64382962515,"y":31086.23747069523},"targetPosition":{"x":17891.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"561a57f7-8c22-4e50-840d-d983ed6bb864","savedPayload":{"position":{"x":17891.64382962515,"y":31102.23747069523},"targetPosition":{"x":17813.64382962515,"y":31064.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e243bd5d-ade7-46c8-876b-6ad8c6eb5e0a","savedPayload":{"position":{"x":17813.64382962515,"y":31064.23747069523},"targetPosition":{"x":17839.64382962515,"y":31063.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fb9ee540-bf12-4dda-bf87-cb6b58fce649","savedPayload":{"position":{"x":19654.195208565325,"y":30952.710342620318},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Binance Jersey","config":"{ \n\"codeName\": \"binanceje\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"0b979ea9-7a2d-4744-9517-2dfa632dfafc","savedPayload":{"position":{"x":17852.64382962515,"y":30989.23747069523},"targetPosition":{"x":17933.64382962515,"y":30992.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"b9a4497d-20f1-4c61-9a79-444e0fe0ddf4","savedPayload":{"position":{"x":17924.64382962515,"y":30952.23747069523},"targetPosition":{"x":17933.64382962515,"y":30992.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"1b24d8a4-ec70-4501-838c-7633f6f7288e","savedPayload":{"position":{"x":17882.64382962515,"y":31051.23747069523},"targetPosition":{"x":17942.64382962515,"y":31066.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"627472e3-638f-4d68-a917-d0844d6a227b","savedPayload":{"position":{"x":17991.64382962515,"y":31190.23747069523},"targetPosition":{"x":17986.64382962515,"y":31110.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"b8ce75fb-93c9-4ca2-9b2b-9f8ed8af34f3","savedPayload":{"position":{"x":17986.64382962515,"y":31110.23747069523},"targetPosition":{"x":17942.64382962515,"y":31066.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"08b226e4-14ee-4ad3-8d96-efe77cc38489","savedPayload":{"position":{"x":17942.64382962515,"y":31066.23747069523},"targetPosition":{"x":17949.64382962515,"y":31009.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2771eb11-bc72-4273-9e1b-9ac5410c6354","savedPayload":{"position":{"x":17949.64382962515,"y":31009.23747069523},"targetPosition":{"x":17933.64382962515,"y":30992.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2782350a-84a2-40ec-87c6-3c8043376a18","savedPayload":{"position":{"x":19710.872950374665,"y":31069.630473388454},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Binance US","config":"{ \n\"codeName\": \"binanceus\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"817ee1cf-b44c-4458-a9c4-a05a17ea0510","savedPayload":{"position":{"x":17943.64382962515,"y":30999.23747069523},"targetPosition":{"x":17898.64382962515,"y":31020.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"c6694e9e-74dc-4c2e-9151-90f1d6631b45","savedPayload":{"position":{"x":17937.64382962515,"y":30989.23747069523},"targetPosition":{"x":17898.64382962515,"y":31020.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"00144904-5363-49eb-b445-8c8283d92b0d","savedPayload":{"position":{"x":17838.64382962515,"y":31193.23747069523},"targetPosition":{"x":17781.64382962515,"y":31156.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"2e71aa3c-03d4-4dbd-bc50-43b30f59e655","savedPayload":{"position":{"x":17783.64382962515,"y":31148.23747069523},"targetPosition":{"x":17703.64382962515,"y":31182.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"a4d0df32-c600-4421-b893-2a05f0442ed6","savedPayload":{"position":{"x":17703.64382962515,"y":31182.23747069523},"targetPosition":{"x":17781.64382962515,"y":31156.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7a39543a-00e1-452b-8aba-36c2b240f9fc","savedPayload":{"position":{"x":17781.64382962515,"y":31156.23747069523},"targetPosition":{"x":17799.64382962515,"y":31119.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2543c4e5-8233-4348-b6dc-e47aed1ff381","savedPayload":{"position":{"x":17799.64382962515,"y":31119.23747069523},"targetPosition":{"x":17898.64382962515,"y":31020.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"0b2b67d2-853b-470e-8b13-925956ad5621","savedPayload":{"position":{"x":19754.577155060477,"y":31191.993155151424},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"bitbank","config":"{ \n\"codeName\": \"bitbank\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"eb6b6842-9bf7-450e-baa3-7a87541a1cf6","savedPayload":{"position":{"x":17955.64382962515,"y":31107.23747069523},"targetPosition":{"x":17941.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"6353ff56-759f-457d-81f3-fdb8ae5b3e83","savedPayload":{"position":{"x":17942.64382962515,"y":31183.23747069523},"targetPosition":{"x":17941.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"a2b297c7-f33b-48b9-98fa-d339c7b0ff67","savedPayload":{"position":{"x":17999.64382962515,"y":31016.23747069523},"targetPosition":{"x":17945.64382962515,"y":31116.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"9ce6c354-b294-4062-b763-421e5edb69de","savedPayload":{"position":{"x":17883.64382962515,"y":31186.23747069523},"targetPosition":{"x":17845.64382962515,"y":31202.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"547dbf6c-a292-46c0-a628-62856858121e","savedPayload":{"position":{"x":17845.64382962515,"y":31202.23747069523},"targetPosition":{"x":17945.64382962515,"y":31116.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"097055b3-37e5-4100-a24b-91e404fe49a6","savedPayload":{"position":{"x":17945.64382962515,"y":31116.23747069523},"targetPosition":{"x":17897.64382962515,"y":31142.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51aed4ce-0303-431e-a15f-e6f133f7a2cf","savedPayload":{"position":{"x":17897.64382962515,"y":31142.23747069523},"targetPosition":{"x":17941.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6c9a96a7-ed12-4b3e-bb51-306a8da131f5","savedPayload":{"position":{"x":19784.79543078195,"y":31318.363797342816},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BitBay","config":"{ \n\"codeName\": \"bitbay\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"83b4e523-72a7-41ce-9363-fe0c799dcac1","savedPayload":{"position":{"x":17861.64382962515,"y":30965.23747069523},"targetPosition":{"x":17855.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"966698f7-8a28-42d7-bb80-f7cd0601e44f","savedPayload":{"position":{"x":17823.64382962515,"y":31026.23747069523},"targetPosition":{"x":17855.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"554829eb-3d40-4b95-a1cd-9de943763e2c","savedPayload":{"position":{"x":17914.64382962515,"y":30924.23747069523},"targetPosition":{"x":17876.64382962515,"y":30921.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"2f534989-7ca7-4c3d-b14a-3b1071543c8c","savedPayload":{"position":{"x":17845.64382962515,"y":30853.23747069523},"targetPosition":{"x":17832.64382962515,"y":30821.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"2f6b76b4-51d4-434f-8aa1-ed86b0e26bd2","savedPayload":{"position":{"x":17832.64382962515,"y":30821.23747069523},"targetPosition":{"x":17876.64382962515,"y":30921.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cbcc3ab6-9758-4273-99d2-9d05fdd392b5","savedPayload":{"position":{"x":17876.64382962515,"y":30921.23747069523},"targetPosition":{"x":17805.64382962515,"y":31015.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dada6c12-7c41-4ab8-9922-908233829f58","savedPayload":{"position":{"x":17805.64382962515,"y":31015.23747069523},"targetPosition":{"x":17855.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8778eee5-97a2-4f9d-bd25-cd5a64ec6663","savedPayload":{"position":{"x":19801.173495885087,"y":31447.26081972472},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bitfinex","config":"{ \n\"codeName\": \"bitfinex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"33508b53-2769-4f3d-8c98-9fa37e5cbf5b","savedPayload":{"position":{"x":17888.64382962515,"y":31043.23747069523},"targetPosition":{"x":17965.64382962515,"y":30956.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"4d4ad5a1-81a7-4f92-83db-99f57ce261bb","savedPayload":{"position":{"x":17975.64382962515,"y":30868.23747069523},"targetPosition":{"x":17965.64382962515,"y":30956.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"29d52baf-645c-4d8f-9631-ebd391b4c815","savedPayload":{"position":{"x":18034.64382962515,"y":31066.23747069523},"targetPosition":{"x":18037.64382962515,"y":31012.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"d615c33d-c6cf-4572-ac32-8e9ddeb5bb52","savedPayload":{"position":{"x":18023.64382962515,"y":30916.23747069523},"targetPosition":{"x":18106.64382962515,"y":30982.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"0c189040-6318-483c-b6d7-982370a3298d","savedPayload":{"position":{"x":18106.64382962515,"y":30982.23747069523},"targetPosition":{"x":18037.64382962515,"y":31012.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cd60de4a-d17c-4ba7-936a-cbf2305fe3bb","savedPayload":{"position":{"x":18037.64382962515,"y":31012.23747069523},"targetPosition":{"x":18039.64382962515,"y":30964.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d247f4f5-6f16-4a59-a4a5-6d1554b43562","savedPayload":{"position":{"x":18039.64382962515,"y":30964.23747069523},"targetPosition":{"x":17965.64382962515,"y":30956.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6c076027-683d-4778-8a6a-e60984980fdf","savedPayload":{"position":{"x":19803.51933253116,"y":31577.173022561386},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bitfinex","config":"{ \n\"codeName\": \"bitfinex2\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"8fc7f955-5c81-446c-bbeb-205988bf1fc0","savedPayload":{"position":{"x":17830.64382962515,"y":31051.23747069523},"targetPosition":{"x":17863.64382962515,"y":31062.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"d5ba38e9-3282-4634-b922-16532c71f426","savedPayload":{"position":{"x":17819.64382962515,"y":31118.23747069523},"targetPosition":{"x":17863.64382962515,"y":31062.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"1cebbed5-28f7-4ccd-afce-9e7634d90fb6","savedPayload":{"position":{"x":17892.64382962515,"y":30997.23747069523},"targetPosition":{"x":17855.64382962515,"y":30970.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"0d109aa9-c80c-4a64-96f0-1d8fda0a70a4","savedPayload":{"position":{"x":17888.64382962515,"y":30805.23747069523},"targetPosition":{"x":17942.64382962515,"y":30905.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"5459ab1e-a1ce-4dae-ae72-61c1f7f37ce0","savedPayload":{"position":{"x":17942.64382962515,"y":30905.23747069523},"targetPosition":{"x":17855.64382962515,"y":30970.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a4615f7a-000d-4ff9-b5ac-109bc9a3a849","savedPayload":{"position":{"x":17855.64382962515,"y":30970.23747069523},"targetPosition":{"x":17919.64382962515,"y":31043.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e10d303e-ea21-4625-bae1-c32ad7a44e8a","savedPayload":{"position":{"x":17919.64382962515,"y":31043.23747069523},"targetPosition":{"x":17863.64382962515,"y":31062.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f3114102-a73c-4086-9594-5888ef1ab4ec","savedPayload":{"position":{"x":19791.80543793031,"y":31706.577304054405},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bitforex","config":"{ \n\"codeName\": \"bitforex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"698e5e38-ad73-4cb6-b7f6-2b69913faff9","savedPayload":{"position":{"x":17897.64382962515,"y":30956.23747069523},"targetPosition":{"x":17937.64382962515,"y":30945.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"f0142bd4-1b63-4d12-a4b7-e150d0da197f","savedPayload":{"position":{"x":18020.64382962515,"y":31021.23747069523},"targetPosition":{"x":17937.64382962515,"y":30945.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"7164fb28-405b-461a-a7d4-59d438ecf1ce","savedPayload":{"position":{"x":17821.64382962515,"y":30984.23747069523},"targetPosition":{"x":17901.64382962515,"y":30907.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"ce8a00c9-f090-4ec2-84ed-c6661f8bf7b0","savedPayload":{"position":{"x":17825.64382962515,"y":30965.23747069523},"targetPosition":{"x":17818.64382962515,"y":30913.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"579cd74b-98f6-4000-990b-25ae1456c94b","savedPayload":{"position":{"x":17818.64382962515,"y":30913.23747069523},"targetPosition":{"x":17901.64382962515,"y":30907.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"dbac6eef-25d2-4cda-86a6-59ce8a9a26bc","savedPayload":{"position":{"x":17901.64382962515,"y":30907.23747069523},"targetPosition":{"x":17909.64382962515,"y":30970.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a1da9dd3-22ec-4536-bb5a-4d0bb8a56b81","savedPayload":{"position":{"x":17909.64382962515,"y":30970.23747069523},"targetPosition":{"x":17937.64382962515,"y":30945.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"499a5a3b-7871-4c95-9b2e-d58d4d9e2392","savedPayload":{"position":{"x":19766.169146786622,"y":31833.956517318737},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"bitkk","config":"{ \n\"codeName\": \"bitkk\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"efbb916c-780b-447f-a4c2-df68570d4ee1","savedPayload":{"position":{"x":17931.64382962515,"y":30937.23747069523},"targetPosition":{"x":17951.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"0d829516-81d9-46a5-9861-7d94cc89455d","savedPayload":{"position":{"x":17951.64382962515,"y":30912.23747069523},"targetPosition":{"x":17951.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"fc174aa3-c485-4b9b-ba19-444b0189ccb1","savedPayload":{"position":{"x":17788.64382962515,"y":30980.23747069523},"targetPosition":{"x":17834.64382962515,"y":30983.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"15921d8a-4b45-481c-9165-79969ed3fd27","savedPayload":{"position":{"x":17796.64382962515,"y":30936.23747069523},"targetPosition":{"x":17891.64382962515,"y":30922.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"927d5c8a-85df-48bb-b097-c36abb76ca0e","savedPayload":{"position":{"x":17891.64382962515,"y":30922.23747069523},"targetPosition":{"x":17834.64382962515,"y":30983.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"43d218c2-e633-47d5-8dd8-60bc7f7c0b9e","savedPayload":{"position":{"x":17834.64382962515,"y":30983.23747069523},"targetPosition":{"x":17853.64382962515,"y":30925.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2d310d61-cbc7-4306-af02-be3888939545","savedPayload":{"position":{"x":17853.64382962515,"y":30925.23747069523},"targetPosition":{"x":17951.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ded39740-3c93-4fda-bb9c-6ac75d2109f4","savedPayload":{"position":{"x":19726.911021174266,"y":31957.817257542785},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BitMart","config":"{ \n\"codeName\": \"bitmart\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"10374855-6b4a-460b-9c95-70072ac00315","savedPayload":{"position":{"x":17907.64382962515,"y":30901.23747069523},"targetPosition":{"x":17834.64382962515,"y":30915.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"3aded60c-4061-48ff-ad33-212c965b5c43","savedPayload":{"position":{"x":17829.64382962515,"y":30925.23747069523},"targetPosition":{"x":17834.64382962515,"y":30915.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"1789a3ca-d948-497d-8d1b-1eefd25d16a3","savedPayload":{"position":{"x":17886.64382962515,"y":30937.23747069523},"targetPosition":{"x":17895.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"038170bc-0ca7-4a92-8219-61b7bc8431b0","savedPayload":{"position":{"x":17893.64382962515,"y":31034.23747069523},"targetPosition":{"x":17835.64382962515,"y":30962.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"55f79ede-ef02-405f-92bd-11902ab3cc7a","savedPayload":{"position":{"x":17835.64382962515,"y":30962.23747069523},"targetPosition":{"x":17895.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8185c660-4af3-4a62-bfa9-8922861101b5","savedPayload":{"position":{"x":17895.64382962515,"y":30988.23747069523},"targetPosition":{"x":17819.64382962515,"y":30909.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"546d48c3-df31-495c-b3b4-cb35109c5542","savedPayload":{"position":{"x":17819.64382962515,"y":30909.23747069523},"targetPosition":{"x":17834.64382962515,"y":30915.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c7ed52a7-895b-46f1-a745-35954d8bcfc6","savedPayload":{"position":{"x":19674.491326722004,"y":32076.707370794375},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BitMax","config":"{ \n\"codeName\": \"bitmax\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"8a042d0d-7a7a-4a76-889e-42d8642404f4","savedPayload":{"position":{"x":17944.64382962515,"y":31046.23747069523},"targetPosition":{"x":17944.64382962515,"y":31109.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"0c4fcc48-51e6-4ff2-925f-405cda6d1122","savedPayload":{"position":{"x":17898.64382962515,"y":31024.23747069523},"targetPosition":{"x":17944.64382962515,"y":31109.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"ef9d5381-d9e3-47f5-9069-6fc14eda0fa3","savedPayload":{"position":{"x":17879.64382962515,"y":31096.23747069523},"targetPosition":{"x":17977.64382962515,"y":31041.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"c66fe606-9705-45b0-a196-7ea3efb0221e","savedPayload":{"position":{"x":17982.64382962515,"y":31053.23747069523},"targetPosition":{"x":17943.64382962515,"y":31083.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"80a5f68e-776a-44de-8797-d2eb806c306e","savedPayload":{"position":{"x":17943.64382962515,"y":31083.23747069523},"targetPosition":{"x":17977.64382962515,"y":31041.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"011fcf1c-1c94-4c36-a246-d6c400aa39dc","savedPayload":{"position":{"x":17977.64382962515,"y":31041.23747069523},"targetPosition":{"x":17942.64382962515,"y":31103.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4a87b8c5-e009-427f-afb7-21afe5594b59","savedPayload":{"position":{"x":17942.64382962515,"y":31103.23747069523},"targetPosition":{"x":17944.64382962515,"y":31109.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fc6a9048-ab8c-48f9-91ae-6c95c28714b0","savedPayload":{"position":{"x":19609.524636419505,"y":32189.2329791979},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BitMEX","config":"{ \n\"codeName\": \"bitmex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"f7636e2b-354a-4217-894b-5e26eddc0c2a","savedPayload":{"position":{"x":17894.64382962515,"y":30934.23747069523},"targetPosition":{"x":17910.64382962515,"y":30922.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"6eb2ddd1-6d06-456c-b4e0-7df56ba182e6","savedPayload":{"position":{"x":17823.64382962515,"y":30834.23747069523},"targetPosition":{"x":17910.64382962515,"y":30922.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"b4a4b8fe-d923-4eb0-a066-171b83d1540d","savedPayload":{"position":{"x":17902.64382962515,"y":31064.23747069523},"targetPosition":{"x":17815.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"918ed585-ce46-4d51-a07a-9beee51f70eb","savedPayload":{"position":{"x":17711.64382962515,"y":31036.23747069523},"targetPosition":{"x":17805.64382962515,"y":31078.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"9efef4d8-5be3-4d17-a645-6edffd9535cf","savedPayload":{"position":{"x":17805.64382962515,"y":31078.23747069523},"targetPosition":{"x":17815.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6ad31a6e-f27b-45c3-9996-a41fb39aa154","savedPayload":{"position":{"x":17815.64382962515,"y":30988.23747069523},"targetPosition":{"x":17844.64382962515,"y":30896.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"82887393-cb1c-4b01-8581-4b3dabc86584","savedPayload":{"position":{"x":17844.64382962515,"y":30896.23747069523},"targetPosition":{"x":17910.64382962515,"y":30922.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1e2f1dd0-ebf1-4485-83d8-7723a9e3e714","savedPayload":{"position":{"x":19532.77262531095,"y":32294.07482287797},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bittrex","config":"{ \n\"codeName\": \"bittrex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"88d4ef94-f030-42df-9115-69d9611317b1","savedPayload":{"position":{"x":17839.64382962515,"y":31009.23747069523},"targetPosition":{"x":17893.64382962515,"y":30968.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"7fe8234d-9a39-4b28-bf98-43b4fdb57ee5","savedPayload":{"position":{"x":17878.64382962515,"y":31045.23747069523},"targetPosition":{"x":17893.64382962515,"y":30968.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"5ba7fe13-1e0f-403a-8f4b-8e3968d2e5e2","savedPayload":{"position":{"x":17841.64382962515,"y":30890.23747069523},"targetPosition":{"x":17742.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"e926fbb8-d2ac-4e3d-aa59-a0a828d202fd","savedPayload":{"position":{"x":17707.64382962515,"y":30983.23747069523},"targetPosition":{"x":17782.64382962515,"y":31052.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"4fbe41e1-cb15-4bc2-a3de-681c5b22cc97","savedPayload":{"position":{"x":17782.64382962515,"y":31052.23747069523},"targetPosition":{"x":17742.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ab9fe180-1c07-44de-a0a1-863761ac52d6","savedPayload":{"position":{"x":17742.64382962515,"y":30961.23747069523},"targetPosition":{"x":17796.64382962515,"y":30903.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"584f29ca-9b3c-4b7f-a2b0-aab4180ecefd","savedPayload":{"position":{"x":17796.64382962515,"y":30903.23747069523},"targetPosition":{"x":17893.64382962515,"y":30968.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f598f002-8fc5-491f-888e-07d017ea83c6","savedPayload":{"position":{"x":19445.135140551556,"y":32390.003727075255},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bit-Z","config":"{ \n\"codeName\": \"bitz\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"0a22e02b-7d2e-4955-9cfc-ed7d95f0c9a0","savedPayload":{"position":{"x":17751.64382962515,"y":31083.23747069523},"targetPosition":{"x":17850.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"298b45af-b73d-4cd5-848a-97de7b857569","savedPayload":{"position":{"x":17944.64382962515,"y":31083.23747069523},"targetPosition":{"x":17850.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"6ede807b-b1ab-42b5-bfd7-3b12a942447e","savedPayload":{"position":{"x":17871.64382962515,"y":31049.23747069523},"targetPosition":{"x":17772.64382962515,"y":31098.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"dc172858-3241-4487-950a-e5cae03ac376","savedPayload":{"position":{"x":17751.64382962515,"y":31081.23747069523},"targetPosition":{"x":17753.64382962515,"y":31028.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"19c07cee-1fdf-4e02-ac9f-d110b64ee033","savedPayload":{"position":{"x":17753.64382962515,"y":31028.23747069523},"targetPosition":{"x":17772.64382962515,"y":31098.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b4ef5048-ac4c-410e-bd6d-3338e33ab108","savedPayload":{"position":{"x":17772.64382962515,"y":31098.23747069523},"targetPosition":{"x":17788.64382962515,"y":31134.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e7e96c41-c839-4eec-9bcf-1c60d60fa3f5","savedPayload":{"position":{"x":17788.64382962515,"y":31134.23747069523},"targetPosition":{"x":17850.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6cc10926-fe41-43be-887b-fa8aba1c7377","savedPayload":{"position":{"x":19347.639651522415,"y":32475.89501309667},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BTC-Alpha","config":"{ \n\"codeName\": \"btcalpha\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"263e3b9c-8fdd-4376-b53b-87f32d0f5898","savedPayload":{"position":{"x":17904.64382962515,"y":30922.23747069523},"targetPosition":{"x":17883.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"804603e1-3e0f-4219-a9b7-ee27810d4f07","savedPayload":{"position":{"x":17829.64382962515,"y":30977.23747069523},"targetPosition":{"x":17883.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"83b25fff-e448-483f-9bee-cb85fa592c6e","savedPayload":{"position":{"x":17734.64382962515,"y":30862.23747069523},"targetPosition":{"x":17829.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"efcfa3ca-0f82-4eb7-9b04-ed5eb4e1c3cf","savedPayload":{"position":{"x":17799.64382962515,"y":30864.23747069523},"targetPosition":{"x":17837.64382962515,"y":30919.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"9ca8d728-ee11-4905-9a3a-5ca4ed50f3df","savedPayload":{"position":{"x":17837.64382962515,"y":30919.23747069523},"targetPosition":{"x":17829.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2cfde277-afa6-4ad3-bb5b-8a32b89e2037","savedPayload":{"position":{"x":17829.64382962515,"y":30960.23747069523},"targetPosition":{"x":17903.64382962515,"y":30969.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"297a0ea2-f6d7-47fd-9fb7-0d99d00a87d8","savedPayload":{"position":{"x":17903.64382962515,"y":30969.23747069523},"targetPosition":{"x":17883.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"30e5485f-213b-435b-a670-07b76cfe5cae","savedPayload":{"position":{"x":19241.429203691412,"y":32550.741684144767},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BTC Markets","config":"{ \n\"codeName\": \"btcmarkets\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"fcb3b880-0852-4d93-8714-67373f9dca16","savedPayload":{"position":{"x":17911.64382962515,"y":31036.23747069523},"targetPosition":{"x":17994.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"953d8eff-0b2e-4b07-8635-393fddae0c9d","savedPayload":{"position":{"x":18025.64382962515,"y":31127.23747069523},"targetPosition":{"x":17994.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"c08873f6-9120-4764-8b06-c8110468b423","savedPayload":{"position":{"x":17935.64382962515,"y":30927.23747069523},"targetPosition":{"x":18027.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"beaa2557-4976-4e53-8a24-7ea00fc3afd5","savedPayload":{"position":{"x":18054.64382962515,"y":30851.23747069523},"targetPosition":{"x":18125.64382962515,"y":30951.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"445158a2-91b4-4ad8-8380-036cbba6ad7e","savedPayload":{"position":{"x":18125.64382962515,"y":30951.23747069523},"targetPosition":{"x":18027.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cd00e08c-a26d-4b11-93a3-b0e8f35bec4b","savedPayload":{"position":{"x":18027.64382962515,"y":31003.23747069523},"targetPosition":{"x":18016.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"35cb55c1-ceb3-4093-98af-8a1c2411fe0f","savedPayload":{"position":{"x":18016.64382962515,"y":31075.23747069523},"targetPosition":{"x":17994.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ac2fda42-95ca-404a-8dd2-72bff0ff5a0f","savedPayload":{"position":{"x":19127.749017450227,"y":32613.66623143447},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Buda","config":"{ \n\"codeName\": \"buda\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"27f3573d-e1f0-473f-9bfd-f9198e7240a0","savedPayload":{"position":{"x":17945.64382962515,"y":30937.23747069523},"targetPosition":{"x":17853.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"4ddc0981-4e45-42f3-ae11-f5b136b2bc3d","savedPayload":{"position":{"x":17783.64382962515,"y":31008.23747069523},"targetPosition":{"x":17853.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"5a325d59-e6a6-4f76-a311-5e67c5f5a8a2","savedPayload":{"position":{"x":17980.64382962515,"y":30843.23747069523},"targetPosition":{"x":17956.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"fb985ab9-7759-4780-a052-8ee9be0b712a","savedPayload":{"position":{"x":17907.64382962515,"y":30968.23747069523},"targetPosition":{"x":17958.64382962515,"y":30884.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"fdf7665a-2974-467b-9280-4077a888733f","savedPayload":{"position":{"x":17958.64382962515,"y":30884.23747069523},"targetPosition":{"x":17956.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a3105cfc-f80e-4bcb-b399-6ea9c0f7edf0","savedPayload":{"position":{"x":17956.64382962515,"y":30936.23747069523},"targetPosition":{"x":17872.64382962515,"y":30941.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5d69a76f-e7bc-4538-950e-2e2353eccea3","savedPayload":{"position":{"x":17872.64382962515,"y":30941.23747069523},"targetPosition":{"x":17853.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"90fe3d74-662e-4fac-aff3-f41990b61ccf","savedPayload":{"position":{"x":19007.931889043757,"y":32663.930922181273},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BW","config":"{ \n\"codeName\": \"bw\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"457616cd-25f9-4ad3-8c18-6331859dd42e","savedPayload":{"position":{"x":17890.64382962515,"y":31014.23747069523},"targetPosition":{"x":17900.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"8c1f9aa2-4253-4129-a533-e515644ddb38","savedPayload":{"position":{"x":17909.64382962515,"y":30970.23747069523},"targetPosition":{"x":17900.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"24314a5b-85ca-4036-adc6-618120496f1d","savedPayload":{"position":{"x":17773.64382962515,"y":30945.23747069523},"targetPosition":{"x":17860.64382962515,"y":30865.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"f7c593f6-bd7a-41f7-a5e7-b2e1ea9a528f","savedPayload":{"position":{"x":17820.64382962515,"y":30885.23747069523},"targetPosition":{"x":17828.64382962515,"y":30802.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"60dfc799-f863-4895-8d17-568aa2303ef5","savedPayload":{"position":{"x":17828.64382962515,"y":30802.23747069523},"targetPosition":{"x":17860.64382962515,"y":30865.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"223e466d-d750-4e38-91ce-8a59c15242ba","savedPayload":{"position":{"x":17860.64382962515,"y":30865.23747069523},"targetPosition":{"x":17818.64382962515,"y":30919.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cfff1310-5220-4978-9553-8514be141d14","savedPayload":{"position":{"x":17818.64382962515,"y":30919.23747069523},"targetPosition":{"x":17900.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d72db90c-d572-4cbb-8348-e3cc485d8e86","savedPayload":{"position":{"x":18883.38256475272,"y":32700.94644884361},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bybit","config":"{ \n\"codeName\": \"bybit\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"18fdf7c8-03c4-4f81-a88e-de97589765e1","savedPayload":{"position":{"x":17803.64382962515,"y":31059.23747069523},"targetPosition":{"x":17855.64382962515,"y":31007.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"a62b2603-ac6f-4b6e-9541-86daf32027b1","savedPayload":{"position":{"x":17847.64382962515,"y":31104.23747069523},"targetPosition":{"x":17855.64382962515,"y":31007.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"66ecff99-7102-4f4a-9ce8-4d55fb22dfbc","savedPayload":{"position":{"x":17851.64382962515,"y":31165.23747069523},"targetPosition":{"x":17916.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"625e127c-0ebb-4f57-af9f-9dfb57b262a1","savedPayload":{"position":{"x":18004.64382962515,"y":31091.23747069523},"targetPosition":{"x":18008.64382962515,"y":31027.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"8174bb53-66b8-4575-b206-74f9b6352a80","savedPayload":{"position":{"x":18008.64382962515,"y":31027.23747069523},"targetPosition":{"x":17916.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ee16357e-abde-4800-b089-f43f4b696a35","savedPayload":{"position":{"x":17916.64382962515,"y":31077.23747069523},"targetPosition":{"x":17944.64382962515,"y":31101.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c9e9473b-aff9-43c8-a6be-5cd30330bee2","savedPayload":{"position":{"x":17944.64382962515,"y":31101.23747069523},"targetPosition":{"x":17855.64382962515,"y":31007.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"516c3831-456b-4d17-b0a0-6a363ba2ddb2","savedPayload":{"position":{"x":18755.561271527895,"y":32724.27883821499},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"ByteTrade","config":"{ \n\"codeName\": \"bytetrade\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"e7a1e531-5a9e-466e-b98d-672de39eed3a","savedPayload":{"position":{"x":18088.64382962515,"y":31024.23747069523},"targetPosition":{"x":17991.64382962515,"y":30981.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"edafaba7-fd82-4d9f-b3f7-5d1c01c56599","savedPayload":{"position":{"x":17941.64382962515,"y":30943.23747069523},"targetPosition":{"x":17991.64382962515,"y":30981.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"50fa78b8-3aea-4e43-adcf-1e31820bf97f","savedPayload":{"position":{"x":17886.64382962515,"y":31008.23747069523},"targetPosition":{"x":17858.64382962515,"y":30967.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"b9c39b04-e86e-4ebb-9aba-39c375f2960c","savedPayload":{"position":{"x":17865.64382962515,"y":30941.23747069523},"targetPosition":{"x":17953.64382962515,"y":31023.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"5965d9cc-1d68-47a7-b838-e6dd81da6ea9","savedPayload":{"position":{"x":17953.64382962515,"y":31023.23747069523},"targetPosition":{"x":17858.64382962515,"y":30967.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f51a08be-ee3f-4d3b-a75e-d783d63092a7","savedPayload":{"position":{"x":17858.64382962515,"y":30967.23747069523},"targetPosition":{"x":17898.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d395efd0-691b-4a68-a7f1-9bce95b2f687","savedPayload":{"position":{"x":17898.64382962515,"y":30965.23747069523},"targetPosition":{"x":17991.64382962515,"y":30981.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"45e2306f-03e8-4d17-a73a-72c11dd14e78","savedPayload":{"position":{"x":18625.966597164217,"y":32733.65453936303},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"CEX.IO","config":"{ \n\"codeName\": \"cex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"9de19f0a-5824-4e42-af00-484b64421dc3","savedPayload":{"position":{"x":17890.64382962515,"y":31049.23747069523},"targetPosition":{"x":17896.64382962515,"y":31076.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"39db01bc-0cea-422f-b9e9-7d84e3f5446d","savedPayload":{"position":{"x":17918.64382962515,"y":31105.23747069523},"targetPosition":{"x":17896.64382962515,"y":31076.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"93833d3c-42c9-4e4d-bf0f-5b80a90d10c2","savedPayload":{"position":{"x":17978.64382962515,"y":31126.23747069523},"targetPosition":{"x":17953.64382962515,"y":31167.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"42863a52-30f4-4322-9c20-99a45d6dc3d6","savedPayload":{"position":{"x":17884.64382962515,"y":31149.23747069523},"targetPosition":{"x":17895.64382962515,"y":31148.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"fcff471d-29be-4176-8ff8-12088361f9fc","savedPayload":{"position":{"x":17895.64382962515,"y":31148.23747069523},"targetPosition":{"x":17953.64382962515,"y":31167.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f7975a18-b3ab-49bc-ae45-eb02c99aff8c","savedPayload":{"position":{"x":17953.64382962515,"y":31167.23747069523},"targetPosition":{"x":17881.64382962515,"y":31096.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ec432123-43fe-4171-8c41-b797d3161edb","savedPayload":{"position":{"x":17881.64382962515,"y":31096.23747069523},"targetPosition":{"x":17896.64382962515,"y":31076.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"346bfc30-e32a-453a-bdc6-0ead48221581","savedPayload":{"position":{"x":18496.117920729066,"y":32728.96363076407},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Coinbase Prime","config":"{ \n\"codeName\": \"coinbaseprime\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"73cabd8d-9308-49ed-b544-44f785ee7d38","savedPayload":{"position":{"x":17867.64382962515,"y":30962.23747069523},"targetPosition":{"x":17922.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"31bd1360-f0c5-4d70-876a-b152f7cedfd7","savedPayload":{"position":{"x":17960.64382962515,"y":30864.23747069523},"targetPosition":{"x":17922.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"9b75fcfa-fe75-48a8-9d28-2ff19c58c041","savedPayload":{"position":{"x":17792.64382962515,"y":30841.23747069523},"targetPosition":{"x":17809.64382962515,"y":30934.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"c900b14a-c728-45af-90f8-29b3e5f29f46","savedPayload":{"position":{"x":17801.64382962515,"y":30986.23747069523},"targetPosition":{"x":17793.64382962515,"y":31006.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"eaf72df3-b66f-4b83-83f9-91e22ec0c300","savedPayload":{"position":{"x":17793.64382962515,"y":31006.23747069523},"targetPosition":{"x":17809.64382962515,"y":30934.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"9da95675-2071-41bf-b5ac-4f2af602994f","savedPayload":{"position":{"x":17809.64382962515,"y":30934.23747069523},"targetPosition":{"x":17862.64382962515,"y":31021.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4fc49ad4-57cc-43b0-b14b-15f26af994aa","savedPayload":{"position":{"x":17862.64382962515,"y":31021.23747069523},"targetPosition":{"x":17922.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5a8281db-6ace-4186-8cfb-cd249c4af48b","savedPayload":{"position":{"x":18367.537599231866,"y":32710.26110903248},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Coinbase Pro","config":"{ \n\"codeName\": \"coinbasepro\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"a29d6e1a-a94e-4b6b-8741-e9af6e4762f4","savedPayload":{"position":{"x":17788.64382962515,"y":30897.23747069523},"targetPosition":{"x":17841.64382962515,"y":30932.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"10cd9004-0088-4bc0-8fe6-b937f1bb311b","savedPayload":{"position":{"x":17865.64382962515,"y":30918.23747069523},"targetPosition":{"x":17841.64382962515,"y":30932.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"004397e6-ae73-46a6-9ed7-b4ba1930f77b","savedPayload":{"position":{"x":17945.64382962515,"y":30899.23747069523},"targetPosition":{"x":17850.64382962515,"y":30889.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"a81a7021-2228-4386-a773-9ac80c9e723a","savedPayload":{"position":{"x":17738.64382962515,"y":30761.23747069523},"targetPosition":{"x":17792.64382962515,"y":30789.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"482d82f2-364e-483c-b51a-a3fbe8a91577","savedPayload":{"position":{"x":17792.64382962515,"y":30789.23747069523},"targetPosition":{"x":17850.64382962515,"y":30889.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d823ad8e-0452-40f0-bad9-c2cb3ad29a21","savedPayload":{"position":{"x":17850.64382962515,"y":30889.23747069523},"targetPosition":{"x":17772.64382962515,"y":30894.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0c965322-fdd2-4e67-aaf3-dfc4b9dffc59","savedPayload":{"position":{"x":17772.64382962515,"y":30894.23747069523},"targetPosition":{"x":17841.64382962515,"y":30932.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4242da4b-a67e-44d8-8a19-b1c2f078c94c","savedPayload":{"position":{"x":18241.733119380056,"y":32677.766244135688},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"CoinEx","config":"{ \n\"codeName\": \"coinex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"af78f796-60e5-4794-87b8-772c7bc74be1","savedPayload":{"position":{"x":18043.64382962515,"y":31069.23747069523},"targetPosition":{"x":18000.64382962515,"y":31106.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"d351e6d9-36eb-4d0e-aca5-94429bbb23a3","savedPayload":{"position":{"x":18094.64382962515,"y":31090.23747069523},"targetPosition":{"x":18000.64382962515,"y":31106.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"438f74c6-15e0-4553-af2a-febd5290c269","savedPayload":{"position":{"x":17908.64382962515,"y":31088.23747069523},"targetPosition":{"x":17986.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"bfb22430-77c7-41a7-8083-771f7d7f3634","savedPayload":{"position":{"x":17927.64382962515,"y":30953.23747069523},"targetPosition":{"x":17947.64382962515,"y":30990.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"51daaa12-1c60-4cef-96d8-a445b4b32296","savedPayload":{"position":{"x":17947.64382962515,"y":30990.23747069523},"targetPosition":{"x":17986.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"726b8c33-9873-4be1-b9ef-d6b4483f23b1","savedPayload":{"position":{"x":17986.64382962515,"y":31075.23747069523},"targetPosition":{"x":17919.64382962515,"y":31016.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"30469514-b983-4f6f-9d74-6d6ceef25eb6","savedPayload":{"position":{"x":17919.64382962515,"y":31016.23747069523},"targetPosition":{"x":18000.64382962515,"y":31106.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"62ad0961-6bdf-4a4a-a340-610816742d0a","savedPayload":{"position":{"x":18120.179423675774,"y":32631.860008654276},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"COSS","config":"{ \n\"codeName\": \"coss\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"e6315232-c6b1-4e25-aade-7bc7ba9ba6ac","savedPayload":{"position":{"x":17787.64382962515,"y":30984.23747069523},"targetPosition":{"x":17874.64382962515,"y":31049.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"b1e8451f-09a2-47b0-add3-cf9c35c487bb","savedPayload":{"position":{"x":17829.64382962515,"y":31095.23747069523},"targetPosition":{"x":17874.64382962515,"y":31049.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"d1c9b795-0434-4ce1-9cb7-cc61fac7396d","savedPayload":{"position":{"x":17950.64382962515,"y":31149.23747069523},"targetPosition":{"x":17882.64382962515,"y":31131.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"22be64f9-4b08-4ac3-ae89-6726743a7d5a","savedPayload":{"position":{"x":17890.64382962515,"y":31165.23747069523},"targetPosition":{"x":17956.64382962515,"y":31156.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"c7462500-ba74-4bf3-ad81-35fa232bede3","savedPayload":{"position":{"x":17956.64382962515,"y":31156.23747069523},"targetPosition":{"x":17882.64382962515,"y":31131.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5cd41ced-981a-4075-af43-3a0497eb0fcb","savedPayload":{"position":{"x":17882.64382962515,"y":31131.23747069523},"targetPosition":{"x":17856.64382962515,"y":31148.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b5937899-c6ee-4d7a-b259-1ee23d721f60","savedPayload":{"position":{"x":17856.64382962515,"y":31148.23747069523},"targetPosition":{"x":17874.64382962515,"y":31049.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"695029de-7f61-45bb-aa4c-c6d51e6369ed","savedPayload":{"position":{"x":18004.301618063546,"y":32573.08061122679},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"CREX24","config":"{ \n\"codeName\": \"crex24\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"c5e12f4a-fb26-40d3-9e70-751b55018e74","savedPayload":{"position":{"x":17910.64382962515,"y":31024.23747069523},"targetPosition":{"x":17860.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"00cb629e-bad4-4c6e-8abb-499cad3992f4","savedPayload":{"position":{"x":17938.64382962515,"y":31054.23747069523},"targetPosition":{"x":17860.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"4909d182-e0d5-49a9-8ad2-a553c8aaaf88","savedPayload":{"position":{"x":17912.64382962515,"y":31301.23747069523},"targetPosition":{"x":17920.64382962515,"y":31249.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"075eb2a2-299b-4a0f-9f6d-76c385521dc4","savedPayload":{"position":{"x":17800.64382962515,"y":31332.23747069523},"targetPosition":{"x":17883.64382962515,"y":31289.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"e062ef2e-b252-4a66-8f58-d9aa8031f526","savedPayload":{"position":{"x":17883.64382962515,"y":31289.23747069523},"targetPosition":{"x":17920.64382962515,"y":31249.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8e75be98-f874-486d-b749-536e364934dc","savedPayload":{"position":{"x":17920.64382962515,"y":31249.23747069523},"targetPosition":{"x":17845.64382962515,"y":31164.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"052f73cd-7ed7-4537-8b01-840b5b892fea","savedPayload":{"position":{"x":17845.64382962515,"y":31164.23747069523},"targetPosition":{"x":17860.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"07a7ec7c-273e-4675-8d8d-21ab8514a1f0","savedPayload":{"position":{"x":17895.458263866083,"y":32502.117186545547},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Deribit","config":"{ \n\"codeName\": \"deribit\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"f0b2354b-89e3-4eca-b051-664a3b8283f6","savedPayload":{"position":{"x":17862.64382962515,"y":30844.23747069523},"targetPosition":{"x":17906.64382962515,"y":30929.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"4ae1f824-82a8-4796-a2d5-3d2358d8089f","savedPayload":{"position":{"x":17912.64382962515,"y":31024.23747069523},"targetPosition":{"x":17906.64382962515,"y":30929.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"2013fe7a-d52c-4c9d-ba53-d281d014a8fc","savedPayload":{"position":{"x":17873.64382962515,"y":30926.23747069523},"targetPosition":{"x":17855.64382962515,"y":30967.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"706d5778-ed21-49bd-9277-1840ec52708d","savedPayload":{"position":{"x":17729.64382962515,"y":31033.23747069523},"targetPosition":{"x":17813.64382962515,"y":31053.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"2e76bc02-6e10-4f14-9bf1-a11dc4268466","savedPayload":{"position":{"x":17813.64382962515,"y":31053.23747069523},"targetPosition":{"x":17855.64382962515,"y":30967.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"89a3ccc7-20ab-4e2d-929b-52d9286179b7","savedPayload":{"position":{"x":17855.64382962515,"y":30967.23747069523},"targetPosition":{"x":17818.64382962515,"y":30920.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5c8219e3-4509-4b8b-941b-b88ac2c12237","savedPayload":{"position":{"x":17818.64382962515,"y":30920.23747069523},"targetPosition":{"x":17906.64382962515,"y":30929.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"21971815-4248-45df-8e04-20b9a5a83f06","savedPayload":{"position":{"x":17794.92544989493,"y":32419.801715882462},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"DigiFinex","config":"{ \n\"codeName\": \"digifinex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"e583c93e-9a44-4e0d-acb7-56d7e00a555a","savedPayload":{"position":{"x":17954.64382962515,"y":30992.23747069523},"targetPosition":{"x":17996.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"8917c7c0-b420-4d4f-a35a-c0fc6870f0de","savedPayload":{"position":{"x":18052.64382962515,"y":30972.23747069523},"targetPosition":{"x":17996.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"a00b5bb0-5ab9-42e2-91fe-b450c7eb66d2","savedPayload":{"position":{"x":18220.64382962515,"y":31090.23747069523},"targetPosition":{"x":18123.64382962515,"y":30998.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"2aafc473-339b-4d23-9b74-06fa7574c293","savedPayload":{"position":{"x":18144.64382962515,"y":31123.23747069523},"targetPosition":{"x":18203.64382962515,"y":31084.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"99e9e136-1ac7-4400-a100-0a2d37f0882d","savedPayload":{"position":{"x":18203.64382962515,"y":31084.23747069523},"targetPosition":{"x":18123.64382962515,"y":30998.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b7cee21b-ddcb-4fd7-b610-43aabb2d1766","savedPayload":{"position":{"x":18123.64382962515,"y":30998.23747069523},"targetPosition":{"x":18032.64382962515,"y":30976.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"08e84a25-4368-4ad6-939f-5a16cece62cc","savedPayload":{"position":{"x":18032.64382962515,"y":30976.23747069523},"targetPosition":{"x":17996.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b7d56781-0c51-4ec1-95fd-bf4dc8c00352","savedPayload":{"position":{"x":17703.88183147586,"y":32327.0992728693},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"DSX","config":"{ \n\"codeName\": \"dsx\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"d672ab56-cd32-4ff5-8fc5-3733262aeccb","savedPayload":{"position":{"x":17916.64382962515,"y":31106.23747069523},"targetPosition":{"x":17955.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"3731a7b5-ba9d-483e-bb41-abf3ae0232c6","savedPayload":{"position":{"x":17878.64382962515,"y":30946.23747069523},"targetPosition":{"x":17955.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"9ef7e0ac-dc27-4b47-a06e-0cb7e80ee3d7","savedPayload":{"position":{"x":18124.64382962515,"y":31136.23747069523},"targetPosition":{"x":18093.64382962515,"y":31072.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"77491a3c-3db7-446f-aa67-9b5a1a3be7b3","savedPayload":{"position":{"x":18109.64382962515,"y":31081.23747069523},"targetPosition":{"x":18188.64382962515,"y":31137.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"bd1bd0b7-4943-4aeb-bf90-d3192dcabbb1","savedPayload":{"position":{"x":18188.64382962515,"y":31137.23747069523},"targetPosition":{"x":18093.64382962515,"y":31072.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"45747fef-f30e-4fae-b02d-5768ae7dbe68","savedPayload":{"position":{"x":18093.64382962515,"y":31072.23747069523},"targetPosition":{"x":18018.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"aa2e1c9b-428c-4bb0-9e75-ceb8c9043d4b","savedPayload":{"position":{"x":18018.64382962515,"y":31005.23747069523},"targetPosition":{"x":17955.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4c543abc-7372-4701-bc58-107578d45c25","savedPayload":{"position":{"x":17623.394811792878,"y":32225.09670889175},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"FCoin","config":"{ \n\"codeName\": \"fcoin\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"a97d578c-6d7f-403c-8294-18aacf14abd8","savedPayload":{"position":{"x":17893.64382962515,"y":30953.23747069523},"targetPosition":{"x":17919.64382962515,"y":30948.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"442c3834-482e-4928-9255-8ac859ae012e","savedPayload":{"position":{"x":17905.64382962515,"y":30896.23747069523},"targetPosition":{"x":17919.64382962515,"y":30948.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"79754959-1219-4c4d-be63-22766158beb5","savedPayload":{"position":{"x":18106.64382962515,"y":30976.23747069523},"targetPosition":{"x":18069.64382962515,"y":31056.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"1c3ae096-5024-43c3-abca-24498254e363","savedPayload":{"position":{"x":18112.64382962515,"y":30919.23747069523},"targetPosition":{"x":18126.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"59db5bfd-e413-48a7-af63-237ad56adc82","savedPayload":{"position":{"x":18126.64382962515,"y":30965.23747069523},"targetPosition":{"x":18069.64382962515,"y":31056.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"833c4e54-08f4-48ec-b90a-2767eb55f244","savedPayload":{"position":{"x":18069.64382962515,"y":31056.23747069523},"targetPosition":{"x":17996.64382962515,"y":30970.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a8cf17b3-0ea7-4a14-8c76-f655344b58a3","savedPayload":{"position":{"x":17996.64382962515,"y":30970.23747069523},"targetPosition":{"x":17919.64382962515,"y":30948.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6ddedcbd-07cb-4928-91b3-348f47118391","savedPayload":{"position":{"x":17554.408027561767,"y":32114.989910750606},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"FCoinJP","config":"{ \n\"codeName\": \"fcoinjp\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"4a8a9810-6df6-451a-ab26-22bd7e7be85a","savedPayload":{"position":{"x":17930.64382962515,"y":31129.23747069523},"targetPosition":{"x":17942.64382962515,"y":31052.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"138ab40c-18ca-4a11-9709-0baa040873e6","savedPayload":{"position":{"x":18007.64382962515,"y":31122.23747069523},"targetPosition":{"x":17942.64382962515,"y":31052.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"258cdf92-8ed0-4133-ae2a-b9f086f56a13","savedPayload":{"position":{"x":17897.64382962515,"y":30887.23747069523},"targetPosition":{"x":17903.64382962515,"y":30977.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"537e8f0c-05ca-4403-bc96-da6c2f4678ae","savedPayload":{"position":{"x":17825.64382962515,"y":30842.23747069523},"targetPosition":{"x":17836.64382962515,"y":30926.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"62519e63-8f4e-4b72-a341-0a6eea01ac3f","savedPayload":{"position":{"x":17836.64382962515,"y":30926.23747069523},"targetPosition":{"x":17903.64382962515,"y":30977.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b4974cc1-f594-436b-8aa4-aff2733b8e3c","savedPayload":{"position":{"x":17903.64382962515,"y":30977.23747069523},"targetPosition":{"x":17873.64382962515,"y":31061.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d84b404f-75e2-4eb5-b34a-b45af8a57ca7","savedPayload":{"position":{"x":17873.64382962515,"y":31061.23747069523},"targetPosition":{"x":17942.64382962515,"y":31052.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"982627ea-df84-4ba9-9219-612fbe1e4276","savedPayload":{"position":{"x":17497.730285752426,"y":31998.069779982467},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"FTX","config":"{ \n\"codeName\": \"ftx\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"20c0a4f5-bdb9-46cc-af7e-2111964551e3","savedPayload":{"position":{"x":17886.64382962515,"y":30940.23747069523},"targetPosition":{"x":17960.64382962515,"y":31019.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"75c99a0b-d3c9-4073-9283-d33e539c36bb","savedPayload":{"position":{"x":17992.64382962515,"y":31061.23747069523},"targetPosition":{"x":17960.64382962515,"y":31019.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"2e037470-549e-4aa8-bbe7-95cdeaef88ea","savedPayload":{"position":{"x":17964.64382962515,"y":31027.23747069523},"targetPosition":{"x":17970.64382962515,"y":31008.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"3b6f5b7b-9c61-4b71-b29a-ca1bc027e55f","savedPayload":{"position":{"x":17817.64382962515,"y":30943.23747069523},"targetPosition":{"x":17890.64382962515,"y":30978.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"a84010f0-04b5-4eab-a3a6-a5944b80a373","savedPayload":{"position":{"x":17890.64382962515,"y":30978.23747069523},"targetPosition":{"x":17970.64382962515,"y":31008.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5cdc51a3-6136-4e03-9e2c-26a752140d17","savedPayload":{"position":{"x":17970.64382962515,"y":31008.23747069523},"targetPosition":{"x":18010.64382962515,"y":30986.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"55258a2b-3199-4070-beed-d34a8496870c","savedPayload":{"position":{"x":18010.64382962515,"y":30986.23747069523},"targetPosition":{"x":17960.64382962515,"y":31019.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"0c0bcf5c-2774-423e-9fcf-c512b38dd06d","savedPayload":{"position":{"x":17454.026081066615,"y":31875.707098219504},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Gate.io","config":"{ \n\"codeName\": \"gateio\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"71a15089-9d40-4726-9a41-37d406064164","savedPayload":{"position":{"x":17930.64382962515,"y":30993.23747069523},"targetPosition":{"x":17880.64382962515,"y":31031.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"c025e976-c2c6-49de-81ec-48e2f737b412","savedPayload":{"position":{"x":17925.64382962515,"y":31053.23747069523},"targetPosition":{"x":17880.64382962515,"y":31031.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"876f964a-e12d-4438-87fb-a84be22f86d1","savedPayload":{"position":{"x":17914.64382962515,"y":30833.23747069523},"targetPosition":{"x":17827.64382962515,"y":30882.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"0c5d34c4-467f-4e98-bd39-1b2d9afb834e","savedPayload":{"position":{"x":17852.64382962515,"y":30831.23747069523},"targetPosition":{"x":17870.64382962515,"y":30847.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"89316d8c-893a-46ae-b147-948b4b8a5292","savedPayload":{"position":{"x":17870.64382962515,"y":30847.23747069523},"targetPosition":{"x":17827.64382962515,"y":30882.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a2a5de53-bd45-4904-8bae-0cf5ed66d2af","savedPayload":{"position":{"x":17827.64382962515,"y":30882.23747069523},"targetPosition":{"x":17800.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f6f4072d-8cf6-4e47-8b4e-a21cd553348a","savedPayload":{"position":{"x":17800.64382962515,"y":30936.23747069523},"targetPosition":{"x":17880.64382962515,"y":31031.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c4028289-4cdb-4da0-90e6-5f93328b8e03","savedPayload":{"position":{"x":17423.807805345143,"y":31749.336456028108},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Gemini","config":"{ \n\"codeName\": \"gemini\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"9eb15872-8d15-4086-9920-46909eb5f9e7","savedPayload":{"position":{"x":17951.64382962515,"y":30901.23747069523},"targetPosition":{"x":17971.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"a84dcf06-57c6-47d7-97a0-9f03f3af8b34","savedPayload":{"position":{"x":18045.64382962515,"y":30891.23747069523},"targetPosition":{"x":17971.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"5da1ba65-3839-4664-8105-2ccb11652767","savedPayload":{"position":{"x":18028.64382962515,"y":31112.23747069523},"targetPosition":{"x":17941.64382962515,"y":31044.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"337fe5e2-b9fd-40eb-9f42-44fc5057d981","savedPayload":{"position":{"x":17957.64382962515,"y":31129.23747069523},"targetPosition":{"x":17875.64382962515,"y":31086.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"17a3f4a3-8914-4995-afb0-7e8115791b17","savedPayload":{"position":{"x":17875.64382962515,"y":31086.23747069523},"targetPosition":{"x":17941.64382962515,"y":31044.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"32e4a3f1-40d8-421f-9634-7ab339858286","savedPayload":{"position":{"x":17941.64382962515,"y":31044.23747069523},"targetPosition":{"x":17877.64382962515,"y":30977.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"365f6865-e707-415d-a168-b67c66ca9553","savedPayload":{"position":{"x":17877.64382962515,"y":30977.23747069523},"targetPosition":{"x":17971.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"58bf8247-baef-4ea6-a483-7ed8f0ba5043","savedPayload":{"position":{"x":17407.429740242005,"y":31620.439433646203},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"HitBTC","config":"{ \n\"codeName\": \"hitbtc\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"1632c520-fa79-442f-b33b-430cb1356de6","savedPayload":{"position":{"x":17809.64382962515,"y":31086.23747069523},"targetPosition":{"x":17880.64382962515,"y":31069.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"576d1666-dbd3-4914-9fe2-fa05bdf72eea","savedPayload":{"position":{"x":17840.64382962515,"y":31148.23747069523},"targetPosition":{"x":17880.64382962515,"y":31069.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"41317aae-08ce-48cf-a47b-c2d2cc3920ec","savedPayload":{"position":{"x":18096.64382962515,"y":30975.23747069523},"targetPosition":{"x":18026.64382962515,"y":31066.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"23d7e4ba-8432-4214-bd94-0db5046e39cd","savedPayload":{"position":{"x":18039.64382962515,"y":31075.23747069523},"targetPosition":{"x":17981.64382962515,"y":31126.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ab200349-5ba5-44d2-ad5c-fa826303cfcd","savedPayload":{"position":{"x":17981.64382962515,"y":31126.23747069523},"targetPosition":{"x":18026.64382962515,"y":31066.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a5f24785-5b2c-429b-a2e4-07063e2de904","savedPayload":{"position":{"x":18026.64382962515,"y":31066.23747069523},"targetPosition":{"x":17972.64382962515,"y":31093.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"13f275ca-06a6-4a72-8b4d-a9c079b9cef4","savedPayload":{"position":{"x":17972.64382962515,"y":31093.23747069523},"targetPosition":{"x":17880.64382962515,"y":31069.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8384fa0b-854c-4c23-846e-a5da0179a738","savedPayload":{"position":{"x":17405.083903595932,"y":31490.527230809537},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"HitBTC","config":"{ \n\"codeName\": \"hitbtc2\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"9a29cb9e-ee8d-4315-8532-eef82224b84a","savedPayload":{"position":{"x":17838.64382962515,"y":30922.23747069523},"targetPosition":{"x":17829.64382962515,"y":30949.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"badd79e7-1e21-4dc3-bfa7-8dfb4a6c6267","savedPayload":{"position":{"x":17920.64382962515,"y":30944.23747069523},"targetPosition":{"x":17829.64382962515,"y":30949.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"ffdda0b7-af50-4010-84da-2bc0d562af2b","savedPayload":{"position":{"x":17887.64382962515,"y":30982.23747069523},"targetPosition":{"x":17836.64382962515,"y":31023.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"24816eed-adf7-453e-9b38-42ea4758dbaa","savedPayload":{"position":{"x":18021.64382962515,"y":30979.23747069523},"targetPosition":{"x":17931.64382962515,"y":30923.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"1dd16858-5641-4454-88a3-e5d7446e12a3","savedPayload":{"position":{"x":17931.64382962515,"y":30923.23747069523},"targetPosition":{"x":17836.64382962515,"y":31023.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"457d75ed-ad21-4ee5-b36b-88cdc444008e","savedPayload":{"position":{"x":17836.64382962515,"y":31023.23747069523},"targetPosition":{"x":17808.64382962515,"y":31039.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b29ded7e-e2d5-4c7f-89af-b0816c32c743","savedPayload":{"position":{"x":17808.64382962515,"y":31039.23747069523},"targetPosition":{"x":17829.64382962515,"y":30949.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"09c634c2-5aba-49c5-80bc-4fd4175e7f0c","savedPayload":{"position":{"x":17416.79779819678,"y":31361.12294931652},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Huobi Pro","config":"{ \n\"codeName\": \"huobipro\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"86caa38c-5bdf-40e4-b27b-8d8b64319575","savedPayload":{"position":{"x":18071.64382962515,"y":31171.23747069523},"targetPosition":{"x":17996.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"001225af-c715-4566-9502-f8f0ac1c4531","savedPayload":{"position":{"x":18040.64382962515,"y":31019.23747069523},"targetPosition":{"x":17996.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"b4bf5ccb-b529-4500-a192-d9c3a0613389","savedPayload":{"position":{"x":18129.64382962515,"y":31073.23747069523},"targetPosition":{"x":18033.64382962515,"y":31090.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"2e58c6d1-cfa7-4dc7-a322-e9356596ea1e","savedPayload":{"position":{"x":17976.64382962515,"y":31132.23747069523},"targetPosition":{"x":17953.64382962515,"y":31093.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ae04ddf4-ae3e-4bdc-9393-41acc38ef818","savedPayload":{"position":{"x":17953.64382962515,"y":31093.23747069523},"targetPosition":{"x":18033.64382962515,"y":31090.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2428e8ef-6a09-48fa-8ae4-ebfb28420be8","savedPayload":{"position":{"x":18033.64382962515,"y":31090.23747069523},"targetPosition":{"x":18085.64382962515,"y":31157.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"55c71c8b-f21f-4d16-ae93-e29362c39bf5","savedPayload":{"position":{"x":18085.64382962515,"y":31157.23747069523},"targetPosition":{"x":17996.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"967c3914-a76d-4389-9c7e-9c258ae683bd","savedPayload":{"position":{"x":17442.43408934047,"y":31233.743736052187},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Huobi Russia","config":"{ \n\"codeName\": \"huobiru\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"9b7b32d6-a42e-44bb-8065-5aa32b1e844b","savedPayload":{"position":{"x":17980.64382962515,"y":31034.23747069523},"targetPosition":{"x":17957.64382962515,"y":31088.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"8d74201c-33cd-4e12-8920-b08d0ef97572","savedPayload":{"position":{"x":17992.64382962515,"y":31105.23747069523},"targetPosition":{"x":17957.64382962515,"y":31088.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"c6e289d7-074b-4837-96e3-687988886fcc","savedPayload":{"position":{"x":18078.64382962515,"y":30954.23747069523},"targetPosition":{"x":18008.64382962515,"y":31029.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"d72f81ba-6b41-414d-9cf0-d5f9c0c25403","savedPayload":{"position":{"x":18026.64382962515,"y":31021.23747069523},"targetPosition":{"x":18083.64382962515,"y":31117.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"5354f66c-6e73-4fe5-80ca-2c25b761ef51","savedPayload":{"position":{"x":18083.64382962515,"y":31117.23747069523},"targetPosition":{"x":18008.64382962515,"y":31029.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"81f5adbb-054c-47f2-b019-52585f5d7417","savedPayload":{"position":{"x":18008.64382962515,"y":31029.23747069523},"targetPosition":{"x":18018.64382962515,"y":31009.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ecd8645b-4bb6-4641-a20f-cee51bf33f1a","savedPayload":{"position":{"x":18018.64382962515,"y":31009.23747069523},"targetPosition":{"x":17957.64382962515,"y":31088.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6f97bb5c-8d85-43ee-86a1-33e22cdfbb5e","savedPayload":{"position":{"x":17481.692214952825,"y":31109.882995828142},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"KKEX","config":"{ \n\"codeName\": \"kkex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"daa4e07a-1cd8-4d92-8004-2eabfaa62f77","savedPayload":{"position":{"x":17924.64382962515,"y":31038.23747069523},"targetPosition":{"x":17987.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"cb64951f-d984-4f51-a751-166a316084f3","savedPayload":{"position":{"x":17945.64382962515,"y":31156.23747069523},"targetPosition":{"x":17987.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"6915bf12-9271-47e2-8b49-924ae9f5c65f","savedPayload":{"position":{"x":17958.64382962515,"y":31297.23747069523},"targetPosition":{"x":17875.64382962515,"y":31252.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"ff53381f-c6dd-4d17-a477-11396f60663f","savedPayload":{"position":{"x":17805.64382962515,"y":31141.23747069523},"targetPosition":{"x":17861.64382962515,"y":31223.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ae05bfc4-6ac8-408c-a90b-263830b2a71e","savedPayload":{"position":{"x":17861.64382962515,"y":31223.23747069523},"targetPosition":{"x":17875.64382962515,"y":31252.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"61c85f1a-a2a6-45c9-bb1e-3c76110f5d1e","savedPayload":{"position":{"x":17875.64382962515,"y":31252.23747069523},"targetPosition":{"x":17911.64382962515,"y":31154.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9fafb114-37d2-4d04-9c42-83d04ff62fc7","savedPayload":{"position":{"x":17911.64382962515,"y":31154.23747069523},"targetPosition":{"x":17987.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"16ae95ce-796f-4f2b-942c-f98dcbf9cf4b","savedPayload":{"position":{"x":17534.11190940509,"y":30990.99288257655},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Kraken","config":"{ \n\"codeName\": \"kraken\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"747af60f-c8b9-4377-aa6c-172d4137ea23","savedPayload":{"position":{"x":17854.64382962515,"y":31008.23747069523},"targetPosition":{"x":17946.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"c75f7d97-9dc2-4d3e-89eb-f8a3d5f16368","savedPayload":{"position":{"x":17916.64382962515,"y":30872.23747069523},"targetPosition":{"x":17946.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"0093e946-03f4-4aec-942d-c76aed12ab1a","savedPayload":{"position":{"x":17780.64382962515,"y":31091.23747069523},"targetPosition":{"x":17836.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"2a4235ac-e5ea-4484-bccd-f06c8a7275ec","savedPayload":{"position":{"x":17930.64382962515,"y":30869.23747069523},"targetPosition":{"x":17883.64382962515,"y":30953.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"737dec0a-23ab-4044-94ba-95c8bc50c0eb","savedPayload":{"position":{"x":17883.64382962515,"y":30953.23747069523},"targetPosition":{"x":17836.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"457b045e-dae5-4f53-a8b7-cab4757e5286","savedPayload":{"position":{"x":17836.64382962515,"y":31011.23747069523},"targetPosition":{"x":17926.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6eff12db-8e7c-402a-9e06-ae2618f506a0","savedPayload":{"position":{"x":17926.64382962515,"y":31005.23747069523},"targetPosition":{"x":17946.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"644efe9c-597a-4ddf-9e28-b33fb3b62d3e","savedPayload":{"position":{"x":17599.078599707587,"y":30878.467274173025},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"KuCoin","config":"{ \n\"codeName\": \"kucoin\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"01ca3037-4ed3-499e-ad6b-e14ca1d4a51f","savedPayload":{"position":{"x":17919.64382962515,"y":30949.23747069523},"targetPosition":{"x":17920.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"8b3c4ce0-98b1-4d46-bd02-6cf44c3dd686","savedPayload":{"position":{"x":17998.64382962515,"y":30978.23747069523},"targetPosition":{"x":17920.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"d6c7c0ef-670d-4ed6-9246-6eb7d6bfc359","savedPayload":{"position":{"x":17927.64382962515,"y":30962.23747069523},"targetPosition":{"x":17953.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"e8c2c454-b246-4f63-b51b-74d9cbb01ac2","savedPayload":{"position":{"x":17927.64382962515,"y":30924.23747069523},"targetPosition":{"x":17912.64382962515,"y":30869.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"d2bb2603-3b52-443c-8923-86fefafc0b14","savedPayload":{"position":{"x":17912.64382962515,"y":30869.23747069523},"targetPosition":{"x":17953.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fa83b0b9-1039-4406-907c-f809a5af40f5","savedPayload":{"position":{"x":17953.64382962515,"y":30954.23747069523},"targetPosition":{"x":17966.64382962515,"y":30962.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"471161d3-201e-40c6-b433-49643cf7e43b","savedPayload":{"position":{"x":17966.64382962515,"y":30962.23747069523},"targetPosition":{"x":17920.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d79bc720-68e1-4771-a66a-bcffa30639d3","savedPayload":{"position":{"x":17675.830610816145,"y":30773.625430492953},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"LBank","config":"{ \n\"codeName\": \"lbank\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"def3f9d0-f09e-4e09-8b6d-a4c322a4384b","savedPayload":{"position":{"x":17877.64382962515,"y":31024.23747069523},"targetPosition":{"x":17838.64382962515,"y":31032.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"53eac3c1-96d6-4cb1-b54d-f3f174eaf733","savedPayload":{"position":{"x":17764.64382962515,"y":31036.23747069523},"targetPosition":{"x":17838.64382962515,"y":31032.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"c6c00704-1357-4426-910e-8134d6f87017","savedPayload":{"position":{"x":18030.64382962515,"y":31212.23747069523},"targetPosition":{"x":17951.64382962515,"y":31172.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"13990604-2192-4be1-b21b-53cf2bafc002","savedPayload":{"position":{"x":17893.64382962515,"y":31189.23747069523},"targetPosition":{"x":17964.64382962515,"y":31122.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ed2c483e-d412-406d-b6f3-cfb1112a3a05","savedPayload":{"position":{"x":17964.64382962515,"y":31122.23747069523},"targetPosition":{"x":17951.64382962515,"y":31172.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6033b63c-c7fe-4a5d-8cf6-82128e2cfb41","savedPayload":{"position":{"x":17951.64382962515,"y":31172.23747069523},"targetPosition":{"x":17891.64382962515,"y":31096.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"20ece5c4-dbfa-4f4a-a9ee-8c8d9c38943b","savedPayload":{"position":{"x":17891.64382962515,"y":31096.23747069523},"targetPosition":{"x":17838.64382962515,"y":31032.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cb2558d6-dab0-4f35-b83f-7cfc161b3d4f","savedPayload":{"position":{"x":17763.468095575536,"y":30677.69652629567},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Mercado Bitcoin","config":"{ \n\"codeName\": \"mercado\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"83ab2c39-e844-496f-bebb-7b8607428902","savedPayload":{"position":{"x":17849.64382962515,"y":31081.23747069523},"targetPosition":{"x":17849.64382962515,"y":30986.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"d69e722e-c71a-462a-8bbd-d3482d0eab21","savedPayload":{"position":{"x":17771.64382962515,"y":30887.23747069523},"targetPosition":{"x":17849.64382962515,"y":30986.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"18438709-83cf-49a3-96b8-888ab5adbcc5","savedPayload":{"position":{"x":17937.64382962515,"y":31080.23747069523},"targetPosition":{"x":17866.64382962515,"y":31013.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"6b9d4ed4-af81-462a-aace-fac0afd4687a","savedPayload":{"position":{"x":17787.64382962515,"y":30841.23747069523},"targetPosition":{"x":17873.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"802a4c53-8617-4257-95a5-45bfaa60ad0e","savedPayload":{"position":{"x":17873.64382962515,"y":30935.23747069523},"targetPosition":{"x":17866.64382962515,"y":31013.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"87936a4a-aac5-4aca-8f3e-2051611932c4","savedPayload":{"position":{"x":17866.64382962515,"y":31013.23747069523},"targetPosition":{"x":17829.64382962515,"y":30919.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"48f3a793-bb97-447b-8f1a-1d6965219747","savedPayload":{"position":{"x":17829.64382962515,"y":30919.23747069523},"targetPosition":{"x":17849.64382962515,"y":30986.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5002072e-145c-4aeb-a611-3e0e4c60ee5d","savedPayload":{"position":{"x":17860.963584604677,"y":30591.805240274254},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"OKCoin","config":"{ \n\"codeName\": \"okcoin\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"1e4dd5c8-0545-4698-8695-c985880243a3","savedPayload":{"position":{"x":17921.64382962515,"y":31043.23747069523},"targetPosition":{"x":17967.64382962515,"y":30969.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"0e188cae-9764-4963-a78b-e5d7ef272522","savedPayload":{"position":{"x":18005.64382962515,"y":30891.23747069523},"targetPosition":{"x":17967.64382962515,"y":30969.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"6d82bfd7-b4e1-4f93-a0f8-18f62cee944e","savedPayload":{"position":{"x":18047.64382962515,"y":30877.23747069523},"targetPosition":{"x":17963.64382962515,"y":30898.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"d815409c-1dd4-4e89-b844-5b96104509b4","savedPayload":{"position":{"x":17958.64382962515,"y":30988.23747069523},"targetPosition":{"x":17945.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"238b9d2c-e2c0-4a77-945e-8e28604c0a2d","savedPayload":{"position":{"x":17945.64382962515,"y":30961.23747069523},"targetPosition":{"x":17963.64382962515,"y":30898.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8416c29a-5d73-4b2a-9463-511f400deafb","savedPayload":{"position":{"x":17963.64382962515,"y":30898.23747069523},"targetPosition":{"x":18047.64382962515,"y":30885.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"04abf32b-084e-4784-aa84-8c5612d3b7b9","savedPayload":{"position":{"x":18047.64382962515,"y":30885.23747069523},"targetPosition":{"x":17967.64382962515,"y":30969.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1f860b4b-2893-4a51-8649-19c47d494a37","savedPayload":{"position":{"x":17967.17403243568,"y":30516.958569226157},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"OKEX","config":"{ \n\"codeName\": \"okex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"7f618566-3d10-4c3c-90b2-7541a5146eeb","savedPayload":{"position":{"x":17770.64382962515,"y":31094.23747069523},"targetPosition":{"x":17847.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"21205576-5d12-452c-814f-eb56182162ae","savedPayload":{"position":{"x":17794.64382962515,"y":31173.23747069523},"targetPosition":{"x":17847.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"46456247-ae9c-41ea-8395-a5e4a78007d4","savedPayload":{"position":{"x":17724.64382962515,"y":31147.23747069523},"targetPosition":{"x":17795.64382962515,"y":31083.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"706bf601-eaad-48bd-b0a7-8dad59066171","savedPayload":{"position":{"x":17715.64382962515,"y":31182.23747069523},"targetPosition":{"x":17706.64382962515,"y":31162.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"f9c7071c-2e5b-4c90-b482-dfc7ee001244","savedPayload":{"position":{"x":17706.64382962515,"y":31162.23747069523},"targetPosition":{"x":17795.64382962515,"y":31083.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e87e1e10-3404-48b9-8629-5df92ffa1979","savedPayload":{"position":{"x":17795.64382962515,"y":31083.23747069523},"targetPosition":{"x":17789.64382962515,"y":31181.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"08e8fd6a-6b23-4d65-8b8e-d966f845c07f","savedPayload":{"position":{"x":17789.64382962515,"y":31181.23747069523},"targetPosition":{"x":17847.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"aa0edec0-8b27-4f94-abce-1e437ce5aba6","savedPayload":{"position":{"x":18080.854218676865,"y":30454.034021936455},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"RightBTC","config":"{ \n\"codeName\": \"rightbtc\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"ade372e9-5070-4fa9-843e-57732c4106c3","savedPayload":{"position":{"x":17999.64382962515,"y":30964.23747069523},"targetPosition":{"x":17991.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"b63d440e-4501-475c-b8a6-2b9a144e32a1","savedPayload":{"position":{"x":17984.64382962515,"y":30901.23747069523},"targetPosition":{"x":17991.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"81d77477-4f2e-43c0-b284-dde54f91c37f","savedPayload":{"position":{"x":17864.64382962515,"y":31036.23747069523},"targetPosition":{"x":17861.64382962515,"y":31043.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"9ce3cc34-1ba4-4155-96a5-c946b1bcc5ab","savedPayload":{"position":{"x":17819.64382962515,"y":31127.23747069523},"targetPosition":{"x":17810.64382962515,"y":31080.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"c7df4af7-37c1-403d-ada1-b6a527821bdd","savedPayload":{"position":{"x":17810.64382962515,"y":31080.23747069523},"targetPosition":{"x":17861.64382962515,"y":31043.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6de19501-5ce7-4944-b9dd-25b149acbb38","savedPayload":{"position":{"x":17861.64382962515,"y":31043.23747069523},"targetPosition":{"x":17946.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"aa87ace4-a976-401c-93f9-24a498261742","savedPayload":{"position":{"x":17946.64382962515,"y":30988.23747069523},"targetPosition":{"x":17991.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c20cd9e1-52a0-4d17-b90c-e9d5b63315ce","savedPayload":{"position":{"x":18200.67134708334,"y":30403.76933118965},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"STEX","config":"{ \n\"codeName\": \"stex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"f1d65161-4922-4a1e-ac98-df1a842347a7","savedPayload":{"position":{"x":17872.64382962515,"y":31001.23747069523},"targetPosition":{"x":17892.64382962515,"y":31092.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"c313b2c6-6154-4a9a-b826-fd99cc500cd9","savedPayload":{"position":{"x":17888.64382962515,"y":31186.23747069523},"targetPosition":{"x":17892.64382962515,"y":31092.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"d0a1259b-1c37-4d39-836e-3c434c3b3687","savedPayload":{"position":{"x":17778.64382962515,"y":31076.23747069523},"targetPosition":{"x":17858.64382962515,"y":31091.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"4a1e5627-459c-4dec-be13-c20d4a9ea58f","savedPayload":{"position":{"x":17841.64382962515,"y":31179.23747069523},"targetPosition":{"x":17795.64382962515,"y":31105.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"6981eb0d-0f0e-4f8e-9781-4a03e22e93fd","savedPayload":{"position":{"x":17795.64382962515,"y":31105.23747069523},"targetPosition":{"x":17858.64382962515,"y":31091.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7704478a-9717-43a8-bd2e-88daa6f84bd0","savedPayload":{"position":{"x":17858.64382962515,"y":31091.23747069523},"targetPosition":{"x":17941.64382962515,"y":31173.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"262aad86-f430-49ea-a636-e8bd816a9636","savedPayload":{"position":{"x":17941.64382962515,"y":31173.23747069523},"targetPosition":{"x":17892.64382962515,"y":31092.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"0ea23137-3c65-4de1-9772-6ac1b65196e8","savedPayload":{"position":{"x":18325.220671374373,"y":30366.753804527314},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"TideBit","config":"{ \n\"codeName\": \"tidebit\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"c92318bd-8b2d-489b-b8e8-cf30fb63286e","savedPayload":{"position":{"x":17981.64382962515,"y":31021.23747069523},"targetPosition":{"x":17978.64382962515,"y":31048.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"83bca3ec-fc1c-435c-b5fe-b1cf92463fd1","savedPayload":{"position":{"x":18051.64382962515,"y":31072.23747069523},"targetPosition":{"x":17978.64382962515,"y":31048.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"2f3ee9b2-cd41-458c-84da-edac3155028a","savedPayload":{"position":{"x":18075.64382962515,"y":31059.23747069523},"targetPosition":{"x":17987.64382962515,"y":31047.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"009ae4b6-adbc-4900-9fc0-f18936eeed9b","savedPayload":{"position":{"x":18030.64382962515,"y":31058.23747069523},"targetPosition":{"x":18009.64382962515,"y":31028.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"3ee88180-fe10-41df-8251-b1ed0a526e7a","savedPayload":{"position":{"x":18009.64382962515,"y":31028.23747069523},"targetPosition":{"x":17987.64382962515,"y":31047.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bb88e6e8-a99a-4c4e-9ca5-ffed49aa8b54","savedPayload":{"position":{"x":17987.64382962515,"y":31047.23747069523},"targetPosition":{"x":17925.64382962515,"y":31135.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"13a4a95e-4333-4455-9f7c-90bc839d174a","savedPayload":{"position":{"x":17925.64382962515,"y":31135.23747069523},"targetPosition":{"x":17978.64382962515,"y":31048.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5563c310-701a-4c1e-8155-87c08c927ce3","savedPayload":{"position":{"x":18453.041964599197,"y":30343.421415155935},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"TimeX","config":"{ \n\"codeName\": \"timex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"5c004b5f-eec4-414f-8d01-d9b3fddeee9e","savedPayload":{"position":{"x":17892.64382962515,"y":30973.23747069523},"targetPosition":{"x":17949.64382962515,"y":30914.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"59a33add-d0e9-4ae1-8a01-f1e0ed09cb61","savedPayload":{"position":{"x":17911.64382962515,"y":30878.23747069523},"targetPosition":{"x":17949.64382962515,"y":30914.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"a4189ba1-d1d4-4ff8-91dd-a8696ca493e3","savedPayload":{"position":{"x":17953.64382962515,"y":30880.23747069523},"targetPosition":{"x":17924.64382962515,"y":30871.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"3d34eb9d-e7cb-42fe-8785-c327b2bbc529","savedPayload":{"position":{"x":17839.64382962515,"y":30875.23747069523},"targetPosition":{"x":17930.64382962515,"y":30877.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"773de01f-0999-4a59-91f0-642148cd58d0","savedPayload":{"position":{"x":17930.64382962515,"y":30877.23747069523},"targetPosition":{"x":17924.64382962515,"y":30871.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fe33a596-4f98-4843-a5b1-26e7e0fcf1c8","savedPayload":{"position":{"x":17924.64382962515,"y":30871.23747069523},"targetPosition":{"x":18018.64382962515,"y":30832.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d078b9a3-cdc6-458e-a511-dc4f5bef38ba","savedPayload":{"position":{"x":18018.64382962515,"y":30832.23747069523},"targetPosition":{"x":17949.64382962515,"y":30914.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"27d69fa7-b561-4986-8c0d-1b374e7e1bf1","savedPayload":{"position":{"x":18582.63663896287,"y":30334.045714007894},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"TOP.Q","config":"{ \n\"codeName\": \"topq\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"eafef6a3-eed2-470e-a15c-aa4c10001cd2","savedPayload":{"position":{"x":17818.64382962515,"y":31115.23747069523},"targetPosition":{"x":17847.64382962515,"y":31105.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"2d5eb813-ceb6-40cd-8682-7205596bb8b5","savedPayload":{"position":{"x":17759.64382962515,"y":31188.23747069523},"targetPosition":{"x":17847.64382962515,"y":31105.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"61f7832c-c1f0-40bc-b1f2-ba947c58309d","savedPayload":{"position":{"x":17741.64382962515,"y":31288.23747069523},"targetPosition":{"x":17788.64382962515,"y":31228.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"63b973da-30a7-467a-b954-c57537aab18d","savedPayload":{"position":{"x":17677.64382962515,"y":31206.23747069523},"targetPosition":{"x":17756.64382962515,"y":31146.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"722dcf44-de3f-4d1a-8655-80561e1e4d55","savedPayload":{"position":{"x":17756.64382962515,"y":31146.23747069523},"targetPosition":{"x":17788.64382962515,"y":31228.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"45d5e04a-4a53-4f32-b4c0-d882456cb263","savedPayload":{"position":{"x":17788.64382962515,"y":31228.23747069523},"targetPosition":{"x":17806.64382962515,"y":31163.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c66e8dfc-4847-4180-b82c-36458f9b405d","savedPayload":{"position":{"x":17806.64382962515,"y":31163.23747069523},"targetPosition":{"x":17847.64382962515,"y":31105.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8fdf13d8-e8d2-4ef4-8b34-f492a25d753a","savedPayload":{"position":{"x":18712.485315398026,"y":30338.736622606855},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Upbit","config":"{ \n\"codeName\": \"upbit\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"f456fec2-cee6-4f0c-b865-1188088879c9","savedPayload":{"position":{"x":17919.64382962515,"y":30973.23747069523},"targetPosition":{"x":17991.64382962515,"y":30980.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"947c1ca0-bff9-4372-b153-40054e29b705","savedPayload":{"position":{"x":17921.64382962515,"y":31014.23747069523},"targetPosition":{"x":17991.64382962515,"y":30980.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"34ffbe12-5a26-446a-8bf6-7395c0370ba2","savedPayload":{"position":{"x":17874.64382962515,"y":30900.23747069523},"targetPosition":{"x":17945.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"8f00f19d-74a8-48d8-b951-79f35e87b110","savedPayload":{"position":{"x":17906.64382962515,"y":30902.23747069523},"targetPosition":{"x":17896.64382962515,"y":30896.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"64e1bede-aabf-4831-83a6-fe1cea435613","savedPayload":{"position":{"x":17896.64382962515,"y":30896.23747069523},"targetPosition":{"x":17945.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7c80b956-f2ca-4a6f-a661-f17546288d3e","savedPayload":{"position":{"x":17945.64382962515,"y":30971.23747069523},"targetPosition":{"x":18027.64382962515,"y":31048.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e3686b02-4ecc-4dcb-a311-b7ef542a3c37","savedPayload":{"position":{"x":18027.64382962515,"y":31048.23747069523},"targetPosition":{"x":17991.64382962515,"y":30980.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"74e57ecd-3394-42b4-b2c4-6f216f7e41db","savedPayload":{"position":{"x":18841.065636895226,"y":30357.439144338445},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"WhiteBit","config":"{ \n\"codeName\": \"whitebit\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"c16eae45-a568-4b2e-b064-4431bdf34c24","savedPayload":{"position":{"x":17767.64382962515,"y":30899.23747069523},"targetPosition":{"x":17834.64382962515,"y":30950.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"dfdf793f-4ba6-4215-a325-323c0f223553","savedPayload":{"position":{"x":17920.64382962515,"y":31004.23747069523},"targetPosition":{"x":17834.64382962515,"y":30950.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"fd749d13-dbac-493f-9af6-c521eddf909f","savedPayload":{"position":{"x":17815.64382962515,"y":30973.23747069523},"targetPosition":{"x":17720.64382962515,"y":31056.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"79f7d2d0-77a5-4f38-ac68-fd11f18e5e6b","savedPayload":{"position":{"x":17761.64382962515,"y":31182.23747069523},"targetPosition":{"x":17680.64382962515,"y":31153.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"fd0506f4-58b7-431e-bc9d-69bce63c3379","savedPayload":{"position":{"x":17680.64382962515,"y":31153.23747069523},"targetPosition":{"x":17720.64382962515,"y":31056.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"47e8a4b1-9a6c-4555-a881-f7524183d72e","savedPayload":{"position":{"x":17720.64382962515,"y":31056.23747069523},"targetPosition":{"x":17817.64382962515,"y":31010.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7fa08b91-55ab-477d-a097-88ea7f25fb76","savedPayload":{"position":{"x":17817.64382962515,"y":31010.23747069523},"targetPosition":{"x":17834.64382962515,"y":30950.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"467ece1e-d1d0-4a11-ae7a-d0e22cd4eba5","savedPayload":{"position":{"x":18966.87011674703,"y":30389.934009235236},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"ZB","config":"{ \n\"codeName\": \"zb\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"db206cbd-a587-4e8e-acbe-6581ad3b5cc4","savedPayload":{"position":{"x":17855.64382962515,"y":31027.23747069523},"targetPosition":{"x":17861.64382962515,"y":30951.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"1dd658c5-7755-44b7-85f0-9bcd787762a0","savedPayload":{"position":{"x":17789.64382962515,"y":31044.23747069523},"targetPosition":{"x":17861.64382962515,"y":30951.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"0de82bbe-7909-4b65-b304-f59b41f618ae","savedPayload":{"position":{"x":17830.64382962515,"y":30696.23747069523},"targetPosition":{"x":17846.64382962515,"y":30793.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"c89819d0-8880-4b36-a9b3-0b284d266e3b","savedPayload":{"position":{"x":17891.64382962515,"y":30748.23747069523},"targetPosition":{"x":17865.64382962515,"y":30772.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"7a55f503-17fa-45c4-880b-1a9a11a0a555","savedPayload":{"position":{"x":17865.64382962515,"y":30772.23747069523},"targetPosition":{"x":17846.64382962515,"y":30793.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e640fca2-8bab-45ff-9a47-8e7b9650c277","savedPayload":{"position":{"x":17846.64382962515,"y":30793.23747069523},"targetPosition":{"x":17909.64382962515,"y":30886.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"421a99cd-3d9a-46a5-8654-08d6336e75be","savedPayload":{"position":{"x":17909.64382962515,"y":30886.23747069523},"targetPosition":{"x":17861.64382962515,"y":30951.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"07df07e8-39a8-4fbc-a0c8-150f20b6ac59","savedPayload":{"position":{"x":19088.423812451314,"y":30435.840244716648},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51f64e29-e3ab-4683-a5de-f397fbf94260","savedPayload":{"position":{"x":18604.301618063546,"y":31533.850126685462},"targetPosition":{"x":18904.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchanges","name":"Testing Queue","exchanges":[],"id":"895ce4b1-4890-4216-89ba-a012181d2546","savedPayload":{"position":{"x":18754.301618063546,"y":30754.427263279467},"targetPosition":{"x":18904.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"signalsProviders":[],"id":"7217b56c-e854-4c06-8b8a-d5d3c05a153d","savedPayload":{"position":{"x":18904.301618063546,"y":31014.2348844148},"targetPosition":{"x":18904.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},{"type":"Charting Space","name":"New Charting Space","viewport":{"type":"Viewport","name":"New Viewport","config":"{\"zoom\":\"0.00\"}","id":"01713f1d-91b8-44f9-9c5d-a0c12fd09037","savedPayload":{"position":{"x":19200.806237131383,"y":24983.35640053908},"targetPosition":{"x":18900.806237131383,"y":24983.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"frame":{"position":{"x":255,"y":432.6875}}}},"dashboards":[{"type":"Dashboard","name":"Testing Environment My Computer","timeMachines":[{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","config":"{}","timeScale":{"type":"Time Scale","name":"New Time Scale","config":"{\n \"autoMinScale\": true,\n \"autoMaxScale\": true,\n \"fromDate\": \"2020-01-01T00:00:00.000Z\",\n \"toDate\": \"2020-10-14T23:59:59.999Z\"\n}","id":"691e2b6e-6b13-4a94-a8cd-15bbad6e8d2b","savedPayload":{"position":{"x":18783.434665834,"y":25740.977644897117},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rateScale":{"type":"Rate Scale","name":"New Rate Scale","config":"{\n \"autoMinScale\": true,\n \"autoMaxScale\": true,\n \"minValue\": 3744.3087,\n \"maxValue\": 12592.68\n}","id":"d1c91955-e558-4ffe-a349-895405dd7475","savedPayload":{"position":{"x":18678.45195066214,"y":25792.749390696466},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeFrameScale":{"type":"Time Frame Scale","name":"New Time Frame Scale","config":"{\"value\":\"24-hs\"}","id":"69064a57-bfa3-4a7a-a597-55887057befb","savedPayload":{"position":{"x":18561.64837946537,"y":25800.405101221888},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timelineCharts":[{"type":"Timeline Chart","name":"Indicators","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 0,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Candles Volumes","layers":[{"type":"Layer","name":"Candles","config":"{\n \"status\": \"on\",\n \"showPanels\": false\n}","id":"550e7d96-2b55-4cb5-91d5-6fbceb32cbb8","savedPayload":{"position":{"x":18300.806237131383,"y":26622.58688508041},"targetPosition":{"x":18300.806237131383,"y":26322.58688508041},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Candles","id":"b9c30464-73e5-4f5c-b422-9ba1a02b78ab"}}}],"layerFolders":[],"id":"a9026e9d-f9c2-4509-9a75-862421b5c70b","savedPayload":{"position":{"x":18300.806237131383,"y":26322.58688508041},"targetPosition":{"x":18300.806237131383,"y":26022.58688508041},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Resistances and Supports","layers":[{"type":"Layer","name":"Resistances","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"ea7115b6-1324-43dc-8fa2-90c12c2c2c48","savedPayload":{"position":{"x":17890.99861599605,"y":26432.394506215744},"targetPosition":{"x":18040.99861599605,"y":26172.58688508041},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Resistances","id":"a1669770-1bbe-40f7-acb3-ded15272935f"}}},{"type":"Layer","name":"Supports","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"2d16e7e1-8676-4041-a1b1-0172e023558a","savedPayload":{"position":{"x":17740.99861599605,"y":26172.58688508041},"targetPosition":{"x":18040.99861599605,"y":26172.58688508041},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Supports","id":"64899503-b618-493a-ba94-bfad2051a611"}}}],"layerFolders":[],"id":"b7fed612-b218-4378-bb3f-6c90fb947449","savedPayload":{"position":{"x":18040.99861599605,"y":26172.58688508041},"targetPosition":{"x":18300.806237131383,"y":26022.58688508041},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"aa6b9a8f-d5f4-4f60-b3fa-bdf957806bfb","savedPayload":{"position":{"x":18300.806237131383,"y":26022.58688508041},"targetPosition":{"x":18450.806237131383,"y":25762.779263945078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":0,"y":80},"width":150,"height":40,"radius":0},"referenceParent":{"type":"Data Mine Products","name":"Masters","id":"d37d8bf1-be3b-49ac-805b-0ddb3944e6a0"}}},"id":"6a4b0ce0-7e88-4fe3-b9b5-2116d81b2da0","savedPayload":{"position":{"x":18450.806237131383,"y":25762.779263945078},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Trading Engine","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 0,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Trading Engine","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Episode","layers":[{"type":"Layer","name":"Episode Counters","config":"{ \n\"status\": \"off\"\n}","id":"fbbb590b-c94d-4625-94e2-bc4bfa2ab6f9","savedPayload":{"position":{"x":17369.615314676776,"y":27668.841562264155},"targetPosition":{"x":16881.455267522357,"y":27560.81805667489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Counters","id":"a01b42b0-ea87-47ab-b0e9-52d4b10cb631"}}},{"type":"Layer","name":"Episode Statistics","config":"{ \n\"status\": \"off\"\n}","id":"ab219d3d-1f44-4448-b5f9-f9f6ace6caea","savedPayload":{"position":{"x":17303.16747388602,"y":27829.462657681564},"targetPosition":{"x":16881.455267522357,"y":27560.81805667489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Statistics","id":"559a20a7-6697-4245-9d6c-ad7c0e31ff84"}}},{"type":"Layer","name":"Episode Candle","config":"{ \n\"status\": \"off\"\n}","id":"7dd6f9d6-3840-4a95-a9c9-9445a1335868","savedPayload":{"position":{"x":17185.846232243683,"y":27957.548994948615},"targetPosition":{"x":16881.455267522357,"y":27560.81805667489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Candle","id":"24fab05f-ff78-4cca-af61-d4d0bb2f2960"}}},{"type":"Layer","name":"Episode Balances","config":"{ \n\"status\": \"off\"\n}","id":"371bfe04-1b2d-4d60-ae70-03a2f7522466","savedPayload":{"position":{"x":17031.824555577114,"y":28037.77428784454},"targetPosition":{"x":16881.455267522357,"y":27560.81805667489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Balances","id":"7c580919-08ce-4aff-9e84-888fdf07caec"}}},{"type":"Layer","name":"Distance To Event","config":"{ \n\"status\": \"off\"\n}","id":"f1dea1ef-69f3-4b64-8586-ec43aa281cde","savedPayload":{"position":{"x":16859.980005705944,"y":28060.516661409252},"targetPosition":{"x":16881.455267522357,"y":27560.81805667489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Distance To Event","id":"389797d4-8456-4258-9adf-246a6ba69016"}}},{"type":"Layer","name":"Episode Base Asset","config":"{ \n\"status\": \"off\"\n}","id":"eca94344-450b-4dc9-ad80-8e202b6e0517","savedPayload":{"position":{"x":16720.146686869968,"y":28081.644331195483},"targetPosition":{"x":16881.455267522357,"y":27560.81805667489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Base Asset","id":"323c7b0b-42b1-4ff0-9d4b-36c2fd605caa"}}},{"type":"Layer","name":"Episode Quoted Asset","config":"{ \n\"status\": \"off\"\n}","id":"a4c54659-0b38-4faf-9827-47976eb9cca7","savedPayload":{"position":{"x":16538.534133073324,"y":27928.11277999677},"targetPosition":{"x":16881.455267522357,"y":27560.81805667489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Quoted Asset","id":"63594fc6-3b89-4507-bca8-2d43ef618cbe"}}},{"type":"Layer","name":"Current Episode","config":"{ \n\"status\": \"off\"\n}","id":"e82d97df-5b25-4967-b2b4-da065c5d3ad9","savedPayload":{"position":{"x":16438.118842172375,"y":27791.656999492337},"targetPosition":{"x":16881.455267522357,"y":27560.81805667489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Episode","id":"73bb3f9e-b112-4e5a-bce9-6d4bec41cc6c"}}}],"layerFolders":[],"id":"851d853d-e2d7-4138-b5fd-563f1f844f64","savedPayload":{"position":{"x":16881.455267522357,"y":27560.81805667489},"targetPosition":{"x":16815.94253388532,"y":27065.434531430084},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Strategy","layers":[{"type":"Layer","name":"Current Strategy","config":"{ \n\"status\": \"off\"\n}","id":"dc84698a-bce4-4979-9aca-80661b054191","savedPayload":{"position":{"x":16665.05839477738,"y":27965.793638606552},"targetPosition":{"x":16624.806838862034,"y":27527.143951867685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Strategy","id":"515f5fd6-d860-44d4-b5d6-a19acd9c5c86"}}},{"type":"Layer","name":"Last Strategy","config":"{ \n\"status\": \"off\"\n}","id":"d3456e5b-0438-4273-a3ce-6b1d60573c33","savedPayload":{"position":{"x":16192.04282322282,"y":27776.28963880755},"targetPosition":{"x":16624.806838862034,"y":27527.143951867685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Strategy","id":"556e97e8-eba3-419d-869d-950cc99371da"}}}],"layerFolders":[],"id":"6ad8b449-785f-40cc-afc0-19c68b508c17","savedPayload":{"position":{"x":16624.806838862034,"y":27527.143951867685},"targetPosition":{"x":16815.94253388532,"y":27065.434531430084},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Position","layers":[{"type":"Layer","name":"Current Position","config":"{\n \"status\": \"off\"\n}","id":"4b8d055f-0c36-40a6-af78-5faf9b34b72c","savedPayload":{"position":{"x":16263.911411221576,"y":27887.017338929047},"targetPosition":{"x":16419.428268555628,"y":27369.65419953046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Position","id":"d33abc39-702b-4d7a-8435-43d90e0f2c3a"}}},{"type":"Layer","name":"Last Position","config":"{ \n\"status\": \"off\"\n}","id":"ac24a200-397f-4d7c-9916-581328c74f22","savedPayload":{"position":{"x":15930.683136179856,"y":27446.741891494232},"targetPosition":{"x":16419.428268555628,"y":27369.65419953046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Position","id":"d681fd5f-64af-4f39-9f6d-a767bef7692f"}}}],"layerFolders":[],"id":"acf27818-08f1-4c0d-9cc9-30c38ba892fb","savedPayload":{"position":{"x":16419.428268555628,"y":27369.65419953046},"targetPosition":{"x":16815.94253388532,"y":27065.434531430084},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Stages","layers":[{"type":"Layer","name":"Open Stage","config":"{ \n\"status\": \"off\"\n}","id":"b9eeeeb3-43db-4d4f-9f28-f42e947494f9","savedPayload":{"position":{"x":16081.8024827204,"y":27569.844459509128},"targetPosition":{"x":16320.487948353533,"y":27130.48564334826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Open Stage","id":"b0961496-1af9-48cd-bbeb-ac5973192e78"}}},{"type":"Layer","name":"Close Stage","config":"{ \n\"status\": \"off\"\n}","id":"eda9462a-9688-42cf-ae97-b3dfd02c718c","savedPayload":{"position":{"x":15861.804663880679,"y":27334.104337992987},"targetPosition":{"x":16320.487948353533,"y":27130.48564334826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Close Stage","id":"0c9cf78d-ce6e-4318-811d-e748ca72845d"}}},{"type":"Layer","name":"Trigger Stage","config":"{ \n\"status\": \"off\"\n}","id":"1481d280-6112-4d0d-8a48-3fe4e65efc9d","savedPayload":{"position":{"x":15794.751172927,"y":27059.819168542694},"targetPosition":{"x":16320.487948353533,"y":27130.48564334826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trigger Stage","id":"e298787f-b7f2-4334-931e-38b9441e43f9"}}},{"type":"Layer","name":"Manage Stage","config":"{ \n\"status\": \"off\"\n}","id":"2f579332-aa55-4e51-bbf4-370614838fd3","savedPayload":{"position":{"x":15983.678465146957,"y":26766.521536690572},"targetPosition":{"x":16320.487948353533,"y":27130.48564334826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Manage Stage","id":"4719b69d-b23e-4037-8c0a-b641fd8ab14c"}}}],"layerFolders":[],"id":"5b4e1c43-9fb7-439f-9ca9-e600bd41718d","savedPayload":{"position":{"x":16320.487948353533,"y":27130.48564334826},"targetPosition":{"x":16815.94253388532,"y":27065.434531430084},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Orders","layers":[{"type":"Layer","name":"Market Buy Orders","config":"{ \n\"status\": \"off\"\n}","id":"be00b86a-5b53-4dbd-ab79-7d135115a05e","savedPayload":{"position":{"x":15981.681254722265,"y":27206.80398470277},"targetPosition":{"x":16354.435022890473,"y":26873.913228534242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Buy Orders","id":"90834a1b-cc7e-48a9-be5c-0e30380af4bd"}}},{"type":"Layer","name":"Market Sell Orders","config":"{ \n\"status\": \"off\"\n}","id":"3870b052-156c-4f10-9658-3fe3df4baf10","savedPayload":{"position":{"x":15907.766921038878,"y":26991.828402965275},"targetPosition":{"x":16354.435022890473,"y":26873.913228534242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Sell Orders","id":"e2112d60-5fc2-4e67-befe-d4fbd6c1de77"}}},{"type":"Layer","name":"Limit Buy Orders","config":"{\n \"status\": \"off\"\n}","id":"5fa754c9-ffc3-499c-b566-0031b276cb73","savedPayload":{"position":{"x":15854.003963464067,"y":26791.47046059904},"targetPosition":{"x":16354.435022890473,"y":26873.913228534242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Buy Orders","id":"e734b6be-ba40-468c-a94f-1153dc85e00c"}}},{"type":"Layer","name":"Limit Sell Orders","config":"{\n \"status\": \"off\"\n}","id":"15ec260c-02f5-46e0-853b-6e751175dac7","savedPayload":{"position":{"x":15946.595933594896,"y":26584.386411643816},"targetPosition":{"x":16354.435022890473,"y":26873.913228534242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Sell Orders","id":"9a973229-4d9d-45af-b5aa-64906a915f6e"}}},{"type":"Layer","name":"Last Market Order","config":"{ \n\"status\": \"off\"\n}","id":"be57de60-d843-4bc8-bcb8-d8be27ceffbb","savedPayload":{"position":{"x":16112.599521408476,"y":26436.26698301044},"targetPosition":{"x":16354.435022890473,"y":26873.913228534242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Market Order","id":"56517fe9-64da-4404-83f3-005106bc1c0a"}}},{"type":"Layer","name":"Last Limit Order","config":"{ \n\"status\": \"off\"\n}","id":"407c7816-701b-43bf-92d8-cc728af78f0e","savedPayload":{"position":{"x":16326.514663407172,"y":26374.73332350363},"targetPosition":{"x":16354.435022890473,"y":26873.913228534242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Limit Order","id":"d00c76e7-4be0-4518-9892-a0f6df943951"}}}],"layerFolders":[],"id":"ac1ed18a-243b-4211-bb24-83bbfc20cd0a","savedPayload":{"position":{"x":16354.435022890473,"y":26873.913228534242},"targetPosition":{"x":16815.94253388532,"y":27065.434531430084},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"41428787-ca89-4ab9-a5cc-29e66e7c486d","savedPayload":{"position":{"x":16815.94253388532,"y":27065.434531430084},"targetPosition":{"x":17211.887378913278,"y":26761.65357700895},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"153096ea-a48c-4ed5-9f8e-49eafa7a779c","savedPayload":{"position":{"x":17211.887378913278,"y":26761.65357700895},"targetPosition":{"x":17608.087169245202,"y":26457.665815155528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"918bdf6d-3cfe-4c8b-894d-320cc72aef70","savedPayload":{"position":{"x":17608.087169245202,"y":26457.665815155528},"targetPosition":{"x":18004.58716757543,"y":26153.40165163241},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":150,"y":80},"width":150,"height":40,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"13a2b4f9-2c05-49b2-b42c-32ffa71ae0b7"}}},"id":"f0cc2b79-bae6-4441-a456-9fda5962a74f","savedPayload":{"position":{"x":18362.80023504401,"y":25685.600071512363},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Trading System","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 0,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Trading System","layers":[{"type":"Layer","name":"Trading System Errors","config":"{ \n\"status\": \"off\"\n}","id":"49761e84-d6c2-4c25-9604-fb2ddf93e510","savedPayload":{"position":{"x":16908.868785422477,"y":26498.16661359802},"targetPosition":{"x":16926.50340983706,"y":26097.78127173703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Errors","id":"a0c29c57-0a20-4084-9697-142300f62f9c"}}},{"type":"Layer","name":"Trading System Highlights","config":"{ \n\"status\": \"off\"\n}","id":"622a88bb-151c-48ef-bb99-e093498bf002","savedPayload":{"position":{"x":16784.079378960796,"y":26473.24915657477},"targetPosition":{"x":16926.50340983706,"y":26097.78127173703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Highlights","id":"aa0fe882-89a8-4811-8988-c589554afe9d"}}},{"type":"Layer","name":"Trading System Values","config":"{ \n\"status\": \"off\"\n}","id":"fba6a9fb-5e9a-46dd-aa2b-33950f0ec9f1","savedPayload":{"position":{"x":16674.17772780151,"y":26410.629959027327},"targetPosition":{"x":16926.50340983706,"y":26097.78127173703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Values","id":"bbc65054-b22b-4cbb-816b-529672e2f498"}}},{"type":"Layer","name":"Trading System Status","config":"{ \n\"status\": \"off\"\n}","id":"4ec0d56a-b497-4d90-9157-094c08930962","savedPayload":{"position":{"x":16589.35068678223,"y":26317.245278540355},"targetPosition":{"x":16926.50340983706,"y":26097.78127173703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Status","id":"776a3ece-8255-4e80-b60f-85bb818b561f"}}},{"type":"Layer","name":"Trading System Progress","config":"{ \n\"status\": \"off\"\n}","id":"5db72b24-ad72-49dd-8a32-1256fb25d04a","savedPayload":{"position":{"x":16537.989038785094,"y":26202.237839910187},"targetPosition":{"x":16926.50340983706,"y":26097.78127173703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Progress","id":"7593aaf9-0505-4b58-9920-235340ff2d2f"}}},{"type":"Layer","name":"Trading System Running","config":"{ \n\"status\": \"off\"\n}","id":"cbdfc3db-d5dd-476c-bf02-cf86d8a01300","savedPayload":{"position":{"x":16524.745363533515,"y":26077.08129911308},"targetPosition":{"x":16926.50340983706,"y":26097.78127173703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Running","id":"3e2e6105-f41f-42e2-bce5-74ebb3b81cbd"}}},{"type":"Layer","name":"Trading System Announcements","config":"{ \n\"status\": \"off\"\n}","id":"105a157c-b33a-40d0-9711-19526b04bfda","savedPayload":{"position":{"x":16551.015550574797,"y":25954.09235409774},"targetPosition":{"x":16926.50340983706,"y":26097.78127173703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Announcements","id":"faab4399-898b-4393-8c27-fa2f3109c60a"}}},{"type":"Layer","name":"Trading System Warnings","config":"{ \n\"status\": \"off\"\n}","id":"ab8b1fdc-4319-4b37-ae29-333912412215","savedPayload":{"position":{"x":16613.786293229427,"y":25843.789915164496},"targetPosition":{"x":16926.50340983706,"y":26097.78127173703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Warnings","id":"9ff0f035-ca7f-4e65-a82c-186fa7f09157"}}},{"type":"Layer","name":"Trading System Infos","config":"{ \n\"status\": \"off\"\n}","id":"051bd185-3255-41a5-bf62-ea8b27b32ddf","savedPayload":{"position":{"x":16732.783502595135,"y":25787.14617978885},"targetPosition":{"x":16926.50340983706,"y":26097.78127173703},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Infos","id":"04210a59-070a-45f1-a2a0-cf50bd4879f7"}}}],"layerFolders":[],"id":"838dab4e-c0bf-47f3-ac6a-8f815e5e666b","savedPayload":{"position":{"x":16926.50340983706,"y":26097.78127173703},"targetPosition":{"x":17312.504725681127,"y":25994.118489364708},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"74e5c728-fd06-4e79-8ec1-32ab2720adf5","savedPayload":{"position":{"x":17312.504725681127,"y":25994.118489364708},"targetPosition":{"x":17728.621526107163,"y":25882.512207770327},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8a7bce21-b09a-41e3-b9af-87f1939e9136","savedPayload":{"position":{"x":17435.249075924137,"y":26107.72559811088},"targetPosition":{"x":17918.14324924388,"y":25978.374425566097},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":300,"y":80},"width":150,"height":40,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"13a2b4f9-2c05-49b2-b42c-32ffa71ae0b7"}}},"id":"a514d9bb-8862-4c81-b82e-dbde66abeb77","savedPayload":{"position":{"x":18311.02848924466,"y":25580.617356340503},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Objects","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 0,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Objects","layers":[{"type":"Layer","name":"Episodes","config":"{\n \"status\": \"on\",\n \"showPanels\": false\n}","id":"17c8f568-4716-4a19-a607-689b78a83ef9","savedPayload":{"position":{"x":16115.39648009967,"y":25985.505720817862},"targetPosition":{"x":16420.303357177294,"y":25587.954983541822},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episodes","id":"73dff61a-7b05-4ca6-b963-99d6c578e9ba"}}},{"type":"Layer","name":"Strategies","config":"{ \n\"status\": \"off\"\n}","id":"86978570-76c1-4780-a91d-4e72e88ef817","savedPayload":{"position":{"x":15957.823183600161,"y":25779.358465524216},"targetPosition":{"x":16420.303357177294,"y":25587.954983541822},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Strategies","id":"a9c454c8-9075-4dcf-bfe9-ebd0c1658049"}}}],"layerFolders":[{"type":"Layer Folder","name":"Orders","layers":[{"type":"Layer","name":"Market Buy Orders","config":"{ \n\"status\": \"off\"\n}","id":"653e6b00-bda3-4662-a2bd-934212e884d1","savedPayload":{"position":{"x":15579.86442305616,"y":25885.63691973226},"targetPosition":{"x":15924.454225865862,"y":25522.974911703473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Buy Orders","id":"cad1eecc-e897-4086-b42c-fcfd843c04cc"}}},{"type":"Layer","name":"Market Sell Orders","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"2887f930-5d79-42ff-ab1d-7d5cdc6b47da","savedPayload":{"position":{"x":15432.506269267476,"y":25613.627316851438},"targetPosition":{"x":15924.454225865862,"y":25522.974911703473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Sell Orders","id":"fdf22e85-7071-4847-bdba-e3fb43a616ed"}}},{"type":"Layer","name":"Limit Buy Orders","config":"{\n \"status\": \"on\",\n \"showPanels\": false\n}","id":"3040a2f6-0b1c-4ed3-a816-39c916465c9a","savedPayload":{"position":{"x":15473.387997903394,"y":25308.558987165365},"targetPosition":{"x":15924.454225865862,"y":25522.974911703473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Buy Orders","id":"d2b1ab31-d8a1-422b-a717-33ee7df9b07b"}}},{"type":"Layer","name":"Limit Sell Orders","config":"{\n \"status\": \"on\",\n \"showPanels\": false\n}","id":"a59ef70f-534f-410b-99ef-3a700d2ca82a","savedPayload":{"position":{"x":15650.72702979423,"y":25101.764675763054},"targetPosition":{"x":15924.454225865862,"y":25522.974911703473},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Sell Orders","id":"3b5a12db-b969-4400-8b9d-afb9b7b81642"}}}],"layerFolders":[],"id":"334a2964-17df-4237-a302-962416655896","savedPayload":{"position":{"x":15924.454225865862,"y":25522.974911703473},"targetPosition":{"x":16420.303357177294,"y":25587.954983541822},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Stages","layers":[{"type":"Layer","name":"Trigger Stages","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"a6b1a2c5-ca70-42b9-932f-2ff00aff2524","savedPayload":{"position":{"x":15544.017678857432,"y":25425.462084851635},"targetPosition":{"x":16023.52653783795,"y":25283.3082730222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trigger Stages","id":"9fc29be1-9393-4933-95d3-bebddd73c05e"}}},{"type":"Layer","name":"Open Stages","config":"{ \n\"status\": \"off\"\n}","id":"663ddaf7-784f-4baa-8f69-3ed0ef5cd685","savedPayload":{"position":{"x":15550.823311983959,"y":25116.30607909466},"targetPosition":{"x":16023.52653783795,"y":25283.3082730222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Open Stages","id":"b555388f-db93-4db1-91be-7772550afa70"}}},{"type":"Layer","name":"Manage Stages","config":"{ \n\"status\": \"off\"\n}","id":"9a4be770-082c-4d0f-a747-0b74d792e76f","savedPayload":{"position":{"x":15728.277795953174,"y":24877.547726723427},"targetPosition":{"x":16023.52653783795,"y":25283.3082730222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Manage Stages","id":"41953904-e48c-4176-bf0f-09d133bc444c"}}},{"type":"Layer","name":"Close Stages","config":"{ \n\"status\": \"off\"\n}","id":"efb9d388-a679-49b2-b792-1b8258a489d6","savedPayload":{"position":{"x":16036.125039599678,"y":24790.208940178803},"targetPosition":{"x":16023.52653783795,"y":25283.3082730222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Close Stages","id":"47b4553c-7f2e-438c-9f4b-9ba30e943a6c"}}}],"layerFolders":[],"id":"eea75e9a-a735-4db8-9eea-cf2c4e4119e3","savedPayload":{"position":{"x":16023.52653783795,"y":25283.3082730222},"targetPosition":{"x":16420.303357177294,"y":25587.954983541822},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Position","layers":[{"type":"Layer","name":"Positions","config":"{ \n\"status\": \"off\"\n}","id":"bb0ea641-23a7-48d0-a70d-f3314722f129","savedPayload":{"position":{"x":15769.085211279895,"y":25043.34382759041},"targetPosition":{"x":16229.296572394282,"y":25126.066853588283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Positions","id":"6e49b57f-8c94-410f-985b-82c126155b11"}}},{"type":"Layer","name":"Position Base Asset","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"fa1cf76f-30a6-4cfd-ba4f-8511afca64b8","savedPayload":{"position":{"x":15844.85911518537,"y":24815.579664839803},"targetPosition":{"x":16229.296572394282,"y":25126.066853588283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Position Base Asset","id":"ae8fa9a5-95b6-4769-8ade-f9854e6855ba"}}},{"type":"Layer","name":"Position Quoted Asset","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"bf7d5c92-8894-4040-8d2f-3f5cdec443af","savedPayload":{"position":{"x":16038.287615627753,"y":24659.155800255463},"targetPosition":{"x":16229.296572394282,"y":25126.066853588283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Position Quoted Asset","id":"9e9b19ee-9c51-4586-b74d-d2880f13f71f"}}},{"type":"Layer","name":"Stop Loss","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"125c9155-a747-4ac4-9d9f-1b93a4ae8d17","savedPayload":{"position":{"x":16294.541437710524,"y":24629.72000224595},"targetPosition":{"x":16229.296572394282,"y":25126.066853588283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Stop Loss","id":"01491591-0462-453c-91e0-6da6f554a729"}}},{"type":"Layer","name":"Take Profit","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"3745d5cd-a2be-43ed-b5df-d05c328f8665","savedPayload":{"position":{"x":16532.917386265202,"y":24729.236040998087},"targetPosition":{"x":16229.296572394282,"y":25126.066853588283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Take Profit","id":"719dd8a6-58ab-41c6-9693-9b67c12232d2"}}}],"layerFolders":[],"id":"9854e8b2-d863-42f3-afd5-416d5e2c548e","savedPayload":{"position":{"x":16229.296572394282,"y":25126.066853588283},"targetPosition":{"x":16420.303357177294,"y":25587.954983541822},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6e31ae33-68d1-4dca-8b29-6e59a2a4448e","savedPayload":{"position":{"x":16420.303357177294,"y":25587.954983541822},"targetPosition":{"x":16915.0166511096,"y":25653.393625303714},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8c851b59-3105-460c-bb4b-cb4944db1049","savedPayload":{"position":{"x":16915.0166511096,"y":25653.393625303714},"targetPosition":{"x":17409.9116821377,"y":25718.509455722615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"be53f7bc-6c26-4fd7-a0d0-96b965bbf655","savedPayload":{"position":{"x":17409.9116821377,"y":25718.509455722615},"targetPosition":{"x":17905.521538239824,"y":25783.587984353617},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":450,"y":80},"width":150,"height":40,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"13a2b4f9-2c05-49b2-b42c-32ffa71ae0b7"}}},"id":"43eeb152-b0b8-468d-84d1-7d03fd636387","savedPayload":{"position":{"x":18303.37277871924,"y":25463.81378514373},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"499eac86-6c40-4362-a36a-5f2002081866","savedPayload":{"position":{"x":18600.806237131383,"y":25502.971642809745},"targetPosition":{"x":18750.806237131383,"y":25243.164021674413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":585,"y":-155},"width":240,"height":113.625,"radius":0},"referenceParent":{"type":"Backtesting Session","name":"Lightning Strike","id":"ce648922-fef2-44e3-8d76-2bd7ab72a29f"}}}],"id":"885265c2-ebb1-4283-a617-34a88780276d","savedPayload":{"position":{"x":18750.806237131383,"y":25243.164021674413},"targetPosition":{"x":18900.806237131383,"y":24983.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Testing Environment","name":"New Testing Environment","id":"5882d8a8-345b-4188-b1c1-797e9ff805d9"}}},{"type":"Dashboard","name":"Production Environment My Computer","timeMachines":[{"type":"Time Machine","name":"Lightning Strike Live Trading Session My Computer","config":"{}","timeScale":{"type":"Time Scale","name":"New Time Scale","config":"{\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"fromDate\": \"2020-10-06T17:09:32.085Z\",\n \"toDate\": \"2020-10-06T21:09:32.085Z\"\n}","id":"708c5a9f-a995-4210-aaaf-0794782f0e9e","savedPayload":{"position":{"x":18303.37277871924,"y":24502.89901593443},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rateScale":{"type":"Rate Scale","name":"New Rate Scale","config":"{\n \"autoMinScale\": true,\n \"autoMaxScale\": true,\n \"minValue\": 10419.75,\n \"maxValue\": 10844.37\n}","id":"ee3f6af0-8649-489b-9168-b4f16d2f5a78","savedPayload":{"position":{"x":18311.02848924466,"y":24386.095444737657},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeFrameScale":{"type":"Time Frame Scale","name":"New Time Frame Scale","config":"{\n \"value\": \"01-min\",\n \"autoMinScale\": false,\n \"autoMaxScale\": true,\n \"fromDate\": \"2020-10-05T09:53:58.939Z\",\n \"toDate\": \"2020-10-05T13:53:58.939Z\"\n}","id":"480f9696-76df-4026-a435-7bf364c08056","savedPayload":{"position":{"x":18362.80023504401,"y":24281.112729565797},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timelineCharts":[{"type":"Timeline Chart","name":"New Data Mine Products","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 4,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Candles Volumes","layers":[{"type":"Layer","name":"Candles","config":"{\n \"status\": \"on\",\n \"showPanels\": false\n}","id":"e3cbbcbe-c938-4669-b670-c317476e0a3b","savedPayload":{"position":{"x":17330.282280946285,"y":23355.185090627896},"targetPosition":{"x":17730.615945713467,"y":23355.800511833073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Candles","id":"b9c30464-73e5-4f5c-b422-9ba1a02b78ab"}}},{"type":"Layer","name":"Volumes","config":"{ \n\"status\": \"off\"\n}","id":"385a5f98-118a-43fd-b019-54e825d1f4ae","savedPayload":{"position":{"x":17530.242023030805,"y":23008.82762508108},"targetPosition":{"x":17730.615945713467,"y":23355.800511833073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Volumes","id":"07c11481-7dbd-477d-8bf7-79212542a6aa"}}}],"layerFolders":[],"id":"6848a114-9979-41dd-8d95-3a899679ba08","savedPayload":{"position":{"x":17730.615945713467,"y":23355.800511833073},"targetPosition":{"x":18076.764681458488,"y":23555.35773780234},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Resistances and Supports","layers":[{"type":"Layer","name":"Resistances","config":"{ \n\"status\": \"off\"\n}","id":"0cf13cfa-2a37-4691-902c-513ab5780da8","savedPayload":{"position":{"x":17876.760168957182,"y":22808.70834871907},"targetPosition":{"x":18076.97910230742,"y":23155.764394445654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Resistances","id":"a1669770-1bbe-40f7-acb3-ded15272935f"}}},{"type":"Layer","name":"Supports","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"d9245f0b-54e8-44b1-94bd-56c7048eb5c1","savedPayload":{"position":{"x":18276.505496583897,"y":22808.73608811249},"targetPosition":{"x":18076.97910230742,"y":23155.764394445654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Supports","id":"64899503-b618-493a-ba94-bfad2051a611"}}}],"layerFolders":[],"id":"20bd60bb-917b-4a0f-acc5-b019d1c3bd81","savedPayload":{"position":{"x":18076.97910230742,"y":23155.764394445654},"targetPosition":{"x":18076.764681458488,"y":23555.35773780234},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4cbbc012-c91e-4acd-a8d2-feb149e728a0","savedPayload":{"position":{"x":18076.764681458488,"y":23555.35773780234},"targetPosition":{"x":18301.331767523672,"y":23944.42452474204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":0,"y":80},"width":150,"height":330,"radius":0},"referenceParent":{"type":"Data Mine Products","name":"Masters","id":"d37d8bf1-be3b-49ac-805b-0ddb3944e6a0"}}},"id":"bb7afb85-32ea-4471-8400-615a34fc126f","savedPayload":{"position":{"x":18450.806237131383,"y":24203.93353713308},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Trading Engine","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 4,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Trading Engine","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Episode","layers":[{"type":"Layer","name":"Episode Counters","config":"{ \n\"status\": \"off\"\n}","id":"05da2270-0016-4d22-89d8-b77cd14008a9","savedPayload":{"position":{"x":12562.806237131383,"y":25199.35640053908},"targetPosition":{"x":12653.806237131383,"y":25251.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Counters","id":"dc6cc4ef-4bd7-4837-8442-919462314db3"}}},{"type":"Layer","name":"Episode Statistics","config":"{ \n\"status\": \"off\"\n}","id":"a4165460-e0a7-4a0d-b506-15e756dfac93","savedPayload":{"position":{"x":12557.806237131383,"y":25188.35640053908},"targetPosition":{"x":12653.806237131383,"y":25251.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Statistics","id":"776ed571-8321-47aa-8cfb-c8ebf565dace"}}},{"type":"Layer","name":"Episode Candle","config":"{ \n\"status\": \"off\"\n}","id":"371e0cd7-af57-4469-836d-45c4e6059760","savedPayload":{"position":{"x":12655.806237131383,"y":25216.35640053908},"targetPosition":{"x":12653.806237131383,"y":25251.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Candle","id":"ded93703-a48d-44be-9703-878c28f949cd"}}},{"type":"Layer","name":"Episode Balances","config":"{ \n\"status\": \"off\"\n}","id":"5ed81442-77cc-4101-b1ff-8c7cbac57d4f","savedPayload":{"position":{"x":12583.806237131383,"y":25197.35640053908},"targetPosition":{"x":12653.806237131383,"y":25251.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Balances","id":"e702f1dd-1c91-4d05-ac55-19db363f5f3a"}}},{"type":"Layer","name":"Distance To Event","config":"{ \n\"status\": \"off\"\n}","id":"5e046a6a-4f38-4b44-bae1-1aed6d4d3753","savedPayload":{"position":{"x":12651.806237131383,"y":25318.35640053908},"targetPosition":{"x":12653.806237131383,"y":25251.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Distance To Event","id":"b8abea53-8221-47bd-91a2-cdcdd2ad1027"}}},{"type":"Layer","name":"Episode Base Asset","config":"{ \n\"status\": \"off\"\n}","id":"b78a78ec-dca3-499b-881a-d2e3a82bf116","savedPayload":{"position":{"x":12668.806237131383,"y":25233.35640053908},"targetPosition":{"x":12653.806237131383,"y":25251.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Base Asset","id":"18bcbd26-c237-4acb-96f4-d9c95d833a42"}}},{"type":"Layer","name":"Episode Quoted Asset","config":"{ \n\"status\": \"off\"\n}","id":"bb95c2a9-6f82-4a2a-9105-17b8f6c3c51a","savedPayload":{"position":{"x":12702.806237131383,"y":25219.35640053908},"targetPosition":{"x":12653.806237131383,"y":25251.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Quoted Asset","id":"c444f4b5-fa67-4c21-afa8-1f998da7a2a2"}}},{"type":"Layer","name":"Current Episode","config":"{ \n\"status\": \"off\"\n}","id":"4ad5b6f0-f4a9-4aab-aedf-9175647498b0","savedPayload":{"position":{"x":12659.806237131383,"y":25207.35640053908},"targetPosition":{"x":12653.806237131383,"y":25251.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Episode","id":"057570bd-69d4-4f3c-b0d4-94ee32f61e65"}}}],"layerFolders":[],"id":"7216b7a3-1371-4f07-a395-74c547579ab4","savedPayload":{"position":{"x":12653.806237131383,"y":25251.35640053908},"targetPosition":{"x":12701.806237131383,"y":25230.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Strategy","layers":[{"type":"Layer","name":"Current Strategy","config":"{ \n\"status\": \"off\"\n}","id":"d2c0a1c8-70ef-4f7b-835a-a99ac6a5837a","savedPayload":{"position":{"x":12548.806237131383,"y":25269.35640053908},"targetPosition":{"x":12643.806237131383,"y":25282.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Strategy","id":"88dd680c-a81b-48ae-96ba-838281abfa35"}}},{"type":"Layer","name":"Last Strategy","config":"{ \n\"status\": \"off\"\n}","id":"076af680-2114-480b-a979-f7eea4966d7b","savedPayload":{"position":{"x":12640.806237131383,"y":25238.35640053908},"targetPosition":{"x":12643.806237131383,"y":25282.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Strategy","id":"24af3ffc-6a52-4ee3-a30b-f068aa5b2062"}}}],"layerFolders":[],"id":"56112c60-50dd-4d19-89aa-1d46005f194f","savedPayload":{"position":{"x":12643.806237131383,"y":25282.35640053908},"targetPosition":{"x":12701.806237131383,"y":25230.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Position","layers":[{"type":"Layer","name":"Current Position","config":"{ \n\"status\": \"off\"\n}","id":"bb93ebef-f7ee-42c2-93b8-fe46eba0874a","savedPayload":{"position":{"x":12762.806237131383,"y":25220.35640053908},"targetPosition":{"x":12765.806237131383,"y":25191.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Position","id":"25280962-e4e5-40df-9e42-9edfbad6f6d3"}}},{"type":"Layer","name":"Last Position","config":"{ \n\"status\": \"off\"\n}","id":"595e7228-5676-4f5c-82bf-baa43e9325ab","savedPayload":{"position":{"x":12826.806237131383,"y":25179.35640053908},"targetPosition":{"x":12765.806237131383,"y":25191.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Position","id":"7a95a249-132d-4e0f-9182-cc7af45cacea"}}}],"layerFolders":[],"id":"9f594c8a-87fe-4c4b-b550-493405fe0b2d","savedPayload":{"position":{"x":12765.806237131383,"y":25191.35640053908},"targetPosition":{"x":12701.806237131383,"y":25230.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Stages","layers":[{"type":"Layer","name":"Open Stage","config":"{ \n\"status\": \"off\"\n}","id":"3ce44f39-8ac9-4984-ad9d-daa53ed3f707","savedPayload":{"position":{"x":12715.806237131383,"y":25087.35640053908},"targetPosition":{"x":12760.806237131383,"y":25157.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Open Stage","id":"c9c4bca7-f918-4aa8-b538-ffe8aa31d5c2"}}},{"type":"Layer","name":"Close Stage","config":"{ \n\"status\": \"off\"\n}","id":"a7d5f0aa-8259-4271-aa95-7b351aa9b9c0","savedPayload":{"position":{"x":12675.806237131383,"y":25087.35640053908},"targetPosition":{"x":12760.806237131383,"y":25157.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Close Stage","id":"4201d7c0-43aa-4ac0-bd7e-ab26b688aa2d"}}},{"type":"Layer","name":"Trigger Stage","config":"{ \n\"status\": \"off\"\n}","id":"9a9f6580-ab06-4005-9274-98f7e9a491e5","savedPayload":{"position":{"x":12725.806237131383,"y":25124.35640053908},"targetPosition":{"x":12760.806237131383,"y":25157.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trigger Stage","id":"4fe24ddc-973f-4a5d-bf8a-d77090486125"}}},{"type":"Layer","name":"Manage Stage","config":"{ \n\"status\": \"off\"\n}","id":"f60905ad-b491-45ee-9768-8087df9aef78","savedPayload":{"position":{"x":12804.806237131383,"y":25256.35640053908},"targetPosition":{"x":12760.806237131383,"y":25157.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Manage Stage","id":"e2f3d69e-2f0a-4463-8e74-4f0768c4fb70"}}}],"layerFolders":[],"id":"5389c77c-63a7-4495-9cc5-cdc0c70b76e6","savedPayload":{"position":{"x":12760.806237131383,"y":25157.35640053908},"targetPosition":{"x":12701.806237131383,"y":25230.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Orders","layers":[{"type":"Layer","name":"Market Buy Orders","config":"{ \n\"status\": \"off\"\n}","id":"f602d8ef-b6a6-423f-a772-9a4b5d5b9c43","savedPayload":{"position":{"x":12760.806237131383,"y":25246.35640053908},"targetPosition":{"x":12775.806237131383,"y":25241.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Buy Orders","id":"0e0b284a-5014-4ab0-ada0-4322c14a099e"}}},{"type":"Layer","name":"Market Sell Orders","config":"{ \n\"status\": \"off\"\n}","id":"0a0dd259-5704-46de-900f-5d1dc24af4f6","savedPayload":{"position":{"x":12826.806237131383,"y":25149.35640053908},"targetPosition":{"x":12775.806237131383,"y":25241.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Sell Orders","id":"95b3db7a-9b62-4eab-a76b-4af8794da5a6"}}},{"type":"Layer","name":"Limit Buy Orders","config":"{ \n\"status\": \"off\"\n}","id":"de6f83f6-a6d9-45c7-93fd-e2c72238040e","savedPayload":{"position":{"x":12748.806237131383,"y":25232.35640053908},"targetPosition":{"x":12775.806237131383,"y":25241.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Buy Orders","id":"1c6eed42-23aa-4174-aade-be29222acb8c"}}},{"type":"Layer","name":"Limit Sell Orders","config":"{ \n\"status\": \"off\"\n}","id":"ac0f1c2a-5eed-45ee-84da-3d24e455abd3","savedPayload":{"position":{"x":12717.806237131383,"y":25162.35640053908},"targetPosition":{"x":12775.806237131383,"y":25241.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Sell Orders","id":"a2f44cd5-090d-42e5-9eb7-73e732310e85"}}},{"type":"Layer","name":"Last Market Order","config":"{ \n\"status\": \"off\"\n}","id":"89def699-c33f-4344-a045-babca1f545ee","savedPayload":{"position":{"x":12816.806237131383,"y":25251.35640053908},"targetPosition":{"x":12775.806237131383,"y":25241.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Market Order","id":"8c24d559-ba52-46fe-81b4-8a6bf50c74b6"}}},{"type":"Layer","name":"Last Limit Order","config":"{ \n\"status\": \"off\"\n}","id":"a7e04514-bf32-4021-822c-47af56c55a76","savedPayload":{"position":{"x":12842.806237131383,"y":25279.35640053908},"targetPosition":{"x":12775.806237131383,"y":25241.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Limit Order","id":"c451c035-5ece-451f-836f-b5334cb3f967"}}}],"layerFolders":[],"id":"a302255a-cf35-4801-ae3c-95cb47ae9613","savedPayload":{"position":{"x":12775.806237131383,"y":25241.35640053908},"targetPosition":{"x":12701.806237131383,"y":25230.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1857004e-2f12-4287-8847-173043d8d2ab","savedPayload":{"position":{"x":12701.806237131383,"y":25230.35640053908},"targetPosition":{"x":12718.806237131383,"y":25185.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"23ad1663-d4da-4ece-8964-30012894ae5b","savedPayload":{"position":{"x":12718.806237131383,"y":25185.35640053908},"targetPosition":{"x":12786.806237131383,"y":25096.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ddb3fafa-58f4-46c1-9b24-61efe3ec13a6","savedPayload":{"position":{"x":12786.806237131383,"y":25096.35640053908},"targetPosition":{"x":12784.806237131383,"y":25136.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":150,"y":80},"width":150,"height":330,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"aa2b0766-a3d5-47e1-acd8-7345af564388"}}},"id":"788a0207-20ea-411c-862d-b1b13db4e09f","savedPayload":{"position":{"x":18561.64837946537,"y":24166.307699856272},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Trading System","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 4,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Trading System","layers":[{"type":"Layer","name":"Trading System Errors","config":"{ \n\"status\": \"off\"\n}","id":"2a1db97f-553d-47ea-b452-c90ba9af9e79","savedPayload":{"position":{"x":12580.806237131383,"y":25081.35640053908},"targetPosition":{"x":12648.806237131383,"y":25126.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Errors","id":"ba606f99-2ae5-44dc-b7db-399e657830e1"}}},{"type":"Layer","name":"Trading System Highlights","config":"{ \n\"status\": \"off\"\n}","id":"3c1c9d45-c482-4374-92ad-c3c28bfb7679","savedPayload":{"position":{"x":12608.806237131383,"y":25222.35640053908},"targetPosition":{"x":12648.806237131383,"y":25126.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Highlights","id":"2d20d8ae-4afa-4e92-8de2-89e66e5efdee"}}},{"type":"Layer","name":"Trading System Values","config":"{ \n\"status\": \"off\"\n}","id":"a560c8af-91cd-4aea-ab9f-01ed60892abb","savedPayload":{"position":{"x":12678.806237131383,"y":25045.35640053908},"targetPosition":{"x":12648.806237131383,"y":25126.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Values","id":"f8a6219c-c7b4-410a-8aa4-1910583f51c8"}}},{"type":"Layer","name":"Trading System Status","config":"{ \n\"status\": \"off\"\n}","id":"40debb84-1e2e-452b-99ff-95ff3994fb29","savedPayload":{"position":{"x":12660.806237131383,"y":25104.35640053908},"targetPosition":{"x":12648.806237131383,"y":25126.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Status","id":"dcff6f56-7646-4505-aa93-6682a110f3f2"}}},{"type":"Layer","name":"Trading System Progress","config":"{ \n\"status\": \"off\"\n}","id":"5785c4fb-879d-4b89-aab8-9ec37d5f561b","savedPayload":{"position":{"x":12578.806237131383,"y":25058.35640053908},"targetPosition":{"x":12648.806237131383,"y":25126.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Progress","id":"0a9dff80-e462-4110-b988-11ce57bbbcd5"}}},{"type":"Layer","name":"Trading System Running","config":"{ \n\"status\": \"off\"\n}","id":"74d8c1f7-8dd5-4e2c-b3cf-7f7bcfe7143c","savedPayload":{"position":{"x":12680.806237131383,"y":25042.35640053908},"targetPosition":{"x":12648.806237131383,"y":25126.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Running","id":"c7e05ad0-7d4a-4ffb-9aee-191511f85ee7"}}},{"type":"Layer","name":"Trading System Announcements","config":"{ \n\"status\": \"off\"\n}","id":"4476fcb1-3898-440f-b69e-afba06be912a","savedPayload":{"position":{"x":12740.806237131383,"y":25084.35640053908},"targetPosition":{"x":12648.806237131383,"y":25126.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Announcements","id":"e4811789-fd94-49b0-9917-8d9d434f997d"}}},{"type":"Layer","name":"Trading System Warnings","config":"{ \n\"status\": \"off\"\n}","id":"43fe3418-9b3c-4cd9-b9a9-3994851e0b65","savedPayload":{"position":{"x":12648.806237131383,"y":25054.35640053908},"targetPosition":{"x":12648.806237131383,"y":25126.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Warnings","id":"029ff3a7-9c65-425f-855a-882df68fa05b"}}},{"type":"Layer","name":"Trading System Infos","config":"{ \n\"status\": \"off\"\n}","id":"de34ba07-61b5-4785-bcf5-ff5b81d63e48","savedPayload":{"position":{"x":12565.806237131383,"y":25058.35640053908},"targetPosition":{"x":12648.806237131383,"y":25126.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Infos","id":"0f47adaf-25a0-431f-b15b-0fbf44069b38"}}}],"layerFolders":[],"id":"36e02794-0943-4520-af39-2f274050610c","savedPayload":{"position":{"x":12648.806237131383,"y":25126.35640053908},"targetPosition":{"x":12703.806237131383,"y":25084.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1ccfa34c-ca21-4ac3-be74-30f85549bf5e","savedPayload":{"position":{"x":12703.806237131383,"y":25084.35640053908},"targetPosition":{"x":12677.806237131383,"y":25136.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c1c4bd7c-b755-461a-a5ed-b59804b4c280","savedPayload":{"position":{"x":12677.806237131383,"y":25136.35640053908},"targetPosition":{"x":12715.806237131383,"y":25039.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":300,"y":80},"width":150,"height":330,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"aa2b0766-a3d5-47e1-acd8-7345af564388"}}},"id":"ed6507e7-437f-4740-a897-11dc4da4d20a","savedPayload":{"position":{"x":18678.45195066214,"y":24173.963410381693},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Objects","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 4,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Objects","layers":[{"type":"Layer","name":"Episodes","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"76852fcc-d524-43b8-a0b1-8645c2fed91e","savedPayload":{"position":{"x":13048.806237131383,"y":25113.35640053908},"targetPosition":{"x":13025.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episodes","id":"c6fd6067-4b57-4860-ae3b-5668e4444490"}}},{"type":"Layer","name":"Strategies","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"43b43957-23d5-401b-b3e0-391c430b72c9","savedPayload":{"position":{"x":13043.806237131383,"y":25078.35640053908},"targetPosition":{"x":13025.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Strategies","id":"60f88096-7343-42d1-afad-83fecd22fb44"}}}],"layerFolders":[{"type":"Layer Folder","name":"Orders","layers":[{"type":"Layer","name":"Market Buy Orders","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"aaff7fb6-bd83-48f2-819a-a1dd674876a7","savedPayload":{"position":{"x":12917.806237131383,"y":24969.35640053908},"targetPosition":{"x":12987.806237131383,"y":24987.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Buy Orders","id":"9f939086-c934-4924-8353-776707a7cf10"}}},{"type":"Layer","name":"Market Sell Orders","config":"{ \n\"status\": \"off\"\n}","id":"bec241f4-5a8f-4fe7-9620-76d92f64da9c","savedPayload":{"position":{"x":13043.806237131383,"y":25078.35640053908},"targetPosition":{"x":12987.806237131383,"y":24987.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Sell Orders","id":"da5f279e-d387-43cf-80f4-fc114b9ac906"}}},{"type":"Layer","name":"Limit Buy Orders","config":"{\n \"status\": \"on\",\n \"showPanels\": false\n}","id":"2d03d083-7199-4bf2-8e8a-4c96f23a16a8","savedPayload":{"position":{"x":13073.806237131383,"y":25020.35640053908},"targetPosition":{"x":12987.806237131383,"y":24987.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Buy Orders","id":"367646bb-839a-4071-8305-6d26a647585d"}}},{"type":"Layer","name":"Limit Sell Orders","config":"{\n \"status\": \"on\",\n \"showPanels\": false\n}","id":"cb5de20d-e440-4bdb-a074-c408740e9022","savedPayload":{"position":{"x":12969.806237131383,"y":24975.35640053908},"targetPosition":{"x":12987.806237131383,"y":24987.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Sell Orders","id":"0b2fc73a-9635-40b2-98d8-0c79c69175a9"}}}],"layerFolders":[],"id":"a8409c29-905d-495f-bbca-3d0eef14f91c","savedPayload":{"position":{"x":12987.806237131383,"y":24987.35640053908},"targetPosition":{"x":13025.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Stages","layers":[{"type":"Layer","name":"Trigger Stages","config":"{ \n\"status\": \"off\"\n}","id":"04d1a0a8-1419-4fbd-9c28-eef6cfefd5d4","savedPayload":{"position":{"x":12922.806237131383,"y":25051.35640053908},"targetPosition":{"x":13018.806237131383,"y":25092.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trigger Stages","id":"7fe8c58f-9cad-47c9-ba4e-d66bff094dcf"}}},{"type":"Layer","name":"Open Stages","config":"{ \n\"status\": \"off\"\n}","id":"74cda6e5-4fe2-41ef-a611-2c0374780ad5","savedPayload":{"position":{"x":13001.806237131383,"y":25002.35640053908},"targetPosition":{"x":13018.806237131383,"y":25092.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Open Stages","id":"41f17745-1819-4681-8a2b-9bdda3cd67c4"}}},{"type":"Layer","name":"Manage Stages","config":"{ \n\"status\": \"off\"\n}","id":"fb041378-9424-4709-a9ed-79426fcdfe68","savedPayload":{"position":{"x":13059.806237131383,"y":25160.35640053908},"targetPosition":{"x":13018.806237131383,"y":25092.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Manage Stages","id":"e89c8bfd-fac9-4aff-afc0-3a89c1dc2710"}}},{"type":"Layer","name":"Close Stages","config":"{ \n\"status\": \"off\"\n}","id":"6c4ac373-c5ff-4bfd-8047-4caaba6b7788","savedPayload":{"position":{"x":12997.806237131383,"y":25084.35640053908},"targetPosition":{"x":13018.806237131383,"y":25092.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Close Stages","id":"bc2c6503-e935-4ad7-a76a-89b062d41e91"}}}],"layerFolders":[],"id":"4b2ee5fd-d4f7-4a7c-bb6e-5e4c633b1b9f","savedPayload":{"position":{"x":13018.806237131383,"y":25092.35640053908},"targetPosition":{"x":13025.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Position","layers":[{"type":"Layer","name":"Positions","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"4f77d851-9e93-4e85-9cfb-ec2ab200d79b","savedPayload":{"position":{"x":12919.806237131383,"y":25149.35640053908},"targetPosition":{"x":13010.806237131383,"y":25117.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Positions","id":"3ed594a0-8452-4bd8-9eaa-37cd83a45b90"}}},{"type":"Layer","name":"Position Base Asset","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"0213c668-a6d8-4737-ae57-d59d62b8f715","savedPayload":{"position":{"x":13105.806237131383,"y":25093.35640053908},"targetPosition":{"x":13010.806237131383,"y":25117.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Position Base Asset","id":"88997c97-e77f-490e-9eb5-c7531beec132"}}},{"type":"Layer","name":"Position Quoted Asset","config":"{ \n\"status\": \"off\"\n}","id":"f07986eb-010f-46cd-803d-dcac674adb80","savedPayload":{"position":{"x":13083.806237131383,"y":25172.35640053908},"targetPosition":{"x":13010.806237131383,"y":25117.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Position Quoted Asset","id":"b4772611-d5d0-4fbd-b689-d42de3c045d4"}}},{"type":"Layer","name":"Stop Loss","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"3f8f8fa3-2149-42d6-92e9-214354cfa186","savedPayload":{"position":{"x":12968.806237131383,"y":25080.35640053908},"targetPosition":{"x":13010.806237131383,"y":25117.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Stop Loss","id":"9b064960-3829-441f-b955-334fb8324a53"}}},{"type":"Layer","name":"Take Profit","config":"{ \n\"status\": \"off\"\n}","id":"65ec58e6-2c00-41d4-a145-e6b7e7178bf0","savedPayload":{"position":{"x":13081.806237131383,"y":25089.35640053908},"targetPosition":{"x":13010.806237131383,"y":25117.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Take Profit","id":"cbcc817b-4333-4c80-addc-e2a0ee0845c1"}}}],"layerFolders":[],"id":"66e5c011-9163-422d-863f-115135f832ad","savedPayload":{"position":{"x":13010.806237131383,"y":25117.35640053908},"targetPosition":{"x":13025.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"91b8a8e8-823d-4746-967f-c8d85a1ad3ad","savedPayload":{"position":{"x":13025.806237131383,"y":25029.35640053908},"targetPosition":{"x":12929.806237131383,"y":25064.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dcaccce7-d98d-49b3-b3b6-e83495b688c3","savedPayload":{"position":{"x":12929.806237131383,"y":25064.35640053908},"targetPosition":{"x":12861.806237131383,"y":25132.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e328f755-80a6-4799-8f12-002a2ddb983d","savedPayload":{"position":{"x":12861.806237131383,"y":25132.35640053908},"targetPosition":{"x":12827.806237131383,"y":25061.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":450,"y":80},"width":150,"height":330,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"aa2b0766-a3d5-47e1-acd8-7345af564388"}}},"id":"93708a53-ad8d-48e0-9728-b87ea96d1545","savedPayload":{"position":{"x":18783.434665834,"y":24225.735156181043},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cc1fcc1e-81de-4011-8e59-c37ebe32ecf7","savedPayload":{"position":{"x":18600.806237131383,"y":24463.741158268414},"targetPosition":{"x":18750.806237131383,"y":24723.548779403747},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":585,"y":65},"width":240,"height":113.625,"radius":0},"referenceParent":{"type":"Live Trading Session","name":"Lightning Strike","id":"1ce123af-467f-4295-b317-dba8729faf25"}}}],"id":"abc16155-6614-4397-bf7e-ab4a0ff7c1a4","savedPayload":{"position":{"x":18750.806237131383,"y":24723.548779403747},"targetPosition":{"x":18900.806237131383,"y":24983.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Production Environment","name":"New Production Environment","id":"65a40d20-837c-4652-8356-f8054b4e1346"}}}],"id":"21d2ec55-9e56-4652-8e96-c7e451262c36","savedPayload":{"position":{"x":18900.806237131383,"y":24983.35640053908},"targetPosition":{"x":18900.806237131383,"y":24983.35640053908},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"c"}}},{"type":"Plugins","name":"New Plugins","pluginDataMines":{"type":"Plugin Data Mines","name":"New Plugin Data Mines","pluginFiles":[{"type":"Plugin File","name":"Masters","pluginFilePosition":{"type":"Plugin File Position","name":"Masters","id":"d5234bd2-ef4e-4856-a6a0-ce7659653a48","savedPayload":{"position":{"x":18879.35218735615,"y":18688.55301821844},"targetPosition":{"x":31820.67692045767,"y":18678.794324352373},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ecc1a524-de9b-4e73-8874-b99a7ea0402b","savedPayload":{"position":{"x":31820.67692045767,"y":18678.794324352373},"targetPosition":{"x":31320.502678827743,"y":18678.79704693609},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cbc3d9be-5e59-45d8-bb0f-4ec82763691d","savedPayload":{"position":{"x":31327.37828125503,"y":18655.802375894946},"targetPosition":{"x":31027.37828125503,"y":18655.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginTradingMines":{"type":"Plugin Trading Mines","name":"New Plugin Trading Mines","pluginFiles":[{"type":"Plugin File","name":"Masters","pluginFilePosition":{"type":"Plugin File Position","name":"Masters","id":"ad1ce785-858f-4cfc-ba68-108b5e0c54d9","savedPayload":{"position":{"x":24941.217404066585,"y":18714.893045797242},"targetPosition":{"x":31320.45102232534,"y":19544.930491916948},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8a64c00e-4f8c-49bf-b57d-4e2e388bae41","savedPayload":{"position":{"x":31320.45102232534,"y":19544.930491916948},"targetPosition":{"x":31070.415084976332,"y":19111.835158656926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8d881813-3ab9-4e8b-ab5a-48dedab2dd19","savedPayload":{"position":{"x":31177.37828125503,"y":18915.60999703028},"targetPosition":{"x":31027.37828125503,"y":18655.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginTradingSystems":{"type":"Plugin Trading Systems","name":"New Plugin Trading Systems","pluginFiles":[{"type":"Plugin File","name":"Masters-Lightning-Strike","pluginFilePosition":{"type":"Plugin File Position","name":"Masters-Lightning-Strike","id":"37ab4b0d-6bd8-46b6-9778-e193c32669a4","savedPayload":{"position":{"x":31050.365708673427,"y":31068.826468868458},"targetPosition":{"x":30320.47990890508,"y":19544.97425758733},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5fdcecee-8c8f-4e0f-b36b-81e9231970a6","savedPayload":{"position":{"x":30320.47990890508,"y":19544.97425758733},"targetPosition":{"x":30570.439042449398,"y":19111.851515318966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3569d452-c593-4e54-a356-7ff8c6b519f3","savedPayload":{"position":{"x":30877.37828125503,"y":18915.60999703028},"targetPosition":{"x":31027.37828125503,"y":18655.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginTradingEngines":{"type":"Plugin Trading Engines","name":"New Plugin Trading Engines","pluginFiles":[{"type":"Plugin File","name":"Low-Frequency","pluginFilePosition":{"type":"Plugin File Position","name":"Low-Frequency","id":"e117a2a4-09b3-4181-8455-e680de3bdeb3","savedPayload":{"position":{"x":30923.55093774257,"y":24967.049392142086},"targetPosition":{"x":29820.22642897682,"y":18678.80776835817},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e9270d67-4630-4ac9-91ca-1dec4fb5aa38","savedPayload":{"position":{"x":29820.22642897682,"y":18678.80776835817},"targetPosition":{"x":30320.32799443869,"y":18678.805890109317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"87a28762-63d0-45f7-bd39-9dea436d8244","savedPayload":{"position":{"x":30727.37828125503,"y":18655.802375894946},"targetPosition":{"x":31027.37828125503,"y":18655.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginSuperScripts":{"type":"Plugin Super Scripts","name":"New Plugin Super Scripts","pluginFiles":[],"id":"5fd84f39-a051-4533-b7d2-6ce18ea55a9a","savedPayload":{"position":{"x":30877.37828125503,"y":18395.994754759613},"targetPosition":{"x":31027.37828125503,"y":18655.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginTutorials":{"type":"Plugin Tutorials","name":"New Plugin Tutorials","pluginFiles":[],"id":"af3b483a-7a9a-4ca7-b6fe-968b6d4aed7b","savedPayload":{"position":{"x":31177.37828125503,"y":18395.994754759613},"targetPosition":{"x":31027.37828125503,"y":18655.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bfb0b514-3b9f-4e9a-85ca-d0ca714b09f6","savedPayload":{"position":{"x":31027.37828125503,"y":18655.802375894946},"targetPosition":{"x":31027.37828125503,"y":18655.802375894946},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Tutorial","name":"Welcome to Superalgos!","config":"{\n \"title\": \"Congratulations!\",\n \"summary\": \"You are now running Superalgos! Let's get you started! I can't wait to show you around!\",\n \"subTitle\": \"Welcome to Superalgos!\",\n \"gif\": \"\",\n \"image\": \"tutorial\",\n \"definition\": \"I'm an interactive tutorial, the first in a series created to walk you through the basic operation of the system!\",\n \"paragraph1\": \"My goal is to get you started and show you the tools that will help you move around comfortably to discover all the cool things that Superalgos may do for you.\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Please, always click Next to continue!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Nodes & Hierarchies","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"That's Me","config":"{\n \"subTitle\": \"That's Me On the Right!\",\n \"gif\": \"\",\n \"image\": \"tutorial\",\n \"definition\": \"Tutorials are defined within the system, so you may create more of us if you wish! But we'll discuss that God-like power later on... let's focus on the basics first!\",\n \"paragraph1\": \"Superalgos is inherently a visual tool. The system represents information in hierarchical structures of interconnected nodes, represented by icons. What you see on your right is one of these hierarchies—in particular, a ->Tutorial-> hierarchy with a label reading Welcome to Superalgos!\",\n \"callOut\": \"Hover your mouse pointer over the Tutorial node and see what happens!\",\n \"paragraph2\": \"Wow! Cool right? That's a lot of buttons!\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"57f5e946-1289-4508-95f0-dfe5e95a7346","savedPayload":{"position":{"x":19827.94422586581,"y":44379.34807942604},"targetPosition":{"x":19394.24686952025,"y":44629.12069904685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Tutorial","name":"Welcome to Superalgos!","id":"6f36f540-8de9-4458-b2c7-875884121b87"}}},{"type":"Tutorial Step","name":"Expand That Node!","config":"{\n \"subTitle\": \"Expand That Node!\",\n \"gif\": \"\",\n \"image\": \"expand\",\n \"definition\": \"Each node features a menu. The button on the bottom-left expands and collapses the structure of nodes below the current node.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Go ahead and click the expand button!\",\n \"paragraph2\": \"The ->Tutorial-> node has several offspring, and these have several more offspring. That's why it's a hierarchy!\",\n \"note\": \"Structured visual representations of information are at the core of how Superalgos administers the complexity behind flexible and scalable trading operations.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\" \n}","id":"dc75d95f-68d8-44a0-a1d2-d4a12a2fd43f","savedPayload":{"position":{"x":19827.836910533093,"y":44879.16612004278},"targetPosition":{"x":19394.24686952025,"y":44629.12069904685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"892c8d8c-824e-4293-af86-bdb81464c7d6","savedPayload":{"position":{"x":19193.791666666664,"y":44629.094484167515},"targetPosition":{"x":18893.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Start Data Mining","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Let's Go for a Ride!","config":"{\n \"subTitle\": \"Let's Go for a Ride!\",\n \"gif\": \"\",\n \"image\": \"network\",\n \"definition\": \"Before I show you the rest of the menu, let's take a look at another hierarchy: the ->Network->. \",\n \"paragraph1\": \"The Network hierarchy is the control room of the system. This is where you control your ->Data Mining->, ->Testing Environment->, and ->Production Environment->.\",\n \"callOut\": \"Expand the hierarchy and take a look inside!\",\n \"paragraph2\": \"See the nodes I mentioned earlier? Cool! We are here to start your first ever data mining operation. Are you ready?\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"43329093-256d-4bfa-84d1-3eb245287604","savedPayload":{"position":{"x":19720.21583584799,"y":44817.51871719946},"targetPosition":{"x":19247.60747607129,"y":44982.68715039585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Network","name":"My Network","id":"3c165071-7558-4708-9999-8ffe71d346b1"}}},{"type":"Tutorial Step","name":"Ready to Rock?","config":"{\n \"subTitle\": \"Ready to Rock?\",\n \"gif\": \"\",\n \"image\": \"data-mining\",\n \"definition\": \"The ->Data Mining-> node controls all the data mining tasks defined for this ->Network Node->.\",\n \"bulletListIntro\": \"You are about to start the first of the following activities that we'll cover in the next few minutes:\",\n \"bulletArray\": [\n [\n \"1. Run a data mining operation\",\n \" to get data for the BTC/USDT ->Market-> from Binance.\"\n ],\n [\n \"2. Run a ->Backtesting Session->\",\n \" with an existing open-source strategy.\"\n ],\n [\n \"3. Run a ->Live Trading Session->\",\n \" with minimal funds, to test the critical aspects of the system.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"Are you cool with this? Shall we start?\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"d35ce1f2-4963-4add-8998-9bb8995a24e7","savedPayload":{"position":{"x":19745.154299232254,"y":45038.74749944975},"targetPosition":{"x":19247.60747607129,"y":44982.68715039585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Data Mining","name":"New Data Mining","id":"4df1cb4e-b9ca-4f62-bb5f-c7e262aaa22a"}}},{"type":"Tutorial Step","name":"Let's Mine Some Data!","config":"{\n \"subTitle\": \"Let's Mine Some Data!\",\n \"gif\": \"\",\n \"image\": \"run\",\n \"definition\": \"The Run All Exchange Data Tasks button on the top-right corner of the menu runs... well... all ->Exchange Data Tasks->!\",\n \"paragraph1\": \"And that is exactly what we want to do, so...\",\n \"callOut\": \"Select the button on the menu and let's mine!\",\n \"paragraph2\": \"Confirm the request by clicking the button a second time. In about 30 seconds, you should see a status notice below the Data Mining node indicating that 1 out of 1 Exchange Data Tasks node is running.\",\n \"note\": \"Your console app should show something similar to the video on the next step.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"37dc22e6-b981-472c-abd6-a61904b5c46e","savedPayload":{"position":{"x":19671.597224955625,"y":45248.98051675761},"targetPosition":{"x":19247.60747607129,"y":44982.68715039585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Data Mining","name":"New Data Mining","id":"4df1cb4e-b9ca-4f62-bb5f-c7e262aaa22a"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-start-data-mining-console\",\n \"position\": \"Left\",\n \"slider\": \"toTop\"\n}","id":"204754e6-6145-44fd-877f-6373b2c9caa1","savedPayload":{"position":{"x":19514.186830895735,"y":45406.47068480627},"targetPosition":{"x":19247.60747607129,"y":44982.68715039585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"How Are Things Going?","config":"{\n \"subTitle\": \"How Are Things Going?\",\n \"gif\": \"\",\n \"image\": \"sensor-bot-instance\",\n \"definition\": \"I just dragged you deep into the confines of the Data Mining operation. See the progress of the ->Sensor Bot Instance-> to your right!\",\n \"paragraph1\": \"The sensor bot is currently extracting data from the exchange. As soon as she completes the extraction for the defined datetime range something really cool will happen... automatically!\",\n \"callOut\": \"Can you guess what that may be?\",\n \"paragraph2\": \"I won't tell you! You'll find out soon... be patient! It should take no longer than 3 to 5 minutes to extract the data from Binance. Fine! Click Next for a quick hint!\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"bc5ee6e3-62d6-481d-8eb9-5061e93fcf32","savedPayload":{"position":{"x":19304.286765390552,"y":45479.91879950685},"targetPosition":{"x":19247.60747607129,"y":44982.68715039585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","id":"d244c564-4e86-43c7-9796-dc3b6294ec8b"}}},{"type":"Tutorial Step","name":"Candles Volumes in Action","config":"{\n \"subTitle\": \"Candles Volumes in Action\",\n \"gif\": \"\",\n \"image\": \"indicator-bot-instance\",\n \"definition\": \"That's right! Indicators will start working as soon as the sensor bot finishes her job!\",\n \"paragraph1\": \"You're watching the processes of Candles Volumes. She turns the one-minute candles the sensor bot downloads from the exchange into candles for all time frames.\",\n \"callOut\": \"What happens after Candles Volumes finishes?\",\n \"paragraph2\": \"Other bots need Candles Volumes to finish her work so that they may start doing theirs. Imagine a bot needs to calculate a 20-periods Simple Moving Average for all time frames. She needs the ->Data Product-> produced by Candles Volumes as input for the SMA calculation. We call such a need a ->Data Dependency->.\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"c04422c9-b9b5-491d-9d69-7c12c5d48a46","savedPayload":{"position":{"x":19082.187180157685,"y":45449.26162179949},"targetPosition":{"x":19247.60747607129,"y":44982.68715039585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Market","id":"f0ef12ed-f0fd-4b88-8e15-27cf24265a5f"}}}],"tutorialTopics":[],"id":"acb0a041-37aa-49d3-b221-66ca76b7d874","savedPayload":{"position":{"x":19105.923701022628,"y":44841.22651852348},"targetPosition":{"x":18893.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Control Basics","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Moving Around","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Click & Drag Baby!","config":"{\n \"subTitle\": \"Click & Drag Baby!\",\n \"gif\": \"\",\n \"image\": \"hand-drag\",\n \"definition\": \"I want to show you something while the data mining operation progresses. I'll teach you how to walk... in two seconds!\",\n \"paragraph1\": \"\",\n \"callOut\": \"Just click and drag with your mouse!\",\n \"paragraph2\": \"Easy, right? Great!
However, the design space is a huge place and I wouldn't want you to get tendinitis dragging your way around like this. I'll teach you a couple more tricks in the next couple of steps.\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"c01bc5ad-0d8a-4678-b415-32d08149af10","savedPayload":{"position":{"x":19641.596016681535,"y":45614.78800550081},"targetPosition":{"x":19143.9778734982,"y":45562.417341617576},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Time to Take Control!","config":"{\n \"subTitle\": \"Time to Take Control!\",\n \"gif\": \"\",\n \"image\": \"key-ctrl\",\n \"definition\": \"Yes! You may use your keyboard too! You are going to love this for long-distance travel on the design space!\",\n \"paragraph1\": \"Here's the trick:\",\n \"callOut\": \"Regular folks may use the Ctrl key plus arrow keys: ← → ↑ ↓\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Of course Mac fanboys and fangirls must replace Ctrl with Command\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"da5d7044-7add-4cec-8602-60cba9f5964f","savedPayload":{"position":{"x":19515.81809404447,"y":45897.26572817753},"targetPosition":{"x":19143.9778734982,"y":45562.417341617576},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Spacetime Teleportation!","config":"{\n \"subTitle\": \"Spacetime Teleportation!\",\n \"gif\": \"\",\n \"image\": \"mouse-right-click\",\n \"definition\": \"Ok, you're not actually going to be teleporting, nor will you bend spacetime, but it almost feels like it! It's time to learn to use the design space map.\",\n \"paragraph1\": \"I said earlier that the design space is huge, and I meant it! Going from one corner to the opposite would take hundreds of clicks and drags. While using the keyboard allows you to develop neck-breaking speeds, it's not as cool as teleporting! This is how it works:\",\n \"callOut\": \"Right-click to open the map and left-click anywhere on the map to go to that specific spot!\",\n \"paragraph2\": \"Look at me on the bottom-left corner of the design space? Now you know where to find me!\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"56422b6d-9194-426a-844b-bc305ae93799","savedPayload":{"position":{"x":19248.09697828514,"y":46051.8865416851},"targetPosition":{"x":19143.9778734982,"y":45562.417341617576},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Warp-Speed Zooming!","config":"{\n \"subTitle\": \"Warp-Speed Zooming!\",\n \"gif\": \"\",\n \"image\": \"mouse-wheel-down\",\n \"definition\": \"There's one more tool that you may find useful to manipulate spacetime! The native browser zoom function!\",\n \"paragraph1\": \"Sometimes you may wish to visualize larger sections of hierarchies than your screen allows.\",\n \"callOut\": \"Hit Ctrl and scroll the wheel of your mouse!\",\n \"paragraph2\": \" \",\n \"note\": \"\",\n \"tip\": \"Chrome indicates the level of zoom on the top-right corner. When zooming in or out, the design space gets centered on the screen. After applying the desired level of zoom, use the design space map to go back where you were.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\"\n}","id":"ab46d3df-1c4b-4520-a042-d022945134e7","savedPayload":{"position":{"x":18941.145878111103,"y":46019.543823771426},"targetPosition":{"x":19143.9778734982,"y":45562.417341617576},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"595cc636-c692-401c-9d45-a954146f4679","savedPayload":{"position":{"x":19043.791666666664,"y":45188.90210530285},"targetPosition":{"x":18893.791666666664,"y":44929.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Tutorials & Help","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"A Bit About Tutorials","config":"{\n \"subTitle\": \"A Bit About Tutorials...\",\n \"gif\": \"\",\n \"image\": \"tutorial\",\n \"definition\": \"Before we get back to business, let me tell you a few things about how we—tutorials—work.\",\n \"bulletListIntro\": \"This is likely the most important bit:\",\n \"bulletArray\": [\n [\n \"You are the boss!\",\n \" You may stop a tutorial and skip steps—or entire topics—at any point. Once you're ready to pick up the lesson again, find us on the bottom-left corner of the design space. Select Resume on the menu to start where you left, or on the first step skipped. Select Play to start from the beginning!\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"Let's try that! Click the Stop button below, and once I'm gone, open my menu and select Resume.\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"82087d62-2c6a-4336-b974-6ecf06d1485b","savedPayload":{"position":{"x":18821.43738019742,"y":45478.67985318957},"targetPosition":{"x":18743.791666666664,"y":45188.90210530285},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Tutorial","name":"Welcome to Superalgos!","id":"6f36f540-8de9-4458-b2c7-875884121b87"}}},{"type":"Tutorial Step","name":"Need a Quick Reminder?","config":"{\n \"subTitle\": \"Need a Quick Reminder?\",\n \"gif\": \"\",\n \"image\": \"key-left\",\n \"definition\": \"At this point, I'm probably overflowing your hippocampus! But don't worry... you may go back to any previous step!\",\n \"bulletListIntro\": \"If you ever need a reminder about any of these topics...\",\n \"bulletArray\": [\n [\n \"Find a ->Tutorial Topic-> and replay it!\",\n \" You may find me on the bottom-left corner of the design space, expand me, browse through the hierarchy of topics and steps, and click Play on any of them. Topics are arranged in a clockwise direction, starting from the right-hand side of the main ->Tutorial-> node.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"Find the Need a Quick Reminder? step under the Tutorials & Help topic below. Then click Stop, and restart by clicking Play on the said ->Tutorial Step->!\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"5d1d848b-4633-4b70-8cb0-01b527a99d23","savedPayload":{"position":{"x":18593.791666666664,"y":45448.70972643818},"targetPosition":{"x":18743.791666666664,"y":45188.90210530285},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Tutorial","name":"Welcome to Superalgos!","id":"6f36f540-8de9-4458-b2c7-875884121b87"}}},{"type":"Tutorial Step","name":"Hungry For More Info?!","config":"{\n \"subTitle\": \"Hungry For More Info?\",\n \"gif\": \"\",\n \"image\": \"help\",\n \"definition\": \"I won't go into every detail as we move along, but if you need more info on a node, the help button on the menu takes you straight to its documentation.\",\n \"bulletListIntro\": \"The documentation of a node may include one or more of the following sections:\",\n \"bulletArray\": [\n [\n \"Definition:\",\n \" describes what the node is or does.\"\n ],\n [\n \"Content:\",\n \" describes how the node works.\"\n ],\n [\n \"Adding:\",\n \" describes how to add the node.\"\n ],\n [\n \"Configure:\",\n \" goes through the node's configuration.\"\n ],\n [\n \"Start:\",\n \" for nodes that may be started or stopped.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"Click the help button on the ->Data Mining-> node!\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"530a357e-59e6-4c88-b5da-5500e8bed6a8","savedPayload":{"position":{"x":18454.013918779943,"y":45266.547818833606},"targetPosition":{"x":18743.791666666664,"y":45188.90210530285},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Data Mining","name":"New Data Mining","id":"4df1cb4e-b9ca-4f62-bb5f-c7e262aaa22a"}}}],"tutorialTopics":[],"id":"b230cbd7-658c-4a1c-b772-90462da2afaa","savedPayload":{"position":{"x":18743.791666666664,"y":45188.90210530285},"targetPosition":{"x":18893.791666666664,"y":44929.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"abde1c6f-1863-4752-9146-acda3dcfb987","savedPayload":{"position":{"x":18893.791666666664,"y":44929.094484167515},"targetPosition":{"x":18893.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Explore Data Mining","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Back to Work!","config":"{\n \"subTitle\": \"Ok... Back to Work!\",\n \"gif\": \"\",\n \"image\": \"data-mining\",\n \"definition\": \"Now that you're comfortable moving around, I want you to go on a little tour exploring the ->Data Mining-> section of the hierarchy.\",\n \"bulletListIntro\": \"Notice the following:\",\n \"bulletArray\": [\n [\n \"The section is organized—first and foremost—by exchange and market.\",\n \" This will help you work with multiple exchanges and multiple markets in an orderly fashion.\"\n ],\n [\n \"The ->Exchange Data Tasks-> and ->Market Data Tasks-> nodes\",\n \" may control all tasks in the exchange and market respectively.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"Go out and check those nodes and their menus!\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\" \n}","id":"20adac13-77a2-4694-a064-0851ae86b20b","savedPayload":{"position":{"x":18780.74335089725,"y":45124.391517615986},"targetPosition":{"x":18681.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"The Magic of Data Mines","config":"{\n \"subTitle\": \"The Magic of Data Mines\",\n \"gif\": \"\",\n \"image\": \"data-mine-tasks\",\n \"definition\": \"Within each market, the operation is organized by ->Data Mine->. Superalgos ships with several open-source data mines, each with multiple indicators.\",\n \"paragraph1\": \"Think of data mines as plugins that developers may create to extend the data analysis capacity of the system. An ->Indicator Bot-> may process data other indicators produce, hence adding value and producing deeper and richer analysis.\",\n \"callOut\": \"If you have a basic understanding of JavaScript, you may create indicators too!\",\n \"paragraph2\": \"But I'm getting ahead of myself talking about building data mines at this point! Let's get back on track!\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"18b58454-4ed5-4c3c-939b-d1f87742a7a1","savedPayload":{"position":{"x":18648.070289479707,"y":45139.340181491454},"targetPosition":{"x":18681.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Data Mine Tasks","name":"Masters","id":"85224e5e-f3ee-4e8d-b9bd-e5901bd49b33"}}},{"type":"Tutorial Step","name":"The Core of Data Mining","config":"{\n \"subTitle\": \"At the Core of Data Mining\",\n \"gif\": \"\",\n \"image\": \"task\",\n \"definition\": \"The core of a data mining operation are tasks running bots. One ->Task-> controls one bot, and a ->Task Manager-> may control multiple tasks.\",\n \"paragraph1\": \"Buy now you've learned about six different devices that you may use to control each bot in your data mining operation. At the highest level, the ->Data Mining-> node controls all data mining bots in the ->Network Node->.\",\n \"callOut\": \"We'll talk about network nodes in a minute...\",\n \"paragraph2\": \"At the lowest level, an individual task controls a single bot. The nodes in between are organizational nodes that help keep the operation orderly, and allow granular control over the different sections.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"22c05bc7-0d7b-42b7-9c5c-73376a7a9c97","savedPayload":{"position":{"x":18522.0500093561,"y":45095.243778291966},"targetPosition":{"x":18681.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Task","name":"Exchange Raw Data","id":"a8f38508-1cac-4ab1-815f-d338fc813377"}}},{"type":"Tutorial Step","name":"Are We Up to Date?","config":"{\n \"subTitle\": \"Are We Up to Date?\",\n \"gif\": \"\",\n \"image\": \"indicator-process-instance\",\n \"definition\": \"By now, all processes should be at 100%. When that happens, we refer to the data mining operation as being up to date.\",\n \"paragraph1\": \"When all processes are up to date, the bots keep running, processing information in realtime as it is produced at the exchange. That is, the data mining operation doesn't stop unless you stop it!\",\n \"callOut\": \"Look around and see if all processes are at 100%\",\n \"paragraph2\": \"To run a ->Live Trading Session->, you need a constant feed of information from the exchange, being processed in realtime, so that the ->Trading Bot-> may apply the rules of your ->Trading System-> to make live trading decisions.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\" \n}","id":"ad16ed9d-91fe-4f44-8c20-8c257b65cc9c","savedPayload":{"position":{"x":18427.642372542214,"y":45000.83614147808},"targetPosition":{"x":18681.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Time to Stop!","config":"{\n \"subTitle\": \"Time to Stop!\",\n \"gif\": \"\",\n \"image\": \"stop\",\n \"definition\": \"We are not going to run a ->Live Trading Session-> just yet, so there is no point in keeping our data mining running at this point.\",\n \"bulletListIntro\": \"There are two main reasons to run a data mining op:\",\n \"bulletArray\": [\n [\n \"To process historic data.\",\n \"You may want to process a datetime range of any given ->Market-> to run a ->Backtesting Session->, or to process new indicators.\"\n ],\n [\n \"To run a live session.\",\n \"Live sessions (->Paper Trading Session->, ->Forward Testing Session->, and ->Live Trading Session->) need a live market feed.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"If all processes are up to date, then select Stop All Tasks in the Masters ->Task Manager->\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"dc68fa92-dee8-4d89-8add-893084d24afa","savedPayload":{"position":{"x":18383.54596934273,"y":44874.81586135447},"targetPosition":{"x":18681.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Task Manager","name":"Masters","id":"c193ecbb-c3e0-4fd5-94ed-bb6356d1d5ea"}}},{"type":"Tutorial Step","name":"Careful With Your Data","config":"{\n \"subTitle\": \"Careful With Your Data!\",\n \"gif\": \"\",\n \"image\": \"dataset-definition\",\n \"definition\": \"It may take up to one minute for all tasks to come to a halt. You should never close the system before all tasks stop.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Take another quick look at the console app to see how tasks get stopped!\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"Closing the backend before tasks stop may cause your data to become corrupt.\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"e2d919b0-de13-418a-a859-c354ab00e098","savedPayload":{"position":{"x":18398.49463321819,"y":44742.142799936926},"targetPosition":{"x":18681.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"07d273cd-95b0-4c7e-b81f-8c9c26041598","savedPayload":{"position":{"x":18681.6596323107,"y":44841.22651852348},"targetPosition":{"x":18893.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Charting Space","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"The Viewport","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"The Other Dimension","config":"{\n \"subTitle\": \"The Bright Side\",\n \"gif\": \"\",\n \"image\": \"charting-space\",\n \"definition\": \"So far, you've been confined to the dark side of Superalgos. Get ready to be exposed to the bright side: the ->Charting Space->.\",\n \"paragraph1\": \"The charting space lives on top of the design space, separated by a turquoise slider.\",\n \"callOut\": \"\",\n \"paragraph2\": \"As you will come to expect from Superalgos, the charting space is configurable and highly flexible. Everything that happens there is defined on the ->Charting Space-> hierarchy.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"The charting space is known for blowing people's minds. Please, refrain from continuing with this tutorial if you are currently under the influence of psychoactive substances.\",\n \"position\": \"Left\",\n \"slider\": \"toMiddle\",\n \"useReferenceParentTo\": \"Position at Node\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"6a04a6a7-2c77-4fc0-9aab-2355183e9de5","savedPayload":{"position":{"x":18517.856782232564,"y":45108.52847577999},"targetPosition":{"x":18381.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Charting Space","name":"New Charting Space","id":"21d2ec55-9e56-4652-8e96-c7e451262c36"}}},{"type":"Tutorial Step","name":"Break On Through","config":"{\n \"subTitle\": \"Break On Through!\",\n \"gif\": \"\",\n \"image\": \"full-board\",\n \"definition\": \"I'll get you up to speed with moving around and browsing the charting space in no time... Let's deal with the slider first!\",\n \"paragraph1\": \"\",\n \"callOut\": \"Click it and drag it down to close the design space and open the charting space. Do the opposite for the reversed effect. To do it with the keyboard, hit Ctrl + Shift + ↓. Try ↑ ← → too!\",\n \"paragraph2\": \"\",\n \"note\": \"Unless you need both spaces to be partially open, it's always a good idea to fully close either of them to save computing resources in your machine.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"documentationURL\": \"\" \n}","id":"31192a2d-e45f-45ee-9f78-53aef9f1e4c2","savedPayload":{"position":{"x":18428.58997182277,"y":45137.53302070202},"targetPosition":{"x":18381.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Navigating the White Room","config":"{\n \"subTitle\": \"Navigating the White Room\",\n \"gif\": \"\",\n \"image\": \"mouse-right-click\",\n \"definition\": \"Just like the design space, the charting space features a huge area where you may set up charts... as many as your hardware can cope with! \",\n \"paragraph1\": \"There are only two charts in this default ->Workspace->, to keep things simple for newcomers. Advanced users monitor charts from multiple exchanges and multiple markets.\",\n \"callOut\": \"To move around the charting space, click and drag using your mouse.
The keyboard combination is Shift plus the arrow keys ↑ ← → ↓\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"repositionAtTimeMachineNoZoomReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"8c9f537d-1b51-41b0-abb8-fdcaf8db5224","savedPayload":{"position":{"x":18334.72929279863,"y":45137.53302070202},"targetPosition":{"x":18381.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","id":"499eac86-6c40-4362-a36a-5f2002081866"}}},{"type":"Tutorial Step","name":"Talkin Time Travel","config":"{\n \"subTitle\": \"Talkin' Time Travel\",\n \"gif\": \"\",\n \"image\": \"time-machine\",\n \"definition\": \"I mentioned earlier there are two charts in this workspace. In Superalgos, we call each of these a ->Time Machine->.\",\n \"paragraph1\": \"A time machine may hold one ->Timeline Chart-> or more. We call them time machines because all timeline charts within a time machine are synchronized in time. This feature of time machines allows to superimpose different layers of data sharing the same ->Time Scale->.\",\n \"callOut\": \"Hover your mouse pointer over the time machines!\",\n \"paragraph2\": \"Notice the label emerging on the left-hand side showing which exchange and market the data is associated with. A single time machine may hold data from multiple markets and multiple exchanges!\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"repositionAtTimeMachineNoZoomReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"2f4e6515-64e4-40ab-b894-5cb2468cad2c","savedPayload":{"position":{"x":18245.462482388837,"y":45108.52847577999},"targetPosition":{"x":18381.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","id":"499eac86-6c40-4362-a36a-5f2002081866"}}},{"type":"Tutorial Step","name":"Bending Time?","config":"{\n \"subTitle\": \"Bending time?\",\n \"gif\": \"\",\n \"image\": \"time-machine\",\n \"definition\": \"Ok... maybe it's not actually like bending, but, bear with me... You'll love how you can shape time machines to whatever format you wish.\",\n \"paragraph1\": \"Hover your mouse pointer over any of the edges of the turquoise frame defining the time machine and see what happens. See how the edge is highlighted in yellow?\",\n \"callOut\": \"Cool! Now, left-click the frame and pull!\",\n \"paragraph2\": \"\",\n \"note\": \"This is how you may shape time machines to your liking.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"88985962-8763-415e-a06e-362faaf83c3a","savedPayload":{"position":{"x":18169.527597954737,"y":45053.35855287944},"targetPosition":{"x":18381.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Size Matters?","config":"{\n \"subTitle\": \"Size Matters?\",\n \"gif\": \"\",\n \"image\": \"time-machine\",\n \"definition\": \"How about shaping the time machine to the exact aspect ratio of your screen?\",\n \"paragraph1\": \"Matching the aspect ratio of your time machines to the aspect ratio of your screen is crucial for charts to fit your screen tightly!\",\n \"callOut\": \"Point your mouse at one of the time machines and hit Ctrl + Shift + A. Do the same with the other one!\",\n \"paragraph2\": \"\",\n \"tip\": \"From now on, leave the time machines matching your screen... it'll work best for our ride!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\" \n}","id":"5dce35cc-5f3c-4f2d-b8f1-979ac03ddfa2","savedPayload":{"position":{"x":18114.35767505419,"y":44977.42366844534},"targetPosition":{"x":18381.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Putting Things in Order","config":"{\n \"subTitle\": \"Putting Things in Order\",\n \"gif\": \"\",\n \"image\": \"hand-drag\",\n \"definition\": \"One more thing before we dive into the charts. You need to know how to put the house in order!\",\n \"paragraph1\": \"The time will come in which you may be working with tens of charts. You already know how to change their format... Now you need to know how to move them around, so that you may create whatever arrangements you require. It's quite easy:\",\n \"callOut\": \"Hit Shift left-click, and drag!\",\n \"paragraph2\": \"I believe we've covered everything about how to manage the charting space. It's time to dive into the charts!\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\" }","id":"9cded7dd-5236-4000-9b0f-d576fa185734","savedPayload":{"position":{"x":18085.35313013216,"y":44888.156858035545},"targetPosition":{"x":18381.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Get In the Wormhole!","config":"{\n \"subTitle\": \"Get In the Wormhole!\",\n \"gif\": \"\",\n \"image\": \"mouse-wheel-up\",\n \"definition\": \"It's time to dive into a ->Time Machine-> and see what happens! Are you ready for a full-on immersive experience?\",\n \"paragraph1\": \"The charting space is like the Google Maps of market charts. As you already know, you left-click and drag to move around the landscape... but, how do you zoom in to see the details?\",\n \"callOut\": \"With the wheel of the mouse! Try it!\",\n \"paragraph2\": \"Exactly! Just like in Google Maps! Point the mouse to the area of interest, then roll the wheel of the mouse forwards to zoom in, and backward to zoom out!\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\" \n}","id":"ad3ff699-7830-478b-8b62-b3b0af7d0134","savedPayload":{"position":{"x":18085.35313013216,"y":44794.29617901141},"targetPosition":{"x":18381.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Dashboard","name":"Production Environment My Computer","id":"abc16155-6614-4397-bf7e-ab4a0ff7c1a4"}}},{"type":"Tutorial Step","name":"The Elegant Way...","config":"{\n \"subTitle\": \"The Elegant Way...\",\n \"gif\": \"\",\n \"image\": \"mouse-pointer\",\n \"definition\": \"I know! Zooming into a random spot is unlikely to position the chart squared with your screen, right? No worries...\",\n \"paragraph1\": \"I'll show you how to get into a chart so that everything fits nicely. First, use the Ctrl + Shift + A keys to adjust the aspect ratio to fit your screen. Then, zoom out fully with your mouse. From this position...\",\n \"callOut\": \"Double-click on the time machine on top! Twice!\",\n \"paragraph2\": \"The first double-click centers the chart, and takes you to a certain level of zoom; some margin is left to fit the name of the chart and the tab on the top-left corner. The second double-click takes you all the way in, to the zoom level on which layer managers emerge.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"keyPressedTimeMachineReferenceParent\": {\n \"shiftKey\": true,\n \"ctrlKey\": true,\n \"metaKey\": true,\n \"code\": \"ArrowRight\",\n \"key\": \"A\"\n },\n \"repositionAtTimeMachineNoZoomReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"dcb0863d-fdce-4620-a41a-ebdf5fa15989","savedPayload":{"position":{"x":18114.35767505419,"y":44705.029368601616},"targetPosition":{"x":18381.6596323107,"y":44841.22651852348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","id":"499eac86-6c40-4362-a36a-5f2002081866"}}}],"tutorialTopics":[],"id":"37f74e1d-2e40-409e-8475-b3d990cd7211","savedPayload":{"position":{"x":18381.6596323107,"y":44841.22651852348},"targetPosition":{"x":18593.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"The Charts","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Navigation & Scales","config":"{ \n \"title\": \" \",\n \"summary\": \"\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\" \n }","tutorialSteps":[{"type":"Tutorial Step","name":"Moving in Wonderland","config":"{\n \"subTitle\": \"Moving in Wonderland\",\n \"gif\": \"\",\n \"image\": \"mouse-left-click\",\n \"definition\": \"So, you are finally inside a chart. The first thing you'll want to do is move around and learn what these charts may do for you.\",\n \"paragraph1\": \"Let's get on with that! Like in the design space—when inside a time machine—you move by using your mouse and your keyboard. This is how: \",\n \"callOut\": \"With the mouse, left-click and drag. With the keyboard, use the arrow keys: ← → ↑ ↓\",\n \"paragraph2\": \"\",\n \"note\": \"What? It's not working? Are you stuck with a frozen chart? Like in the video on the next step? Don't worry! I know what's going on...\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"keyPressedTimeMachineReferenceParent\": {\n \"shiftKey\": true,\n \"ctrlKey\": true,\n \"metaKey\": true,\n \"code\": \"ArrowRight\",\n \"key\": \"A\"\n },\n \"repositionAtTimeMachineReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"6643c200-4d20-4e65-9fa6-93f60d7eb16b","savedPayload":{"position":{"x":18140.075566510575,"y":45216.40968991311},"targetPosition":{"x":18033.98404553133,"y":44779.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","id":"499eac86-6c40-4362-a36a-5f2002081866"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-charts-scales-auto-locked\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\"\n}","id":"23a3914b-29e2-40c9-9356-395699ce655c","savedPayload":{"position":{"x":18019.709470784208,"y":45078.75468592242},"targetPosition":{"x":18033.98404553133,"y":44779.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","id":"499eac86-6c40-4362-a36a-5f2002081866"}}},{"type":"Tutorial Step","name":"Unlocking Time!","config":"{\n \"subTitle\": \"Unlocking Time!\",\n \"gif\": \"\",\n \"image\": \"time-scale\",\n \"definition\": \"The reason why you can't move is that scales are locked in the automatic mode so that you may easily find the data after your first data mining operation.\",\n \"paragraph1\": \"Setting the ->Time Scale-> in automatic mode forces the whole datetime range of available data into the chart.\",\n \"callOut\": \"To toggle between the various automatic modes and manual mode, hit Shift and make a gentle one-step roll with the wheel of your mouse on top of the time scale box.\",\n \"paragraph2\": \"Once you've taken care of that, you should be able to move freely on the X-axis, that is, the time axis of the chart. See the video on the next step for clarity.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\" \n}","id":"365c119b-2ce9-47b9-826e-f942134d6bbc","savedPayload":{"position":{"x":17886.803462038493,"y":45204.344852589114},"targetPosition":{"x":18033.98404553133,"y":44779.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-charts-scales-unlock-time-scale\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\"\n}","id":"51b4c5ac-f874-4814-9bce-31a0fd7949ee","savedPayload":{"position":{"x":17859.96697265997,"y":45023.46726978262},"targetPosition":{"x":18033.98404553133,"y":44779.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Scaling Time!","config":"{\n \"subTitle\": \"Scaling Time!\",\n \"gif\": \"\",\n \"image\": \"time-scale\",\n \"definition\": \"Did you pick up the trick to scale time from the previous video? If not, go to the previous step and watch attentively!\",\n \"paragraph1\": \"That's it! Scroll it, my friend!\",\n \"callOut\": \"Scrolling the wheel of the mouse on top of the time scale box shrinks and expands time!\",\n \"paragraph2\": \"\",\n \"note\": \"There's one more interesting detail worth noting in the previous video: when the time scale exits the automatic mode, the two tiny green triangles indicating each end of the automatic scale disappear!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\" \n}","id":"a277338e-20c4-4608-bed1-4aa09c40491d","savedPayload":{"position":{"x":17680.260152897077,"y":45057.26602796679},"targetPosition":{"x":18033.98404553133,"y":44779.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Playing With the Rate Scale!","config":"{\n \"subTitle\": \"Playing with the Rate Scale!\",\n \"gif\": \"\",\n \"image\": \"rate-scale\",\n \"definition\": \"Do I need to tell you how the ->Rate Scale-> works or can you figure it out on your own? Ok... I'll give you a hint...\",\n \"paragraph1\": \"\",\n \"callOut\": \"The rate scale works like the time scale! Check the video coming next for clarity!\",\n \"tip\": \"Play with the semi-automatic scale modes too! You know, when a single tiny triangle remains visible after a few flicks of the mouse wheel.\",\n \"note\": \"There's one more scale to work with. I'll tell you all about it after the video.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"documentationURL\": \"\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\" \n}","id":"2650860c-ce1a-4a1c-af5c-29742a5ab23c","savedPayload":{"position":{"x":17755.47366562651,"y":44890.593220865616},"targetPosition":{"x":18033.98404553133,"y":44779.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-charts-scales-unlock-rate-scale\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\"\n}","id":"0ff92017-1558-4587-8619-78fe07025467","savedPayload":{"position":{"x":17586.021680373444,"y":44821.869703654396},"targetPosition":{"x":18033.98404553133,"y":44779.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"No Lock on Time Frames!","config":"{\n \"subTitle\": \"Time Frames Salad?\",\n \"gif\": \"\",\n \"image\": \"time-frame-scale\",\n \"definition\": \"News-flash about the ->Time Frame Scale->: there is no automatic mode!\",\n \"paragraph1\": \"You may freely toggle through all available time frames! In descending order: 24, 8, 6, 4, 3, 2, and 1 hours, and 45, 40, 30, 20, 15, 10, 5, 4, 3, 2, and 1 minutes.\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"important\": \"Beware when you switch the time frame scale to lower time frames! Dropping time frames too fast and without adjusting the time scale may cause too much information to be rendered on-screen at a time, slowing down your computer. How much information density your hardware may handle depends on its CPU and GPU performance.\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\" \n}","id":"32d93242-2796-4ab5-b182-da48a5f3cdce","savedPayload":{"position":{"x":17739.40543635252,"y":44722.31911085939},"targetPosition":{"x":18033.98404553133,"y":44779.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-charts-scales-time-frame-scale\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"af446d58-735f-4f02-a22e-60afd853bd93","savedPayload":{"position":{"x":17634.008093636618,"y":44572.892549390184},"targetPosition":{"x":18033.98404553133,"y":44779.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Scales' Best-Kept Secrets","config":"{\n \"subTitle\": \"Scales' Best-Kept Secrets\",\n \"gif\": \"\",\n \"image\": \"balance\",\n \"definition\": \"You just learned the basics about the three scales governing the charts, but there's more!\",\n \"paragraph1\": \"Remember I mentioned that a ->Time Machine-> may feature multiple charts from multiple exchanges and markets? There is no limit as to how you may visualize data in Superalgos, and scales play a major role in more complex configurations than the ones we are exploring at this point.\",\n \"callOut\": \"If you wish to learn all the details, feel free to go through the Scale Boxes section of the documentation.\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"https://docs.superalgos.org/suite-scale-boxes.html\" \n}","id":"79f7a1e7-b211-452c-b60f-61653fab957a","savedPayload":{"position":{"x":17816.86383409981,"y":44572.07078072288},"targetPosition":{"x":18033.98404553133,"y":44779.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"7d8a4998-6575-4261-b37a-14c44956c4c8","savedPayload":{"position":{"x":18033.98404553133,"y":44779.094484167515},"targetPosition":{"x":18293.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Layers & Managers","config":"{ \n \"title\": \" \",\n \"summary\": \"\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\" \n }","tutorialSteps":[{"type":"Tutorial Step","name":"Switching Gears","config":"{\n \"subTitle\": \"Switching Gears...\",\n \"gif\": \"\",\n \"image\": \"layer-manager\",\n \"definition\": \"Leaving scales behind, let's take a look at how the system makes data available on the charts.\",\n \"paragraph1\": \"Every ->Timeline Chart-> has an associated ->Layer Manager->, which is represented as a drop-down menu listing multiple layers.\",\n \"callOut\": \"To open a layers manager, scroll the wheel of the mouse on its header. Use the wheel of the mouse to scroll through its content too!\",\n \"paragraph2\": \"See the video on the next step for clarity...\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\" \n}","id":"fdb608ad-eea0-42a7-abaa-adab5dfb7df5","savedPayload":{"position":{"x":17786.112413236533,"y":44648.0905015866},"targetPosition":{"x":18033.98404553133,"y":44479.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-charts-layer-managers-scroll\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\"\n}","id":"8b9a4e1e-dc3a-4f4e-87c5-579f7cc04f55","savedPayload":{"position":{"x":17737.334797663792,"y":44523.80716402037},"targetPosition":{"x":18033.98404553133,"y":44479.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Layers on Top of Layers","config":"{\n \"subTitle\": \"Layers on Top of Layers\",\n \"gif\": \"\",\n \"image\": \"layer\",\n \"definition\": \"Your data mining operation features bots making data products. Each product is made available on the charts through a ->Layer-> in a layers manager.\",\n \"paragraph1\": \"The first layer manager to the left of this time machine features three layers. Those layers represent the data products that the ->Trading System-> we are going to test later on uses to make trading decisions.\",\n \"callOut\": \"To turn layers on and off, left-click on them!\",\n \"paragraph2\": \"\",\n \"note\": \"Superalgos ships with many more indicator bots, but we are not using them for this tutorial. You will learn about them later!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\" \n}","id":"bf48b83f-67dc-4dc4-b6d1-23b94bc26b40","savedPayload":{"position":{"x":17747.31220379549,"y":44390.66793184425},"targetPosition":{"x":18033.98404553133,"y":44479.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-charts-layer-on\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\"\n}","id":"9875e052-3270-49b1-8d63-7c1172fbeeae","savedPayload":{"position":{"x":17814.068483982384,"y":44275.04266283624},"targetPosition":{"x":18033.98404553133,"y":44479.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"The Hard Data","config":"{\n \"subTitle\": \"The Hard Data\",\n \"gif\": \"\",\n \"image\": \"plotter-panel\",\n \"definition\": \"A ->Plotter Panel-> features non-graphical representations of data, mostly in the form of numerical values or text.\",\n \"paragraph1\": \"Each layer may or may not feature one or more associated panels. It's up to the developer of the corresponding ->Indicator Bot-> to define them or not.\",\n \"callOut\": \"To access panels, left-click on the plotter panel icon of the layer of choice.\",\n \"paragraph2\": \"\",\n \"tip\": \"You may move layers managers and plotter panels by left-clicking on their headers and dragging them to any corner of the screen.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\" \n}","id":"4f20424d-85a0-4dc4-afea-b611107942a5","savedPayload":{"position":{"x":17924.38173822141,"y":44199.832359574255},"targetPosition":{"x":18033.98404553133,"y":44479.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-charts-layer-panels\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\"\n}","id":"d5ff12ca-f763-4291-846a-7dec3d9b1d4f","savedPayload":{"position":{"x":18056.40307360726,"y":44179.93334501316},"targetPosition":{"x":18033.98404553133,"y":44479.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"14ecf560-9e64-4af8-911e-317cc3cd397a","savedPayload":{"position":{"x":18033.98404553133,"y":44479.094484167515},"targetPosition":{"x":18293.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"78e702e2-fad8-4ae4-8341-8deb43c6cab8","savedPayload":{"position":{"x":18293.791666666664,"y":44629.094484167515},"targetPosition":{"x":18593.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Setup Overview","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Back in Time","config":"{\n \"subTitle\": \"Back in Time\",\n \"gif\": \"\",\n \"image\": \"time-machine\",\n \"definition\": \"This is the ->Charting Space-> hierarchy setup of the ->Time Machine-> we've been playing with on the charts.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Spend a few minutes exploring these definitions! Take a peek at different node's menus!\",\n \"paragraph2\": \"I hope the structure of nodes is intuitive enough to grasp how powerful the concept of the design space is. You set up a time machine by adding timeline charts nodes and the desired scales. Then set up layer managers and layers referencing the corresponding ->Data Mine Products-> so that the desired data becomes available on a particular layers manager on the charts. It's like the Legoland® of trading charts!\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"855e28cc-8651-4ad6-a8fa-bf792f170c57","savedPayload":{"position":{"x":18081.6596323107,"y":44416.96244981155},"targetPosition":{"x":18381.6596323107,"y":44416.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","id":"499eac86-6c40-4362-a36a-5f2002081866"}}},{"type":"Tutorial Step","name":"Visual Scripting on Steroids","config":"{\n \"subTitle\": \"Visual Scripting on Steroids\",\n \"gif\": \"\",\n \"image\": \"indicator-bot\",\n \"definition\": \"Talking about block-building, we are now in the confines of the Masters ->Data Mine->. To your left, the definition of one of the bots you sent mining minutes ago.\",\n \"paragraph1\": \"Pretty much like with the Lego-like definitions of the ->Charting Space->, bots are too defined on a visual environment.\",\n \"callOut\": \"All developers need to code is the actual ->Data Building Procedure->.\",\n \"paragraph2\": \"Everything else is defined on a visual setting: processes with their dependencies, outputs and so on, and products, with their record and dataset definitions, etc.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"2dfc697d-48b0-49bb-8760-3c3a76b56916","savedPayload":{"position":{"x":18169.527597954737,"y":44204.83041545559},"targetPosition":{"x":18381.6596323107,"y":44416.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Product Definition","name":"Resistances","id":"7a734501-a0fb-4305-803e-7e95d477c513"}}},{"type":"Tutorial Step","name":"Plotters Magic","config":"{\n \"subTitle\": \"Plotters Magic!\",\n \"gif\": \"\",\n \"image\": \"plotter\",\n \"definition\": \"And this is how plotters are built! Plotters create graphical representations of data... from candles, to everything else!\",\n \"paragraph1\": \"Again, visual scripting at its best! Plotters use stylized polygons made out of coordinate points to paint lines and shapes that represent data. Every layer made available on the charts is created with a set of definitions of the sort you are looking at right now. The particular case of the Resistances and Supports bot is a rather complex one, but does showcase the power of the tool!\",\n \"callOut\": \"Find the Resistance Zone 5 ->Polygon-> (to the right), expand it, and crawl your way up the branches for a sneak peek of how this beauty was built!\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"086416b2-3bf6-4e35-8e26-7e89dd75cf74","savedPayload":{"position":{"x":18381.6596323107,"y":44116.96244981155},"targetPosition":{"x":18381.6596323107,"y":44416.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Polygon","name":"Resistance Zone 5","id":"550e31bb-a95f-4fad-bfbb-b42aae7dc5d3"}}}],"tutorialTopics":[],"id":"2e9878b3-ebe5-48bb-8f97-2dfd8f6ac3e0","savedPayload":{"position":{"x":18381.6596323107,"y":44416.96244981155},"targetPosition":{"x":18593.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"6d0ab467-3134-4ba8-b37c-b3a9f5ba7638","savedPayload":{"position":{"x":18593.791666666664,"y":44629.094484167515},"targetPosition":{"x":18893.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Backtesting","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Network","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Let's Do Some Testing!","config":"{\n \"subTitle\": \"Let's Do Some Testing!\",\n \"gif\": \"\",\n \"image\": \"testing-environment\",\n \"definition\": \"We are back on the ->Network-> hierarchy to show you one of the core strategy-testing resources built-in the ->Trading Bot->.\",\n \"paragraph1\": \"But before you run your first ->Backtesting Session->, let's go on a quick scouting mission to grasp how the ->Testing Environment-> is set up.\",\n \"callOut\": \"Expand the testing environment and look at the structure of nodes to the right... Looks Familiar?\",\n \"paragraph2\": \"Indeed! It resembles the ->Data Mining-> section: tasks are organized by exchange, market, and trading mine, so that you may test any number of strategies optimized for different markets, on multiple exchanges.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"db2ed6a0-ba47-4caa-b2f2-78172f44a002","savedPayload":{"position":{"x":18277.84274526857,"y":44743.96691727278},"targetPosition":{"x":18385.35313013216,"y":44463.89278932362},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Testing Environment","name":"New Testing Environment","id":"5882d8a8-345b-4188-b1c1-797e9ff805d9"}}},{"type":"Tutorial Step","name":"Aim High, Trade Big!","config":"{\n \"subTitle\": \"Aim High, Trade Big!\",\n \"gif\": \"\",\n \"image\": \"network-node\",\n \"definition\": \"Picture an army of bots working with multiple exchanges, markets, and strategies, running on a network ala trading farm.\",\n \"paragraph1\": \"That is what the ->Network Node-> is about. What you've seen so far is running on your local machine. But...\",\n \"callOut\": \"Superalgos supports distributing tasks across networks of nodes running the backend to be processed in a coordinated fashion, enabling smart and scalable operations. Any machine running the GUI may control the enterprise!\",\n \"paragraph2\": \"You may set up a network with a few Raspberry Pi, an industrial-grade datacenter—or anything in between.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"ff49ac75-5039-4f1f-9d05-826751b5e4e4","savedPayload":{"position":{"x":18152.20934169507,"y":44652.68890663857},"targetPosition":{"x":18385.35313013216,"y":44463.89278932362},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Network Node","name":"My Computer","id":"e452cf65-2b2b-44f2-9e67-bdd9d3c008e4"}}},{"type":"Tutorial Step","name":"Enough Digressing!","config":"{\n \"subTitle\": \"Enough Digressing!\",\n \"gif\": \"\",\n \"image\": \"backtesting-session\",\n \"definition\": \"We'll run a ->Backtesting Session-> with a bunch of preconfigured parameters so that you may have a quick glimpse at how simulations work.\",\n \"paragraph1\": \"As you can see to the right, a trading session has a reference to a ->Trading System->. That is, the ->Trading Bot-> will apply the rules of the referenced trading system to make decisions. There's also a reference to a ->Trading Engine->—a subject worth its own chapter, so I'll leave it for later! \",\n \"callOut\": \"The trading session is affected by several parameters. Take a quick look at their configurations selecting Configure on the menu!\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\",\n \"positionAtReferenceParent\": true\n}","id":"57d77273-09c9-4800-acfd-148ebc9faf21","savedPayload":{"position":{"x":18089.04662795362,"y":44510.823128835684},"targetPosition":{"x":18385.35313013216,"y":44463.89278932362},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Backtesting Session","name":"Lightning Strike","id":"ce648922-fef2-44e3-8d76-2bd7ab72a29f"}}},{"type":"Tutorial Step","name":"What? When? How?","config":"{\n \"subTitle\": \"What? When? How?\",\n \"gif\": \"\",\n \"image\": \"parameters\",\n \"definition\": \"->Parameters-> determine key aspects of how the trading session is run. Let's take a quick, superficial look...\",\n \"bulletListIntro\": \"\",\n \"bulletArray\": [\n [\n \"->Session Base Asset->:\",\n \" no capital is assigned in BTC.\"\n ],\n [\n \"->Session Quoted Asset->:\",\n \" 1000 USDT of initial capital.\"\n ],\n [\n \"->Time Range->:\",\n \" we'll test a single day, 2020-09-01.\"\n ],\n [\n \"->Time Frame->:\",\n \" orders are placed/canceled every minute, thus 01-min is appropriate.\"\n ],\n [\n \"->Slippage->:\",\n \"it's irrelevant for this case, as the trading system uses limit orders only.\"\n ],\n [\n \"->Fee Structure->:\",\n \"0.1% is the lower Binance tier.\"\n ]\n ],\n \"paragraph1\": \"The remaining parameters do not affect the simulation. To learn more about these ->Parameters->, take a look at the documentation.\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"https://docs.superalgos.org/suite-parameters.html\"\n}","id":"0f48b2d4-48eb-4041-a9eb-4a257ca34fdd","savedPayload":{"position":{"x":18105.279002183,"y":44356.382404460026},"targetPosition":{"x":18385.35313013216,"y":44463.89278932362},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Ready. Set. Go!","config":"{\n \"subTitle\": \"Ready. Set. Go!\",\n \"gif\": \"\",\n \"image\": \"task\",\n \"definition\": \"Let's get going! This is going to be quick anyway, as we are testing a single day worth of historic data.\",\n \"paragraph1\": \"Running a trading task is quite similar to running a data mining task. The difference lies in that—after running the task—you also need to run the trading session.\",\n \"callOut\": \"Select Run on the ->Task-> menu and then select Run on the ->Backtesting Session-> menu.\",\n \"paragraph2\": \"\",\n \"note\": \"When the progress notice of the ->Trading Process Instance-> get's to the 100% mark, stop the task and click Next.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"eca826de-b47a-4589-80bc-0fcf17b4af98","savedPayload":{"position":{"x":18196.557012817208,"y":44230.74900088653},"targetPosition":{"x":18385.35313013216,"y":44463.89278932362},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Task","name":"Lightning Strike","id":"08222935-2499-4a3e-a927-4f5dfbc392df"}}}],"tutorialTopics":[],"id":"e3e4bbab-06a8-4ac2-945d-520d605c7c28","savedPayload":{"position":{"x":18385.35313013216,"y":44463.89278932362},"targetPosition":{"x":18681.6596323107,"y":44416.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"On the Charts","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Trading System & Orders","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Getting to the Fun Bits","config":"{\n \"subTitle\": \"Getting to the Fun Bits!\",\n \"gif\": \"\",\n \"image\": \"time-machine\",\n \"definition\": \"I took the liberty of bringing you to a particular moment in time, interesting for what comes next.\",\n \"paragraph1\": \"You are about to be exposed to the beauty of simulations. Am I a simulation? Are you? Is this whole thing real?\",\n \"callOut\": \"Look around and decide for yourself!\",\n \"paragraph2\": \"First of all, notice you are now in the 1-minute time frame, thus, these are 1-minute candles. The span of time in your screen is little more than one hour, at the beginning of September 1st 2020.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"repositionAtTimeMachineReferenceParent\": true,\n \"batchConfigChangesReferenceParent\": [\n {\n \"nodePath\": \"referenceParent.timeScale\",\n \"properties\": {\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"fromDate\": \"2020-08-31T23:40:00.000Z\",\n \"toDate\": \"2020-09-01T01:00:00.000Z\"\n }\n },\n {\n \"nodePath\": \"referenceParent.rateScale\",\n \"properties\": {\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"minValue\": 11400,\n \"maxValue\": 11800\n }\n },\n {\n \"nodePath\": \"referenceParent.timeFrameScale\",\n \"properties\": {\n \"value\": \"01-min\"\n }\n }\n ],\n \"documentationURL\": \"\"\n}","id":"c3854cd2-deb1-42ea-83ae-e2db25c94b8f","savedPayload":{"position":{"x":17951.377104123312,"y":44548.0672571462},"targetPosition":{"x":18114.76881462782,"y":44296.46608676257},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","id":"499eac86-6c40-4362-a36a-5f2002081866"}}},{"type":"Tutorial Step","name":"What Is It We Are Testing?","config":"{\n \"subTitle\": \"What Is It We Are Testing?\",\n \"gif\": \"\",\n \"image\": \"trading-system\",\n \"definition\": \"We've run a backtest but we haven't discussed the ->Trading System-> we are testing! Let's go through the basics!\",\n \"paragraph1\": \"The trading idea is buy the falling knife and sell the rebound. The strategy places a ->Limit Buy Order-> a distance below the price. If the order is not filled by the next minute, the order is canceled and a new order is placed, potentially at an adjusted rate. If the price drops suddenly, chances are the order will get filled. If that happens, then the strategy tries to sell at a higher price.\",\n \"callOut\": \"\",\n \"paragraph2\": \" \",\n \"note\": \"Let's not discuss the merits of the trading idea but the implementation. This is a demo to show off the capacities of the ->Trading Bot->, not the strategy per se.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"f8027526-427e-4ab8-b1b8-2b3d1662d5d5","savedPayload":{"position":{"x":17834.69468667866,"y":44403.97647162616},"targetPosition":{"x":18114.76881462782,"y":44296.46608676257},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Green Silver Bullets","config":"{\n \"subTitle\": \"Green Silver Bullets\",\n \"gif\": \"\",\n \"image\": \"bullet-limit-buy-order\",\n \"definition\": \"Do you see the green bullets with an L at the center? Those are the limit buy orders I mentioned.\",\n \"paragraph1\": \"Notice how an order is placed every minute and is canceled before a new order is placed. Do you recognize the symbol for the order cancellation? It's the smaller, darker bullet with a white horizontal stripe in the middle!\",\n \"callOut\": \"Notice the knife falling at 00:21 AM! The price fell well below the rate of the limit order, therefore, the order was filled! That is what the bigger—filled—green bullet indicates!\",\n \"paragraph2\": \"So... what happens afterward?\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"batchConfigChangesReferenceParent\": [\n {\n \"nodePath\": \"referenceParent.timeScale\",\n \"properties\": {\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"fromDate\": \"2020-08-31T23:40:00.000Z\",\n \"toDate\": \"2020-09-01T01:00:00.000Z\"\n }\n },\n {\n \"nodePath\": \"referenceParent.rateScale\",\n \"properties\": {\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"minValue\": 11400,\n \"maxValue\": 11800\n }\n },\n {\n \"nodePath\": \"referenceParent.timeFrameScale\",\n \"properties\": {\n \"value\": \"01-min\"\n }\n }\n ],\n \"documentationURL\": \"\"\n}","id":"c1622cba-b4f1-4bdd-adc5-d1f40045617f","savedPayload":{"position":{"x":17824.9910667411,"y":44218.820373231814},"targetPosition":{"x":18114.76881462782,"y":44296.46608676257},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","id":"499eac86-6c40-4362-a36a-5f2002081866"}}},{"type":"Tutorial Step","name":"Sell It Quick!","config":"{\n \"subTitle\": \"Sell It Quick!\",\n \"gif\": \"\",\n \"image\": \"bullet-limit-sell-order\",\n \"definition\": \"I'm sure you noted there are no more limit buy orders after the order got filled. Instead, sell orders start popping up!\",\n \"paragraph1\": \"\",\n \"callOut\": \"Notice how the first ->Limit Sell Order-> is placed at 00:22 AM, the minute after the buy order filled!\",\n \"paragraph2\": \"It's the same minute Superalgos would have gotten notice from the exchange that the order got filled. The ->Trading Bot-> connects with the exchange and goes through two distinct cycles. In the first ->Cycle->, it finds out the status of existing orders. In the second, it gives new instructions.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"bc79cac7-40bc-4c9c-b33d-88757ebd89e0","savedPayload":{"position":{"x":17925.972697312867,"y":44063.32229832548},"targetPosition":{"x":18114.76881462782,"y":44296.46608676257},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","id":"499eac86-6c40-4362-a36a-5f2002081866"}}}],"tutorialTopics":[],"id":"3b4175ca-1cc8-4945-bccc-2b9c895ebbfb","savedPayload":{"position":{"x":18114.76881462782,"y":44296.46608676257},"targetPosition":{"x":18414.35767505419,"y":44280.76529988969},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Support","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Shall We Dig Deeper?","config":"{\n \"subTitle\": \"Shall We Dig Deeper?\",\n \"gif\": \"\",\n \"image\": \"layer-resistance\",\n \"definition\": \"The logic behind the placing of buy orders is influenced by the Resistances & Supports ->Indicator Bot-> from the Masters ->Data Mine-> you ran earlier.\",\n \"paragraph1\": \"I took the liberty to turn the Supports layer on to show you this beauty... I hope you don't mind!\",\n \"callOut\": \"The indicator identifies levels (price ranges) on which price is rejected, and keeps a counter of how many rejections occur until the level is breached.\",\n \"paragraph2\": \"The way levels are represented on-screen varies with the number of rejections the level has witnessed, giving us a visual clue of how strong each support level may be. Once a level is breached, it disappears.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"batchConfigChangesReferenceParent\": [\n {\n \"nodePath\": \"referenceParent.timeScale\",\n \"properties\": {\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"fromDate\": \"2020-08-31T23:00:00.000Z\",\n \"toDate\": \"2020-09-01T02:00:00.000Z\"\n }\n },\n {\n \"nodePath\": \"referenceParent.rateScale\",\n \"properties\": {\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"minValue\": 11400,\n \"maxValue\": 11800\n }\n },\n {\n \"nodePath\": \"referenceParent.timeFrameScale\",\n \"properties\": {\n \"value\": \"01-min\"\n }\n },\n {\n \"nodePath\": \"referenceParent.timelineCharts[0].layerManager\",\n \"properties\": {\n \"visibleLayers\": 3,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n }\n },\n {\n \"nodePath\": \"referenceParent.timelineCharts[0].layerManager.botLayers[1].layers[1]\",\n \"properties\": {\n \"status\": \"on\",\n \"showPanels\": false\n }\n }\n ],\n \"documentationURL\": \"\"\n}","id":"c2c01aaa-8d57-41de-8eca-30de64007320","savedPayload":{"position":{"x":17951.377104123312,"y":44044.864916378945},"targetPosition":{"x":18250.965964549683,"y":44029.16412950606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","id":"499eac86-6c40-4362-a36a-5f2002081866"}}},{"type":"Tutorial Step","name":"Who's Keeping Score?","config":"{\n \"subTitle\": \"Who's Keeping Score?\",\n \"gif\": \"\",\n \"image\": \"layer-resistance\",\n \"definition\": \"Check the table below and see if you can interpret the support levels you see on the charts. \",\n \"paragraph1\": \"\\r\\n \\r\\n \\r\\n | Rejections <\\/th>\\r\\n | Graphics <\\/th>\\r\\n | Comments<\\/th>\\r\\n <\\/tr>\\r\\n <\\/thead>\\r\\n | \\r\\n \\r\\n | 1<\\/td>\\r\\n | <\\/span><\\/td>\\r\\n | A faint, grey dotted line.<\\/td>\\r\\n <\\/tr>\\r\\n | \\r\\n | 2<\\/td>\\r\\n | <\\/span><\\/td>\\r\\n | A grey block.<\\/td>\\r\\n <\\/tr>\\r\\n | \\r\\n | 3<\\/td>\\r\\n | <\\/span><\\/td>\\r\\n | A turquoise block.<\\/td>\\r\\n <\\/tr>\\r\\n | \\r\\n | 4<\\/td>\\r\\n | <\\/span><\\/td>\\r\\n | A yellow block.<\\/td>\\r\\n <\\/tr>\\r\\n | \\r\\n | 5<\\/td>\\r\\n | <\\/span><\\/td>\\r\\n | A green block.<\\/td>\\r\\n <\\/tr>\\r\\n | \\r\\n | 6<\\/td>\\r\\n | <\\/span><\\/td>\\r\\n | An orange block.<\\/td>\\r\\n <\\/tr>\\r\\n | \\r\\n | 7 or more<\\/td>\\r\\n | <\\/span><\\/td>\\r\\n | A purple block.<\\/td>\\r\\n <\\/tr>\\r\\n <\\/tbody>\\r\\n <\\/table>\",\n \"paragraph2\": \" For a new support level with one rejection, the dotted line marks the exact level on which price bounced. For further rejections, the blocks mark the rate ranges on which subsequent rejections are counted.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"1b10ba0b-25e4-40e6-9298-fd0e060218c7","savedPayload":{"position":{"x":17983.664007293173,"y":43892.9669795842},"targetPosition":{"x":18250.965964549683,"y":44029.16412950606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"The Power of Data Mining","config":"{\n \"subTitle\": \"The Power of Data Mining\",\n \"gif\": \"\",\n \"image\": \"layer-resistance\",\n \"definition\": \"Why do levels jump up and down? There's something I haven't told you yet, 'cos I'm afraid it may blow your mind!\",\n \"paragraph1\": \"\",\n \"callOut\": \"The bot keeps track of all support levels alive since the start of the dataset, but only shows you the five levels closest to the current price.\",\n \"paragraph2\": \"Keeping track of information for the whole span of the dataset—which may count years—is the true value of data mining, and the kind of things you wouldn't be able to calculate with a function, on the fly. The ->Plotter-> associated with the ->Indicator Bot-> dynamically shows the five levels of support closest to the price because those are the relevant levels for the context.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}\n","id":"8019055c-dcbd-4f0c-a1be-715cf6512a09","savedPayload":{"position":{"x":18087.574254045176,"y":43777.562959122435},"targetPosition":{"x":18250.965964549683,"y":44029.16412950606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Find the Logic Challenge","config":"{\n \"subTitle\": \"Find the Logic Challenge!\",\n \"gif\": \"\",\n \"image\": \"layer-resistance\",\n \"definition\": \"Now that you know how the indicator works, can you find the relationship between buy orders and support levels?\",\n \"paragraph1\": \"\",\n \"callOut\": \"Take some time to explore the period of time tested looking for clues on how support levels determine the rate of the ->Limit Buy Order->!\",\n \"paragraph2\": \"It's fun noticing how new levels form when price changes direction, and how an established level changes color when price bounces-off it.\",\n \"tip\": \"But the trick lies in counting levels above the order!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"1b6dc587-016b-4c65-9f8e-3e3e59ddc9b7","savedPayload":{"position":{"x":18235.2651776768,"y":43729.57526907969},"targetPosition":{"x":18250.965964549683,"y":44029.16412950606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Here's How It Works","config":"{\n \"subTitle\": \"Here's How it Works...\",\n \"gif\": \"\",\n \"image\": \"layer-resistance\",\n \"definition\": \"Got it? The ->Trading Bot-> places the ->Limit Buy Order-> at the fifth support level! What's the logic behind this?\",\n \"paragraph1\": \"It's sort of arbitrary, but the strategy defines a falling knife as the price action capable of breaching at least four support levels and getting to the fifth during a single minute. Statistically, such events—in this time frame—produce more bounces than continuations. They may be caused by large market orders that temporarily increase the bid/ask spread in the order book.\",\n \"callOut\": \"Take a minute to verify that buy orders are placed at the fifth support level!\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"f9e682fd-3906-4dd4-ad44-9c4af0d8a632","savedPayload":{"position":{"x":18387.163114471547,"y":43761.86217224955},"targetPosition":{"x":18250.965964549683,"y":44029.16412950606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"dbb272f3-27d5-4938-96a4-e5ee1b87bff2","savedPayload":{"position":{"x":18250.965964549683,"y":44029.16412950606},"targetPosition":{"x":18414.35767505419,"y":44280.76529988969},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"5e3deefe-2224-4b65-be4d-0b7ab311bd48","savedPayload":{"position":{"x":18414.35767505419,"y":44280.76529988969},"targetPosition":{"x":18681.6596323107,"y":44416.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Trading System","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Come Meet Someone","config":"{\n \"subTitle\": \"Come Meet Someone!\",\n \"gif\": \"\",\n \"image\": \"execution-algorithm\",\n \"definition\": \"Sorry for dragging you away from the charts, but I wanted to introduce you to someone: the guy on the right is the one placing the buy orders!\",\n \"paragraph1\": \"We are inside the Lightning Strike ->Trading System->, within the definitions of the ->Open Stage->. In this stage, the ->Execution Algorithm-> takes over after the decision to take a position has already been made on the ->Trigger Stage->. I know you still don't know what a ->Situation-> or a ->Condition-> are, but I'd still like you to do something...\",\n \"callOut\": \"Take a few minutes to explore the nodes below the execution algorithm, check the formulas and conditions, and see what you can make of them!\",\n \"paragraph2\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"395d6137-6954-48d0-89d7-a41226d6c667","savedPayload":{"position":{"x":19400.217412411857,"y":36449.60858874119},"targetPosition":{"x":19510.573469233084,"y":36933.052289423926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Execution Algorithm","name":"Buy Orders","id":"e635ed9f-3c8c-45bf-8be0-e3836fa0844e"}}},{"type":"Tutorial Step","name":"Formulations","config":"{\n \"subTitle\": \"Formulations...\",\n \"gif\": \"\",\n \"image\": \"formula\",\n \"definition\": \"What you just went through is the definition of the ->Limit Buy Order-> that is placed and cancelled every minute until it gets filled.\",\n \"paragraph1\": \"This is the node that determines the rate of the limit order. Remember what we discussed earlier about placing the order at the rate of the fifth support level?\",\n \"callOut\": \"Go to the ->Formula-> attached to the ->Order Rate-> node and click Edit on the menu.\",\n \"paragraph2\": \"Well... that is how it's done! As you can see, the syntax is virtually self-explanatory! It involves defining the time frame, the indicator, and the indicator property involved.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"f8c57877-6059-4c16-8dbe-18571d22d8ca","savedPayload":{"position":{"x":19665.91879671924,"y":36457.42473176237},"targetPosition":{"x":19510.573469233084,"y":36933.052289423926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Order Rate","name":"New Order Rate","id":"3ff96eb6-5965-4f82-98d4-cd23bf8d0369"}}},{"type":"Tutorial Step","name":"The Seller","config":"{\n \"subTitle\": \"The Seller\",\n \"gif\": \"\",\n \"image\": \"execution-algorithm\",\n \"definition\": \"We are now in the ->Close Stage->. I though it would be interesting to tell you more about execution algorithms, with another example.\",\n \"paragraph1\": \"An ->Execution Algorithm-> may handle multiple orders, of all types. In this case, multiple limit sell orders are defined.\",\n \"callOut\": \"Select Configure on the menu of the algorithm and reflect on the implications of this definition!\",\n \"paragraph2\": \"Both the open stage, where you define how to take a position, and the close stage, where you define how to exit, may feature multiple execution algorithms, each of them handling a certain amount of capital.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"29fe5e28-80f8-4ca0-902b-5b8de961aeca","savedPayload":{"position":{"x":19882.649921265922,"y":36598.39018086119},"targetPosition":{"x":19510.573469233084,"y":36933.052289423926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Execution Algorithm","name":"Race to Break Even","id":"0fe764ce-3312-4964-9841-b55500e3f80a"}}},{"type":"Tutorial Step","name":"Simplifying Complexity","config":"{\n \"subTitle\": \"Simplifying Complexity\",\n \"gif\": \"\",\n \"image\": \"trading-system\",\n \"definition\": \"We haven't discussed trading systems as a framework, but a feature relevant to this explanation is that they may handle multiple strategies.\",\n \"paragraph1\": \"Each strategy features an ->Open Stage-> and a ->Close Stage->, each with its own execution definitions. Each stage may feature multiple execution algorithms, and each algorithm may handle multiple orders.\",\n \"callOut\": \"Do you see the pattern? We call it granularity. \",\n \"paragraph2\": \"Superalgos breaks down each issue to the minimum expression, and integrates the solutions. This is how it allows you to design, deploy, and manage both simple and the most complex trading setups you may envision.\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"4b24efc4-d836-4a22-9791-8f34fed6f6d2","savedPayload":{"position":{"x":20034.9669346752,"y":36797.6408586289},"targetPosition":{"x":19510.573469233084,"y":36933.052289423926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Trading Strategy","name":"My Trading Strategy","id":"711041eb-3055-4611-b64f-570363bae854"}}},{"type":"Tutorial Step","name":"Let's Take a Peek","config":"{\n \"subTitle\": \"Let's Take a Peek...\",\n \"gif\": \"\",\n \"image\": \"limit-sell-order\",\n \"definition\": \"Before we leave the trading system, let's take a quick look into one of these orders and see what may be of interest.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Expand Profit 0.6 and check the formula of the ->Order Rate-> node.\",\n \"paragraph2\": \"Let's focus on this misterious bit of the formula:
tradingEngine.current.position.exitTargetRate.value
The formula is fetching the value of the ->Exit Target Rate->, defined elsewhere. Let's not focus and what this target rate may be. Instead, let's take a look at the mechanism by which a ->Trading System-> may have access to information processed by the ->Trading Bot->. \",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"66730e1d-6c7d-4af9-a053-b77d3c0c80a3","savedPayload":{"position":{"x":19986.4937190843,"y":37087.71203626196},"targetPosition":{"x":19510.573469233084,"y":36933.052289423926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Limit Sell Order","name":"Profit 0.6","id":"b80fe127-d306-4fc1-a3a8-95bf88de046f"}}}],"tutorialTopics":[],"id":"4a22546a-13ad-4d99-8309-9583c44d331a","savedPayload":{"position":{"x":18545.462482388837,"y":44149.66049255504},"targetPosition":{"x":18681.6596323107,"y":44416.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Trading Engine","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Find the Node Challenge","config":"{\n \"subTitle\": \"Find the Node Challenge\",\n \"gif\": \"\",\n \"image\": \"trading-engine\",\n \"definition\": \"The ->Trading Engine-> administers the complexity entailed in automated trading by making information accessible to users and trading systems.\",\n \"paragraph1\": \"Rember my comments about granularity? Remember how the formula on the trading system fetched the value of the exit target rate? Here's a quick reminder:
tradingEngine.current.position.exitTargetRate.value\",\n \"callOut\": \"What if I told you that this string holds the path to that piece of information in the data structure of the ->Trading Engine-> hierarchy? Can you find the ->Exit Target Rate-> node? Expand the node and follow the breadcrumb trail!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"1da79160-ab19-4a67-ad10-383158a5330c","savedPayload":{"position":{"x":18481.989349188396,"y":43949.810599682474},"targetPosition":{"x":18728.58997182277,"y":44120.65594763301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Trading Engine","name":"Low-Frequency","id":"eb20f622-71bf-4479-a574-d2320e1d4bd1"}}},{"type":"Tutorial Step","name":"Found It?","config":"{\n \"subTitle\": \"Found It?\",\n \"gif\": \"\",\n \"image\": \"copy-path\",\n \"definition\": \"This is how the ->Trading Engine-> makes every bit of information processed by the ->Trading Bot-> available to trading systems.\",\n \"paragraph1\": \"There is a path to every piece of data, and by knowing the path, you may access the data from within any ->Formula-> or ->Condition-> in a ->Trading Strategy->. Let's run a quick check:\",\n \"callOut\": \"Open the menu of the ->Exit Target Rate-> node to the left, and click Copy Node Path. Now, open a text editor and paste what you copied.\",\n \"paragraph2\": \"Ok! This is how formulas and conditions access the information... How about humans?\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"ff08fcfb-7c33-4d70-9260-f960f4e1dd12","savedPayload":{"position":{"x":18580.537506403467,"y":43859.7336076863},"targetPosition":{"x":18728.58997182277,"y":44120.65594763301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Exit Target Rate","name":"New Exit Target Rate","id":"bc637b55-04bd-4701-9683-78593832cb09"}}},{"type":"Tutorial Step","name":"The Coolest Trick!","config":"{\n \"subTitle\": \"The Coolest Trick!\",\n \"gif\": \"\",\n \"image\": \"exit-target-rate\",\n \"definition\": \"Humans may access this information by using a cool trick that makes the charting space interact with the design space!\",\n \"bulletListIntro\": \"To use this trick, I just did the following:\",\n \"bulletArray\": [\n [\n \"Split the screen in half\",\n \" pulling the slider up so that we can see both spaces at the same time.\"\n ],\n [\n \"Turn on the Current Position layer\",\n \" on the Trading Engine layers manager. I chose this layer because it corresponds to this section of the hierarchy... tradingEngine.current.position... remember ?\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"Now, slide the mouse pointer across the candles on which the position is taken and see what happens on the nodes to the left...\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"repositionAtTimeMachineReferenceParent\": true,\n \"batchConfigChangesReferenceParent\": [\n {\n \"nodePath\": \"referenceParent.timeScale\",\n \"properties\": {\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"fromDate\": \"2020-08-31T23:40:00.000Z\",\n \"toDate\": \"2020-09-01T01:00:00.000Z\"\n }\n },\n {\n \"nodePath\": \"referenceParent.rateScale\",\n \"properties\": {\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"minValue\": 11000,\n \"maxValue\": 11800\n }\n },\n {\n \"nodePath\": \"referenceParent.timeFrameScale\",\n \"properties\": {\n \"value\": \"01-min\"\n }\n },\n {\n \"nodePath\": \"referenceParent.timelineCharts[1].layerManager\",\n \"properties\": {\n \"visibleLayers\": 3,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n }\n },\n {\n \"nodePath\": \"referenceParent.timelineCharts[1].layerManager.botLayers[0].layerFolders[0].layerFolders[2].layers[0]\",\n \"properties\": {\n \"status\": \"on\"\n }\n }\n ],\n \"documentationURL\": \"\"\n}","id":"2cc2befe-1858-4c96-a45c-52e3dbfa7384","savedPayload":{"position":{"x":18708.409270139156,"y":43821.335485119074},"targetPosition":{"x":18728.58997182277,"y":44120.65594763301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Backtesting Session My Computer","id":"499eac86-6c40-4362-a36a-5f2002081866"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-backtesting-trading-engine-visualization-01\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"positionAtReferenceParent\": true\n}","id":"0276fff4-493c-42c8-8d06-267a23646783","savedPayload":{"position":{"x":18840.278069343352,"y":43842.2214510773},"targetPosition":{"x":18728.58997182277,"y":44120.65594763301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Exit Target Rate","name":"New Exit Target Rate","id":"bc637b55-04bd-4701-9683-78593832cb09"}}},{"type":"Tutorial Step","name":"Feedback Loops","config":"{\n \"subTitle\": \"Feedback Loops\",\n \"gif\": \"\",\n \"image\": \"limit-buy-order\",\n \"definition\": \"Lets take a look at another example to let the notion of the constant feedback loop sink in before we move on!\",\n \"paragraph1\": \"This is the data structure where information about limit buy orders is kept.\",\n \"callOut\": \"Go to the Trading Engine layers manager on the charts (the second counting from the left). Scroll down and turn on the Limit Buy Orders layer. Now swipe the mouse pointer over a few of the buy orders and check the effect on the nodes on the design space.\",\n \"paragraph2\": \"Can you envision the implications of having this level of control over the data managed by the trading bot?\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"f5c6cc94-ab96-4729-aa90-12c904c58066","savedPayload":{"position":{"x":18950.025671068972,"y":43918.25478385339},"targetPosition":{"x":18728.58997182277,"y":44120.65594763301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Rate","name":"New Rate","id":"1c848292-d64a-456f-b1b9-b9e4a387436e"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-backtesting-trading-engine-visualization-02\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"positionAtReferenceParent\": true\n}","id":"3169f747-4d89-463d-8307-aa7f7b4a4a62","savedPayload":{"position":{"x":19015.91521682825,"y":44034.376149403404},"targetPosition":{"x":18728.58997182277,"y":44120.65594763301},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"9c34436a-f531-443a-bcd5-d69e352da251","savedPayload":{"position":{"x":18728.58997182277,"y":44120.65594763301},"targetPosition":{"x":18681.6596323107,"y":44416.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"9cf3ea6e-9edb-44ed-81ff-8a00886ce731","savedPayload":{"position":{"x":18681.6596323107,"y":44416.96244981155},"targetPosition":{"x":18893.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Live Trading","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Set Up & Run","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Enough Chit Chat","config":"{\n \"subTitle\": \"Enough Chit Chat!\",\n \"gif\": \"\",\n \"image\": \"production-environment\",\n \"definition\": \"Ok, my friend... It's time for the real deal! Are you ready for a little ->Live Trading Session->?\",\n \"bulletListIntro\": \"I'll help you with the three main requirements:\",\n \"bulletArray\": [\n [\n \"Check your parameters,\",\n \" in particular, decide how much capital you wish to assign to the session.\"\n ],\n [\n \"Set up an ->Exchange Account Key->\",\n \" so that the app may access your account at the exchange.\"\n ],\n [\n \"Ensure a live data feed\",\n \", that is, the data mining operation with the indicators required by the ->Trading System-> must be running and up to date.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"To proceed with a ->Live Trading Session->, click Next.\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"8dfa9fdb-3591-4dbe-a865-0ef760ce9742","savedPayload":{"position":{"x":18151.272682972678,"y":36842.0484591931},"targetPosition":{"x":18646.621267607057,"y":36743.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Production Environment","name":"New Production Environment","id":"65a40d20-837c-4652-8356-f8054b4e1346"}}},{"type":"Tutorial Step","name":"Warning!","config":"{\n \"warning\": \"Superalgos is a piece of computer software. Like with any software, errors may occur at any point, including errors that may cause you to lose money. You are responsible for taking all precautions you may deem appropriate before trading live. Even if you take all possible precautionary measures, things may still go wrong and errors may occur. By using this software to trade live despite the warnings, you acknowledge that you are aware of the inherent risks in trading and in using software for that purpose. The Superalgos Project offers the software AS IS, with no explicit or implied warranties of any kind. The project, the software, the superalgos.org website, and this tutorial do not offer financial advice. Although the strategies shipping with the system may be fully functional, Superalgos does not make any express or implied recommendation as to how you should use them. We share strategies for educational purposes only. Trade under your responsibility and at your own risk. The use of the software is subject to the terms of the LICENSE.\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"1ad5babb-40d3-48f4-a784-5c2ea0e6b171","savedPayload":{"position":{"x":18149.116172849153,"y":36690.1732869149},"targetPosition":{"x":18646.621267607057,"y":36743.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Let's Start With 20 Bucks!","config":"{\n \"subTitle\": \"Let's Start With 20 Bucks!\",\n \"gif\": \"\",\n \"image\": \"session-quoted-asset\",\n \"definition\": \"The default initialBalance is set to 20 USDT, which ensures we are above the minimum transaction amount supported by Binance.\",\n \"paragraph1\": \"The initialBalance is defined in the configuration of the ->Session Quoted Asset->.\",\n \"callOut\": \"Check that the above is the case and decide for yourself if you wish to change it.\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"important\": \"Make sure you have at least 20 USDT at the exchange! The ->Trading Bot-> will place one limit order for 20 USDT, and cancel it the next minute in case it is not filled, as explained earlier.\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"04b09505-d781-4d1f-8686-57eb3a0cf95c","savedPayload":{"position":{"x":18189.71414351859,"y":36539.037133627135},"targetPosition":{"x":18646.621267607057,"y":36743.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Session Quoted Asset","name":"","id":"f6cd46c1-66df-422c-82d4-02ac8e37f689"}}},{"type":"Tutorial Step","name":"Enjoy the Outdoors!","config":"{\n \"subTitle\": \"Enjoy the Outdoors!\",\n \"gif\": \"\",\n \"image\": \"crypto-ecosystem\",\n \"definition\": \"I believe you haven't visited the ->Crypto Ecosystem-> hierarchy, right? This is where you configure which exchanges and markets you wish to work with...\",\n \"paragraph1\": \"... among other things, such as your accounts with those exchanges, your API keys, your assets, and so on.\",\n \"callOut\": \"Why don't you take a little walk and I'll catch up with you in the next step?\",\n \"paragraph2\": \"\",\n \"tip\": \"Just look around... enjoy the views...\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"ff963975-de14-44e0-a552-44b29644a938","savedPayload":{"position":{"x":18275.057980918613,"y":36407.74506356766},"targetPosition":{"x":18646.621267607057,"y":36743.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Crypto Ecosystem","name":"My Crypto Ecosystem","id":"7217b56c-e854-4c06-8b8a-d5d3c05a153d"}}},{"type":"Tutorial Step","name":"Your Keys, Your Coins!","config":"{\n \"subTitle\": \"Your Keys, Your Coins!\",\n \"gif\": \"\",\n \"image\": \"exchange-account-key\",\n \"definition\": \"This is where you configure your ->Exchange Account Key-> for the Lightning Strike ->Live Trading Session->.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Open the configuration and carefully enter the API name or label and the API secret key.\",\n \"paragraph2\": \"Delete the default text string for each parameter first, so that no foreign character gets mixed up with the keys.\",\n \"note\": \"In the future, when you get to run multiple live sessions at the same time, you will need to set up one ->Exchange Account Key-> per session. This is a requirement in most exchanges.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"a36187cc-415e-424b-8275-352f953552f8","savedPayload":{"position":{"x":18396.720160624332,"y":36309.165434983646},"targetPosition":{"x":18646.621267607057,"y":36743.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Exchange Account Key","name":"Key for Lighting Strike","id":"e85bbbd6-aca8-450f-9237-788062de5761"}}},{"type":"Tutorial Step","name":"Fire Up the Machine!","config":"{\n \"subTitle\": \"Fire Up the Machine!\",\n \"gif\": \"\",\n \"image\": \"data-mining\",\n \"definition\": \"Now it's time to fire up your ->Data Mining-> operation.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Select Run All Exchange Data Tasks on the menu.\",\n \"paragraph2\": \"We'll give it a few minutes to catch up with the present time. Remember, all indicators must get to 100% before we can start trading!\",\n \"tip\": \"If you're getting a bit anxious, feel free to go down the ->Data Mining-> section and check the status of the process instances!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"87824465-1fda-4f6a-bb4f-31f6d7f77268","savedPayload":{"position":{"x":18542.880762064968,"y":36253.07819241989},"targetPosition":{"x":18646.621267607057,"y":36743.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Data Mining","name":"New Data Mining","id":"4df1cb4e-b9ca-4f62-bb5f-c7e262aaa22a"}}},{"type":"Tutorial Step","name":"Are We Ready Yet?","config":"{\n \"subTitle\": \"Are We Ready Yet?\",\n \"gif\": \"\",\n \"image\": \"indicator-process-instance\",\n \"definition\": \"Resistances and Supports Multi-Period-Daily to the left is the last of the process to finish.\",\n \"paragraph1\": \"If this process is at 100%, then we are ready to go.\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"Either way, nothing catastrophic happens if you attempt to run a ->Live Trading Session-> when the required indicators are not up to date. There would be an error, and you'd be notified of the reason. So, no big deal!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"f05ce10a-6ccd-4910-9373-8f3d211fe390","savedPayload":{"position":{"x":18699.063491628538,"y":36244.93142289231},"targetPosition":{"x":18646.621267607057,"y":36743.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Period-Daily","id":"c5395fbe-4b5a-4492-a7fb-e2d259905e27"}}},{"type":"Tutorial Step","name":"Let's Do this!","config":"{\n \"subTitle\": \"Let's Do This!\",\n \"gif\": \"\",\n \"image\": \"live-trading-session\",\n \"definition\": \"We've gone through the 3-point checklist and we are ready to go, so let's get on with it!\",\n \"paragraph1\": \"\",\n \"callOut\": \"Run the Lightning Strike ->Task->, and then run the Lightning Strike ->Live Trading Session-> to the right!\",\n \"paragraph2\": \"\",\n \"note\": \"Once you run the session, the trading bot may have to wait up to 60 seconds for the last indicator to finish processing. Once it does, you will see the current date and a 0% progress notice under the ->Trading Process Instance->, which will remain like that throughout the run.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"ba33c98c-dc22-408d-8206-c173344cdb24","savedPayload":{"position":{"x":18850.462373841467,"y":36285.5831070938},"targetPosition":{"x":18646.621267607057,"y":36743.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Task","name":"Lightning Strike","id":"c8492c4a-a7a7-4a80-a25a-a610377e6180"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-live-trading-process-progress\",\n \"position\": \"Left\",\n\"positionAtReferenceParent\": true,\n \"slider\": \"toTop\"\n}","id":"bd2e54f6-f3ca-4bf7-a453-b2a2ce55e65c","savedPayload":{"position":{"x":18982.00116780749,"y":36371.20811973339},"targetPosition":{"x":18646.621267607057,"y":36743.10774608528},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Trading Process Instance","name":"Low Frequency Trading","id":"4d7e7fa0-afcb-4b2f-983b-ceacea91b29d"}}}],"tutorialTopics":[],"id":"8f866187-280e-4e87-b871-41dc645fd412","savedPayload":{"position":{"x":18743.791666666664,"y":44069.28686303218},"targetPosition":{"x":18893.791666666664,"y":44329.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Monitoring","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Check Your Console!","config":"{\n \"subTitle\": \"Check Your Console!\",\n \"gif\": \"\",\n \"image\": \"trading-process-instance\",\n \"definition\": \"If you don't see any errors on the ->Trading Process Instance->, chances are everything is working fine!\",\n \"paragraph1\": \"However, you may want to take a look at your console application and see if you notice anything out of the norm.\",\n \"callOut\": \"Take a look at your console app!\",\n \"paragraph2\": \"\",\n \"note\": \"You should be able to see the alternating executions of the Candles-Volumes and Resistances-And-Support indicators, with the Low-Frequency ->Trading Bot->\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"036556c5-b0bd-494a-bec2-bd7413506475","savedPayload":{"position":{"x":18893.791666666664,"y":43809.47924189685},"targetPosition":{"x":19043.791666666664,"y":44069.28686303218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-live-trading-console\",\n \"position\": \"Left\",\n \"slider\": \"toTop\"\n}","id":"2708d375-3245-455d-85d2-b164ab3ba86f","savedPayload":{"position":{"x":19043.791666666664,"y":43769.28686303218},"targetPosition":{"x":19043.791666666664,"y":44069.28686303218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Is It Working?","config":"{\n \"subTitle\": \"Is It Working?\",\n \"gif\": \"\",\n \"image\": \"binance\",\n \"definition\": \"The unequivocal way to verify things are working fine is logging on to Binance and checking your order history for BTC/USDT.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Go to Binance and take a look at what's going on!\",\n \"paragraph2\": \"\",\n \"note\": \"At any point in time, you should see one open order and a number of canceled orders pilling up in your order history, pretty much like in the video on the next step!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"8f6913ec-257f-49ba-bdbb-dcd43e5fe727","savedPayload":{"position":{"x":19193.791666666664,"y":43809.47924189685},"targetPosition":{"x":19043.791666666664,"y":44069.28686303218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"welcome-live-trading-binance-orders\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"changeNodeConfigWithEvalReferenceParent\": {\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"fromDate\": \"(new Date((new Date()).valueOf() - 60000 * 120)).toISOString()\",\n \"toDate\": \"(new Date((new Date()).valueOf() + 60000 * 120)).toISOString()\"\n }\n}","id":"9a3be7a3-9fe8-4d58-a84c-abd59c43e7f2","savedPayload":{"position":{"x":19303.599287801997,"y":43919.28686303218},"targetPosition":{"x":19043.791666666664,"y":44069.28686303218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Scale","name":"New Time Scale","id":"708c5a9f-a995-4210-aaaf-0794782f0e9e"}}},{"type":"Tutorial Step","name":"Monitor the Fun Way","config":"{\n \"subTitle\": \"Monitoring the Fun Way!\",\n \"gif\": \"\",\n \"image\": \"bullet-limit-buy-order\",\n \"definition\": \"You thought we would let you monitor the ->Live Trading Session-> watching the ugly list of orders at the exchange? No way!\",\n \"paragraph1\": \"Superalgos produces the same kind of simulations you love for live sessions too, in realtime!\",\n \"callOut\": \"Can you see the first few buy orders on the chart?\",\n \"paragraph2\": \"\",\n \"note\": \"Notice that the ->Time Scale-> is set to automatic mode on the right-hand side to glue the current candle to the right border of the screen. The ->Rate Scale-> is automatic on both ends. Feel free to change those to your liking.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\",\n \"repositionAtTimeMachineReferenceParent\": true,\n \"batchConfigChangesReferenceParent\": [\n {\n \"nodePath\": \"referenceParent.rateScale\",\n \"properties\": {\n \"autoMinScale\": true,\n \"autoMaxScale\": true\n }\n },\n {\n \"nodePath\": \"referenceParent.timeFrameScale\",\n \"properties\": {\n \"value\": \"01-min\"\n }\n }\n ]\n}","id":"d84be58b-a1c7-4504-89aa-f98efe132c30","savedPayload":{"position":{"x":19343.791666666664,"y":44069.28686303218},"targetPosition":{"x":19043.791666666664,"y":44069.28686303218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Time Machine","name":"Lightning Strike Live Trading Session My Computer","id":"cc1fcc1e-81de-4011-8e59-c37ebe32ecf7"}}}],"tutorialTopics":[],"id":"03e5e234-40eb-4fbe-8df3-95a40f1b34ea","savedPayload":{"position":{"x":19043.791666666664,"y":44069.28686303218},"targetPosition":{"x":18893.791666666664,"y":44329.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"8f829077-b2bd-4747-a01d-762f35b3a070","savedPayload":{"position":{"x":18893.791666666664,"y":44329.094484167515},"targetPosition":{"x":18893.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"The End","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"What's Next?","config":"{\n \"subTitle\": \"What's Next?\",\n \"gif\": \"\",\n \"image\": \"bullet-info\",\n \"definition\": \"There are tons of things we haven't covered yet, I know! Just look around! So much stuff to see! It's mind-boggling.\",\n \"paragraph1\": \"I'm sure you still have tons of questions floating in your head... How do I build my own strategies? How do I measure performance? How do I build an indicator? How do I deploy a trading farm? How may I integrate with TradingView? How do I set up Telegram announcements? Don't worry! You'll get there my friend... you'll just have to do some reading!\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"tip\": \"In the meantime, remember to stop your live session and data mining when you no longer need them running, and especially before closing the backend.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"06efb824-f003-4a3c-8323-549a6427d83e","savedPayload":{"position":{"x":19105.923701022628,"y":44116.96244981155},"targetPosition":{"x":19105.923701022628,"y":44416.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Ready for More?","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Ready for More Tutorials?\",\n \"gif\": \"\",\n \"image\": \"tutorial\",\n \"definition\": \"There are a few more tutorials ready to walk you through other matters upon request!\",\n \"bulletListIntro\": \"At the bottom of this workspace:\",\n \"bulletArray\": [\n [\n \"Developers Intro\",\n \" is a technical overview!\"\n ],\n [\n \"Install a New Market\",\n \" helps you go beyond BTC/USDT!\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"You may also want to load the Weak-hands Buster V.2 plugin workspace from the tab on the left. It features a tutorial about the Trading Bot Layers to complete your understanding on simulations and how they help you design and debug strategies.\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"6ccf52bb-9a95-40e8-8f2c-35530f44114e","savedPayload":{"position":{"x":19318.05573537859,"y":44204.83041545559},"targetPosition":{"x":19105.923701022628,"y":44416.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"This Is The End","config":"{\n \"subTitle\": \"This Is The End!\",\n \"gif\": \"\",\n \"image\": \"close-stage-event\",\n \"definition\": \"Ok, my friend, this is the end! I hope you've enjoyed the show and that I've managed to get you hooked to Superalgos!\",\n \"paragraph1\": \"There's no doubt in my mind that you haven't seen anything like Superalgos before. As you may now figure, Superalgos is a vast system and keeps growing fast.\",\n \"callOut\": \"I hope we can count on your help once you start using the system! Superalgos is a community project, and we need your help to keep it open-source and free! \",\n \"externalLink\": [\n \"Join the community!\",\n \"https://t.me/superalgoscommunity\"\n ],\n \"paragraph2\": \"\",\n \"tip\": \"Drop by, say hi, and meet the team!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"708b6ed8-28ac-41c8-bf4f-7c1cec6af6a3","savedPayload":{"position":{"x":19405.923701022628,"y":44416.96244981155},"targetPosition":{"x":19105.923701022628,"y":44416.96244981155},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Tutorial","name":"Welcome to Superalgos!","id":"6f36f540-8de9-4458-b2c7-875884121b87"}}}],"tutorialTopics":[],"id":"fcea7b25-5a13-40e6-a92f-9c530b8a7476","savedPayload":{"position":{"x":19105.923701022628,"y":44416.96244981155},"targetPosition":{"x":18893.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"6f36f540-8de9-4458-b2c7-875884121b87","savedPayload":{"position":{"x":18893.791666666664,"y":44629.094484167515},"targetPosition":{"x":18893.791666666664,"y":44629.094484167515},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isPlaying":true,"isRunning":false},"tutorial":{"status":"Done"}}},{"type":"Tutorial","name":"Install a New Market","config":"{\n \"title\": \"Install a New Market\",\n \"summary\": \"\",\n \"subTitle\": \"\",\n \"gif\": \"\",\n \"image\": \"market\",\n \"definition\": \"This tutorial walks you through the process of setting up a new ->Market-> on which to run data mining and trading operations.\",\n \"bulletListIntro\": \"Setting up a new Market involves:\",\n \"bulletArray\": [\n [\n \"1. Adding the assets \",\n \"for the exchange of choice.\"\n ],\n [\n \"2. Setting up a market \",\n \"with the said assets.\"\n ],\n [\n \"3. Installing the market\",\n \"\"\n ]\n ],\n \"paragraph1\": \"Let's get on with it!\",\n \"callOut\": \"When you click the Next button below, you will go to the ->Exchange Assets-> node under Binance, in the ->Crypto Ecosystem-> hierarchy.\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Add the Assets","config":"{\n \"title\": \"Add the Assets\",\n \"summary\": \"\",\n \"gif\": \"\",\n \"image\": \"asset\",\n \"definition\": \"If the assets you wish to work with are not listed under ->Exchange Assets->, you must add and configure them first.\",\n \"paragraph1\": \"\",\n \"callOut\": \"In this section of the tutorial, you will learn to define which assets you may want to work with.\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Each exchange may list hundreds of assets, however, you will likely be interested in just a few. Some automated operations may feed on your definitions, so keeping them free of junk is always a good idea.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Add the Assets\",\n \"summary\": \"\",\n \"subTitle\": \"Step 1: Add Nodes\",\n \"gif\": \"\",\n \"image\": \"exchange-assets\",\n \"definition\": \"Open the ->Exchange Assets-> node menu and use the Add Asset button to add the required assets.\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"Assets under Exchange Assets may not be duplicated. If the definitions for the assets you are interested in already exist, you may reuse them instead of creating new ones. If such is the case, simply skip the next few steps until you need to set up the ->Market->.\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"1b3b8d0e-3aa9-4aba-8b74-351647a3b5b5","savedPayload":{"position":{"x":31853.428390593275,"y":44300.766834125825},"targetPosition":{"x":31499.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Add the Assets\",\n \"summary\": \"\",\n \"subTitle\": \"Step 2: Configure Assets\",\n \"gif\": \"\",\n \"image\": \"asset\",\n \"definition\": \"Edit the configuration of each of the new assets entering the ticker (as listed by the exchange) in the codeName property. For example: 'codeName': 'ETH'\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\n \"\",\n \"\"\n ],\n \"paragraph2\": \"\",\n \"note\": \"If the icon for the configured assets exist in the image library, the default icon is replaced automatically.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"05f7092a-2326-40e7-b618-f3be5523e670","savedPayload":{"position":{"x":31999.875,"y":44654.3202247191},"targetPosition":{"x":31499.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Add the Assets\",\n \"summary\": \"\",\n \"subTitle\": \"Step 3: Label Nodes\",\n \"gif\": \"\",\n \"image\": \"asset\",\n \"definition\": \"Label the assets with the descriptive name of the coin or token, for ease of use. For example: Ether.\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\n \"\",\n \"\"\n ],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Keeping a tidy ->Workspace-> with proper labels for significant nodes helps in managing large operations and administering complexity.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"281274f1-a4ec-47a2-b97c-0c29aa71eed9","savedPayload":{"position":{"x":31853.428390593275,"y":45007.873615312375},"targetPosition":{"x":31499.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"cd6f2f74-407e-46c9-b7de-95d9ab2cc82d","savedPayload":{"position":{"x":31499.875,"y":44654.3202247191},"targetPosition":{"x":30999.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Exchange Assets","name":"New Exchange Assets","id":"95d2c30f-215b-486e-8119-f4eac0279575"}}},{"type":"Tutorial Topic","name":"Set up the Market","config":"{ \n \"title\": \"Set Up the Market\",\n \"summary\": \"\",\n \"gif\": \"\",\n \"image\": \"market\",\n \"definition\": \"If there is no ->Market-> set up with the pair you wish to work with under ->Exchange Markets->, you must set up the market definition before installing it.\",\n \"paragraph1\": \"\",\n \"callOut\": \"The next few steps teach you how to set up the market so that you may later install it.\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"Make sure that the combination of base and quoted assets that you wish to define as a market in Superalgos exists as a market listed at the exchange.\",\n \"warning\": \"\", \n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n }","tutorialSteps":[{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Set Up the Market\",\n \"summary\": \"\",\n \"subTitle\": \"Step 1: Add Market\",\n \"gif\": \"\",\n \"image\": \"market\",\n \"definition\": \"Add a new Market node using the Add Market option on the menu.\",\n \"paragraph1\": \"A Market node is added featuring two offspring: a ->Market Base Asset-> and a ->Market Quoted Asset->.\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"Before continuing, make sure which is the base and which the quoted asset in the exchange's listing. Usually, the base asset is the first in the name of the pair, but this is not enforced on every exchange, so be vigilant.\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"cae5ddd4-0c48-488d-86f7-38192c7fdbca","savedPayload":{"position":{"x":31747.135947684135,"y":45139.597158245146},"targetPosition":{"x":31249.875,"y":45087.33292661132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Set Up the Market\",\n \"summary\": \"\",\n \"subTitle\": \"Step 2: Reference Base A.\",\n \"gif\": \"\",\n \"image\": \"asset\",\n \"definition\": \"Establish a reference from the ->Market Base Asset-> node in the Market you just defined to the corresponding ->Asset-> node defined under Exchange Assets.\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"If you are not familiar with establishing references, please read about the topic in the documentation.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"https://docs.superalgos.org/suite-how-to-remove-and-establish-references.html\"\n}","id":"a7a049cb-72e0-4d76-9247-ee0d873e79c8","savedPayload":{"position":{"x":31621.447412738697,"y":45421.89822979075},"targetPosition":{"x":31249.875,"y":45087.33292661132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Set Up the Market\",\n \"summary\": \"\",\n \"subTitle\": \"Step 3: Reference Quoted A.\",\n \"gif\": \"\",\n \"image\": \"asset\",\n \"definition\": \"Now establish a reference from the ->Market Quoted Asset-> node in the Market you just defined to the corresponding ->Asset-> node defined under Exchange Assets.\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"9710d88d-c4ae-406b-9079-31bcf7395817","savedPayload":{"position":{"x":31353.83084540888,"y":45576.406726978224},"targetPosition":{"x":31249.875,"y":45087.33292661132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Set Up the Market\",\n \"summary\": \"\",\n \"subTitle\": \"Step 4: Label the Market\",\n \"gif\": \"\",\n \"image\": \"market\",\n \"definition\": \"Label the Market with the ticker names corresponding to the Market Base Asset and the Market Quoted Asset, just like the exchange listing. For example: ETH/USDT.\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Keeping a tidy ->Workspace-> with proper labels for significant nodes helps in managing large operations and administering complexity.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"2d2ce361-6261-44b4-b7ff-466035934334","savedPayload":{"position":{"x":31046.5066784621,"y":45544.10565543262},"targetPosition":{"x":31249.875,"y":45087.33292661132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"4de3cd7d-f552-4f39-b4cd-e29269b64668","savedPayload":{"position":{"x":31249.875,"y":45087.33292661132},"targetPosition":{"x":30999.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Exchange Markets","name":"New Exchange Markets","id":"2fd80894-900e-44ac-a1a7-56c14124f7a1"}}},{"type":"Tutorial Topic","name":"Install the Market","config":"{\n \"title\": \"Install the Market\",\n \"summary\": \"Now that the Market is set up, installing it is just a click away.\",\n \"subTitle\": \"Single Step: Install\",\n \"gif\": \"\",\n \"image\": \"market\",\n \"definition\": \"Click the Install Market button on the ->Market-> node you just finished setting up.\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"The Install Market function sets up many data structures in the local ->Network Node-> and in the ->Charting Space->. The next few steps in the tutorial will help you get familiar with the installation.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[],"tutorialTopics":[],"id":"e003540b-91f4-41ce-8082-45122ddb55e7","savedPayload":{"position":{"x":30749.875,"y":45087.33292661132},"targetPosition":{"x":30999.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Network Verification","config":"{\n \"title\": \"Network Verification\",\n \"summary\": \"\",\n \"subTitle\": \"\",\n \"gif\": \"\",\n \"image\": \"network-node\",\n \"definition\": \"The Install Market function sets up many data structures in the local ->Network Node->. \",\n \"paragraph1\": \"In the next few steps, you will verify that each of the expected data structures was created successfully. The expected structures are:\",\n \"callOut\": \"1. ->Data Mining-> tasks for all data mines included in your workspace.
2. Backtesting and live trading tasks for all included trading systems.
3. The corresponding ->Data Storage-> definitions.\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Network Verification\",\n \"subTitle\": \"Step 1: Verify Data Mining\",\n \"gif\": \"\",\n \"image\": \"data-mining\",\n \"definition\": \"Verify that the ->Data Mining-> tasks for the corresponding Market were created successfully.\",\n \"bulletListIntro\": \"Look for the following data structures:\",\n \"bulletArray\": [\n [\n \"A ->Market Data Tasks-> node\",\n \" for the new market.\"\n ],\n [\n \"One ->Data Mine Tasks-> node\",\n \" for each Data Mine included in the Workspace.\"\n ],\n [\n \"One ->Task Manager-> per ->Data Mine->\",\n \" and one ->Task-> for each bot defined in each data mine.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\n \"\",\n \"\"\n ],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"4bca0860-329c-4fde-a11e-d404d0f23431","savedPayload":{"position":{"x":30205.982373853763,"y":45058.828721906575},"targetPosition":{"x":30499.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Network Verification\",\n \"subTitle\": \"Step 2: Verify Testing Env.\",\n \"gif\": \"\",\n \"image\": \"testing-environment\",\n \"definition\": \"Verify that the ->Testing Environment-> tasks for the corresponding ->Market-> were created successfully.\",\n \"bulletListIntro\": \"Look for the following data structures:\",\n \"bulletArray\": [\n [\n \"A ->Market Trading Tasks-> node\",\n \" for the new market.\"\n ],\n [\n \"One ->Trading Mine Tasks-> node\",\n \" for each trading mine included in the Workspace.\"\n ],\n [\n \"One ->Task Manager-> per trading mine and one ->Task-> with a ->Backtesting Session->\",\n \" for each ->Trading System-> in the workspace.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\n \"\",\n \"\"\n ],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"495e3d4c-87a8-4147-ad2a-06920da9d7a6","savedPayload":{"position":{"x":30024.346741852423,"y":44808.828721906575},"targetPosition":{"x":30499.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Network Verification\",\n \"subTitle\": \"Step 3: Verify Prod. Env.\",\n \"gif\": \"\",\n \"image\": \"production-environment\",\n \"definition\": \"Verify that the ->Production Environment-> tasks for the corresponding ->Market-> were created successfully.\",\n \"bulletListIntro\": \"Look for the following data structures:\",\n \"bulletArray\": [\n [\n \"A ->Market Trading Tasks-> node\",\n \" for the new market.\"\n ],\n [\n \"One ->Trading Mine Tasks-> node\",\n \" for each trading mine included in the workspace.\"\n ],\n [\n \"One ->Task Manager-> per ->Trading Mine-> and one ->Task-> with a ->Backtesting Session->\",\n \" for each ->Trading System-> in the workspace.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"43b85e55-3417-4b13-a7b6-7c5bc0fb691d","savedPayload":{"position":{"x":30024.346741852423,"y":44499.811727531625},"targetPosition":{"x":30499.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Network Verification\",\n \"subTitle\": \"Step 4: Verify Data Storage\",\n \"gif\": \"\",\n \"image\": \"data-storage\",\n \"definition\": \"Verify that the ->Data Storage-> nodes for the corresponding ->Market-> were created successfully.\",\n \"bulletListIntro\": \"Look for the following data structures:\",\n \"bulletArray\": [\n [\n \"A ->Market Data Products-> node\",\n \" under ->Data Mines Data->, with a ->Data Mine Products-> node for each ->Data Mine-> in the workspace.\"\n ],\n [\n \"A ->Market Trading Products-> node\",\n \" under ->Trading Mines Data->, with a ->Session Reference-> for each trading session in the testing and production environments.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"f37edf40-24ba-42d0-9458-bf008c123659","savedPayload":{"position":{"x":30205.982373853763,"y":44249.811727531625},"targetPosition":{"x":30499.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"89c6f1e3-d4c8-48c0-aec1-9dda6e0b9797","savedPayload":{"position":{"x":30499.875,"y":44654.3202247191},"targetPosition":{"x":30999.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Network Node","name":"My Computer","id":"e452cf65-2b2b-44f2-9e67-bdd9d3c008e4"}}},{"type":"Tutorial Topic","name":"Charts Verification","config":"{\n \"title\": \"Charts Verification\",\n \"summary\": \"\",\n \"subTitle\": \"\",\n \"gif\": \"\",\n \"image\": \"charting-space\",\n \"definition\": \"Beyond the data structures set up in the Network hierarchy, the Install Market function also sets up charts matching the trading sessions created.\",\n \"paragraph1\": \"In the next few steps you will verify that the expected data structures were created successfully.\",\n \"callOut\": \"The charts created allow working with each of the trading sessions independently.\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Notice from the organization of the charts that Superalgos allows scaling up your operation to unlimited trading systems and charts.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Charts Verification\",\n \"subTitle\": \"Step 1: Verify Charting S.\",\n \"gif\": \"\",\n \"image\": \"charting-space\",\n \"definition\": \"Verify that the ->Charting Space-> data structures for the corresponding Market were created successfully.\",\n \"bulletListIntro\": \"Look for the following data structures:\",\n \"bulletArray\": [\n [\n \"A ->Time Machine-> node\",\n \" for each trading session created in the ->Testing Environment->.\"\n ],\n [\n \"A ->Time Machine-> node\",\n \" for each trading session created in the ->Production Environment->.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\n \"\",\n \"\"\n ],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"17eb1e8e-e9f4-4fe4-a8ea-2c0ea0804d87","savedPayload":{"position":{"x":30316.862298107782,"y":43971.30752282688},"targetPosition":{"x":30749.875,"y":44221.30752282688},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"New Tutorial Step","config":"{\n \"title\": \"Charts Verification\",\n \"subTitle\": \"Step 2: Verify the Charts\",\n \"gif\": \"\",\n \"image\": \"time-machine\",\n \"definition\": \"Verify that the time machines created show up on the chartsing space... you should find...\",\n \"bulletListIntro\": \"\",\n \"bulletArray\": [\n [\n \"A ->Time Machine->\",\n \" for each trading session created in the ->Testing Environment->.\"\n ],\n [\n \"A ->Time Machine->\",\n \" for each trading session created in the ->Production Environment->.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Hover your mouse over a chart to see what ->Crypto Exchange-> and ->Market-> it features.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"a94fa42a-87c8-4874-ba45-ffa0ffd02f36","savedPayload":{"position":{"x":30749.875,"y":43721.30752282688},"targetPosition":{"x":30749.875,"y":44221.30752282688},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"064a5be1-bb06-468b-8fad-d78d2c844ee1","savedPayload":{"position":{"x":30749.875,"y":44221.30752282688},"targetPosition":{"x":30999.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Charting Space","name":"New Charting Space","id":"21d2ec55-9e56-4652-8e96-c7e451262c36"}}},{"type":"Tutorial Topic","name":"The End","config":"{\n \"title\": \"You Made It!\",\n \"subTitle\": \"\",\n \"gif\": \"\",\n \"image\": \"tutorial\",\n \"definition\": \"Congratulations... you have reached the end of this tutorial!\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"You may revisit this tutorial at any point. If you select the Play option on the menu, you start right from the beginning. If you select the Resume option instead, you start where you last left, or where you last skipped a step.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[],"tutorialTopics":[],"id":"9b5e9927-860c-4b89-ac5d-d7f6fd86b18d","savedPayload":{"position":{"x":31249.875,"y":44221.30752282688},"targetPosition":{"x":30999.875,"y":44654.3202247191},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"d86ff84f-15d3-4a2d-9674-114c5b526de5","savedPayload":{"position":{"x":30999.875,"y":44654.3202247191},"targetPosition":{"x":30999.875,"y":44654.3202247191},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Done"}}},{"type":"Tutorial","name":"Developers Intro","config":"{ \n\"title\": \"Intro for Developers\",\n \"summary\": \"This tutorial walks you through the technical aspects of Superalgos so that you may take advantage of the infrastructure in place as efficiently as possible.\",\n \"subTitle\": \"\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"I will cover the following topics:\",\n \"bulletArray\": \n[\n [\"Architecture:\", \"Architectural overview of the system.\"], \n[\"Backend:\", \"How the backend is organized.\"], \n[\"Frontend:\", \"How the UI works.\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"This is a 3-year-old project that has pivoted a few times to reach its current state of development. It was initially intended for trading bots competitions and is now focused on crypto-trading automation in general. The main technical pivot occurred when we decided to depart from a centralized cloud-based app, to a decentralized network of nodes.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Architecture","config":"{ \n\"title\": \"System Architecture\",\n \"summary\": \"Superalgos is essentially a Node.js application + a Web App.\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"The overall idea is that Superalgos runs at users' machines. Advanced users may deploy multiple Superalgos nodes in a LAN and distribute tasks easily. In the current version, these nodes are not ready to be exposed to the Internet. Someday they will, and eventually, they will be able to provide services to other users. These services may include:\",\n \"bulletArray\": \n[\n [\"Data Products:\", \"Pre-calculated indicators or studies.\"], \n [\"Backtest Execution:\", \"To scale testing capabilities.\"], \n[\"Live Trading Execution:\", \"Only if trusted entities emerge.\"], \n[\"Data Processing Execution:\", \"External data processing power.\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Backend","config":"{ \n\"title\": \"Backend\",\n \"summary\": \"The backend has two main components: The Backend Servers and the Task Server. When you run the app, what you are running are the Backend Servers. An instance of the Task Server is put to run once a user decides to run a task.\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"\",\n \"paragraph1\": \"Once the services at the backend are running, the default web browser is called with the URL of the local machine so that it may load the UI and let users interact with the system.\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The system holds all of its data and logs in the installation folder. The system does not modify—in any way—anything outside the installation folder. Deleting this folder completely removes Superalgos from the computer.\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Backend Servers","config":"{ \n\"title\": \"Backend Servers\",\n \"summary\": \"Is a collection of servers running on a single Node.js process.\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"The servers are:\",\n \"bulletArray\": \n[\n [\"Web Server:\", \"Serves all the JS files that form the User Interface to the browser.\"], \n[\"Web Sockets Server:\", \"Enables the UI to reach the backend via WS.\"], \n[\"Events Server:\", \"Enables the UI to communicate with the Task Manager Server and all of the Task Servers process instances via events over WS.\"] ,\n[\"Task Manager Server:\", \"Manges Task Servers processes based on users commands.\"]\n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"All of these servers are custom built—in-house—for Superalgos. We prefer to build on top of rock-solid, widely-used, low-level libraries only, like WS, for instance.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","tutorialSteps":[{"type":"Tutorial Step","name":"Web Server","config":"{ \n \"subTitle\": \"Web Server\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"The Web Server has two main goals: it serves all the JS files that form the Web App and all the data files to be plotted at the charts to the browser that is running the UI.\",\n \"bulletListIntro\": \"The complete list Web Server uses is:\",\n \"bulletArray\": \n[\n [\"JS Files:\", \"Enables the Web App to run on a browser.\"], \n[\"JSON Data Files:\", \"Allows the UI to access data to plot.\"], \n[\"Images:\", \"Images used on the UI are served from the Web Server.\"] ,\n[\"JSON Workspaces Files:\", \"Allow users to create definitions on different Workspaces.\"] ,\n[\"JSON Plugin Files:\", \"Files that are automatically included on Workspaces for convenience.\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"4c01144d-0021-4fda-b233-d2984a08be4d","savedPayload":{"position":{"x":24940.749479809725,"y":43741.80477836989},"targetPosition":{"x":25438.085510246863,"y":43794.05811479908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Web Sockets Server","config":"{ \n \"subTitle\": \"Web Sockets Server\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"This is a simple implementation of a web sockets server. It essentially allows the UI or any of the other services to communicate with the Events Server via WS.\",\n \"bulletListIntro\": \"\",\n \"paragraph1\": \"The system does not allow different processes to talk to each other via WS. All they can do is talk to the Events Server to subscribe to events or to emit events.\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The Web Socket Server enables this indirect communication mechanism between all processes and the UI running on a single machine, as well as communication between processes running on different machines.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"3b772db2-8aee-4f6e-b4d2-3dbd9c3edc83","savedPayload":{"position":{"x":25066.47622357223,"y":43459.34748253459},"targetPosition":{"x":25438.085510246863,"y":43794.05811479908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Events Server","config":"{ \n \"subTitle\": \"Events Server\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"The Events Server provides the communication model between processes and the UI. It essentially allows any entity inside each process to create a system-wide event handler and allow any other entity inside a process (or the UI) to subscribe or emit events at that event handler.\",\n \"bulletListIntro\": \"Events-based communication happens between:\",\n \"bulletArray\": \n[\n [\"UI and Task Manager:\", \"To run and stop Task Server processes.\"], \n[\"Task Server and UI:\", \"To get online feedback of what is going on at the Task Server, to display relevant status info at the UI.\"]\n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The communication between the UI and the Web Server is HTTP only.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"56f1a417-2b2a-4b82-9ede-11dc2658a4a6","savedPayload":{"position":{"x":25334.228841661727,"y":43304.80222256545},"targetPosition":{"x":25438.085510246863,"y":43794.05811479908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Task Manager Server","config":"{ \n \"subTitle\": \"Task Manager Server\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"The Task Manager Server is a simple server to manage the execution of Task Servers Node.js processes. It keeps track of all the instances running at any point in time and allows the UI to decide when to run more instance or stop any of those running.\",\n \"bulletListIntro\": \"The Task Manager Server provides the following commands to the UI:\",\n \"bulletArray\": \n[\n [\"Run Task:\", \"Used to run a new task, spawns a Node.js fork process where a Task Server is run.\"], \n[\"Stop Task:\", \"Sends a fork-process-message to the Task Server instance that needs to stop.\"], \n[\"Task Status:\", \"Tells the caller if the Task Id provided corresponds to a running task or not.\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"e4892c24-71fd-4b41-a913-7e27abd5ff91","savedPayload":{"position":{"x":25641.543113796382,"y":43337.1986900221},"targetPosition":{"x":25438.085510246863,"y":43794.05811479908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"3ce65c39-db2b-4ae1-a091-81871192942c","savedPayload":{"position":{"x":25438.085510246863,"y":43794.05811479908},"targetPosition":{"x":25687.820346541266,"y":44227.01927335533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Task Server","config":"{\n \"title\": \"Task Server\",\n \"summary\": \"The Task Server is a Node.js fork process of Backend Servers that receives the definition of the Task that needs to run from the UI . \",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"The definition includes:\",\n \"bulletArray\": [\n [\n \"Bot to run:\",\n \"The bot might be a Sensor Bot, an Indicator Bot or a Trading Bot.\"\n ],\n [\n \"Processes to run:\",\n \"Each bot definition may have one or more bot processes. \"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\n \"\",\n \"\"\n ],\n \"paragraph2\": \"\",\n \"note\": \"The UI is where all definitions live. Every time the user runs a task, the UI collects all the relevant information into a single, giant JSON object and sends this to the Task Manager Server, which in turn, after the fork process is running, passes this definition to the Task Server instance just created. With that definition, the Task Server knows all the details of the task to run.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[],"tutorialTopics":[],"id":"1efab353-979b-4b8c-a117-2f1206c16ae4","savedPayload":{"position":{"x":26187.932355578152,"y":44227.005128544304},"targetPosition":{"x":25687.820346541266,"y":44227.01927335533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"04f8ffd7-52eb-41fa-bd19-e0708060e427","savedPayload":{"position":{"x":25687.820346541266,"y":44227.01927335533},"targetPosition":{"x":25437.840543815364,"y":44659.82193304667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Frontend","config":"{ \n\"title\": \"Frontend\",\n \"summary\": \"The Frontend is essentially a Javascript web-app running on the browser.\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"As of today it contains:\",\n \"bulletArray\": \n[\n [\"Canvas App:\", \"Most of the functionality is here. The name reflects the fact that most of the UI is rendered in an HTML 5 canvas object.\"], \n[\"Files Component\", \"Includes the mechanisms to read data files in a way that is suitable for navigating through large datasets while plotting the information in real-time.\"]\n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The UI was built entirely in-house. We did not reuse any framework to display the design space or the charts.\",\n \"tip\": \"\",\n \"important\": \"The UI is tested in Chrome only.\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Canvas App","config":"{ \n\"title\": \"Canvas App\",\n \"summary\": \"Most of the action happens on an HTML 5 Canvas animation. The rest is pure HTML + CSS, nothing else. \",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"The main object of the Canvas App is called canvas. It is essentially a collection of different space objects:\",\n \"bulletArray\": \n[\n\n[\"Charting Space:\", \"Where charts are displayed,\"], \n [\"Design Space:\", \"Where definitions are maintained.\"], \n [\"Floating Space:\", \"Enables visual scripting.\"], \n[\"Side Space:\", \"Currently, the workspace selector.\"],\n[\"Docs Space:\", \"In-app documentation.\"],\n[\"Tutorial Space:\", \"Enables tutorials like this one.\"],\n[\"Panel Space:\", \"Where plotter panels live.\"],\n[\"Cockpit Space:\", \"Currently, the slider .\"],\n[\"Top Space:\", \"Currently, the top bar with logo.\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","tutorialSteps":[{"type":"Tutorial Step","name":"Canvas Animation","config":"{ \n \"subTitle\": \"Canvas Animation\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"The animation runs a physics() and a draw() function for each space, allowing each of them to have their own physics engine / rules and render themselves as a top-level layer on the UI.\",\n \"paragraph1\": \"At each frame, the animation calls the physics() function of each space first and, second, the draw() function. Then, it requests a callback from the browser and starts all over again.\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Depending on how many things the user keeps open, both the physics() call or the draw() call may last more or less time. This makes the frames-per-second variable, and a function of the number of things that need to be calculated or rendered on-screen.\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"4c215e8b-7a83-4586-bcb0-31ee3308a82a","savedPayload":{"position":{"x":25648.671702498086,"y":44641.39575959028},"targetPosition":{"x":25563.166666666668,"y":44876.31891478676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Charting Space","config":"{ \n \"subTitle\": \"Charting Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"This is where the charts are displayed. It allows users to navigate through multi-dimensional datasets.\",\n \"bulletListIntro\": \"\",\n \"paragraph1\": \"The Charting Space has its own object structure that partially matches the definitions set by the user on the Charting Space hierarchy. This means that, whenever the user adds a chart, removes a scale, or changes a configuration of any of the nodes inside the Charting Space hierarchy, the Charting Space senses these changes and adapts its object model, most of the time in real-time, which in turn changes the way that the charts are displayed.\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The Charting Space uses the Files Components as its data provider.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"e4fb4c74-d980-4c56-b87e-60696c078abe","savedPayload":{"position":{"x":25723.863569088302,"y":44684.80780400702},"targetPosition":{"x":25563.166666666668,"y":44876.31891478676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Design Space","config":"{ \n \"subTitle\": \"Design Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"Manages the core concept of nodes which, when attached to one another, may form vast definitions easily made and maintained by users.\",\n \"bulletListIntro\": \"\",\n\n \"paragraph1\": \"The system features a file called App Schema which has the rules about the existing types of nodes, which nodes may be the child of other nodes, and which may reference other nodes and which. It also defines the menu items of nodes. All these rules are enforced on the Design Space. \",\n \"callOut\": \"Users may then attach nodes, establish references between nodes, select menu items, and more...\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The Design Space is tightly coupled with the Floating Space.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"602ed273-6058-4660-bdca-dbbed6863bd2","savedPayload":{"position":{"x":25779.67301761278,"y":44751.31891478676},"targetPosition":{"x":25563.166666666668,"y":44876.31891478676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Floating Space","config":"{ \n \"subTitle\": \"Floating Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"This is like the low-level part of the Design Space. It features a physics engine that governs the physical interactions of floating objects.\",\n \"bulletListIntro\": \"\",\n \"paragraph1\": \"At runtime, each node on the Design Space behaves like a molecule featuring three atoms working together: the first one is called Floating Object and belongs to the Floating Space, which controls its position and collision-related physics; the second one is a UiObject which lives at the Design Space and controls the UI of the node, including menu, label, etc.; the third one is a Node that is—essentially—the information contained in that node.\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"When you save the Workspace, Floating Objects and UIOBjects are detached from Nodes, and saved as a big JSON object with only its data.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"87fa3d5c-f9c2-4340-a171-eafbf5926fb8","savedPayload":{"position":{"x":25809.36860491972,"y":44832.906870370025},"targetPosition":{"x":25563.166666666668,"y":44876.31891478676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Side Space","config":"{ \n \"subTitle\": \"Side Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"It is the section on the left, accessed by clicking a tab button. As of today, it features a Workspace selector for users to switch between different workspaces. \",\n \"bulletListIntro\": \"On the Side Space users may:\",\n \"bulletArray\": \n[\n [\"Select an included workspace:\", \"The system ships with one or more included workspaces that serve as examples or case studies.\"], \n[\"Select one's own workspaces:\", \"By renaming any included workspace, the user may create a workspace and switch workspaces using the Side Space.\"]\n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The Side Space is expected to grow in functionality in the future.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"5d2b9869-82e1-4d98-b213-0fd5906608c7","savedPayload":{"position":{"x":25809.36860491972,"y":44919.730959203494},"targetPosition":{"x":25563.166666666668,"y":44876.31891478676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Docs Space","config":"{ \n \"subTitle\": \"Docs Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"This is where the documentation web site is loaded. It's an HTML iFrame inside a DIV, animated in and out of the screen.\",\n \"bulletListIntro\": \"\",\n\n \"paragraph1\": \"\",\n \"callOut\": \"There is an ongoing effort to bring the documentation web site into the app. What you can see today is just the first step in that direction. \",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The current documentation is implemented as a separate repository, hosted by Github Pages.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"aaaee2ea-644e-4769-8848-ef2b2bc62841","savedPayload":{"position":{"x":25779.67301761278,"y":45001.31891478676},"targetPosition":{"x":25563.166666666668,"y":44876.31891478676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Tutorial Space","config":"{ \n \"subTitle\": \"Tutorial Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"Enables running tutorials. It is not based on the HTML canvas, but on HTML + CSS.\",\n \"paragraph1\": \"The Tutorial Space is the highest top-tier layer of all the system since its rendered above everything else. It can manipulate other spaces based on the configuration of each tutorial topic and step. \",\n \"callOut\": \"Not only may tutorials move the user around the UI, but may also take most actions users themselves may take, like, for instance, running tasks of any kind.\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"The Tutorial Space is a new addition to the system. For that reason, few tutorials exist today, but we expect this to change in the future.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"782d10c5-de47-4927-b287-5cb630f305f9","savedPayload":{"position":{"x":25723.863569088302,"y":45067.8300255665},"targetPosition":{"x":25563.166666666668,"y":44876.31891478676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Panel Space","config":"{ \n \"subTitle\": \"Panel Space\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"The Panel Space is where all panels defined by plotters exist. The space has its own physics engine which governs the way users interact with panels, and panels with other panels.\",\n \"bulletListIntro\": \"\",\n \"paragraph1\": \"Panels are constrained within the boundaries of the Panel Space, which matches the boundaries of the Charting Space.\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"Although the panel space has existed since the project's inception, it is still quite underdeveloped, and there is a lot of room to improve it.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"54722f4b-8f86-4220-9e0f-5417297450a6","savedPayload":{"position":{"x":25648.671702498086,"y":45111.24206998324},"targetPosition":{"x":25563.166666666668,"y":44876.31891478676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"d284c632-42b2-47e6-b1f6-6c64029311a0","savedPayload":{"position":{"x":26187.80416427484,"y":45092.85800440511},"targetPosition":{"x":25687.759063696463,"y":45092.78773243116},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Files Component","config":"{ \n\"title\": \"Files Component\",\n \"summary\": \"Encapsulates different data providers able to read datasets organized in different ways.\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"The system defines these types of data providers:\",\n \"bulletArray\": \n[\n [\"Market Files:\", \"For time-frames of 1 hour and above, it is convenient to have a single file with all the data of the whole market.\"], \n[\"Daily Files:\", \"For time-frames below 1 hour, up to 1 minute, it is convenient to split market data into one file per day.\"], \n[\"Single File:\", \"Sometimes a process may generate a single file irrespective of the time-frame.\"], \n[\"Files Sequence:\", \"Some processes may produce a sequence of files.\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"Daily Files are managed by a File Cursor which dynamically loads the files of one day and its neighboring days.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","tutorialSteps":[],"tutorialTopics":[],"id":"719861ad-82fd-4c93-b510-86af1d666908","savedPayload":{"position":{"x":25437.92663512994,"y":45525.91046117415},"targetPosition":{"x":25687.759063696463,"y":45092.78773243116},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"b2cfb2eb-be83-4075-bf26-932a75e83566","savedPayload":{"position":{"x":25687.759063696463,"y":45092.78773243116},"targetPosition":{"x":25437.840543815364,"y":44659.82193304667},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"33eb3496-ba79-468a-a30a-9b3e4ba0f4c8","savedPayload":{"position":{"x":25437.840543815364,"y":44659.82193304667},"targetPosition":{"x":24938.166666666668,"y":44659.81256384065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Concusion","config":"{ \n\"title\": \"Parting Thoughts...\",\n \"summary\": \"As you can see, Superalgos is much more than a trading bot. It's a holistic infrastructure to manage complexity in the easiest way possible for users.\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"\",\n \"paragraph1\": \" This introduction covered the highest level topics of the system in the hope it may help you understand the foundations on which the system is being built.\",\n \"callOut\": \"We hope you agree it's a good idea to reuse this infrastructure to build trading intelligence rather than code a trading bot from scratch. We hope more devs will join us!\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"If you like the project, there are many ways to contribute. Take a look at this page featuring the roadmap to becoming a part of the team.\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"https://docs.superalgos.org/contributing-to-superalgos.html\" \n}","tutorialSteps":[{"type":"Tutorial Step","name":"New Tutorial Step","config":"{ \n \"subTitle\": \"\",\n \"gif\": \"\",\n \"image\": \"\",\n \"definition\": \"\",\n \"bulletListIntro\": \"\",\n \"bulletArray\": \n[\n [\"\", \"\"], \n[\"\", \"\"], \n[\"\", \"\"] \n],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"externalLink\": [\"\", \"\"],\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\", \n \"position\": \"\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"documentationURL\": \"\" \n}","id":"6358a119-e3cc-4085-8df6-a19b133eebe1","savedPayload":{"position":{"x":23938.12966728861,"y":44659.817783694176},"targetPosition":{"x":24438.163378906367,"y":44659.81802124522},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Tutorial","name":"Developers Intro","id":"6a03c441-823d-4147-aef3-d592f110dfd8"}}}],"tutorialTopics":[],"id":"bbc427d1-eec8-489b-bc23-d99281687741","savedPayload":{"position":{"x":24438.163378906367,"y":44659.81802124522},"targetPosition":{"x":24938.166666666668,"y":44659.81256384065},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"6a03c441-823d-4147-aef3-d592f110dfd8","savedPayload":{"position":{"x":24938.166666666668,"y":44659.81256384065},"targetPosition":{"x":24938.166666666668,"y":44659.81256384065},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Done"}}},{"type":"Design Space","name":"My Design Space","spaceStyle":{"type":"Space Style","name":"My Space Style","config":" {\n \"backgroundColor\": \"UI_COLOR.BLACK\",\n \"node\": {\n \"fontSize\": 16,\n \"imageSize\": 60,\n \"type\": {\n \"fontColor\": \"UI_COLOR.WHITE\"\n },\n \"name\": {\n \"fontColor\": \"UI_COLOR.WHITE\"\n },\n \"menuItem\": {\n \"backgroundColor\": \"UI_COLOR.BLACK\",\n \"fontColor\": \"UI_COLOR.WHITE\",\n \"fontSize\": 14,\n \"imageSize\": 14\n }\n }\n }","id":"fad0e429-f7a7-4b62-a2a5-2ead29b8f695","savedPayload":{"position":{"x":25236.875,"y":8701.347826086958},"targetPosition":{"x":24936.875,"y":8701.347826086958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"spaceSettings":{"type":"Space Settings","name":"New Space Settings","config":"{\n \"node\": {\n \"distancePercentage\": 60,\n \"radiusPercentage\": 85,\n \"massPercentage\": 100,\n \"animationSteps\": 2, \n \"menuItem\": {\n \"widthPercentage\": 100,\n \"heightPercentage\": 60,\n \"radiusPercentage\": 90\n }\n },\n \"physics\": false\n}","id":"05c9d6d5-24c4-4eec-9aca-9668d6486fdd","savedPayload":{"position":{"x":24636.875,"y":8701.347826086958},"targetPosition":{"x":24936.875,"y":8701.347826086958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f8485ce5-67f3-4476-b9e2-80994e49c318","savedPayload":{"position":{"x":24936.875,"y":8701.347826086958},"targetPosition":{"x":24936.875,"y":8701.347826086958},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":255,"y":588.3125}}}}]}
\ No newline at end of file
diff --git a/Plugins/Workspaces/Weak-Hands-Buster v2.json b/Plugins/Workspaces/Weak-Hands-Buster v2.json
deleted file mode 100644
index 980dc4c87..000000000
--- a/Plugins/Workspaces/Weak-Hands-Buster v2.json
+++ /dev/null
@@ -1 +0,0 @@
-{"type":"Workspace","name":"Weak-hands Buster v2","rootNodes":[{"type":"Network","name":"My Network","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}","dataMining":{"type":"Data Mining","name":"New Data Mining","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","dataMineTasks":[{"type":"Data Mine Tasks","name":"Sparta","taskManagers":[{"type":"Task Manager","name":"Sparta","tasks":[{"type":"Task","name":"EMA","bot":{"type":"Indicator Bot Instance","name":"EMA","config":"{}","processes":[{"type":"Indicator Process Instance","name":"EMA Multi-Period-Market","id":"9adffd60-8756-44f0-9290-692711f43349","savedPayload":{"position":{"x":23796.023627541625,"y":29309.637679073698},"targetPosition":{"x":24089.467907761766,"y":29372.011186319025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"278c34a7-199d-400e-8a06-087149e3d391"}}},{"type":"Indicator Process Instance","name":"EMA Multi-Period-Daily","id":"559fc728-018a-4e8e-a5fa-1e37958e4f6c","savedPayload":{"position":{"x":23996.762809449283,"y":29086.69423143048},"targetPosition":{"x":24089.467907761766,"y":29372.011186319025},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"943ea24f-ee24-4eae-9b4b-e8a73122b1c2"}}}],"id":"82a8c05f-a6f6-4728-8271-7b327c2b72ee","savedPayload":{"position":{"x":24089.467907761766,"y":29372.011186319025},"targetPosition":{"x":24312.411355404984,"y":29572.750368226683},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8ae4fc50-8c1f-4e45-9ffd-fad368816b9a","savedPayload":{"position":{"x":24312.411355404984,"y":29572.750368226683},"targetPosition":{"x":24535.3548030482,"y":29773.48955013434},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51b49b9d-cb97-4d98-ad8f-9f691320bac2","savedPayload":{"position":{"x":24535.3548030482,"y":29773.48955013434},"targetPosition":{"x":24758.29825069142,"y":29974.228732042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"63728769-73e4-474e-8aa3-0d82bedca08e","savedPayload":{"position":{"x":24758.29825069142,"y":29974.228732042},"targetPosition":{"x":24981.241698334637,"y":30174.96791394966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Sparta","id":"9cfffc48-486a-48cb-b641-98c82e314d3a"}}},{"type":"Data Mine Tasks","name":"Masters","taskManagers":[{"type":"Task Manager","name":"Masters","tasks":[{"type":"Task","name":"Exchange Raw Data","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","id":"149bc037-9762-4737-b1b8-945b5ccee230","savedPayload":{"position":{"x":24503.771167102317,"y":28919.249010579722},"targetPosition":{"x":24704.510349009975,"y":29142.19245822294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"507bc325-1cbd-40f4-85eb-cfe77b78000e","savedPayload":{"position":{"x":24704.510349009975,"y":29142.19245822294},"targetPosition":{"x":24905.249530917634,"y":29365.13590586616},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7c28a4a4-86da-43be-9e89-d01b202f27eb","savedPayload":{"position":{"x":24905.249530917634,"y":29365.13590586616},"targetPosition":{"x":25105.988712825292,"y":29588.079353509376},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{}","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Market","id":"ab6608d2-a876-42ca-afee-6ea8e996b720","savedPayload":{"position":{"x":24866.936059176955,"y":28748.66111797593},"targetPosition":{"x":25043.271634864697,"y":28991.366216288414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Daily","id":"6eebde17-ba9a-4ba6-9ef8-862762a9951a","savedPayload":{"position":{"x":25165.292627787436,"y":28717.302578995634},"targetPosition":{"x":25043.271634864697,"y":28991.366216288414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"3e3e037f-722b-46ed-b355-09a4116c2959","savedPayload":{"position":{"x":25043.271634864697,"y":28991.366216288414},"targetPosition":{"x":25074.630173844995,"y":29289.722784898895},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f351c034-5a40-4831-aaaf-b92b97694e24","savedPayload":{"position":{"x":25074.630173844995,"y":29289.722784898895},"targetPosition":{"x":25105.988712825292,"y":29588.079353509376},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Bollinger Bands","bot":{"type":"Indicator Bot Instance","name":"Bollinger Bands","config":"{}","processes":[{"type":"Indicator Process Instance","name":"Bollinger Bands Multi-Period-Market","id":"9edfd024-2a02-4809-89cf-c79b52a4adf9","savedPayload":{"position":{"x":25405.988712825292,"y":28768.46411123871},"targetPosition":{"x":25405.988712825292,"y":29068.46411123871},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"941a0543-0cc0-4a5d-a782-728d2835c100"}}},{"type":"Indicator Process Instance","name":"Bollinger Bands Multi-Period-Daily","id":"bc6520ae-f5e7-4d43-882d-f032dfe725ff","savedPayload":{"position":{"x":25665.796333960625,"y":28918.46411123871},"targetPosition":{"x":25405.988712825292,"y":29068.46411123871},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"e598ee86-1e18-4aa1-95c2-64aaf66776ca"}}}],"id":"f5669135-8f3d-4ada-aef6-a503f831f612","savedPayload":{"position":{"x":25405.988712825292,"y":29068.46411123871},"targetPosition":{"x":25255.988712825292,"y":29328.271732374043},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"db37b827-4200-4cfa-b973-9ad2c5d5c587","savedPayload":{"position":{"x":25255.988712825292,"y":29328.271732374043},"targetPosition":{"x":25105.988712825292,"y":29588.079353509376},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Bollinger Channels","bot":{"type":"Indicator Bot Instance","name":"Bollinger Channels","config":"{}","processes":[{"type":"Indicator Process Instance","name":"Bollinger Channels Multi-Period-Market","id":"e09e4195-bf40-4b14-b603-51872fdb7156","savedPayload":{"position":{"x":25830.451563098595,"y":29101.332269351416},"targetPosition":{"x":25654.115987410853,"y":29344.0373676639},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"28be432d-80ca-46b3-859a-55541e24b2b4"}}},{"type":"Indicator Process Instance","name":"Bollinger Channels Multi-Period-Daily","id":"40de2dfa-6faf-4dc3-b21e-8cf8e4a274f4","savedPayload":{"position":{"x":25952.472556021334,"y":29375.395906644197},"targetPosition":{"x":25654.115987410853,"y":29344.0373676639},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"bc15b49d-4547-4bac-a28b-193eb0158fe3"}}}],"id":"d890cbea-6399-4b88-ab5c-df5f9704817b","savedPayload":{"position":{"x":25654.115987410853,"y":29344.0373676639},"targetPosition":{"x":25380.052350118072,"y":29466.058360586638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"039dc305-4627-406e-8f40-ee2527cd4b99","savedPayload":{"position":{"x":25380.052350118072,"y":29466.058360586638},"targetPosition":{"x":25105.988712825292,"y":29588.079353509376},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cbf6546f-5c9f-476d-ae9d-cfdc4a27cd58","savedPayload":{"position":{"x":25105.988712825292,"y":29588.079353509376},"targetPosition":{"x":25043.615205579965,"y":29881.523633729517},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c43a111f-2783-490f-8570-3fd38f6fa76c","savedPayload":{"position":{"x":25043.615205579965,"y":29881.523633729517},"targetPosition":{"x":24981.241698334637,"y":30174.96791394966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Masters","id":"35be7b1c-a0f7-4b5f-9ee1-8fb51595e959"}}}],"id":"e83ad2a7-9bd0-41d1-aa76-4c889e76e482","savedPayload":{"position":{"x":24981.241698334637,"y":30174.96791394966},"targetPosition":{"x":25073.94679664712,"y":30460.284868838204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"af949a76-a6f4-4ec6-869e-f240480eea81","savedPayload":{"position":{"x":25073.94679664712,"y":30460.284868838204},"targetPosition":{"x":25166.651894959603,"y":30745.60182372675},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"4df1cb4e-b9ca-4f62-bb5f-c7e262aaa22a","savedPayload":{"position":{"x":25166.651894959603,"y":30745.60182372675},"targetPosition":{"x":25259.356993272086,"y":31030.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"testingEnvironment":{"type":"Testing Environment","name":"New Testing Environment","exchangeTradingTasks":[{"type":"Exchange Trading Tasks","name":"Binance","marketTradingTasks":[{"type":"Market Trading Tasks","name":"Binance BTC/USDT","tradingMineTasks":[{"type":"Trading Mine Tasks","name":"Masters","taskManagers":[{"type":"Task Manager","name":"Masters","tasks":[{"type":"Task","name":"WHB v2","bot":{"type":"Trading Bot Instance","name":"Low Frequency","config":"{}","processes":[{"type":"Trading Process Instance","name":"Low Frequency Trading","session":{"type":"Backtesting Session","name":"WHB v2","config":"{\"folderName\":\"WHB-v2\"}","parameters":{"type":"Parameters","name":"New Parameters","sessionBaseAsset":{"type":"Session Base Asset","name":"","config":"{\n\"initialBalance\": 1,\n\"minimumBalance\": 0\n}","id":"fa7ece1b-0925-444a-808e-0175da02b228","savedPayload":{"position":{"x":27223.33126033999,"y":29011.394945325206},"targetPosition":{"x":27490.6332175965,"y":29147.59209524707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sessionQuotedAsset":{"type":"Session Quoted Asset","name":"","config":"{\n\"initialBalance\": 0\n}","id":"00b998af-5c29-48c8-8826-d4e63c18540e","savedPayload":{"position":{"x":27278.501183240536,"y":28935.460060891106},"targetPosition":{"x":27490.6332175965,"y":29147.59209524707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeRange":{"type":"Time Range","name":"New Time Range","config":"{ \n\"initialDatetime\": \"2020-01-01\",\n\"finalDatetime\": \"2020-07-01\" \n}","id":"6e3026a7-d451-4231-bb5a-eff95464b280","savedPayload":{"position":{"x":27354.436067674636,"y":28880.29013799056},"targetPosition":{"x":27490.6332175965,"y":29147.59209524707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeFrame":{"type":"Time Frame","name":"New Time Frame","config":"{ \n\"label\": \"01-hs\"\n}","id":"9f69f044-6d39-4c9a-88a3-5dc634e28bca","savedPayload":{"position":{"x":27443.70287808443,"y":28851.28559306853},"targetPosition":{"x":27490.6332175965,"y":29147.59209524707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"slippage":{"type":"Slippage","name":"New Slippage","config":"{ \n\"positionRate\": 0.1,\n\"stopLoss\": 0.1,\n\"takeProfit\": 0.1\n}","id":"be861734-9d9c-479c-b89d-6f39067b42af","savedPayload":{"position":{"x":27537.56355710857,"y":28851.28559306853},"targetPosition":{"x":27490.6332175965,"y":29147.59209524707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"feeStructure":{"type":"Fee Structure","name":"New Fee Structure","config":"{ \n\"maker\": 0.1,\n\"taker\": 0.1\n}","id":"2af98d0e-47b3-4714-a24a-8f4b6e856a17","savedPayload":{"position":{"x":27626.830367518363,"y":28880.29013799056},"targetPosition":{"x":27490.6332175965,"y":29147.59209524707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"snapshots":{"type":"Snapshots","name":"New Snapshots","config":"{ \n\"strategy\": true,\n\"position\": true\n}","id":"227439e1-61ea-48fc-a41c-891af977b8ab","savedPayload":{"position":{"x":27702.765251952464,"y":28935.460060891106},"targetPosition":{"x":27490.6332175965,"y":29147.59209524707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"heartbeats":{"type":"Heartbeats","name":"New Heartbeats","config":"{ \n\"date\": true,\n\"candleIndex\": false\n}","id":"2884bf0f-cd27-492f-a014-b41bc6b616e3","savedPayload":{"position":{"x":27757.93517485301,"y":29011.394945325206},"targetPosition":{"x":27490.6332175965,"y":29147.59209524707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedParameters":{"type":"User Defined Parameters","name":"New User Defined Parameters","config":"{ \n\"param1Name\": \"A text string value example\",\n\"param2Name\": 0\n}","id":"9fe3c9a4-2961-402a-93d6-9659772d4954","savedPayload":{"position":{"x":27786.93971977504,"y":29100.661755735},"targetPosition":{"x":27490.6332175965,"y":29147.59209524707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"caa614ed-c80e-4d7c-82f6-22dd05cc047c","savedPayload":{"position":{"x":27490.6332175965,"y":29147.59209524707},"targetPosition":{"x":27443.70287808443,"y":29443.89859742561},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"tradingSystemReference":{"type":"Trading System Reference","name":"WHB v2","id":"3843eabf-52dc-4dae-aa28-d9187a009aab","savedPayload":{"position":{"x":27686.407976396913,"y":29267.563021737868},"targetPosition":{"x":27443.70287808443,"y":29443.89859742561},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Trading System","name":"WHB v2","id":"975c2fc3-a8f5-43e9-900f-4a4f2430d128"}}},"tradingEngineReference":{"type":"Trading Engine Reference","name":"Low-Frequency","id":"0c3253e9-355e-47f1-85ae-881bd64ed0d5","savedPayload":{"position":{"x":27740.00938026297,"y":29490.82893693768},"targetPosition":{"x":27443.70287808443,"y":29443.89859742561},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Trading Engine","name":"Low-Frequency","id":"eb20f622-71bf-4479-a574-d2320e1d4bd1"}}},"id":"1ff8cd88-dcd9-4528-b406-05647ddd8c9c","savedPayload":{"position":{"x":27443.70287808443,"y":29443.89859742561},"targetPosition":{"x":27200.997779771948,"y":29620.234173113353},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cf364276-eeae-4d16-b90c-3da9aecacfa0","savedPayload":{"position":{"x":27200.997779771948,"y":29620.234173113353},"targetPosition":{"x":26958.292681459465,"y":29796.569748801096},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Trading","id":"a8c8d761-96e5-4a86-9285-6c3881d61442"}}}],"id":"f55d9c28-8196-4b23-a840-769fbec83000","savedPayload":{"position":{"x":26958.292681459465,"y":29796.569748801096},"targetPosition":{"x":26715.587583146982,"y":29972.90532448884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f3dccd9e-6130-40aa-b794-fca344df4a99","savedPayload":{"position":{"x":26715.587583146982,"y":29972.90532448884},"targetPosition":{"x":26472.8824848345,"y":30149.24090017658},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c1604baa-e824-4b58-b252-922a9fc879cf","savedPayload":{"position":{"x":26472.8824848345,"y":30149.24090017658},"targetPosition":{"x":26230.177386522017,"y":30325.576475864324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2ef6bd4b-57a2-46d9-be37-5c16e315f4a3","savedPayload":{"position":{"x":26230.177386522017,"y":30325.576475864324},"targetPosition":{"x":25987.472288209534,"y":30501.912051552066},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Trading Mine","name":"Masters","id":"6a54eece-4582-4cda-a854-1cd805e00fed"}}}],"id":"85153016-33c7-484d-9f10-2fc313f19051","savedPayload":{"position":{"x":25987.472288209534,"y":30501.912051552066},"targetPosition":{"x":25744.76718989705,"y":30678.24762723981},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"ba36975c-08d6-458d-b7c0-eb4684a85b5d","savedPayload":{"position":{"x":25744.76718989705,"y":30678.24762723981},"targetPosition":{"x":25502.06209158457,"y":30854.58320292755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"5882d8a8-345b-4188-b1c1-797e9ff805d9","savedPayload":{"position":{"x":25502.06209158457,"y":30854.58320292755},"targetPosition":{"x":25259.356993272086,"y":31030.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"productionEnvironment":{"type":"Production Environment","name":"New Production Environment","exchangeTradingTasks":[{"type":"Exchange Trading Tasks","name":"Binance","marketTradingTasks":[{"type":"Market Trading Tasks","name":"Binance BTC/USDT","tradingMineTasks":[{"type":"Trading Mine Tasks","name":"Masters","taskManagers":[{"type":"Task Manager","name":"Masters","tasks":[{"type":"Task","name":"WHB v2","bot":{"type":"Trading Bot Instance","name":"Low Frequency","config":"{}","processes":[{"type":"Trading Process Instance","name":"Low Frequency Trading","session":{"type":"Live Trading Session","name":"WHB v2","config":"{\"folderName\":\"WHB-v2\"}","parameters":{"type":"Parameters","name":"New Parameters","sessionBaseAsset":{"type":"Session Base Asset","name":"","config":"{\n\"initialBalance\": 1,\n\"minimumBalance\": 0\n}","id":"785c152d-03f4-4c42-8107-2a4481dc1c77","savedPayload":{"position":{"x":27786.93971977504,"y":32274.70211811437},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"sessionQuotedAsset":{"type":"Session Quoted Asset","name":"","config":"{\n\"initialBalance\": 0\n}","id":"b9daac05-6265-40e9-b5e7-eeabbf7f2144","savedPayload":{"position":{"x":27876.206530184834,"y":32303.7066630364},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeRange":{"type":"Time Range","name":"New Time Range","config":"{ \n\"initialDatetime\": \"2020-01-01\",\n\"finalDatetime\": \"2020-07-01\" \n}","id":"b5971ea3-aa3b-4691-8bf1-5c5f6ba3950c","savedPayload":{"position":{"x":27952.141414618935,"y":32358.876585936945},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeFrame":{"type":"Time Frame","name":"New Time Frame","config":"{ \n\"label\": \"01-hs\"\n}","id":"00a93153-88b7-4c62-82e3-ca96e9e56025","savedPayload":{"position":{"x":28007.31133751948,"y":32434.811470371045},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"slippage":{"type":"Slippage","name":"New Slippage","config":"{ \n\"positionRate\": 0.1,\n\"stopLoss\": 0.1,\n\"takeProfit\": 0.1\n}","id":"0047f446-0cfc-42f5-8a57-a7599f97ea1a","savedPayload":{"position":{"x":28036.31588244151,"y":32524.07828078084},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"feeStructure":{"type":"Fee Structure","name":"New Fee Structure","config":"{ \n\"maker\": 0.1,\n\"taker\": 0.1\n}","id":"f137906d-664b-4a00-8814-00dabcc8b386","savedPayload":{"position":{"x":28036.31588244151,"y":32617.93895980498},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"snapshots":{"type":"Snapshots","name":"New Snapshots","config":"{ \n\"strategy\": true,\n\"position\": true\n}","id":"5173568a-1f7f-461e-aa3b-006193997bac","savedPayload":{"position":{"x":28007.31133751948,"y":32707.205770214772},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"heartbeats":{"type":"Heartbeats","name":"New Heartbeats","config":"{ \n\"date\": true,\n\"candleIndex\": false\n}","id":"85f19b17-a752-4f20-a740-14883258f9bc","savedPayload":{"position":{"x":27952.141414618935,"y":32783.14065464887},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"userDefinedParameters":{"type":"User Defined Parameters","name":"New User Defined Parameters","config":"{ \n\"param1Name\": \"A text string value example\",\n\"param2Name\": 0\n}","id":"3c15c609-1a9c-4712-a7eb-1aad80fcd20b","savedPayload":{"position":{"x":27876.206530184834,"y":32838.31057754942},"targetPosition":{"x":27740.00938026297,"y":32571.00862029291},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f8bf92d7-9037-4ddd-9a93-0963005465c4","savedPayload":{"position":{"x":27740.00938026297,"y":32571.00862029291},"targetPosition":{"x":27443.70287808443,"y":32617.93895980498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"tradingSystemReference":{"type":"Trading System Reference","name":"WHB v2","id":"52a08de1-1413-4a74-ab6b-5e50dd862b33","savedPayload":{"position":{"x":27686.407976396913,"y":32794.27453549272},"targetPosition":{"x":27443.70287808443,"y":32617.93895980498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Trading System","name":"WHB v2","id":"975c2fc3-a8f5-43e9-900f-4a4f2430d128"}}},"tradingEngineReference":{"type":"Trading Engine Reference","name":"Low-Frequency","id":"25ecae9f-e4e3-4c35-9a75-ff9e7b5f5b5b","savedPayload":{"position":{"x":27490.6332175965,"y":32914.24546198352},"targetPosition":{"x":27443.70287808443,"y":32617.93895980498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Trading Engine","name":"Low-Frequency","id":"eb20f622-71bf-4479-a574-d2320e1d4bd1"}}},"id":"934095e8-4a1c-4baf-828f-7818f73c4219","savedPayload":{"position":{"x":27443.70287808443,"y":32617.93895980498},"targetPosition":{"x":27200.997779771948,"y":32441.603384117236},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5ce11ebc-6b00-40a7-b78b-650650dc561c","savedPayload":{"position":{"x":27200.997779771948,"y":32441.603384117236},"targetPosition":{"x":26958.292681459465,"y":32265.267808429493},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Trading","id":"a8c8d761-96e5-4a86-9285-6c3881d61442"}}}],"id":"b648768f-57f7-49c9-89a6-c5c6f9d88fc2","savedPayload":{"position":{"x":26958.292681459465,"y":32265.267808429493},"targetPosition":{"x":26715.587583146982,"y":32088.93223274175},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"edfaadd0-892d-49b6-8353-c4864f4446d2","savedPayload":{"position":{"x":26715.587583146982,"y":32088.93223274175},"targetPosition":{"x":26472.8824848345,"y":31912.596657054008},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"18684d79-f3d4-4164-9926-aefa1fb42218","savedPayload":{"position":{"x":26472.8824848345,"y":31912.596657054008},"targetPosition":{"x":26230.177386522017,"y":31736.261081366265},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a2e9d816-e6c9-4783-b6dd-42997c660372","savedPayload":{"position":{"x":26230.177386522017,"y":31736.261081366265},"targetPosition":{"x":25987.472288209534,"y":31559.925505678522},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Trading Mine","name":"Masters","id":"6a54eece-4582-4cda-a854-1cd805e00fed"}}}],"id":"eaa22575-ca9c-4851-bc7f-3bf05161e58a","savedPayload":{"position":{"x":25987.472288209534,"y":31559.925505678522},"targetPosition":{"x":25744.76718989705,"y":31383.58992999078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"d539c0ac-aaeb-4c44-9dba-ac26df819a8d","savedPayload":{"position":{"x":25744.76718989705,"y":31383.58992999078},"targetPosition":{"x":25502.06209158457,"y":31207.254354303037},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"65a40d20-837c-4652-8356-f8054b4e1346","savedPayload":{"position":{"x":25502.06209158457,"y":31207.254354303037},"targetPosition":{"x":25259.356993272086,"y":31030.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"u"}}},"dataStorage":{"type":"Data Storage","name":"New Data Storage","dataMinesData":{"type":"Data Mines Data","name":"New Data Mines Data","exchangeDataProducts":[{"type":"Exchange Data Products","name":"Binance","marketDataProducts":[{"type":"Market Data Products","name":"Binance BTC/USDT","dataProducts":[],"dataMineProducts":[{"type":"Data Mine Products","name":"Sparta","botProducts":[{"type":"Bot Products","name":"EMA","dataProducts":[{"type":"Data Product","name":"Popular EMAs","id":"8b3b410e-0728-457a-a2ac-640f8839592c","savedPayload":{"position":{"x":25161.398909450258,"y":31777.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Popular EMAs","id":"d5894707-b065-429b-ba6b-78c71e6529fe"}}},{"type":"Data Product","name":"Base5 EMAs","id":"c0043adc-1516-45f9-8044-71dac10926b4","savedPayload":{"position":{"x":25227.398909450258,"y":31791.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Base5 EMAs","id":"9a37881e-7d9a-4279-95b2-8743de82eec5"}}},{"type":"Data Product","name":"Base6 EMAs","id":"6ad6f193-f293-474a-892d-452ee224e923","savedPayload":{"position":{"x":25258.398909450258,"y":31737.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Base6 EMAs","id":"e4267570-575b-4e59-9667-cb78aaae052c"}}},{"type":"Data Product","name":"Base7 EMAs","id":"45eea564-7729-421c-b871-acda5a5ae81e","savedPayload":{"position":{"x":25221.398909450258,"y":31741.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Base7 EMAs","id":"b42348a4-6a26-4d46-aa2e-cbf5fa0a4984"}}},{"type":"Data Product","name":"Base11 EMAs","id":"fe10ecb5-0593-4c6b-9fd0-1729976ce713","savedPayload":{"position":{"x":25325.398909450258,"y":31871.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Base11 EMAs","id":"21df4f44-96eb-453b-8652-4ce2dc03424c"}}},{"type":"Data Product","name":"Base12 EMAs","id":"3457daa7-4c0c-4c71-abe8-176e9fb806ae","savedPayload":{"position":{"x":25220.398909450258,"y":31722.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Base12 EMAs","id":"43d6f23d-d206-47e9-95d4-6bef34377014"}}},{"type":"Data Product","name":"Base30 EMAs","id":"4bca4b0e-6942-4322-90a3-3a976614d591","savedPayload":{"position":{"x":25144.398909450258,"y":31759.12429394412},"targetPosition":{"x":25232.398909450258,"y":31807.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Base30 EMAs","id":"4394346c-7c25-478f-9be7-04f071dc673c"}}}],"dataProductFolders":[],"id":"39b86066-ae70-4cde-9fd6-b463addf0e77","savedPayload":{"position":{"x":25755.2507805109,"y":32642.4554694507},"targetPosition":{"x":25554.511598603243,"y":32419.51202180748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cc85c8b7-657d-4589-8373-ac3ff5cf3c6a","savedPayload":{"position":{"x":25554.511598603243,"y":32419.51202180748},"targetPosition":{"x":25353.772416695585,"y":32196.568574164263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Sparta","id":"9cfffc48-486a-48cb-b641-98c82e314d3a"}}},{"type":"Data Mine Products","name":"Masters","botProducts":[{"type":"Bot Products","name":"Exchange Raw Data","dataProducts":[{"type":"Data Product","name":"Trades","id":"b5217c9e-0fc7-4714-839a-6639437f21ad","savedPayload":{"position":{"x":25312.398909450258,"y":32193.12429394412},"targetPosition":{"x":25377.398909450258,"y":32126.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trades","id":"38dbb942-a15b-450b-a867-02a94030965f"}}},{"type":"Data Product","name":"Candles","id":"18490446-c8fe-4061-8a9e-c4f2b8c67677","savedPayload":{"position":{"x":25399.398909450258,"y":32164.12429394412},"targetPosition":{"x":25377.398909450258,"y":32126.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Candles","id":"2443883b-6959-42a3-ae3b-ef3102ffcdcc"}}},{"type":"Data Product","name":"Volumes","id":"475838db-033e-4bf5-9c06-5a649d8b6e4d","savedPayload":{"position":{"x":25304.398909450258,"y":32147.12429394412},"targetPosition":{"x":25377.398909450258,"y":32126.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Volumes","id":"3a43c6f3-bac0-404e-865f-822eb48c8660"}}}],"dataProductFolders":[],"id":"f6344699-6b56-4863-97ba-b3ab72e9cdd8","savedPayload":{"position":{"x":25437.402894070845,"y":32724.59062736529},"targetPosition":{"x":25261.067318383102,"y":32481.885529052808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Products","name":"Candles Volumes","dataProducts":[{"type":"Data Product","name":"Candles","id":"70d84756-8e7a-4dfc-8aae-abf8affc802f","savedPayload":{"position":{"x":25349.398909450258,"y":32166.12429394412},"targetPosition":{"x":25326.398909450258,"y":32072.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Candles","id":"fe6065ec-4d2d-47a0-bae0-8647f0e195d7"}}},{"type":"Data Product","name":"Volumes","id":"5a47df0f-0524-401a-b5f4-f292eda68238","savedPayload":{"position":{"x":25418.398909450258,"y":32043.12429394412},"targetPosition":{"x":25326.398909450258,"y":32072.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Volumes","id":"1a366aef-efef-470e-88e0-2a6fbe4dd91f"}}}],"dataProductFolders":[],"id":"ce53c027-2bdd-48b6-a42c-43bd762d723d","savedPayload":{"position":{"x":25261.067318383102,"y":32781.88552905281},"targetPosition":{"x":25261.067318383102,"y":32481.885529052808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Products","name":"Bollinger Bands","dataProducts":[{"type":"Data Product","name":"Bollinger Bands","id":"d50dcdf4-6251-4c59-9a04-d5dedadd86f7","savedPayload":{"position":{"x":25213.398909450258,"y":32108.12429394412},"targetPosition":{"x":25259.398909450258,"y":32022.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Bands","id":"29088877-8d63-4217-8d34-8742afc262f4"}}},{"type":"Data Product","name":"Percentage Bandwidth","id":"1e029c1d-85c8-4d3d-90d8-388bf135d110","savedPayload":{"position":{"x":25217.398909450258,"y":32036.12429394412},"targetPosition":{"x":25259.398909450258,"y":32022.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Percentage Bandwidth","id":"3b7885a0-cd72-4a3f-a38b-3dc8c47bd068"}}}],"dataProductFolders":[],"id":"41f6cc17-d2ef-4a8e-a30b-c0dbcf515d25","savedPayload":{"position":{"x":25084.73174269536,"y":32724.59062736529},"targetPosition":{"x":25261.067318383102,"y":32481.885529052808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Products","name":"Bollinger Channels","dataProducts":[{"type":"Data Product","name":"Bollinger Channels Objects","id":"aba646d5-9b32-48d6-abc3-e9fa8405b279","savedPayload":{"position":{"x":25304.398909450258,"y":32189.12429394412},"targetPosition":{"x":25226.398909450258,"y":32100.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Channels Objects","id":"1f111f72-624f-4166-9f99-ab8d785d5267"}}},{"type":"Data Product","name":"Bollinger Channels","id":"241723cd-ae4d-4990-88f8-29bfad2e14ed","savedPayload":{"position":{"x":25230.398909450258,"y":32178.12429394412},"targetPosition":{"x":25226.398909450258,"y":32100.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Channels","id":"94bc3958-cc85-43a1-a178-103e84f42910"}}},{"type":"Data Product","name":"Bollinger Sub-Channels Objects","id":"e171424f-d37d-46d5-aada-1d66ccb0961f","savedPayload":{"position":{"x":25237.398909450258,"y":32032.12429394412},"targetPosition":{"x":25226.398909450258,"y":32100.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Sub-Channels Objects","id":"080c87fc-4546-4482-ab11-180a33f6d9ab"}}},{"type":"Data Product","name":"Bollinger Sub-Channels","id":"f8686b62-8ca9-4b30-9c27-9844c109d987","savedPayload":{"position":{"x":25226.398909450258,"y":32042.12429394412},"targetPosition":{"x":25226.398909450258,"y":32100.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Sub-Channels","id":"79ce9c05-8a4c-4b58-850f-288037acc702"}}}],"dataProductFolders":[],"id":"8c843479-10c3-4ac3-8566-42574738e89c","savedPayload":{"position":{"x":24975.750363494557,"y":32574.59062736529},"targetPosition":{"x":25261.067318383102,"y":32481.885529052808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f527bdd3-f5bc-4248-a35f-ac7e591c3aec","savedPayload":{"position":{"x":25261.067318383102,"y":32481.885529052808},"targetPosition":{"x":25353.772416695585,"y":32196.568574164263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Mine","name":"Masters","id":"35be7b1c-a0f7-4b5f-9ee1-8fb51595e959"}}}],"id":"449f1f87-399d-4ec2-9af2-beb92609dc27","savedPayload":{"position":{"x":25353.772416695585,"y":32196.568574164263},"targetPosition":{"x":25291.398909450258,"y":31903.12429394412},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"9bc0aea4-0596-449c-91bd-4fb4cb672aa8","savedPayload":{"position":{"x":25291.398909450258,"y":31903.12429394412},"targetPosition":{"x":25229.02540220493,"y":31609.68001372398},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"32e7c122-fa5a-4d00-9d71-d54e890e32de","savedPayload":{"position":{"x":25229.02540220493,"y":31609.68001372398},"targetPosition":{"x":25166.651894959603,"y":31316.23573350384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"tradingMinesData":{"type":"Trading Mines Data","name":"New Trading Mines Data","exchangeTradingProducts":[{"type":"Exchange Trading Products","name":"Binance","marketTradingProducts":[{"type":"Market Trading Products","name":"Binance BTC/USDT","sessionReferences":[{"type":"Session Reference","name":"WHB v2 Backtesting Session","dataProducts":[],"tradingMineProducts":[{"type":"Trading Mine Products","name":"Masters","botProducts":[{"type":"Bot Products","name":"Low Frequency","dataProducts":[],"dataProductFolders":[{"type":"Data Product Folder","name":"Trading Engine","dataProducts":[],"dataProductFolders":[{"type":"Data Product Folder","name":"Episode","dataProducts":[{"type":"Data Product","name":"Episode Counters","id":"dd0c8cb9-af86-43fc-a22e-2b1b408787d9","savedPayload":{"position":{"x":24625.764999673167,"y":31670.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Counters","id":"d81c6019-864e-42f5-94ba-2f249b865f85"}}},{"type":"Data Product","name":"Episode Statistics","id":"5c98f3e9-72a7-4742-9315-50d6e4aaa452","savedPayload":{"position":{"x":24492.764999673167,"y":31685.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Statistics","id":"400c7f49-37da-41fb-b83d-879960aa74ff"}}},{"type":"Data Product","name":"Episode Candle","id":"b626d6f0-f929-457e-910b-dfb83c666deb","savedPayload":{"position":{"x":24585.764999673167,"y":31571.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Candle","id":"b9a58113-cf27-4d57-9810-87a2cc158804"}}},{"type":"Data Product","name":"Episode Balances","id":"3d2dee0f-a7df-463f-befe-5f6231ab7830","savedPayload":{"position":{"x":24554.764999673167,"y":31667.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Balances","id":"a9a53d82-133b-4417-b639-f9a56d338233"}}},{"type":"Data Product","name":"Distance To Event","id":"5699dc43-eb9a-4e42-aece-e9567924cac2","savedPayload":{"position":{"x":24602.764999673167,"y":31603.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Distance To Event","id":"8ea88d6c-7d7f-4152-b781-ea108df52c63"}}},{"type":"Data Product","name":"Episode Base Asset","id":"7647e8ee-0ab7-41af-b153-099a334a362d","savedPayload":{"position":{"x":24479.764999673167,"y":31733.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Base Asset","id":"234969ff-eab1-4d59-b6fa-79433c9a20e9"}}},{"type":"Data Product","name":"Episode Quoted Asset","id":"00bf7f7c-9002-4923-8010-7125327f9128","savedPayload":{"position":{"x":24624.764999673167,"y":31623.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Quoted Asset","id":"ae525e31-d6a8-47d2-9021-3f2ddb9615b0"}}},{"type":"Data Product","name":"Current Episode","id":"54b85d80-295a-4540-b726-f6f7cd17c6c9","savedPayload":{"position":{"x":24614.764999673167,"y":31724.714097319156},"targetPosition":{"x":24536.764999673167,"y":31671.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Episode","id":"b8da0132-ba28-46ec-aa54-eb9eaac56ce7"}}}],"dataProductFolders":[],"id":"135f87c8-2206-4e9f-b93a-d9c764a69f23","savedPayload":{"position":{"x":24536.764999673167,"y":31671.714097319156},"targetPosition":{"x":24483.764999673167,"y":31732.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Strategy","dataProducts":[{"type":"Data Product","name":"Current Strategy","id":"68fdae81-0371-428f-8495-a0fe100cbba8","savedPayload":{"position":{"x":24479.764999673167,"y":31715.714097319156},"targetPosition":{"x":24388.764999673167,"y":31633.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Strategy","id":"895d8a04-ef45-41a7-909a-ba31013ffb90"}}},{"type":"Data Product","name":"Last Strategy","id":"51693a6b-7d84-4f20-bdee-1211f9bae6f9","savedPayload":{"position":{"x":24355.764999673167,"y":31587.714097319156},"targetPosition":{"x":24388.764999673167,"y":31633.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Strategy","id":"0625f524-2b97-4b4d-8a90-590ffc62ecd3"}}}],"dataProductFolders":[],"id":"ffbfa6f7-5ca0-41c2-85e8-e9a3305ce12f","savedPayload":{"position":{"x":24388.764999673167,"y":31633.714097319156},"targetPosition":{"x":24483.764999673167,"y":31732.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Position","dataProducts":[{"type":"Data Product","name":"Current Position","id":"80cb8779-8e2b-4c33-bd43-c696dbc4e5f6","savedPayload":{"position":{"x":24450.764999673167,"y":31699.714097319156},"targetPosition":{"x":24505.764999673167,"y":31770.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Position","id":"832ecada-8da3-4ba6-b6e9-be34dd5f7ce9"}}},{"type":"Data Product","name":"Last Position","id":"cd54c5f3-13f4-4e71-b233-b649d4878ab6","savedPayload":{"position":{"x":24418.764999673167,"y":31806.714097319156},"targetPosition":{"x":24505.764999673167,"y":31770.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Position","id":"477cd6d5-862a-44d0-9313-786a4e63a602"}}}],"dataProductFolders":[],"id":"3004c779-23c1-4f87-aedc-744dd6edb204","savedPayload":{"position":{"x":24505.764999673167,"y":31770.714097319156},"targetPosition":{"x":24483.764999673167,"y":31732.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Stages","dataProducts":[{"type":"Data Product","name":"Open Stage","id":"7466e39e-eced-4ca3-9d56-a0d1548b91c6","savedPayload":{"position":{"x":24514.764999673167,"y":31782.714097319156},"targetPosition":{"x":24547.764999673167,"y":31755.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Open Stage","id":"73c3c041-ba2a-4798-a362-a453409b518a"}}},{"type":"Data Product","name":"Close Stage","id":"bea0a14e-e504-4e9e-a346-439180b6ad31","savedPayload":{"position":{"x":24613.764999673167,"y":31696.714097319156},"targetPosition":{"x":24547.764999673167,"y":31755.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Close Stage","id":"2bb9bb41-1ff5-4f83-aa5b-bfc4c9f06a9a"}}},{"type":"Data Product","name":"Trigger Stage","id":"06ef8c46-5cc3-4890-9a44-8fd57b8e9ca3","savedPayload":{"position":{"x":24572.764999673167,"y":31655.714097319156},"targetPosition":{"x":24547.764999673167,"y":31755.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trigger Stage","id":"b6cff826-9056-4fbd-8eca-cbd6cceec962"}}},{"type":"Data Product","name":"Manage Stage","id":"9df7d784-5665-4fa1-9d85-ee74845267aa","savedPayload":{"position":{"x":24532.764999673167,"y":31794.714097319156},"targetPosition":{"x":24547.764999673167,"y":31755.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Manage Stage","id":"bd691611-e7a6-49a8-b07d-c15360b55e40"}}}],"dataProductFolders":[],"id":"4767afd5-931b-4604-a5c6-d1f7c306096e","savedPayload":{"position":{"x":24547.764999673167,"y":31755.714097319156},"targetPosition":{"x":24483.764999673167,"y":31732.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Orders","dataProducts":[{"type":"Data Product","name":"Market Buy Orders","id":"4bc0034d-935a-4193-89cf-b18c65b0905a","savedPayload":{"position":{"x":24496.764999673167,"y":31884.714097319156},"targetPosition":{"x":24437.764999673167,"y":31818.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Buy Orders","id":"7c769317-2639-4460-8b88-9dc92f7b0585"}}},{"type":"Data Product","name":"Market Sell Orders","id":"ffada7e3-6897-4d94-b119-eef67c178678","savedPayload":{"position":{"x":24450.764999673167,"y":31796.714097319156},"targetPosition":{"x":24437.764999673167,"y":31818.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Sell Orders","id":"9cc7645a-54fe-40d6-9896-9278167011fb"}}},{"type":"Data Product","name":"Limit Buy Orders","id":"e195d10c-7b9f-4428-910e-11be05f66345","savedPayload":{"position":{"x":24512.764999673167,"y":31750.714097319156},"targetPosition":{"x":24437.764999673167,"y":31818.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Buy Orders","id":"4c827ee0-a29b-4b65-8438-03e2ea98b410"}}},{"type":"Data Product","name":"Limit Sell Orders","id":"c396625e-9a71-4edd-a954-ea2c884538f5","savedPayload":{"position":{"x":24456.764999673167,"y":31737.714097319156},"targetPosition":{"x":24437.764999673167,"y":31818.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Sell Orders","id":"2c753cd8-36d8-466c-bd80-1ebfa8e314dc"}}},{"type":"Data Product","name":"Last Market Order","id":"d15cc7d7-3e92-4f92-9bbe-e0a3ba499740","savedPayload":{"position":{"x":24473.764999673167,"y":31736.714097319156},"targetPosition":{"x":24437.764999673167,"y":31818.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Market Order","id":"6df1ac87-92d5-4788-b0bc-f3543b283ef0"}}},{"type":"Data Product","name":"Last Limit Order","id":"507be75d-cd3c-4767-b159-328469e5c6e8","savedPayload":{"position":{"x":24418.764999673167,"y":31775.714097319156},"targetPosition":{"x":24437.764999673167,"y":31818.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Limit Order","id":"c24ec6a1-e937-4d20-93eb-4faf2a0becc3"}}}],"dataProductFolders":[],"id":"7ca1fb0a-67c1-41c3-945e-7b343d938c37","savedPayload":{"position":{"x":24437.764999673167,"y":31818.714097319156},"targetPosition":{"x":24483.764999673167,"y":31732.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b702fdec-9278-4b8a-9a5e-2a3fe6bc8d5b","savedPayload":{"position":{"x":24483.764999673167,"y":31732.714097319156},"targetPosition":{"x":24574.764999673167,"y":31719.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Trading System","dataProducts":[{"type":"Data Product","name":"Trading System Errors","id":"8cb33c4c-4561-4e2e-a145-19bb87fa9b61","savedPayload":{"position":{"x":24482.764999673167,"y":31709.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Errors","id":"1d9c570d-77c7-40ac-a61e-c5a57a411de8"}}},{"type":"Data Product","name":"Trading System Highlights","id":"3521e920-c9b3-493b-9690-58101c475dad","savedPayload":{"position":{"x":24533.764999673167,"y":31705.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Highlights","id":"319f660a-78be-4cf4-8052-877837cad806"}}},{"type":"Data Product","name":"Trading System Values","id":"084d12bb-30ec-4a0f-a356-a58817d4e266","savedPayload":{"position":{"x":24456.764999673167,"y":31606.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Values","id":"c90c009b-588d-45d4-aff1-05e375181dfa"}}},{"type":"Data Product","name":"Trading System Status","id":"12e328ff-6658-4ca1-be6d-a93c8fc5c42e","savedPayload":{"position":{"x":24504.764999673167,"y":31681.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Status","id":"eed48c80-35c5-49fa-b12d-18e7280ffb8f"}}},{"type":"Data Product","name":"Trading System Progress","id":"d35b7442-5911-4456-bc9e-c451e21d4a30","savedPayload":{"position":{"x":24540.764999673167,"y":31622.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Progress","id":"04c8606b-5e59-4e7d-b3ac-387bfffcd300"}}},{"type":"Data Product","name":"Trading System Running","id":"65c269c0-2793-483c-ad8e-5c107a56b951","savedPayload":{"position":{"x":24506.764999673167,"y":31546.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Running","id":"17236f59-6ef2-4cc3-913c-1ff6db052236"}}},{"type":"Data Product","name":"Trading System Announcements","id":"56631448-2669-47f1-bbc9-7dda628f433e","savedPayload":{"position":{"x":24591.764999673167,"y":31610.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Announcements","id":"4a6f828a-9671-431e-8257-fc920943581e"}}},{"type":"Data Product","name":"Trading System Warnings","id":"c7c4ece9-6d52-4e9a-800e-11c22955c178","savedPayload":{"position":{"x":24461.764999673167,"y":31619.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Warnings","id":"34310596-466a-4e9a-a5a2-256b0fe3e339"}}},{"type":"Data Product","name":"Trading System Infos","id":"f937c3f3-305c-4abc-aa12-0f2015e8f5fa","savedPayload":{"position":{"x":24481.764999673167,"y":31622.714097319156},"targetPosition":{"x":24511.764999673167,"y":31639.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Infos","id":"020ad519-0fc6-4f2f-9f26-b2c7de118fb8"}}}],"dataProductFolders":[],"id":"922f6ae2-8a20-492c-9c18-811e6a871c6f","savedPayload":{"position":{"x":24511.764999673167,"y":31639.714097319156},"targetPosition":{"x":24574.764999673167,"y":31719.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Simulation Objects","dataProducts":[{"type":"Data Product","name":"Episodes","id":"b4881fc1-e88b-4be3-805d-ab98c4ccbb0b","savedPayload":{"position":{"x":24665.764999673167,"y":31854.714097319156},"targetPosition":{"x":24566.764999673167,"y":31764.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episodes","id":"aeec080e-8caf-4976-8187-ba4e725b73b0"}}},{"type":"Data Product","name":"Strategies","id":"7201adfb-d461-46b7-af3a-a45fabe24835","savedPayload":{"position":{"x":24582.764999673167,"y":31703.714097319156},"targetPosition":{"x":24566.764999673167,"y":31764.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Strategies","id":"21db6fce-8450-4b07-9015-d81a339fd030"}}}],"dataProductFolders":[{"type":"Data Product Folder","name":"Orders","dataProducts":[{"type":"Data Product","name":"Market Buy Orders","id":"c92a34c6-c74b-48ad-a57d-9fb78e3e642c","savedPayload":{"position":{"x":24564.764999673167,"y":31810.714097319156},"targetPosition":{"x":24477.764999673167,"y":31834.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Buy Orders","id":"db256083-9aa2-48e1-8fd6-3425a5085302"}}},{"type":"Data Product","name":"Market Sell Orders","id":"442e4f1d-e420-43cf-94c8-08282408f555","savedPayload":{"position":{"x":24519.764999673167,"y":31839.714097319156},"targetPosition":{"x":24477.764999673167,"y":31834.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Sell Orders","id":"1958f79b-5c6c-4874-9154-98c314822ed7"}}},{"type":"Data Product","name":"Limit Buy Orders","id":"5beb71e3-23fd-4e79-b7fd-46da219b1112","savedPayload":{"position":{"x":24568.764999673167,"y":31785.714097319156},"targetPosition":{"x":24477.764999673167,"y":31834.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Buy Orders","id":"5deceb32-c7ab-4560-818a-0f0b9d6632fb"}}},{"type":"Data Product","name":"Limit Sell Orders","id":"1d6f14f5-c7fe-4b42-8a1b-5859e6e5a592","savedPayload":{"position":{"x":24434.764999673167,"y":31805.714097319156},"targetPosition":{"x":24477.764999673167,"y":31834.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Sell Orders","id":"2a1d405b-2fbe-4ed4-a76a-d2c7be59d20e"}}}],"dataProductFolders":[],"id":"10897f51-b5dd-4f76-8ab3-ac77df8a6976","savedPayload":{"position":{"x":24477.764999673167,"y":31834.714097319156},"targetPosition":{"x":24566.764999673167,"y":31764.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Stages","dataProducts":[{"type":"Data Product","name":"Trigger Stages","id":"7f256746-a20a-4856-af57-18f91e02fdaf","savedPayload":{"position":{"x":24611.764999673167,"y":31745.714097319156},"targetPosition":{"x":24619.764999673167,"y":31741.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trigger Stages","id":"18cc2e79-7e57-418c-b635-6c68fc11d681"}}},{"type":"Data Product","name":"Open Stages","id":"c9b06e1b-2816-4770-b4d2-951b354fa688","savedPayload":{"position":{"x":24665.764999673167,"y":31718.714097319156},"targetPosition":{"x":24619.764999673167,"y":31741.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Open Stages","id":"d5938c00-0849-466d-ae14-4ea91b571678"}}},{"type":"Data Product","name":"Manage Stages","id":"59770c0b-e50d-46d3-b62f-7ea080fcbeb2","savedPayload":{"position":{"x":24669.764999673167,"y":31762.714097319156},"targetPosition":{"x":24619.764999673167,"y":31741.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Manage Stages","id":"8fab86b3-db8d-4113-8418-1d256bd98cf2"}}},{"type":"Data Product","name":"Close Stages","id":"56915d54-1528-46bf-ad3f-361ca441abc0","savedPayload":{"position":{"x":24613.764999673167,"y":31775.714097319156},"targetPosition":{"x":24619.764999673167,"y":31741.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Close Stages","id":"ba911e61-f951-48cd-b547-9a70aa211100"}}}],"dataProductFolders":[],"id":"768c6ff6-a03d-43d0-9a13-f7037e9352f3","savedPayload":{"position":{"x":24619.764999673167,"y":31741.714097319156},"targetPosition":{"x":24566.764999673167,"y":31764.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Position","dataProducts":[{"type":"Data Product","name":"Positions","id":"112221cf-8147-484f-a9aa-d86c2402d1b4","savedPayload":{"position":{"x":24690.764999673167,"y":31722.714097319156},"targetPosition":{"x":24617.764999673167,"y":31768.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Positions","id":"1eabba24-cbd4-4cbf-95e0-c5135349d41d"}}},{"type":"Data Product","name":"Position Base Asset","id":"b92609ac-310d-482c-a96f-8e90d4c43d72","savedPayload":{"position":{"x":24647.764999673167,"y":31752.714097319156},"targetPosition":{"x":24617.764999673167,"y":31768.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Position Base Asset","id":"b371b039-f6c8-4f60-84cb-52f55c96c84d"}}},{"type":"Data Product","name":"Position Quoted Asset","id":"1e037875-a2ee-44c3-8d8e-861f39f9d8a7","savedPayload":{"position":{"x":24703.764999673167,"y":31795.714097319156},"targetPosition":{"x":24617.764999673167,"y":31768.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Position Quoted Asset","id":"a376f02b-a5d2-4079-b5cd-ab7dc894b909"}}},{"type":"Data Product","name":"Stop Loss","id":"7f2737da-5aef-4dbf-b86c-80132bcb3289","savedPayload":{"position":{"x":24703.764999673167,"y":31693.714097319156},"targetPosition":{"x":24617.764999673167,"y":31768.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Stop Loss","id":"c18bdc82-216a-4b1d-8850-5c3c9dc2000b"}}},{"type":"Data Product","name":"Take Profit","id":"4d5fcd48-f3df-43c9-818e-70057086a961","savedPayload":{"position":{"x":24645.764999673167,"y":31699.714097319156},"targetPosition":{"x":24617.764999673167,"y":31768.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Take Profit","id":"2542c7d0-fa26-4b52-a59a-a3630e52eb89"}}}],"dataProductFolders":[],"id":"053b9219-8b8e-4b7e-a7c0-3132f44b2bc9","savedPayload":{"position":{"x":24617.764999673167,"y":31768.714097319156},"targetPosition":{"x":24566.764999673167,"y":31764.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0fac6eab-3a4a-4e40-aa19-ab019941ba92","savedPayload":{"position":{"x":24566.764999673167,"y":31764.714097319156},"targetPosition":{"x":24574.764999673167,"y":31719.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6f5b7da1-419c-4728-b650-6bcf0abe0381","savedPayload":{"position":{"x":24574.764999673167,"y":31719.714097319156},"targetPosition":{"x":24606.764999673167,"y":31755.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7d983ca2-8566-436b-ab21-445564aba4b3","savedPayload":{"position":{"x":24606.764999673167,"y":31755.714097319156},"targetPosition":{"x":24691.764999673167,"y":31841.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Trading Mine","name":"Masters","id":"6a54eece-4582-4cda-a854-1cd805e00fed"}}}],"id":"cfccd77b-3680-4e30-ba08-0bf8c906f739","savedPayload":{"position":{"x":24691.764999673167,"y":31841.714097319156},"targetPosition":{"x":24621.764999673167,"y":31804.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Backtesting Session","name":"WHB v2","id":"1ff8cd88-dcd9-4528-b406-05647ddd8c9c"}}},{"type":"Session Reference","name":"WHB v2 Live Trading Session","dataProducts":[],"tradingMineProducts":[{"type":"Trading Mine Products","name":"Masters","botProducts":[{"type":"Bot Products","name":"Low Frequency","dataProducts":[],"dataProductFolders":[{"type":"Data Product Folder","name":"Trading Engine","dataProducts":[],"dataProductFolders":[{"type":"Data Product Folder","name":"Episode","dataProducts":[{"type":"Data Product","name":"Episode Counters","id":"4d1ea2bf-5a1d-4b37-9719-007e28b81184","savedPayload":{"position":{"x":24489.764999673167,"y":31757.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Counters","id":"d81c6019-864e-42f5-94ba-2f249b865f85"}}},{"type":"Data Product","name":"Episode Statistics","id":"2c4ef698-66da-4079-90ec-9fdf5ce41be7","savedPayload":{"position":{"x":24567.764999673167,"y":31886.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Statistics","id":"400c7f49-37da-41fb-b83d-879960aa74ff"}}},{"type":"Data Product","name":"Episode Candle","id":"5ee16bd3-cb60-4b92-ab67-d56dfbdd8671","savedPayload":{"position":{"x":24423.764999673167,"y":31729.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Candle","id":"b9a58113-cf27-4d57-9810-87a2cc158804"}}},{"type":"Data Product","name":"Episode Balances","id":"660caa52-ba9a-4829-9143-3ca16f2590aa","savedPayload":{"position":{"x":24506.764999673167,"y":31873.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Balances","id":"a9a53d82-133b-4417-b639-f9a56d338233"}}},{"type":"Data Product","name":"Distance To Event","id":"382ccb5c-e0c3-4e34-97b9-599cf5d6792d","savedPayload":{"position":{"x":24586.764999673167,"y":31757.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Distance To Event","id":"8ea88d6c-7d7f-4152-b781-ea108df52c63"}}},{"type":"Data Product","name":"Episode Base Asset","id":"42d86745-d971-4328-a908-91bf6d19a019","savedPayload":{"position":{"x":24522.764999673167,"y":31859.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Base Asset","id":"234969ff-eab1-4d59-b6fa-79433c9a20e9"}}},{"type":"Data Product","name":"Episode Quoted Asset","id":"7dbf878d-588f-422e-acd2-03968abaf5f0","savedPayload":{"position":{"x":24493.764999673167,"y":31796.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episode Quoted Asset","id":"ae525e31-d6a8-47d2-9021-3f2ddb9615b0"}}},{"type":"Data Product","name":"Current Episode","id":"d678dfa8-544b-456f-b3f0-715579440aa2","savedPayload":{"position":{"x":24424.764999673167,"y":31797.714097319156},"targetPosition":{"x":24512.764999673167,"y":31797.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Episode","id":"b8da0132-ba28-46ec-aa54-eb9eaac56ce7"}}}],"dataProductFolders":[],"id":"bc8ed9e2-3910-497b-b29e-dc88db8ab671","savedPayload":{"position":{"x":24512.764999673167,"y":31797.714097319156},"targetPosition":{"x":24543.764999673167,"y":31702.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Strategy","dataProducts":[{"type":"Data Product","name":"Current Strategy","id":"07b721a0-55e0-4e7a-b0e2-a91e8c76de4f","savedPayload":{"position":{"x":24581.764999673167,"y":31793.714097319156},"targetPosition":{"x":24550.764999673167,"y":31758.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Strategy","id":"895d8a04-ef45-41a7-909a-ba31013ffb90"}}},{"type":"Data Product","name":"Last Strategy","id":"15f34c1a-b30d-4dd1-96e0-8a2646de3635","savedPayload":{"position":{"x":24452.764999673167,"y":31750.714097319156},"targetPosition":{"x":24550.764999673167,"y":31758.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Strategy","id":"0625f524-2b97-4b4d-8a90-590ffc62ecd3"}}}],"dataProductFolders":[],"id":"3c5ab12d-c6cf-4b36-baec-a83284745381","savedPayload":{"position":{"x":24550.764999673167,"y":31758.714097319156},"targetPosition":{"x":24543.764999673167,"y":31702.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Position","dataProducts":[{"type":"Data Product","name":"Current Position","id":"ab53428d-89a3-4b1f-84b1-d5bd1d957f02","savedPayload":{"position":{"x":24615.764999673167,"y":31642.714097319156},"targetPosition":{"x":24558.764999673167,"y":31719.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Current Position","id":"832ecada-8da3-4ba6-b6e9-be34dd5f7ce9"}}},{"type":"Data Product","name":"Last Position","id":"5909ca07-e00c-4669-9cd3-17eb83796f31","savedPayload":{"position":{"x":24584.764999673167,"y":31640.714097319156},"targetPosition":{"x":24558.764999673167,"y":31719.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Position","id":"477cd6d5-862a-44d0-9313-786a4e63a602"}}}],"dataProductFolders":[],"id":"73850961-f70a-4995-a51e-6f35382f1294","savedPayload":{"position":{"x":24558.764999673167,"y":31719.714097319156},"targetPosition":{"x":24543.764999673167,"y":31702.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Stages","dataProducts":[{"type":"Data Product","name":"Open Stage","id":"68803338-3e70-443f-90fd-8b36f5378f31","savedPayload":{"position":{"x":24556.764999673167,"y":31721.714097319156},"targetPosition":{"x":24589.764999673167,"y":31691.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Open Stage","id":"73c3c041-ba2a-4798-a362-a453409b518a"}}},{"type":"Data Product","name":"Close Stage","id":"2d2dd9df-d00a-4d69-9b29-66e19d0238fe","savedPayload":{"position":{"x":24613.764999673167,"y":31786.714097319156},"targetPosition":{"x":24589.764999673167,"y":31691.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Close Stage","id":"2bb9bb41-1ff5-4f83-aa5b-bfc4c9f06a9a"}}},{"type":"Data Product","name":"Trigger Stage","id":"7a71d0ce-5592-4b70-b30c-9676b67feb47","savedPayload":{"position":{"x":24505.764999673167,"y":31770.714097319156},"targetPosition":{"x":24589.764999673167,"y":31691.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trigger Stage","id":"b6cff826-9056-4fbd-8eca-cbd6cceec962"}}},{"type":"Data Product","name":"Manage Stage","id":"5b233b81-aa5f-4222-9772-5c8810cb683a","savedPayload":{"position":{"x":24670.764999673167,"y":31739.714097319156},"targetPosition":{"x":24589.764999673167,"y":31691.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Manage Stage","id":"bd691611-e7a6-49a8-b07d-c15360b55e40"}}}],"dataProductFolders":[],"id":"f7fff058-7a27-462e-8c28-56c7df8d17db","savedPayload":{"position":{"x":24589.764999673167,"y":31691.714097319156},"targetPosition":{"x":24543.764999673167,"y":31702.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Orders","dataProducts":[{"type":"Data Product","name":"Market Buy Orders","id":"0487769a-1b78-45ce-8750-6cb55c0785f4","savedPayload":{"position":{"x":24636.764999673167,"y":31795.714097319156},"targetPosition":{"x":24641.764999673167,"y":31785.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Buy Orders","id":"7c769317-2639-4460-8b88-9dc92f7b0585"}}},{"type":"Data Product","name":"Market Sell Orders","id":"6e666549-9e9f-42d3-b543-fc0ce961cc64","savedPayload":{"position":{"x":24710.764999673167,"y":31864.714097319156},"targetPosition":{"x":24641.764999673167,"y":31785.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Sell Orders","id":"9cc7645a-54fe-40d6-9896-9278167011fb"}}},{"type":"Data Product","name":"Limit Buy Orders","id":"a596b5e6-666d-4da0-bd2f-2b65292b8d87","savedPayload":{"position":{"x":24642.764999673167,"y":31763.714097319156},"targetPosition":{"x":24641.764999673167,"y":31785.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Buy Orders","id":"4c827ee0-a29b-4b65-8438-03e2ea98b410"}}},{"type":"Data Product","name":"Limit Sell Orders","id":"528f2741-eda9-4dd4-b731-8110336c0a34","savedPayload":{"position":{"x":24718.764999673167,"y":31826.714097319156},"targetPosition":{"x":24641.764999673167,"y":31785.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Sell Orders","id":"2c753cd8-36d8-466c-bd80-1ebfa8e314dc"}}},{"type":"Data Product","name":"Last Market Order","id":"0d7a0263-dc84-4b4a-a6cc-ad6c3f9824fe","savedPayload":{"position":{"x":24738.764999673167,"y":31851.714097319156},"targetPosition":{"x":24641.764999673167,"y":31785.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Market Order","id":"6df1ac87-92d5-4788-b0bc-f3543b283ef0"}}},{"type":"Data Product","name":"Last Limit Order","id":"51e9b95a-96c1-4cf4-a188-9669c73c7e8e","savedPayload":{"position":{"x":24647.764999673167,"y":31824.714097319156},"targetPosition":{"x":24641.764999673167,"y":31785.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Last Limit Order","id":"c24ec6a1-e937-4d20-93eb-4faf2a0becc3"}}}],"dataProductFolders":[],"id":"0dbd65bc-9ab3-40f3-b972-4b6c6c304d1d","savedPayload":{"position":{"x":24641.764999673167,"y":31785.714097319156},"targetPosition":{"x":24543.764999673167,"y":31702.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1facfef6-da1b-40a6-ba07-bbec4ef2f246","savedPayload":{"position":{"x":24543.764999673167,"y":31702.714097319156},"targetPosition":{"x":24590.764999673167,"y":31617.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Trading System","dataProducts":[{"type":"Data Product","name":"Trading System Errors","id":"1c539f66-a512-4cd9-b974-622b95e2cca9","savedPayload":{"position":{"x":24490.764999673167,"y":31599.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Errors","id":"1d9c570d-77c7-40ac-a61e-c5a57a411de8"}}},{"type":"Data Product","name":"Trading System Highlights","id":"409e6575-034e-4d3d-99e5-0495ba229622","savedPayload":{"position":{"x":24552.764999673167,"y":31522.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Highlights","id":"319f660a-78be-4cf4-8052-877837cad806"}}},{"type":"Data Product","name":"Trading System Values","id":"55245047-2d2d-4a04-97f9-d413d82375a9","savedPayload":{"position":{"x":24516.764999673167,"y":31668.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Values","id":"c90c009b-588d-45d4-aff1-05e375181dfa"}}},{"type":"Data Product","name":"Trading System Status","id":"9f9ea8fa-0769-44b9-a4f1-86f2c3a22195","savedPayload":{"position":{"x":24485.764999673167,"y":31687.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Status","id":"eed48c80-35c5-49fa-b12d-18e7280ffb8f"}}},{"type":"Data Product","name":"Trading System Progress","id":"d2e7ed86-a88f-484b-ab5f-d6212cb7045f","savedPayload":{"position":{"x":24550.764999673167,"y":31549.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Progress","id":"04c8606b-5e59-4e7d-b3ac-387bfffcd300"}}},{"type":"Data Product","name":"Trading System Running","id":"0a0b3b0e-cac0-42a3-8825-637b2b78afad","savedPayload":{"position":{"x":24548.764999673167,"y":31673.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Running","id":"17236f59-6ef2-4cc3-913c-1ff6db052236"}}},{"type":"Data Product","name":"Trading System Announcements","id":"b79dfe54-361e-44f2-87ce-5e012bba3bcd","savedPayload":{"position":{"x":24578.764999673167,"y":31641.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Announcements","id":"4a6f828a-9671-431e-8257-fc920943581e"}}},{"type":"Data Product","name":"Trading System Warnings","id":"29681b5e-16e2-4bc0-816e-537b271c0ea5","savedPayload":{"position":{"x":24560.764999673167,"y":31530.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Warnings","id":"34310596-466a-4e9a-a5a2-256b0fe3e339"}}},{"type":"Data Product","name":"Trading System Infos","id":"3da52870-d76c-4e37-9247-9eecfdbb64ec","savedPayload":{"position":{"x":24629.764999673167,"y":31678.714097319156},"targetPosition":{"x":24530.764999673167,"y":31600.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trading System Infos","id":"020ad519-0fc6-4f2f-9f26-b2c7de118fb8"}}}],"dataProductFolders":[],"id":"62beef62-7bc7-4980-b2f5-050542e09597","savedPayload":{"position":{"x":24530.764999673167,"y":31600.714097319156},"targetPosition":{"x":24590.764999673167,"y":31617.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Simulation Objects","dataProducts":[{"type":"Data Product","name":"Episodes","id":"802ebea8-becf-45e5-b761-078cad3acd74","savedPayload":{"position":{"x":24594.764999673167,"y":31696.714097319156},"targetPosition":{"x":24671.764999673167,"y":31599.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Episodes","id":"aeec080e-8caf-4976-8187-ba4e725b73b0"}}},{"type":"Data Product","name":"Strategies","id":"601cbf34-9a33-4066-9709-b23c6c34b17d","savedPayload":{"position":{"x":24647.764999673167,"y":31534.714097319156},"targetPosition":{"x":24671.764999673167,"y":31599.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Strategies","id":"21db6fce-8450-4b07-9015-d81a339fd030"}}}],"dataProductFolders":[{"type":"Data Product Folder","name":"Orders","dataProducts":[{"type":"Data Product","name":"Market Buy Orders","id":"e1516339-ebcb-4840-a23d-cebd855911b6","savedPayload":{"position":{"x":24566.764999673167,"y":31615.714097319156},"targetPosition":{"x":24637.764999673167,"y":31564.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Buy Orders","id":"db256083-9aa2-48e1-8fd6-3425a5085302"}}},{"type":"Data Product","name":"Market Sell Orders","id":"57a0d52c-d2a3-4fd3-907c-66fd51cecdc6","savedPayload":{"position":{"x":24569.764999673167,"y":31593.714097319156},"targetPosition":{"x":24637.764999673167,"y":31564.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Market Sell Orders","id":"1958f79b-5c6c-4874-9154-98c314822ed7"}}},{"type":"Data Product","name":"Limit Buy Orders","id":"b67b6a65-5bd1-4b58-aa65-a8b840c54d9b","savedPayload":{"position":{"x":24640.764999673167,"y":31587.714097319156},"targetPosition":{"x":24637.764999673167,"y":31564.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Buy Orders","id":"5deceb32-c7ab-4560-818a-0f0b9d6632fb"}}},{"type":"Data Product","name":"Limit Sell Orders","id":"c27b0f50-fdad-4b69-a99e-2708806066aa","savedPayload":{"position":{"x":24566.764999673167,"y":31467.714097319156},"targetPosition":{"x":24637.764999673167,"y":31564.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Limit Sell Orders","id":"2a1d405b-2fbe-4ed4-a76a-d2c7be59d20e"}}}],"dataProductFolders":[],"id":"6b55d39b-b602-4d0f-9d73-253e4fbe60ee","savedPayload":{"position":{"x":24637.764999673167,"y":31564.714097319156},"targetPosition":{"x":24671.764999673167,"y":31599.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Stages","dataProducts":[{"type":"Data Product","name":"Trigger Stages","id":"bc3d588e-823d-4461-b550-b8ec912c4c8f","savedPayload":{"position":{"x":24637.764999673167,"y":31555.714097319156},"targetPosition":{"x":24613.764999673167,"y":31631.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Trigger Stages","id":"18cc2e79-7e57-418c-b635-6c68fc11d681"}}},{"type":"Data Product","name":"Open Stages","id":"edb07104-591d-453b-b7fe-bd3854ff8a36","savedPayload":{"position":{"x":24648.764999673167,"y":31561.714097319156},"targetPosition":{"x":24613.764999673167,"y":31631.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Open Stages","id":"d5938c00-0849-466d-ae14-4ea91b571678"}}},{"type":"Data Product","name":"Manage Stages","id":"9b884f77-297b-4618-ac4b-b995570284b6","savedPayload":{"position":{"x":24608.764999673167,"y":31550.714097319156},"targetPosition":{"x":24613.764999673167,"y":31631.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Manage Stages","id":"8fab86b3-db8d-4113-8418-1d256bd98cf2"}}},{"type":"Data Product","name":"Close Stages","id":"c07cc0bb-c49e-42d1-a5ba-f5fa9882fbab","savedPayload":{"position":{"x":24604.764999673167,"y":31605.714097319156},"targetPosition":{"x":24613.764999673167,"y":31631.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Close Stages","id":"ba911e61-f951-48cd-b547-9a70aa211100"}}}],"dataProductFolders":[],"id":"9d38f1ab-49ec-461c-9eb1-7f7bb7529baf","savedPayload":{"position":{"x":24613.764999673167,"y":31631.714097319156},"targetPosition":{"x":24671.764999673167,"y":31599.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Data Product Folder","name":"Position","dataProducts":[{"type":"Data Product","name":"Positions","id":"0e3c5d47-28d9-4cd3-ad72-1bdb054550a8","savedPayload":{"position":{"x":24597.764999673167,"y":31560.714097319156},"targetPosition":{"x":24640.764999673167,"y":31593.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Positions","id":"1eabba24-cbd4-4cbf-95e0-c5135349d41d"}}},{"type":"Data Product","name":"Position Base Asset","id":"47ffaf48-d92f-4da8-afb3-7787c5ba597e","savedPayload":{"position":{"x":24557.764999673167,"y":31660.714097319156},"targetPosition":{"x":24640.764999673167,"y":31593.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Position Base Asset","id":"b371b039-f6c8-4f60-84cb-52f55c96c84d"}}},{"type":"Data Product","name":"Position Quoted Asset","id":"59eb8fe6-5429-4d2d-8971-47580c5816b8","savedPayload":{"position":{"x":24542.764999673167,"y":31682.714097319156},"targetPosition":{"x":24640.764999673167,"y":31593.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Position Quoted Asset","id":"a376f02b-a5d2-4079-b5cd-ab7dc894b909"}}},{"type":"Data Product","name":"Stop Loss","id":"13a4d476-b8bb-4bb3-9a97-1c2a7b5c6188","savedPayload":{"position":{"x":24736.764999673167,"y":31626.714097319156},"targetPosition":{"x":24640.764999673167,"y":31593.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Stop Loss","id":"c18bdc82-216a-4b1d-8850-5c3c9dc2000b"}}},{"type":"Data Product","name":"Take Profit","id":"1af2f188-5506-47ff-859b-08e8f1c56754","savedPayload":{"position":{"x":24540.764999673167,"y":31498.714097319156},"targetPosition":{"x":24640.764999673167,"y":31593.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Take Profit","id":"2542c7d0-fa26-4b52-a59a-a3630e52eb89"}}}],"dataProductFolders":[],"id":"23dd1804-2a69-4a66-9c55-9b7a5333c263","savedPayload":{"position":{"x":24640.764999673167,"y":31593.714097319156},"targetPosition":{"x":24671.764999673167,"y":31599.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"224dd8a4-9dda-4294-8287-bb108a560eae","savedPayload":{"position":{"x":24671.764999673167,"y":31599.714097319156},"targetPosition":{"x":24590.764999673167,"y":31617.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"893b0c86-043f-404c-b4d7-c77d74c6002c","savedPayload":{"position":{"x":24590.764999673167,"y":31617.714097319156},"targetPosition":{"x":24603.764999673167,"y":31701.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ffdfebe3-50db-41b5-8077-7a7d0d008865","savedPayload":{"position":{"x":24603.764999673167,"y":31701.714097319156},"targetPosition":{"x":24562.764999673167,"y":31792.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Trading Mine","name":"Masters","id":"6a54eece-4582-4cda-a854-1cd805e00fed"}}}],"id":"8e57ee10-b239-4a92-81b4-44315e3cfd03","savedPayload":{"position":{"x":24562.764999673167,"y":31792.714097319156},"targetPosition":{"x":24621.764999673167,"y":31804.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Live Trading Session","name":"WHB v2","id":"934095e8-4a1c-4baf-828f-7818f73c4219"}}}],"id":"d04c2806-8d2d-4de2-8d10-b05a87a91b65","savedPayload":{"position":{"x":24497.82155202995,"y":31918.453279226815},"targetPosition":{"x":24720.764999673167,"y":31717.714097319156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market","name":"BTC/USDT","id":"9a867bf0-a71d-445c-b99a-75b60bbdce09"}}}],"id":"f601d2a7-fada-477f-9b63-3ef7ed42d44a","savedPayload":{"position":{"x":24720.764999673167,"y":31717.714097319156},"targetPosition":{"x":24943.708447316385,"y":31516.974915411498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Crypto Exchange","name":"Binance","id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b"}}}],"id":"e4e268f3-a677-4f90-90a1-d87244e647e5","savedPayload":{"position":{"x":24943.708447316385,"y":31516.974915411498},"targetPosition":{"x":25166.651894959603,"y":31316.23573350384},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e2697759-6038-4943-b90c-5a68651ff9a8","savedPayload":{"position":{"x":25166.651894959603,"y":31316.23573350384},"targetPosition":{"x":25259.356993272086,"y":31030.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"d"}}},"id":"e452cf65-2b2b-44f2-9e67-bdd9d3c008e4","savedPayload":{"position":{"x":25259.356993272086,"y":31030.918778615294},"targetPosition":{"x":24959.356993272086,"y":31030.918778615294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"3c165071-7558-4708-9999-8ffe71d346b1","savedPayload":{"position":{"x":24959.356993272086,"y":31030.918778615294},"targetPosition":{"x":24959.356993272086,"y":31030.918778615294},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"s"}}},{"type":"Crypto Ecosystem","name":"My Crypto Ecosystem","cryptoExchanges":[{"type":"Crypto Exchanges","name":"Tested","exchanges":[{"type":"Crypto Exchange","name":"Binance","config":"{\n \"codeName\": \"binance\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"EUR\"} \n}","assets":[{"type":"Asset","name":"Bitcoin","config":"{ \n\"codeName\": \"BTC\"\n}","id":"5f5e4a94-5090-47d4-8883-cc2325d20bfa","savedPayload":{"position":{"x":19794.079365950267,"y":30512.325102172115},"targetPosition":{"x":19716.43365241951,"y":30802.102850058836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"type":"Asset","name":"Tether","config":"{ \n\"codeName\": \"USDT\"\n}","id":"f110bfa0-bd5b-469b-a940-4524c8688136","savedPayload":{"position":{"x":20006.21140030623,"y":30724.45713652808},"targetPosition":{"x":19716.43365241951,"y":30802.102850058836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"id":"95d2c30f-215b-486e-8119-f4eac0279575","savedPayload":{"position":{"x":19716.43365241951,"y":30802.102850058836},"targetPosition":{"x":19504.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"E"}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","code":"{ \n\"codeName\": \"Write here the code name of the Market here.\"\n}","markets":[{"type":"Market","name":"BTC/USDT","config":"{ \n\"codeName\": \"BTC/USDT\"\n}","baseAsset":{"type":"Market Base Asset","name":"Bitcoin","id":"1017b30d-de1b-4212-991e-9fd0a5b6c814","savedPayload":{"position":{"x":20394.079365950267,"y":30936.589170884043},"targetPosition":{"x":20104.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Asset","name":"Bitcoin","id":"5f5e4a94-5090-47d4-8883-cc2325d20bfa"}}},"quotedAsset":{"type":"Market Quoted Asset","name":"Tether","id":"705c4a67-787a-48cd-a3dc-3a557438bf0b","savedPayload":{"position":{"x":20394.079365950267,"y":31091.880597945557},"targetPosition":{"x":20104.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Asset","name":"Tether","id":"f110bfa0-bd5b-469b-a940-4524c8688136"}}},"id":"9a867bf0-a71d-445c-b99a-75b60bbdce09","savedPayload":{"position":{"x":20104.301618063546,"y":31014.2348844148},"targetPosition":{"x":19804.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2fd80894-900e-44ac-a1a7-56c14124f7a1","savedPayload":{"position":{"x":19804.301618063546,"y":31014.2348844148},"targetPosition":{"x":19504.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[{"type":"Exchange Account Asset","name":"Bitcoin","id":"ba6f3d5c-b36b-49d9-947f-392068109169","savedPayload":{"position":{"x":20508.121182548915,"y":31438.498953126727},"targetPosition":{"x":20218.343434662194,"y":31516.144666657485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Asset","name":"Bitcoin","id":"5f5e4a94-5090-47d4-8883-cc2325d20bfa"}}},{"type":"Exchange Account Asset","name":"Tether","id":"c90be267-90f9-45ae-b225-0578adb4aad9","savedPayload":{"position":{"x":20430.475469018158,"y":31728.27670101345},"targetPosition":{"x":20218.343434662194,"y":31516.144666657485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Asset","name":"Tether","id":"f110bfa0-bd5b-469b-a940-4524c8688136"}}}],"id":"8ac5c2a9-a238-48ae-ab43-0a0a95a37464","savedPayload":{"position":{"x":20218.343434662194,"y":31516.144666657485},"targetPosition":{"x":19928.565686775473,"y":31438.498953126727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"Key for Lighting Strike","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"e85bbbd6-aca8-450f-9237-788062de5761","savedPayload":{"position":{"x":20083.857113836988,"y":32018.05444890017},"targetPosition":{"x":20006.21140030623,"y":31728.27670101345},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"id":"48925cc9-f3cd-4499-8466-1338fed28a0d","savedPayload":{"position":{"x":20006.21140030623,"y":31728.27670101345},"targetPosition":{"x":19928.565686775473,"y":31438.498953126727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"63794496-c94b-42f9-81cc-c588708617a6","savedPayload":{"position":{"x":19928.565686775473,"y":31438.498953126727},"targetPosition":{"x":19716.43365241951,"y":31226.366918770764},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4b0c1ac5-515f-44a9-b9b9-e698a9c51eac","savedPayload":{"position":{"x":19716.43365241951,"y":31226.366918770764},"targetPosition":{"x":19504.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"61ef0b8d-de6e-4e76-bdd5-996836760a4b","savedPayload":{"position":{"x":19504.301618063546,"y":31014.2348844148},"targetPosition":{"x":19204.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""},"tutorial":{"status":"Done"}}}],"id":"e3879d63-6f8f-41a3-8ac3-0349c4361722","savedPayload":{"position":{"x":19204.301618063546,"y":31014.2348844148},"targetPosition":{"x":18904.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchanges","name":"Untested","exchanges":[{"type":"Crypto Exchange","name":"ACX","config":"{ \n\"codeName\": \"acx\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"ebcb522b-ae58-46d2-9d82-a9b0beec3976","savedPayload":{"position":{"x":17935.64382962515,"y":31014.23747069523},"targetPosition":{"x":17912.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"b2649588-27c6-442c-b179-f6d8817188b3","savedPayload":{"position":{"x":17954.64382962515,"y":31004.23747069523},"targetPosition":{"x":17912.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"9b2051d5-7ee7-4e94-8c8d-306674889339","savedPayload":{"position":{"x":17838.64382962515,"y":30896.23747069523},"targetPosition":{"x":17766.64382962515,"y":30905.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"1d5461aa-d26c-4df5-b383-8c83e311b8ca","savedPayload":{"position":{"x":17643.64382962515,"y":30952.23747069523},"targetPosition":{"x":17698.64382962515,"y":30973.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"c6372400-de52-4b63-97f3-f748aac9c63f","savedPayload":{"position":{"x":17698.64382962515,"y":30973.23747069523},"targetPosition":{"x":17766.64382962515,"y":30905.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c948314e-2247-4234-b83d-cc2c1b152665","savedPayload":{"position":{"x":17766.64382962515,"y":30905.23747069523},"targetPosition":{"x":17837.64382962515,"y":30978.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"04ccb742-ef1b-4138-b38d-a6b0d92f2f8e","savedPayload":{"position":{"x":17837.64382962515,"y":30978.23747069523},"targetPosition":{"x":17912.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e9c21b2d-de21-43b5-8b48-51367a8c981c","savedPayload":{"position":{"x":19313.14497226101,"y":30565.583066825377},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"AOFEX","config":"{ \n\"codeName\": \"aofex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"623ef91b-04c0-4bd5-ac0d-b32c809be3ea","savedPayload":{"position":{"x":17973.64382962515,"y":30923.23747069523},"targetPosition":{"x":17950.64382962515,"y":30994.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"9d0b5855-59a6-4dda-9a4b-33d7a44d582e","savedPayload":{"position":{"x":17901.64382962515,"y":30994.23747069523},"targetPosition":{"x":17950.64382962515,"y":30994.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"e898e569-0dd3-4a22-baa5-caaace66d4ed","savedPayload":{"position":{"x":18062.64382962515,"y":30838.23747069523},"targetPosition":{"x":17982.64382962515,"y":30899.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"64a69d3d-15ff-41c3-a926-5ec93c932ab1","savedPayload":{"position":{"x":17822.64382962515,"y":31052.23747069523},"targetPosition":{"x":17893.64382962515,"y":30981.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ae2785c5-75a1-44fc-a71b-363d88cb5dac","savedPayload":{"position":{"x":17893.64382962515,"y":30981.23747069523},"targetPosition":{"x":17982.64382962515,"y":30899.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"07ea69aa-7357-43b1-b548-a4c4fab70c55","savedPayload":{"position":{"x":17982.64382962515,"y":30899.23747069523},"targetPosition":{"x":17971.64382962515,"y":30962.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2146b410-fc4e-452d-ae57-5d58c9a29706","savedPayload":{"position":{"x":17971.64382962515,"y":30962.23747069523},"targetPosition":{"x":17950.64382962515,"y":30994.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c2e9bb45-97c7-47e8-b13c-56946e673c53","savedPayload":{"position":{"x":19413.67778623216,"y":30647.89853748846},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bequant","config":"{ \n\"codeName\": \"bequant\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"b23c8adf-c880-48fd-b4af-4b4be86cf0e5","savedPayload":{"position":{"x":18059.64382962515,"y":31101.23747069523},"targetPosition":{"x":17960.64382962515,"y":31060.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"523bd94f-68f9-457e-91fd-806c1b95e98d","savedPayload":{"position":{"x":18006.64382962515,"y":31117.23747069523},"targetPosition":{"x":17960.64382962515,"y":31060.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"9d914bb1-a68b-41ae-8666-0fcc755358c1","savedPayload":{"position":{"x":17859.64382962515,"y":30964.23747069523},"targetPosition":{"x":17936.64382962515,"y":31059.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"15d903b5-113c-465e-8120-7c46a9a85565","savedPayload":{"position":{"x":17976.64382962515,"y":31146.23747069523},"targetPosition":{"x":17943.64382962515,"y":31134.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"2d1c0bc3-abe2-4340-91bf-2eef5b98a2f0","savedPayload":{"position":{"x":17943.64382962515,"y":31134.23747069523},"targetPosition":{"x":17936.64382962515,"y":31059.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5a50d459-914c-4bfc-91e8-f15c383280eb","savedPayload":{"position":{"x":17936.64382962515,"y":31059.23747069523},"targetPosition":{"x":17931.64382962515,"y":31071.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b2f2b69f-3bef-4edc-9950-5261d9f36382","savedPayload":{"position":{"x":17931.64382962515,"y":31071.23747069523},"targetPosition":{"x":17960.64382962515,"y":31060.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8e928d3e-a2c2-4341-aa2f-b753551c9479","savedPayload":{"position":{"x":19504.72140465123,"y":30740.600980501622},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bibox","config":"{ \n\"codeName\": \"bibox\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"13c1f22c-9a35-4d3f-b000-c96984fd6a2b","savedPayload":{"position":{"x":17995.64382962515,"y":31047.23747069523},"targetPosition":{"x":17929.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"3c6df49d-70c3-468a-bdd8-6768ce6d3a9d","savedPayload":{"position":{"x":17916.64382962515,"y":31018.23747069523},"targetPosition":{"x":17929.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"5a54ef39-8fba-4a5f-ac24-5f27e763e28f","savedPayload":{"position":{"x":18050.64382962515,"y":31174.23747069523},"targetPosition":{"x":17956.64382962515,"y":31128.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"08df1f45-dab0-463a-8758-359973f2620d","savedPayload":{"position":{"x":17899.64382962515,"y":31242.23747069523},"targetPosition":{"x":17959.64382962515,"y":31180.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"105b52c2-90ad-4fa1-b690-d8fab14209b4","savedPayload":{"position":{"x":17959.64382962515,"y":31180.23747069523},"targetPosition":{"x":17956.64382962515,"y":31128.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"68c1ef42-1b7b-4cc6-981f-80b20dabcd89","savedPayload":{"position":{"x":17956.64382962515,"y":31128.23747069523},"targetPosition":{"x":17907.64382962515,"y":31057.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fc35e5d0-ea61-42b6-979a-859f19c5ac6c","savedPayload":{"position":{"x":17907.64382962515,"y":31057.23747069523},"targetPosition":{"x":17929.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e5f9ee4d-77a3-48ae-b354-b2f6a97d5e47","savedPayload":{"position":{"x":19585.208424334218,"y":30842.603544479174},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BigONE","config":"{ \n\"codeName\": \"bigone\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"3f289513-c1c8-457c-b65a-8cf62b5f5eb5","savedPayload":{"position":{"x":17778.64382962515,"y":31071.23747069523},"targetPosition":{"x":17839.64382962515,"y":31063.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"8b365e73-1cee-496a-921f-121cb628a130","savedPayload":{"position":{"x":17798.64382962515,"y":31121.23747069523},"targetPosition":{"x":17839.64382962515,"y":31063.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"447a4f6f-cfa0-443e-9339-d7c1153ada31","savedPayload":{"position":{"x":17921.64382962515,"y":31046.23747069523},"targetPosition":{"x":17891.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"0d234c53-c121-471e-bce1-a258c13cd148","savedPayload":{"position":{"x":17848.64382962515,"y":31175.23747069523},"targetPosition":{"x":17944.64382962515,"y":31086.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"816e1b6a-d790-4abd-9ae1-e203fa737af2","savedPayload":{"position":{"x":17944.64382962515,"y":31086.23747069523},"targetPosition":{"x":17891.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"561a57f7-8c22-4e50-840d-d983ed6bb864","savedPayload":{"position":{"x":17891.64382962515,"y":31102.23747069523},"targetPosition":{"x":17813.64382962515,"y":31064.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e243bd5d-ade7-46c8-876b-6ad8c6eb5e0a","savedPayload":{"position":{"x":17813.64382962515,"y":31064.23747069523},"targetPosition":{"x":17839.64382962515,"y":31063.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fb9ee540-bf12-4dda-bf87-cb6b58fce649","savedPayload":{"position":{"x":19654.195208565325,"y":30952.710342620318},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Binance Jersey","config":"{ \n\"codeName\": \"binanceje\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"0b979ea9-7a2d-4744-9517-2dfa632dfafc","savedPayload":{"position":{"x":17852.64382962515,"y":30989.23747069523},"targetPosition":{"x":17933.64382962515,"y":30992.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"b9a4497d-20f1-4c61-9a79-444e0fe0ddf4","savedPayload":{"position":{"x":17924.64382962515,"y":30952.23747069523},"targetPosition":{"x":17933.64382962515,"y":30992.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"1b24d8a4-ec70-4501-838c-7633f6f7288e","savedPayload":{"position":{"x":17882.64382962515,"y":31051.23747069523},"targetPosition":{"x":17942.64382962515,"y":31066.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"627472e3-638f-4d68-a917-d0844d6a227b","savedPayload":{"position":{"x":17991.64382962515,"y":31190.23747069523},"targetPosition":{"x":17986.64382962515,"y":31110.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"b8ce75fb-93c9-4ca2-9b2b-9f8ed8af34f3","savedPayload":{"position":{"x":17986.64382962515,"y":31110.23747069523},"targetPosition":{"x":17942.64382962515,"y":31066.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"08b226e4-14ee-4ad3-8d96-efe77cc38489","savedPayload":{"position":{"x":17942.64382962515,"y":31066.23747069523},"targetPosition":{"x":17949.64382962515,"y":31009.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2771eb11-bc72-4273-9e1b-9ac5410c6354","savedPayload":{"position":{"x":17949.64382962515,"y":31009.23747069523},"targetPosition":{"x":17933.64382962515,"y":30992.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2782350a-84a2-40ec-87c6-3c8043376a18","savedPayload":{"position":{"x":19710.872950374665,"y":31069.630473388454},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Binance US","config":"{ \n\"codeName\": \"binanceus\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"817ee1cf-b44c-4458-a9c4-a05a17ea0510","savedPayload":{"position":{"x":17943.64382962515,"y":30999.23747069523},"targetPosition":{"x":17898.64382962515,"y":31020.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"c6694e9e-74dc-4c2e-9151-90f1d6631b45","savedPayload":{"position":{"x":17937.64382962515,"y":30989.23747069523},"targetPosition":{"x":17898.64382962515,"y":31020.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"00144904-5363-49eb-b445-8c8283d92b0d","savedPayload":{"position":{"x":17838.64382962515,"y":31193.23747069523},"targetPosition":{"x":17781.64382962515,"y":31156.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"2e71aa3c-03d4-4dbd-bc50-43b30f59e655","savedPayload":{"position":{"x":17783.64382962515,"y":31148.23747069523},"targetPosition":{"x":17703.64382962515,"y":31182.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"a4d0df32-c600-4421-b893-2a05f0442ed6","savedPayload":{"position":{"x":17703.64382962515,"y":31182.23747069523},"targetPosition":{"x":17781.64382962515,"y":31156.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7a39543a-00e1-452b-8aba-36c2b240f9fc","savedPayload":{"position":{"x":17781.64382962515,"y":31156.23747069523},"targetPosition":{"x":17799.64382962515,"y":31119.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2543c4e5-8233-4348-b6dc-e47aed1ff381","savedPayload":{"position":{"x":17799.64382962515,"y":31119.23747069523},"targetPosition":{"x":17898.64382962515,"y":31020.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"0b2b67d2-853b-470e-8b13-925956ad5621","savedPayload":{"position":{"x":19754.577155060477,"y":31191.993155151424},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"bitbank","config":"{ \n\"codeName\": \"bitbank\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"eb6b6842-9bf7-450e-baa3-7a87541a1cf6","savedPayload":{"position":{"x":17955.64382962515,"y":31107.23747069523},"targetPosition":{"x":17941.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"6353ff56-759f-457d-81f3-fdb8ae5b3e83","savedPayload":{"position":{"x":17942.64382962515,"y":31183.23747069523},"targetPosition":{"x":17941.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"a2b297c7-f33b-48b9-98fa-d339c7b0ff67","savedPayload":{"position":{"x":17999.64382962515,"y":31016.23747069523},"targetPosition":{"x":17945.64382962515,"y":31116.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"9ce6c354-b294-4062-b763-421e5edb69de","savedPayload":{"position":{"x":17883.64382962515,"y":31186.23747069523},"targetPosition":{"x":17845.64382962515,"y":31202.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"547dbf6c-a292-46c0-a628-62856858121e","savedPayload":{"position":{"x":17845.64382962515,"y":31202.23747069523},"targetPosition":{"x":17945.64382962515,"y":31116.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"097055b3-37e5-4100-a24b-91e404fe49a6","savedPayload":{"position":{"x":17945.64382962515,"y":31116.23747069523},"targetPosition":{"x":17897.64382962515,"y":31142.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51aed4ce-0303-431e-a15f-e6f133f7a2cf","savedPayload":{"position":{"x":17897.64382962515,"y":31142.23747069523},"targetPosition":{"x":17941.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6c9a96a7-ed12-4b3e-bb51-306a8da131f5","savedPayload":{"position":{"x":19784.79543078195,"y":31318.363797342816},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BitBay","config":"{ \n\"codeName\": \"bitbay\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"83b4e523-72a7-41ce-9363-fe0c799dcac1","savedPayload":{"position":{"x":17861.64382962515,"y":30965.23747069523},"targetPosition":{"x":17855.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"966698f7-8a28-42d7-bb80-f7cd0601e44f","savedPayload":{"position":{"x":17823.64382962515,"y":31026.23747069523},"targetPosition":{"x":17855.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"554829eb-3d40-4b95-a1cd-9de943763e2c","savedPayload":{"position":{"x":17914.64382962515,"y":30924.23747069523},"targetPosition":{"x":17876.64382962515,"y":30921.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"2f534989-7ca7-4c3d-b14a-3b1071543c8c","savedPayload":{"position":{"x":17845.64382962515,"y":30853.23747069523},"targetPosition":{"x":17832.64382962515,"y":30821.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"2f6b76b4-51d4-434f-8aa1-ed86b0e26bd2","savedPayload":{"position":{"x":17832.64382962515,"y":30821.23747069523},"targetPosition":{"x":17876.64382962515,"y":30921.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cbcc3ab6-9758-4273-99d2-9d05fdd392b5","savedPayload":{"position":{"x":17876.64382962515,"y":30921.23747069523},"targetPosition":{"x":17805.64382962515,"y":31015.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dada6c12-7c41-4ab8-9922-908233829f58","savedPayload":{"position":{"x":17805.64382962515,"y":31015.23747069523},"targetPosition":{"x":17855.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8778eee5-97a2-4f9d-bd25-cd5a64ec6663","savedPayload":{"position":{"x":19801.173495885087,"y":31447.26081972472},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bitfinex","config":"{ \n\"codeName\": \"bitfinex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"33508b53-2769-4f3d-8c98-9fa37e5cbf5b","savedPayload":{"position":{"x":17888.64382962515,"y":31043.23747069523},"targetPosition":{"x":17965.64382962515,"y":30956.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"4d4ad5a1-81a7-4f92-83db-99f57ce261bb","savedPayload":{"position":{"x":17975.64382962515,"y":30868.23747069523},"targetPosition":{"x":17965.64382962515,"y":30956.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"29d52baf-645c-4d8f-9631-ebd391b4c815","savedPayload":{"position":{"x":18034.64382962515,"y":31066.23747069523},"targetPosition":{"x":18037.64382962515,"y":31012.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"d615c33d-c6cf-4572-ac32-8e9ddeb5bb52","savedPayload":{"position":{"x":18023.64382962515,"y":30916.23747069523},"targetPosition":{"x":18106.64382962515,"y":30982.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"0c189040-6318-483c-b6d7-982370a3298d","savedPayload":{"position":{"x":18106.64382962515,"y":30982.23747069523},"targetPosition":{"x":18037.64382962515,"y":31012.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cd60de4a-d17c-4ba7-936a-cbf2305fe3bb","savedPayload":{"position":{"x":18037.64382962515,"y":31012.23747069523},"targetPosition":{"x":18039.64382962515,"y":30964.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d247f4f5-6f16-4a59-a4a5-6d1554b43562","savedPayload":{"position":{"x":18039.64382962515,"y":30964.23747069523},"targetPosition":{"x":17965.64382962515,"y":30956.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6c076027-683d-4778-8a6a-e60984980fdf","savedPayload":{"position":{"x":19803.51933253116,"y":31577.173022561386},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bitfinex","config":"{ \n\"codeName\": \"bitfinex2\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"8fc7f955-5c81-446c-bbeb-205988bf1fc0","savedPayload":{"position":{"x":17830.64382962515,"y":31051.23747069523},"targetPosition":{"x":17863.64382962515,"y":31062.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"d5ba38e9-3282-4634-b922-16532c71f426","savedPayload":{"position":{"x":17819.64382962515,"y":31118.23747069523},"targetPosition":{"x":17863.64382962515,"y":31062.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"1cebbed5-28f7-4ccd-afce-9e7634d90fb6","savedPayload":{"position":{"x":17892.64382962515,"y":30997.23747069523},"targetPosition":{"x":17855.64382962515,"y":30970.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"0d109aa9-c80c-4a64-96f0-1d8fda0a70a4","savedPayload":{"position":{"x":17888.64382962515,"y":30805.23747069523},"targetPosition":{"x":17942.64382962515,"y":30905.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"5459ab1e-a1ce-4dae-ae72-61c1f7f37ce0","savedPayload":{"position":{"x":17942.64382962515,"y":30905.23747069523},"targetPosition":{"x":17855.64382962515,"y":30970.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a4615f7a-000d-4ff9-b5ac-109bc9a3a849","savedPayload":{"position":{"x":17855.64382962515,"y":30970.23747069523},"targetPosition":{"x":17919.64382962515,"y":31043.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e10d303e-ea21-4625-bae1-c32ad7a44e8a","savedPayload":{"position":{"x":17919.64382962515,"y":31043.23747069523},"targetPosition":{"x":17863.64382962515,"y":31062.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f3114102-a73c-4086-9594-5888ef1ab4ec","savedPayload":{"position":{"x":19791.80543793031,"y":31706.577304054405},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bitforex","config":"{ \n\"codeName\": \"bitforex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"698e5e38-ad73-4cb6-b7f6-2b69913faff9","savedPayload":{"position":{"x":17897.64382962515,"y":30956.23747069523},"targetPosition":{"x":17937.64382962515,"y":30945.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"f0142bd4-1b63-4d12-a4b7-e150d0da197f","savedPayload":{"position":{"x":18020.64382962515,"y":31021.23747069523},"targetPosition":{"x":17937.64382962515,"y":30945.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"7164fb28-405b-461a-a7d4-59d438ecf1ce","savedPayload":{"position":{"x":17821.64382962515,"y":30984.23747069523},"targetPosition":{"x":17901.64382962515,"y":30907.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"ce8a00c9-f090-4ec2-84ed-c6661f8bf7b0","savedPayload":{"position":{"x":17825.64382962515,"y":30965.23747069523},"targetPosition":{"x":17818.64382962515,"y":30913.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"579cd74b-98f6-4000-990b-25ae1456c94b","savedPayload":{"position":{"x":17818.64382962515,"y":30913.23747069523},"targetPosition":{"x":17901.64382962515,"y":30907.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"dbac6eef-25d2-4cda-86a6-59ce8a9a26bc","savedPayload":{"position":{"x":17901.64382962515,"y":30907.23747069523},"targetPosition":{"x":17909.64382962515,"y":30970.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a1da9dd3-22ec-4536-bb5a-4d0bb8a56b81","savedPayload":{"position":{"x":17909.64382962515,"y":30970.23747069523},"targetPosition":{"x":17937.64382962515,"y":30945.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"499a5a3b-7871-4c95-9b2e-d58d4d9e2392","savedPayload":{"position":{"x":19766.169146786622,"y":31833.956517318737},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"bitkk","config":"{ \n\"codeName\": \"bitkk\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"efbb916c-780b-447f-a4c2-df68570d4ee1","savedPayload":{"position":{"x":17931.64382962515,"y":30937.23747069523},"targetPosition":{"x":17951.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"0d829516-81d9-46a5-9861-7d94cc89455d","savedPayload":{"position":{"x":17951.64382962515,"y":30912.23747069523},"targetPosition":{"x":17951.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"fc174aa3-c485-4b9b-ba19-444b0189ccb1","savedPayload":{"position":{"x":17788.64382962515,"y":30980.23747069523},"targetPosition":{"x":17834.64382962515,"y":30983.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"15921d8a-4b45-481c-9165-79969ed3fd27","savedPayload":{"position":{"x":17796.64382962515,"y":30936.23747069523},"targetPosition":{"x":17891.64382962515,"y":30922.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"927d5c8a-85df-48bb-b097-c36abb76ca0e","savedPayload":{"position":{"x":17891.64382962515,"y":30922.23747069523},"targetPosition":{"x":17834.64382962515,"y":30983.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"43d218c2-e633-47d5-8dd8-60bc7f7c0b9e","savedPayload":{"position":{"x":17834.64382962515,"y":30983.23747069523},"targetPosition":{"x":17853.64382962515,"y":30925.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2d310d61-cbc7-4306-af02-be3888939545","savedPayload":{"position":{"x":17853.64382962515,"y":30925.23747069523},"targetPosition":{"x":17951.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ded39740-3c93-4fda-bb9c-6ac75d2109f4","savedPayload":{"position":{"x":19726.911021174266,"y":31957.817257542785},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BitMart","config":"{ \n\"codeName\": \"bitmart\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"10374855-6b4a-460b-9c95-70072ac00315","savedPayload":{"position":{"x":17907.64382962515,"y":30901.23747069523},"targetPosition":{"x":17834.64382962515,"y":30915.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"3aded60c-4061-48ff-ad33-212c965b5c43","savedPayload":{"position":{"x":17829.64382962515,"y":30925.23747069523},"targetPosition":{"x":17834.64382962515,"y":30915.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"1789a3ca-d948-497d-8d1b-1eefd25d16a3","savedPayload":{"position":{"x":17886.64382962515,"y":30937.23747069523},"targetPosition":{"x":17895.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"038170bc-0ca7-4a92-8219-61b7bc8431b0","savedPayload":{"position":{"x":17893.64382962515,"y":31034.23747069523},"targetPosition":{"x":17835.64382962515,"y":30962.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"55f79ede-ef02-405f-92bd-11902ab3cc7a","savedPayload":{"position":{"x":17835.64382962515,"y":30962.23747069523},"targetPosition":{"x":17895.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8185c660-4af3-4a62-bfa9-8922861101b5","savedPayload":{"position":{"x":17895.64382962515,"y":30988.23747069523},"targetPosition":{"x":17819.64382962515,"y":30909.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"546d48c3-df31-495c-b3b4-cb35109c5542","savedPayload":{"position":{"x":17819.64382962515,"y":30909.23747069523},"targetPosition":{"x":17834.64382962515,"y":30915.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c7ed52a7-895b-46f1-a745-35954d8bcfc6","savedPayload":{"position":{"x":19674.491326722004,"y":32076.707370794375},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BitMax","config":"{ \n\"codeName\": \"bitmax\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"8a042d0d-7a7a-4a76-889e-42d8642404f4","savedPayload":{"position":{"x":17944.64382962515,"y":31046.23747069523},"targetPosition":{"x":17944.64382962515,"y":31109.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"0c4fcc48-51e6-4ff2-925f-405cda6d1122","savedPayload":{"position":{"x":17898.64382962515,"y":31024.23747069523},"targetPosition":{"x":17944.64382962515,"y":31109.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"ef9d5381-d9e3-47f5-9069-6fc14eda0fa3","savedPayload":{"position":{"x":17879.64382962515,"y":31096.23747069523},"targetPosition":{"x":17977.64382962515,"y":31041.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"c66fe606-9705-45b0-a196-7ea3efb0221e","savedPayload":{"position":{"x":17982.64382962515,"y":31053.23747069523},"targetPosition":{"x":17943.64382962515,"y":31083.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"80a5f68e-776a-44de-8797-d2eb806c306e","savedPayload":{"position":{"x":17943.64382962515,"y":31083.23747069523},"targetPosition":{"x":17977.64382962515,"y":31041.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"011fcf1c-1c94-4c36-a246-d6c400aa39dc","savedPayload":{"position":{"x":17977.64382962515,"y":31041.23747069523},"targetPosition":{"x":17942.64382962515,"y":31103.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4a87b8c5-e009-427f-afb7-21afe5594b59","savedPayload":{"position":{"x":17942.64382962515,"y":31103.23747069523},"targetPosition":{"x":17944.64382962515,"y":31109.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fc6a9048-ab8c-48f9-91ae-6c95c28714b0","savedPayload":{"position":{"x":19609.524636419505,"y":32189.2329791979},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BitMEX","config":"{ \n\"codeName\": \"bitmex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"f7636e2b-354a-4217-894b-5e26eddc0c2a","savedPayload":{"position":{"x":17894.64382962515,"y":30934.23747069523},"targetPosition":{"x":17910.64382962515,"y":30922.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"6eb2ddd1-6d06-456c-b4e0-7df56ba182e6","savedPayload":{"position":{"x":17823.64382962515,"y":30834.23747069523},"targetPosition":{"x":17910.64382962515,"y":30922.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"b4a4b8fe-d923-4eb0-a066-171b83d1540d","savedPayload":{"position":{"x":17902.64382962515,"y":31064.23747069523},"targetPosition":{"x":17815.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"918ed585-ce46-4d51-a07a-9beee51f70eb","savedPayload":{"position":{"x":17711.64382962515,"y":31036.23747069523},"targetPosition":{"x":17805.64382962515,"y":31078.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"9efef4d8-5be3-4d17-a645-6edffd9535cf","savedPayload":{"position":{"x":17805.64382962515,"y":31078.23747069523},"targetPosition":{"x":17815.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6ad31a6e-f27b-45c3-9996-a41fb39aa154","savedPayload":{"position":{"x":17815.64382962515,"y":30988.23747069523},"targetPosition":{"x":17844.64382962515,"y":30896.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"82887393-cb1c-4b01-8581-4b3dabc86584","savedPayload":{"position":{"x":17844.64382962515,"y":30896.23747069523},"targetPosition":{"x":17910.64382962515,"y":30922.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1e2f1dd0-ebf1-4485-83d8-7723a9e3e714","savedPayload":{"position":{"x":19532.77262531095,"y":32294.07482287797},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bittrex","config":"{ \n\"codeName\": \"bittrex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"88d4ef94-f030-42df-9115-69d9611317b1","savedPayload":{"position":{"x":17839.64382962515,"y":31009.23747069523},"targetPosition":{"x":17893.64382962515,"y":30968.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"7fe8234d-9a39-4b28-bf98-43b4fdb57ee5","savedPayload":{"position":{"x":17878.64382962515,"y":31045.23747069523},"targetPosition":{"x":17893.64382962515,"y":30968.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"5ba7fe13-1e0f-403a-8f4b-8e3968d2e5e2","savedPayload":{"position":{"x":17841.64382962515,"y":30890.23747069523},"targetPosition":{"x":17742.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"e926fbb8-d2ac-4e3d-aa59-a0a828d202fd","savedPayload":{"position":{"x":17707.64382962515,"y":30983.23747069523},"targetPosition":{"x":17782.64382962515,"y":31052.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"4fbe41e1-cb15-4bc2-a3de-681c5b22cc97","savedPayload":{"position":{"x":17782.64382962515,"y":31052.23747069523},"targetPosition":{"x":17742.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ab9fe180-1c07-44de-a0a1-863761ac52d6","savedPayload":{"position":{"x":17742.64382962515,"y":30961.23747069523},"targetPosition":{"x":17796.64382962515,"y":30903.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"584f29ca-9b3c-4b7f-a2b0-aab4180ecefd","savedPayload":{"position":{"x":17796.64382962515,"y":30903.23747069523},"targetPosition":{"x":17893.64382962515,"y":30968.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f598f002-8fc5-491f-888e-07d017ea83c6","savedPayload":{"position":{"x":19445.135140551556,"y":32390.003727075255},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bit-Z","config":"{ \n\"codeName\": \"bitz\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"0a22e02b-7d2e-4955-9cfc-ed7d95f0c9a0","savedPayload":{"position":{"x":17751.64382962515,"y":31083.23747069523},"targetPosition":{"x":17850.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"298b45af-b73d-4cd5-848a-97de7b857569","savedPayload":{"position":{"x":17944.64382962515,"y":31083.23747069523},"targetPosition":{"x":17850.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"6ede807b-b1ab-42b5-bfd7-3b12a942447e","savedPayload":{"position":{"x":17871.64382962515,"y":31049.23747069523},"targetPosition":{"x":17772.64382962515,"y":31098.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"dc172858-3241-4487-950a-e5cae03ac376","savedPayload":{"position":{"x":17751.64382962515,"y":31081.23747069523},"targetPosition":{"x":17753.64382962515,"y":31028.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"19c07cee-1fdf-4e02-ac9f-d110b64ee033","savedPayload":{"position":{"x":17753.64382962515,"y":31028.23747069523},"targetPosition":{"x":17772.64382962515,"y":31098.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b4ef5048-ac4c-410e-bd6d-3338e33ab108","savedPayload":{"position":{"x":17772.64382962515,"y":31098.23747069523},"targetPosition":{"x":17788.64382962515,"y":31134.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e7e96c41-c839-4eec-9bcf-1c60d60fa3f5","savedPayload":{"position":{"x":17788.64382962515,"y":31134.23747069523},"targetPosition":{"x":17850.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6cc10926-fe41-43be-887b-fa8aba1c7377","savedPayload":{"position":{"x":19347.639651522415,"y":32475.89501309667},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BTC-Alpha","config":"{ \n\"codeName\": \"btcalpha\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"263e3b9c-8fdd-4376-b53b-87f32d0f5898","savedPayload":{"position":{"x":17904.64382962515,"y":30922.23747069523},"targetPosition":{"x":17883.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"804603e1-3e0f-4219-a9b7-ee27810d4f07","savedPayload":{"position":{"x":17829.64382962515,"y":30977.23747069523},"targetPosition":{"x":17883.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"83b25fff-e448-483f-9bee-cb85fa592c6e","savedPayload":{"position":{"x":17734.64382962515,"y":30862.23747069523},"targetPosition":{"x":17829.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"efcfa3ca-0f82-4eb7-9b04-ed5eb4e1c3cf","savedPayload":{"position":{"x":17799.64382962515,"y":30864.23747069523},"targetPosition":{"x":17837.64382962515,"y":30919.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"9ca8d728-ee11-4905-9a3a-5ca4ed50f3df","savedPayload":{"position":{"x":17837.64382962515,"y":30919.23747069523},"targetPosition":{"x":17829.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2cfde277-afa6-4ad3-bb5b-8a32b89e2037","savedPayload":{"position":{"x":17829.64382962515,"y":30960.23747069523},"targetPosition":{"x":17903.64382962515,"y":30969.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"297a0ea2-f6d7-47fd-9fb7-0d99d00a87d8","savedPayload":{"position":{"x":17903.64382962515,"y":30969.23747069523},"targetPosition":{"x":17883.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"30e5485f-213b-435b-a670-07b76cfe5cae","savedPayload":{"position":{"x":19241.429203691412,"y":32550.741684144767},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BTC Markets","config":"{ \n\"codeName\": \"btcmarkets\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"fcb3b880-0852-4d93-8714-67373f9dca16","savedPayload":{"position":{"x":17911.64382962515,"y":31036.23747069523},"targetPosition":{"x":17994.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"953d8eff-0b2e-4b07-8635-393fddae0c9d","savedPayload":{"position":{"x":18025.64382962515,"y":31127.23747069523},"targetPosition":{"x":17994.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"c08873f6-9120-4764-8b06-c8110468b423","savedPayload":{"position":{"x":17935.64382962515,"y":30927.23747069523},"targetPosition":{"x":18027.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"beaa2557-4976-4e53-8a24-7ea00fc3afd5","savedPayload":{"position":{"x":18054.64382962515,"y":30851.23747069523},"targetPosition":{"x":18125.64382962515,"y":30951.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"445158a2-91b4-4ad8-8380-036cbba6ad7e","savedPayload":{"position":{"x":18125.64382962515,"y":30951.23747069523},"targetPosition":{"x":18027.64382962515,"y":31003.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cd00e08c-a26d-4b11-93a3-b0e8f35bec4b","savedPayload":{"position":{"x":18027.64382962515,"y":31003.23747069523},"targetPosition":{"x":18016.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"35cb55c1-ceb3-4093-98af-8a1c2411fe0f","savedPayload":{"position":{"x":18016.64382962515,"y":31075.23747069523},"targetPosition":{"x":17994.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ac2fda42-95ca-404a-8dd2-72bff0ff5a0f","savedPayload":{"position":{"x":19127.749017450227,"y":32613.66623143447},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Buda","config":"{ \n\"codeName\": \"buda\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"27f3573d-e1f0-473f-9bfd-f9198e7240a0","savedPayload":{"position":{"x":17945.64382962515,"y":30937.23747069523},"targetPosition":{"x":17853.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"4ddc0981-4e45-42f3-ae11-f5b136b2bc3d","savedPayload":{"position":{"x":17783.64382962515,"y":31008.23747069523},"targetPosition":{"x":17853.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"5a325d59-e6a6-4f76-a311-5e67c5f5a8a2","savedPayload":{"position":{"x":17980.64382962515,"y":30843.23747069523},"targetPosition":{"x":17956.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"fb985ab9-7759-4780-a052-8ee9be0b712a","savedPayload":{"position":{"x":17907.64382962515,"y":30968.23747069523},"targetPosition":{"x":17958.64382962515,"y":30884.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"fdf7665a-2974-467b-9280-4077a888733f","savedPayload":{"position":{"x":17958.64382962515,"y":30884.23747069523},"targetPosition":{"x":17956.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a3105cfc-f80e-4bcb-b399-6ea9c0f7edf0","savedPayload":{"position":{"x":17956.64382962515,"y":30936.23747069523},"targetPosition":{"x":17872.64382962515,"y":30941.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5d69a76f-e7bc-4538-950e-2e2353eccea3","savedPayload":{"position":{"x":17872.64382962515,"y":30941.23747069523},"targetPosition":{"x":17853.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"90fe3d74-662e-4fac-aff3-f41990b61ccf","savedPayload":{"position":{"x":19007.931889043757,"y":32663.930922181273},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"BW","config":"{ \n\"codeName\": \"bw\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"457616cd-25f9-4ad3-8c18-6331859dd42e","savedPayload":{"position":{"x":17890.64382962515,"y":31014.23747069523},"targetPosition":{"x":17900.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"8c1f9aa2-4253-4129-a533-e515644ddb38","savedPayload":{"position":{"x":17909.64382962515,"y":30970.23747069523},"targetPosition":{"x":17900.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"24314a5b-85ca-4036-adc6-618120496f1d","savedPayload":{"position":{"x":17773.64382962515,"y":30945.23747069523},"targetPosition":{"x":17860.64382962515,"y":30865.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"f7c593f6-bd7a-41f7-a5e7-b2e1ea9a528f","savedPayload":{"position":{"x":17820.64382962515,"y":30885.23747069523},"targetPosition":{"x":17828.64382962515,"y":30802.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"60dfc799-f863-4895-8d17-568aa2303ef5","savedPayload":{"position":{"x":17828.64382962515,"y":30802.23747069523},"targetPosition":{"x":17860.64382962515,"y":30865.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"223e466d-d750-4e38-91ce-8a59c15242ba","savedPayload":{"position":{"x":17860.64382962515,"y":30865.23747069523},"targetPosition":{"x":17818.64382962515,"y":30919.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cfff1310-5220-4978-9553-8514be141d14","savedPayload":{"position":{"x":17818.64382962515,"y":30919.23747069523},"targetPosition":{"x":17900.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d72db90c-d572-4cbb-8348-e3cc485d8e86","savedPayload":{"position":{"x":18883.38256475272,"y":32700.94644884361},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Bybit","config":"{ \n\"codeName\": \"bybit\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"18fdf7c8-03c4-4f81-a88e-de97589765e1","savedPayload":{"position":{"x":17803.64382962515,"y":31059.23747069523},"targetPosition":{"x":17855.64382962515,"y":31007.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"a62b2603-ac6f-4b6e-9541-86daf32027b1","savedPayload":{"position":{"x":17847.64382962515,"y":31104.23747069523},"targetPosition":{"x":17855.64382962515,"y":31007.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"66ecff99-7102-4f4a-9ce8-4d55fb22dfbc","savedPayload":{"position":{"x":17851.64382962515,"y":31165.23747069523},"targetPosition":{"x":17916.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"625e127c-0ebb-4f57-af9f-9dfb57b262a1","savedPayload":{"position":{"x":18004.64382962515,"y":31091.23747069523},"targetPosition":{"x":18008.64382962515,"y":31027.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"8174bb53-66b8-4575-b206-74f9b6352a80","savedPayload":{"position":{"x":18008.64382962515,"y":31027.23747069523},"targetPosition":{"x":17916.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ee16357e-abde-4800-b089-f43f4b696a35","savedPayload":{"position":{"x":17916.64382962515,"y":31077.23747069523},"targetPosition":{"x":17944.64382962515,"y":31101.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c9e9473b-aff9-43c8-a6be-5cd30330bee2","savedPayload":{"position":{"x":17944.64382962515,"y":31101.23747069523},"targetPosition":{"x":17855.64382962515,"y":31007.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"516c3831-456b-4d17-b0a0-6a363ba2ddb2","savedPayload":{"position":{"x":18755.561271527895,"y":32724.27883821499},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"ByteTrade","config":"{ \n\"codeName\": \"bytetrade\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"e7a1e531-5a9e-466e-b98d-672de39eed3a","savedPayload":{"position":{"x":18088.64382962515,"y":31024.23747069523},"targetPosition":{"x":17991.64382962515,"y":30981.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"edafaba7-fd82-4d9f-b3f7-5d1c01c56599","savedPayload":{"position":{"x":17941.64382962515,"y":30943.23747069523},"targetPosition":{"x":17991.64382962515,"y":30981.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"50fa78b8-3aea-4e43-adcf-1e31820bf97f","savedPayload":{"position":{"x":17886.64382962515,"y":31008.23747069523},"targetPosition":{"x":17858.64382962515,"y":30967.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"b9c39b04-e86e-4ebb-9aba-39c375f2960c","savedPayload":{"position":{"x":17865.64382962515,"y":30941.23747069523},"targetPosition":{"x":17953.64382962515,"y":31023.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"5965d9cc-1d68-47a7-b838-e6dd81da6ea9","savedPayload":{"position":{"x":17953.64382962515,"y":31023.23747069523},"targetPosition":{"x":17858.64382962515,"y":30967.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f51a08be-ee3f-4d3b-a75e-d783d63092a7","savedPayload":{"position":{"x":17858.64382962515,"y":30967.23747069523},"targetPosition":{"x":17898.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d395efd0-691b-4a68-a7f1-9bce95b2f687","savedPayload":{"position":{"x":17898.64382962515,"y":30965.23747069523},"targetPosition":{"x":17991.64382962515,"y":30981.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"45e2306f-03e8-4d17-a73a-72c11dd14e78","savedPayload":{"position":{"x":18625.966597164217,"y":32733.65453936303},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"CEX.IO","config":"{ \n\"codeName\": \"cex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"9de19f0a-5824-4e42-af00-484b64421dc3","savedPayload":{"position":{"x":17890.64382962515,"y":31049.23747069523},"targetPosition":{"x":17896.64382962515,"y":31076.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"39db01bc-0cea-422f-b9e9-7d84e3f5446d","savedPayload":{"position":{"x":17918.64382962515,"y":31105.23747069523},"targetPosition":{"x":17896.64382962515,"y":31076.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"93833d3c-42c9-4e4d-bf0f-5b80a90d10c2","savedPayload":{"position":{"x":17978.64382962515,"y":31126.23747069523},"targetPosition":{"x":17953.64382962515,"y":31167.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"42863a52-30f4-4322-9c20-99a45d6dc3d6","savedPayload":{"position":{"x":17884.64382962515,"y":31149.23747069523},"targetPosition":{"x":17895.64382962515,"y":31148.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"fcff471d-29be-4176-8ff8-12088361f9fc","savedPayload":{"position":{"x":17895.64382962515,"y":31148.23747069523},"targetPosition":{"x":17953.64382962515,"y":31167.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f7975a18-b3ab-49bc-ae45-eb02c99aff8c","savedPayload":{"position":{"x":17953.64382962515,"y":31167.23747069523},"targetPosition":{"x":17881.64382962515,"y":31096.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ec432123-43fe-4171-8c41-b797d3161edb","savedPayload":{"position":{"x":17881.64382962515,"y":31096.23747069523},"targetPosition":{"x":17896.64382962515,"y":31076.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"346bfc30-e32a-453a-bdc6-0ead48221581","savedPayload":{"position":{"x":18496.117920729066,"y":32728.96363076407},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Coinbase Prime","config":"{ \n\"codeName\": \"coinbaseprime\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"73cabd8d-9308-49ed-b544-44f785ee7d38","savedPayload":{"position":{"x":17867.64382962515,"y":30962.23747069523},"targetPosition":{"x":17922.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"31bd1360-f0c5-4d70-876a-b152f7cedfd7","savedPayload":{"position":{"x":17960.64382962515,"y":30864.23747069523},"targetPosition":{"x":17922.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"9b75fcfa-fe75-48a8-9d28-2ff19c58c041","savedPayload":{"position":{"x":17792.64382962515,"y":30841.23747069523},"targetPosition":{"x":17809.64382962515,"y":30934.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"c900b14a-c728-45af-90f8-29b3e5f29f46","savedPayload":{"position":{"x":17801.64382962515,"y":30986.23747069523},"targetPosition":{"x":17793.64382962515,"y":31006.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"eaf72df3-b66f-4b83-83f9-91e22ec0c300","savedPayload":{"position":{"x":17793.64382962515,"y":31006.23747069523},"targetPosition":{"x":17809.64382962515,"y":30934.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"9da95675-2071-41bf-b5ac-4f2af602994f","savedPayload":{"position":{"x":17809.64382962515,"y":30934.23747069523},"targetPosition":{"x":17862.64382962515,"y":31021.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4fc49ad4-57cc-43b0-b14b-15f26af994aa","savedPayload":{"position":{"x":17862.64382962515,"y":31021.23747069523},"targetPosition":{"x":17922.64382962515,"y":30960.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5a8281db-6ace-4186-8cfb-cd249c4af48b","savedPayload":{"position":{"x":18367.537599231866,"y":32710.26110903248},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Coinbase Pro","config":"{ \n\"codeName\": \"coinbasepro\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"a29d6e1a-a94e-4b6b-8741-e9af6e4762f4","savedPayload":{"position":{"x":17788.64382962515,"y":30897.23747069523},"targetPosition":{"x":17841.64382962515,"y":30932.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"10cd9004-0088-4bc0-8fe6-b937f1bb311b","savedPayload":{"position":{"x":17865.64382962515,"y":30918.23747069523},"targetPosition":{"x":17841.64382962515,"y":30932.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"004397e6-ae73-46a6-9ed7-b4ba1930f77b","savedPayload":{"position":{"x":17945.64382962515,"y":30899.23747069523},"targetPosition":{"x":17850.64382962515,"y":30889.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"a81a7021-2228-4386-a773-9ac80c9e723a","savedPayload":{"position":{"x":17738.64382962515,"y":30761.23747069523},"targetPosition":{"x":17792.64382962515,"y":30789.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"482d82f2-364e-483c-b51a-a3fbe8a91577","savedPayload":{"position":{"x":17792.64382962515,"y":30789.23747069523},"targetPosition":{"x":17850.64382962515,"y":30889.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d823ad8e-0452-40f0-bad9-c2cb3ad29a21","savedPayload":{"position":{"x":17850.64382962515,"y":30889.23747069523},"targetPosition":{"x":17772.64382962515,"y":30894.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0c965322-fdd2-4e67-aaf3-dfc4b9dffc59","savedPayload":{"position":{"x":17772.64382962515,"y":30894.23747069523},"targetPosition":{"x":17841.64382962515,"y":30932.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4242da4b-a67e-44d8-8a19-b1c2f078c94c","savedPayload":{"position":{"x":18241.733119380056,"y":32677.766244135688},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"CoinEx","config":"{ \n\"codeName\": \"coinex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"af78f796-60e5-4794-87b8-772c7bc74be1","savedPayload":{"position":{"x":18043.64382962515,"y":31069.23747069523},"targetPosition":{"x":18000.64382962515,"y":31106.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"d351e6d9-36eb-4d0e-aca5-94429bbb23a3","savedPayload":{"position":{"x":18094.64382962515,"y":31090.23747069523},"targetPosition":{"x":18000.64382962515,"y":31106.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"438f74c6-15e0-4553-af2a-febd5290c269","savedPayload":{"position":{"x":17908.64382962515,"y":31088.23747069523},"targetPosition":{"x":17986.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"bfb22430-77c7-41a7-8083-771f7d7f3634","savedPayload":{"position":{"x":17927.64382962515,"y":30953.23747069523},"targetPosition":{"x":17947.64382962515,"y":30990.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"51daaa12-1c60-4cef-96d8-a445b4b32296","savedPayload":{"position":{"x":17947.64382962515,"y":30990.23747069523},"targetPosition":{"x":17986.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"726b8c33-9873-4be1-b9ef-d6b4483f23b1","savedPayload":{"position":{"x":17986.64382962515,"y":31075.23747069523},"targetPosition":{"x":17919.64382962515,"y":31016.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"30469514-b983-4f6f-9d74-6d6ceef25eb6","savedPayload":{"position":{"x":17919.64382962515,"y":31016.23747069523},"targetPosition":{"x":18000.64382962515,"y":31106.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"62ad0961-6bdf-4a4a-a340-610816742d0a","savedPayload":{"position":{"x":18120.179423675774,"y":32631.860008654276},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"COSS","config":"{ \n\"codeName\": \"coss\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"e6315232-c6b1-4e25-aade-7bc7ba9ba6ac","savedPayload":{"position":{"x":17787.64382962515,"y":30984.23747069523},"targetPosition":{"x":17874.64382962515,"y":31049.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"b1e8451f-09a2-47b0-add3-cf9c35c487bb","savedPayload":{"position":{"x":17829.64382962515,"y":31095.23747069523},"targetPosition":{"x":17874.64382962515,"y":31049.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"d1c9b795-0434-4ce1-9cb7-cc61fac7396d","savedPayload":{"position":{"x":17950.64382962515,"y":31149.23747069523},"targetPosition":{"x":17882.64382962515,"y":31131.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"22be64f9-4b08-4ac3-ae89-6726743a7d5a","savedPayload":{"position":{"x":17890.64382962515,"y":31165.23747069523},"targetPosition":{"x":17956.64382962515,"y":31156.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"c7462500-ba74-4bf3-ad81-35fa232bede3","savedPayload":{"position":{"x":17956.64382962515,"y":31156.23747069523},"targetPosition":{"x":17882.64382962515,"y":31131.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5cd41ced-981a-4075-af43-3a0497eb0fcb","savedPayload":{"position":{"x":17882.64382962515,"y":31131.23747069523},"targetPosition":{"x":17856.64382962515,"y":31148.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b5937899-c6ee-4d7a-b259-1ee23d721f60","savedPayload":{"position":{"x":17856.64382962515,"y":31148.23747069523},"targetPosition":{"x":17874.64382962515,"y":31049.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"695029de-7f61-45bb-aa4c-c6d51e6369ed","savedPayload":{"position":{"x":18004.301618063546,"y":32573.08061122679},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"CREX24","config":"{ \n\"codeName\": \"crex24\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"c5e12f4a-fb26-40d3-9e70-751b55018e74","savedPayload":{"position":{"x":17910.64382962515,"y":31024.23747069523},"targetPosition":{"x":17860.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"00cb629e-bad4-4c6e-8abb-499cad3992f4","savedPayload":{"position":{"x":17938.64382962515,"y":31054.23747069523},"targetPosition":{"x":17860.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"4909d182-e0d5-49a9-8ad2-a553c8aaaf88","savedPayload":{"position":{"x":17912.64382962515,"y":31301.23747069523},"targetPosition":{"x":17920.64382962515,"y":31249.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"075eb2a2-299b-4a0f-9f6d-76c385521dc4","savedPayload":{"position":{"x":17800.64382962515,"y":31332.23747069523},"targetPosition":{"x":17883.64382962515,"y":31289.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"e062ef2e-b252-4a66-8f58-d9aa8031f526","savedPayload":{"position":{"x":17883.64382962515,"y":31289.23747069523},"targetPosition":{"x":17920.64382962515,"y":31249.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8e75be98-f874-486d-b749-536e364934dc","savedPayload":{"position":{"x":17920.64382962515,"y":31249.23747069523},"targetPosition":{"x":17845.64382962515,"y":31164.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"052f73cd-7ed7-4537-8b01-840b5b892fea","savedPayload":{"position":{"x":17845.64382962515,"y":31164.23747069523},"targetPosition":{"x":17860.64382962515,"y":31075.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"07a7ec7c-273e-4675-8d8d-21ab8514a1f0","savedPayload":{"position":{"x":17895.458263866083,"y":32502.117186545547},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Deribit","config":"{ \n\"codeName\": \"deribit\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"f0b2354b-89e3-4eca-b051-664a3b8283f6","savedPayload":{"position":{"x":17862.64382962515,"y":30844.23747069523},"targetPosition":{"x":17906.64382962515,"y":30929.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"4ae1f824-82a8-4796-a2d5-3d2358d8089f","savedPayload":{"position":{"x":17912.64382962515,"y":31024.23747069523},"targetPosition":{"x":17906.64382962515,"y":30929.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"2013fe7a-d52c-4c9d-ba53-d281d014a8fc","savedPayload":{"position":{"x":17873.64382962515,"y":30926.23747069523},"targetPosition":{"x":17855.64382962515,"y":30967.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"706d5778-ed21-49bd-9277-1840ec52708d","savedPayload":{"position":{"x":17729.64382962515,"y":31033.23747069523},"targetPosition":{"x":17813.64382962515,"y":31053.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"2e76bc02-6e10-4f14-9bf1-a11dc4268466","savedPayload":{"position":{"x":17813.64382962515,"y":31053.23747069523},"targetPosition":{"x":17855.64382962515,"y":30967.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"89a3ccc7-20ab-4e2d-929b-52d9286179b7","savedPayload":{"position":{"x":17855.64382962515,"y":30967.23747069523},"targetPosition":{"x":17818.64382962515,"y":30920.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5c8219e3-4509-4b8b-941b-b88ac2c12237","savedPayload":{"position":{"x":17818.64382962515,"y":30920.23747069523},"targetPosition":{"x":17906.64382962515,"y":30929.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"21971815-4248-45df-8e04-20b9a5a83f06","savedPayload":{"position":{"x":17794.92544989493,"y":32419.801715882462},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"DigiFinex","config":"{ \n\"codeName\": \"digifinex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"e583c93e-9a44-4e0d-acb7-56d7e00a555a","savedPayload":{"position":{"x":17954.64382962515,"y":30992.23747069523},"targetPosition":{"x":17996.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"8917c7c0-b420-4d4f-a35a-c0fc6870f0de","savedPayload":{"position":{"x":18052.64382962515,"y":30972.23747069523},"targetPosition":{"x":17996.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"a00b5bb0-5ab9-42e2-91fe-b450c7eb66d2","savedPayload":{"position":{"x":18220.64382962515,"y":31090.23747069523},"targetPosition":{"x":18123.64382962515,"y":30998.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"2aafc473-339b-4d23-9b74-06fa7574c293","savedPayload":{"position":{"x":18144.64382962515,"y":31123.23747069523},"targetPosition":{"x":18203.64382962515,"y":31084.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"99e9e136-1ac7-4400-a100-0a2d37f0882d","savedPayload":{"position":{"x":18203.64382962515,"y":31084.23747069523},"targetPosition":{"x":18123.64382962515,"y":30998.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b7cee21b-ddcb-4fd7-b610-43aabb2d1766","savedPayload":{"position":{"x":18123.64382962515,"y":30998.23747069523},"targetPosition":{"x":18032.64382962515,"y":30976.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"08e84a25-4368-4ad6-939f-5a16cece62cc","savedPayload":{"position":{"x":18032.64382962515,"y":30976.23747069523},"targetPosition":{"x":17996.64382962515,"y":31033.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b7d56781-0c51-4ec1-95fd-bf4dc8c00352","savedPayload":{"position":{"x":17703.88183147586,"y":32327.0992728693},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"DSX","config":"{ \n\"codeName\": \"dsx\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"d672ab56-cd32-4ff5-8fc5-3733262aeccb","savedPayload":{"position":{"x":17916.64382962515,"y":31106.23747069523},"targetPosition":{"x":17955.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"3731a7b5-ba9d-483e-bb41-abf3ae0232c6","savedPayload":{"position":{"x":17878.64382962515,"y":30946.23747069523},"targetPosition":{"x":17955.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"9ef7e0ac-dc27-4b47-a06e-0cb7e80ee3d7","savedPayload":{"position":{"x":18124.64382962515,"y":31136.23747069523},"targetPosition":{"x":18093.64382962515,"y":31072.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"77491a3c-3db7-446f-aa67-9b5a1a3be7b3","savedPayload":{"position":{"x":18109.64382962515,"y":31081.23747069523},"targetPosition":{"x":18188.64382962515,"y":31137.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"bd1bd0b7-4943-4aeb-bf90-d3192dcabbb1","savedPayload":{"position":{"x":18188.64382962515,"y":31137.23747069523},"targetPosition":{"x":18093.64382962515,"y":31072.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"45747fef-f30e-4fae-b02d-5768ae7dbe68","savedPayload":{"position":{"x":18093.64382962515,"y":31072.23747069523},"targetPosition":{"x":18018.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"aa2e1c9b-428c-4bb0-9e75-ceb8c9043d4b","savedPayload":{"position":{"x":18018.64382962515,"y":31005.23747069523},"targetPosition":{"x":17955.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4c543abc-7372-4701-bc58-107578d45c25","savedPayload":{"position":{"x":17623.394811792878,"y":32225.09670889175},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"FCoin","config":"{ \n\"codeName\": \"fcoin\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"a97d578c-6d7f-403c-8294-18aacf14abd8","savedPayload":{"position":{"x":17893.64382962515,"y":30953.23747069523},"targetPosition":{"x":17919.64382962515,"y":30948.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"442c3834-482e-4928-9255-8ac859ae012e","savedPayload":{"position":{"x":17905.64382962515,"y":30896.23747069523},"targetPosition":{"x":17919.64382962515,"y":30948.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"79754959-1219-4c4d-be63-22766158beb5","savedPayload":{"position":{"x":18106.64382962515,"y":30976.23747069523},"targetPosition":{"x":18069.64382962515,"y":31056.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"1c3ae096-5024-43c3-abca-24498254e363","savedPayload":{"position":{"x":18112.64382962515,"y":30919.23747069523},"targetPosition":{"x":18126.64382962515,"y":30965.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"59db5bfd-e413-48a7-af63-237ad56adc82","savedPayload":{"position":{"x":18126.64382962515,"y":30965.23747069523},"targetPosition":{"x":18069.64382962515,"y":31056.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"833c4e54-08f4-48ec-b90a-2767eb55f244","savedPayload":{"position":{"x":18069.64382962515,"y":31056.23747069523},"targetPosition":{"x":17996.64382962515,"y":30970.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a8cf17b3-0ea7-4a14-8c76-f655344b58a3","savedPayload":{"position":{"x":17996.64382962515,"y":30970.23747069523},"targetPosition":{"x":17919.64382962515,"y":30948.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6ddedcbd-07cb-4928-91b3-348f47118391","savedPayload":{"position":{"x":17554.408027561767,"y":32114.989910750606},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"FCoinJP","config":"{ \n\"codeName\": \"fcoinjp\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"4a8a9810-6df6-451a-ab26-22bd7e7be85a","savedPayload":{"position":{"x":17930.64382962515,"y":31129.23747069523},"targetPosition":{"x":17942.64382962515,"y":31052.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"138ab40c-18ca-4a11-9709-0baa040873e6","savedPayload":{"position":{"x":18007.64382962515,"y":31122.23747069523},"targetPosition":{"x":17942.64382962515,"y":31052.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"258cdf92-8ed0-4133-ae2a-b9f086f56a13","savedPayload":{"position":{"x":17897.64382962515,"y":30887.23747069523},"targetPosition":{"x":17903.64382962515,"y":30977.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"537e8f0c-05ca-4403-bc96-da6c2f4678ae","savedPayload":{"position":{"x":17825.64382962515,"y":30842.23747069523},"targetPosition":{"x":17836.64382962515,"y":30926.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"62519e63-8f4e-4b72-a341-0a6eea01ac3f","savedPayload":{"position":{"x":17836.64382962515,"y":30926.23747069523},"targetPosition":{"x":17903.64382962515,"y":30977.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b4974cc1-f594-436b-8aa4-aff2733b8e3c","savedPayload":{"position":{"x":17903.64382962515,"y":30977.23747069523},"targetPosition":{"x":17873.64382962515,"y":31061.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d84b404f-75e2-4eb5-b34a-b45af8a57ca7","savedPayload":{"position":{"x":17873.64382962515,"y":31061.23747069523},"targetPosition":{"x":17942.64382962515,"y":31052.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"982627ea-df84-4ba9-9219-612fbe1e4276","savedPayload":{"position":{"x":17497.730285752426,"y":31998.069779982467},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"FTX","config":"{ \n\"codeName\": \"ftx\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"20c0a4f5-bdb9-46cc-af7e-2111964551e3","savedPayload":{"position":{"x":17886.64382962515,"y":30940.23747069523},"targetPosition":{"x":17960.64382962515,"y":31019.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"75c99a0b-d3c9-4073-9283-d33e539c36bb","savedPayload":{"position":{"x":17992.64382962515,"y":31061.23747069523},"targetPosition":{"x":17960.64382962515,"y":31019.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"2e037470-549e-4aa8-bbe7-95cdeaef88ea","savedPayload":{"position":{"x":17964.64382962515,"y":31027.23747069523},"targetPosition":{"x":17970.64382962515,"y":31008.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"3b6f5b7b-9c61-4b71-b29a-ca1bc027e55f","savedPayload":{"position":{"x":17817.64382962515,"y":30943.23747069523},"targetPosition":{"x":17890.64382962515,"y":30978.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"a84010f0-04b5-4eab-a3a6-a5944b80a373","savedPayload":{"position":{"x":17890.64382962515,"y":30978.23747069523},"targetPosition":{"x":17970.64382962515,"y":31008.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5cdc51a3-6136-4e03-9e2c-26a752140d17","savedPayload":{"position":{"x":17970.64382962515,"y":31008.23747069523},"targetPosition":{"x":18010.64382962515,"y":30986.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"55258a2b-3199-4070-beed-d34a8496870c","savedPayload":{"position":{"x":18010.64382962515,"y":30986.23747069523},"targetPosition":{"x":17960.64382962515,"y":31019.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"0c0bcf5c-2774-423e-9fcf-c512b38dd06d","savedPayload":{"position":{"x":17454.026081066615,"y":31875.707098219504},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Gate.io","config":"{ \n\"codeName\": \"gateio\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"71a15089-9d40-4726-9a41-37d406064164","savedPayload":{"position":{"x":17930.64382962515,"y":30993.23747069523},"targetPosition":{"x":17880.64382962515,"y":31031.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"c025e976-c2c6-49de-81ec-48e2f737b412","savedPayload":{"position":{"x":17925.64382962515,"y":31053.23747069523},"targetPosition":{"x":17880.64382962515,"y":31031.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"876f964a-e12d-4438-87fb-a84be22f86d1","savedPayload":{"position":{"x":17914.64382962515,"y":30833.23747069523},"targetPosition":{"x":17827.64382962515,"y":30882.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"0c5d34c4-467f-4e98-bd39-1b2d9afb834e","savedPayload":{"position":{"x":17852.64382962515,"y":30831.23747069523},"targetPosition":{"x":17870.64382962515,"y":30847.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"89316d8c-893a-46ae-b147-948b4b8a5292","savedPayload":{"position":{"x":17870.64382962515,"y":30847.23747069523},"targetPosition":{"x":17827.64382962515,"y":30882.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a2a5de53-bd45-4904-8bae-0cf5ed66d2af","savedPayload":{"position":{"x":17827.64382962515,"y":30882.23747069523},"targetPosition":{"x":17800.64382962515,"y":30936.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f6f4072d-8cf6-4e47-8b4e-a21cd553348a","savedPayload":{"position":{"x":17800.64382962515,"y":30936.23747069523},"targetPosition":{"x":17880.64382962515,"y":31031.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c4028289-4cdb-4da0-90e6-5f93328b8e03","savedPayload":{"position":{"x":17423.807805345143,"y":31749.336456028108},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Gemini","config":"{ \n\"codeName\": \"gemini\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"9eb15872-8d15-4086-9920-46909eb5f9e7","savedPayload":{"position":{"x":17951.64382962515,"y":30901.23747069523},"targetPosition":{"x":17971.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"a84dcf06-57c6-47d7-97a0-9f03f3af8b34","savedPayload":{"position":{"x":18045.64382962515,"y":30891.23747069523},"targetPosition":{"x":17971.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"5da1ba65-3839-4664-8105-2ccb11652767","savedPayload":{"position":{"x":18028.64382962515,"y":31112.23747069523},"targetPosition":{"x":17941.64382962515,"y":31044.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"337fe5e2-b9fd-40eb-9f42-44fc5057d981","savedPayload":{"position":{"x":17957.64382962515,"y":31129.23747069523},"targetPosition":{"x":17875.64382962515,"y":31086.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"17a3f4a3-8914-4995-afb0-7e8115791b17","savedPayload":{"position":{"x":17875.64382962515,"y":31086.23747069523},"targetPosition":{"x":17941.64382962515,"y":31044.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"32e4a3f1-40d8-421f-9634-7ab339858286","savedPayload":{"position":{"x":17941.64382962515,"y":31044.23747069523},"targetPosition":{"x":17877.64382962515,"y":30977.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"365f6865-e707-415d-a168-b67c66ca9553","savedPayload":{"position":{"x":17877.64382962515,"y":30977.23747069523},"targetPosition":{"x":17971.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"58bf8247-baef-4ea6-a483-7ed8f0ba5043","savedPayload":{"position":{"x":17407.429740242005,"y":31620.439433646203},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"HitBTC","config":"{ \n\"codeName\": \"hitbtc\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"1632c520-fa79-442f-b33b-430cb1356de6","savedPayload":{"position":{"x":17809.64382962515,"y":31086.23747069523},"targetPosition":{"x":17880.64382962515,"y":31069.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"576d1666-dbd3-4914-9fe2-fa05bdf72eea","savedPayload":{"position":{"x":17840.64382962515,"y":31148.23747069523},"targetPosition":{"x":17880.64382962515,"y":31069.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"41317aae-08ce-48cf-a47b-c2d2cc3920ec","savedPayload":{"position":{"x":18096.64382962515,"y":30975.23747069523},"targetPosition":{"x":18026.64382962515,"y":31066.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"23d7e4ba-8432-4214-bd94-0db5046e39cd","savedPayload":{"position":{"x":18039.64382962515,"y":31075.23747069523},"targetPosition":{"x":17981.64382962515,"y":31126.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ab200349-5ba5-44d2-ad5c-fa826303cfcd","savedPayload":{"position":{"x":17981.64382962515,"y":31126.23747069523},"targetPosition":{"x":18026.64382962515,"y":31066.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a5f24785-5b2c-429b-a2e4-07063e2de904","savedPayload":{"position":{"x":18026.64382962515,"y":31066.23747069523},"targetPosition":{"x":17972.64382962515,"y":31093.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"13f275ca-06a6-4a72-8b4d-a9c079b9cef4","savedPayload":{"position":{"x":17972.64382962515,"y":31093.23747069523},"targetPosition":{"x":17880.64382962515,"y":31069.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8384fa0b-854c-4c23-846e-a5da0179a738","savedPayload":{"position":{"x":17405.083903595932,"y":31490.527230809537},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"HitBTC","config":"{ \n\"codeName\": \"hitbtc2\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"9a29cb9e-ee8d-4315-8532-eef82224b84a","savedPayload":{"position":{"x":17838.64382962515,"y":30922.23747069523},"targetPosition":{"x":17829.64382962515,"y":30949.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"badd79e7-1e21-4dc3-bfa7-8dfb4a6c6267","savedPayload":{"position":{"x":17920.64382962515,"y":30944.23747069523},"targetPosition":{"x":17829.64382962515,"y":30949.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"ffdda0b7-af50-4010-84da-2bc0d562af2b","savedPayload":{"position":{"x":17887.64382962515,"y":30982.23747069523},"targetPosition":{"x":17836.64382962515,"y":31023.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"24816eed-adf7-453e-9b38-42ea4758dbaa","savedPayload":{"position":{"x":18021.64382962515,"y":30979.23747069523},"targetPosition":{"x":17931.64382962515,"y":30923.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"1dd16858-5641-4454-88a3-e5d7446e12a3","savedPayload":{"position":{"x":17931.64382962515,"y":30923.23747069523},"targetPosition":{"x":17836.64382962515,"y":31023.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"457d75ed-ad21-4ee5-b36b-88cdc444008e","savedPayload":{"position":{"x":17836.64382962515,"y":31023.23747069523},"targetPosition":{"x":17808.64382962515,"y":31039.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b29ded7e-e2d5-4c7f-89af-b0816c32c743","savedPayload":{"position":{"x":17808.64382962515,"y":31039.23747069523},"targetPosition":{"x":17829.64382962515,"y":30949.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"09c634c2-5aba-49c5-80bc-4fd4175e7f0c","savedPayload":{"position":{"x":17416.79779819678,"y":31361.12294931652},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Huobi Pro","config":"{ \n\"codeName\": \"huobipro\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"86caa38c-5bdf-40e4-b27b-8d8b64319575","savedPayload":{"position":{"x":18071.64382962515,"y":31171.23747069523},"targetPosition":{"x":17996.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"001225af-c715-4566-9502-f8f0ac1c4531","savedPayload":{"position":{"x":18040.64382962515,"y":31019.23747069523},"targetPosition":{"x":17996.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"b4bf5ccb-b529-4500-a192-d9c3a0613389","savedPayload":{"position":{"x":18129.64382962515,"y":31073.23747069523},"targetPosition":{"x":18033.64382962515,"y":31090.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"2e58c6d1-cfa7-4dc7-a322-e9356596ea1e","savedPayload":{"position":{"x":17976.64382962515,"y":31132.23747069523},"targetPosition":{"x":17953.64382962515,"y":31093.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ae04ddf4-ae3e-4bdc-9393-41acc38ef818","savedPayload":{"position":{"x":17953.64382962515,"y":31093.23747069523},"targetPosition":{"x":18033.64382962515,"y":31090.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2428e8ef-6a09-48fa-8ae4-ebfb28420be8","savedPayload":{"position":{"x":18033.64382962515,"y":31090.23747069523},"targetPosition":{"x":18085.64382962515,"y":31157.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"55c71c8b-f21f-4d16-ae93-e29362c39bf5","savedPayload":{"position":{"x":18085.64382962515,"y":31157.23747069523},"targetPosition":{"x":17996.64382962515,"y":31077.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"967c3914-a76d-4389-9c7e-9c258ae683bd","savedPayload":{"position":{"x":17442.43408934047,"y":31233.743736052187},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Huobi Russia","config":"{ \n\"codeName\": \"huobiru\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"9b7b32d6-a42e-44bb-8065-5aa32b1e844b","savedPayload":{"position":{"x":17980.64382962515,"y":31034.23747069523},"targetPosition":{"x":17957.64382962515,"y":31088.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"8d74201c-33cd-4e12-8920-b08d0ef97572","savedPayload":{"position":{"x":17992.64382962515,"y":31105.23747069523},"targetPosition":{"x":17957.64382962515,"y":31088.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"c6e289d7-074b-4837-96e3-687988886fcc","savedPayload":{"position":{"x":18078.64382962515,"y":30954.23747069523},"targetPosition":{"x":18008.64382962515,"y":31029.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"d72f81ba-6b41-414d-9cf0-d5f9c0c25403","savedPayload":{"position":{"x":18026.64382962515,"y":31021.23747069523},"targetPosition":{"x":18083.64382962515,"y":31117.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"5354f66c-6e73-4fe5-80ca-2c25b761ef51","savedPayload":{"position":{"x":18083.64382962515,"y":31117.23747069523},"targetPosition":{"x":18008.64382962515,"y":31029.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"81f5adbb-054c-47f2-b019-52585f5d7417","savedPayload":{"position":{"x":18008.64382962515,"y":31029.23747069523},"targetPosition":{"x":18018.64382962515,"y":31009.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ecd8645b-4bb6-4641-a20f-cee51bf33f1a","savedPayload":{"position":{"x":18018.64382962515,"y":31009.23747069523},"targetPosition":{"x":17957.64382962515,"y":31088.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6f97bb5c-8d85-43ee-86a1-33e22cdfbb5e","savedPayload":{"position":{"x":17481.692214952825,"y":31109.882995828142},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"KKEX","config":"{ \n\"codeName\": \"kkex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"daa4e07a-1cd8-4d92-8004-2eabfaa62f77","savedPayload":{"position":{"x":17924.64382962515,"y":31038.23747069523},"targetPosition":{"x":17987.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"cb64951f-d984-4f51-a751-166a316084f3","savedPayload":{"position":{"x":17945.64382962515,"y":31156.23747069523},"targetPosition":{"x":17987.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"6915bf12-9271-47e2-8b49-924ae9f5c65f","savedPayload":{"position":{"x":17958.64382962515,"y":31297.23747069523},"targetPosition":{"x":17875.64382962515,"y":31252.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"ff53381f-c6dd-4d17-a477-11396f60663f","savedPayload":{"position":{"x":17805.64382962515,"y":31141.23747069523},"targetPosition":{"x":17861.64382962515,"y":31223.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ae05bfc4-6ac8-408c-a90b-263830b2a71e","savedPayload":{"position":{"x":17861.64382962515,"y":31223.23747069523},"targetPosition":{"x":17875.64382962515,"y":31252.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"61c85f1a-a2a6-45c9-bb1e-3c76110f5d1e","savedPayload":{"position":{"x":17875.64382962515,"y":31252.23747069523},"targetPosition":{"x":17911.64382962515,"y":31154.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9fafb114-37d2-4d04-9c42-83d04ff62fc7","savedPayload":{"position":{"x":17911.64382962515,"y":31154.23747069523},"targetPosition":{"x":17987.64382962515,"y":31073.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"16ae95ce-796f-4f2b-942c-f98dcbf9cf4b","savedPayload":{"position":{"x":17534.11190940509,"y":30990.99288257655},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Kraken","config":"{ \n\"codeName\": \"kraken\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"747af60f-c8b9-4377-aa6c-172d4137ea23","savedPayload":{"position":{"x":17854.64382962515,"y":31008.23747069523},"targetPosition":{"x":17946.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"c75f7d97-9dc2-4d3e-89eb-f8a3d5f16368","savedPayload":{"position":{"x":17916.64382962515,"y":30872.23747069523},"targetPosition":{"x":17946.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"0093e946-03f4-4aec-942d-c76aed12ab1a","savedPayload":{"position":{"x":17780.64382962515,"y":31091.23747069523},"targetPosition":{"x":17836.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"2a4235ac-e5ea-4484-bccd-f06c8a7275ec","savedPayload":{"position":{"x":17930.64382962515,"y":30869.23747069523},"targetPosition":{"x":17883.64382962515,"y":30953.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"737dec0a-23ab-4044-94ba-95c8bc50c0eb","savedPayload":{"position":{"x":17883.64382962515,"y":30953.23747069523},"targetPosition":{"x":17836.64382962515,"y":31011.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"457b045e-dae5-4f53-a8b7-cab4757e5286","savedPayload":{"position":{"x":17836.64382962515,"y":31011.23747069523},"targetPosition":{"x":17926.64382962515,"y":31005.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6eff12db-8e7c-402a-9e06-ae2618f506a0","savedPayload":{"position":{"x":17926.64382962515,"y":31005.23747069523},"targetPosition":{"x":17946.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"644efe9c-597a-4ddf-9e28-b33fb3b62d3e","savedPayload":{"position":{"x":17599.078599707587,"y":30878.467274173025},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"KuCoin","config":"{ \n\"codeName\": \"kucoin\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"01ca3037-4ed3-499e-ad6b-e14ca1d4a51f","savedPayload":{"position":{"x":17919.64382962515,"y":30949.23747069523},"targetPosition":{"x":17920.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"8b3c4ce0-98b1-4d46-bd02-6cf44c3dd686","savedPayload":{"position":{"x":17998.64382962515,"y":30978.23747069523},"targetPosition":{"x":17920.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"d6c7c0ef-670d-4ed6-9246-6eb7d6bfc359","savedPayload":{"position":{"x":17927.64382962515,"y":30962.23747069523},"targetPosition":{"x":17953.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"e8c2c454-b246-4f63-b51b-74d9cbb01ac2","savedPayload":{"position":{"x":17927.64382962515,"y":30924.23747069523},"targetPosition":{"x":17912.64382962515,"y":30869.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"d2bb2603-3b52-443c-8923-86fefafc0b14","savedPayload":{"position":{"x":17912.64382962515,"y":30869.23747069523},"targetPosition":{"x":17953.64382962515,"y":30954.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fa83b0b9-1039-4406-907c-f809a5af40f5","savedPayload":{"position":{"x":17953.64382962515,"y":30954.23747069523},"targetPosition":{"x":17966.64382962515,"y":30962.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"471161d3-201e-40c6-b433-49643cf7e43b","savedPayload":{"position":{"x":17966.64382962515,"y":30962.23747069523},"targetPosition":{"x":17920.64382962515,"y":30924.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"d79bc720-68e1-4771-a66a-bcffa30639d3","savedPayload":{"position":{"x":17675.830610816145,"y":30773.625430492953},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"LBank","config":"{ \n\"codeName\": \"lbank\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"def3f9d0-f09e-4e09-8b6d-a4c322a4384b","savedPayload":{"position":{"x":17877.64382962515,"y":31024.23747069523},"targetPosition":{"x":17838.64382962515,"y":31032.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"53eac3c1-96d6-4cb1-b54d-f3f174eaf733","savedPayload":{"position":{"x":17764.64382962515,"y":31036.23747069523},"targetPosition":{"x":17838.64382962515,"y":31032.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"c6c00704-1357-4426-910e-8134d6f87017","savedPayload":{"position":{"x":18030.64382962515,"y":31212.23747069523},"targetPosition":{"x":17951.64382962515,"y":31172.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"13990604-2192-4be1-b21b-53cf2bafc002","savedPayload":{"position":{"x":17893.64382962515,"y":31189.23747069523},"targetPosition":{"x":17964.64382962515,"y":31122.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"ed2c483e-d412-406d-b6f3-cfb1112a3a05","savedPayload":{"position":{"x":17964.64382962515,"y":31122.23747069523},"targetPosition":{"x":17951.64382962515,"y":31172.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6033b63c-c7fe-4a5d-8cf6-82128e2cfb41","savedPayload":{"position":{"x":17951.64382962515,"y":31172.23747069523},"targetPosition":{"x":17891.64382962515,"y":31096.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"20ece5c4-dbfa-4f4a-a9ee-8c8d9c38943b","savedPayload":{"position":{"x":17891.64382962515,"y":31096.23747069523},"targetPosition":{"x":17838.64382962515,"y":31032.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cb2558d6-dab0-4f35-b83f-7cfc161b3d4f","savedPayload":{"position":{"x":17763.468095575536,"y":30677.69652629567},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Mercado Bitcoin","config":"{ \n\"codeName\": \"mercado\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"83ab2c39-e844-496f-bebb-7b8607428902","savedPayload":{"position":{"x":17849.64382962515,"y":31081.23747069523},"targetPosition":{"x":17849.64382962515,"y":30986.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"d69e722e-c71a-462a-8bbd-d3482d0eab21","savedPayload":{"position":{"x":17771.64382962515,"y":30887.23747069523},"targetPosition":{"x":17849.64382962515,"y":30986.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"18438709-83cf-49a3-96b8-888ab5adbcc5","savedPayload":{"position":{"x":17937.64382962515,"y":31080.23747069523},"targetPosition":{"x":17866.64382962515,"y":31013.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"6b9d4ed4-af81-462a-aace-fac0afd4687a","savedPayload":{"position":{"x":17787.64382962515,"y":30841.23747069523},"targetPosition":{"x":17873.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"802a4c53-8617-4257-95a5-45bfaa60ad0e","savedPayload":{"position":{"x":17873.64382962515,"y":30935.23747069523},"targetPosition":{"x":17866.64382962515,"y":31013.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"87936a4a-aac5-4aca-8f3e-2051611932c4","savedPayload":{"position":{"x":17866.64382962515,"y":31013.23747069523},"targetPosition":{"x":17829.64382962515,"y":30919.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"48f3a793-bb97-447b-8f1a-1d6965219747","savedPayload":{"position":{"x":17829.64382962515,"y":30919.23747069523},"targetPosition":{"x":17849.64382962515,"y":30986.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5002072e-145c-4aeb-a611-3e0e4c60ee5d","savedPayload":{"position":{"x":17860.963584604677,"y":30591.805240274254},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"OKCoin","config":"{ \n\"codeName\": \"okcoin\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"1e4dd5c8-0545-4698-8695-c985880243a3","savedPayload":{"position":{"x":17921.64382962515,"y":31043.23747069523},"targetPosition":{"x":17967.64382962515,"y":30969.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"0e188cae-9764-4963-a78b-e5d7ef272522","savedPayload":{"position":{"x":18005.64382962515,"y":30891.23747069523},"targetPosition":{"x":17967.64382962515,"y":30969.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"6d82bfd7-b4e1-4f93-a0f8-18f62cee944e","savedPayload":{"position":{"x":18047.64382962515,"y":30877.23747069523},"targetPosition":{"x":17963.64382962515,"y":30898.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"d815409c-1dd4-4e89-b844-5b96104509b4","savedPayload":{"position":{"x":17958.64382962515,"y":30988.23747069523},"targetPosition":{"x":17945.64382962515,"y":30961.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"238b9d2c-e2c0-4a77-945e-8e28604c0a2d","savedPayload":{"position":{"x":17945.64382962515,"y":30961.23747069523},"targetPosition":{"x":17963.64382962515,"y":30898.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8416c29a-5d73-4b2a-9463-511f400deafb","savedPayload":{"position":{"x":17963.64382962515,"y":30898.23747069523},"targetPosition":{"x":18047.64382962515,"y":30885.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"04abf32b-084e-4784-aa84-8c5612d3b7b9","savedPayload":{"position":{"x":18047.64382962515,"y":30885.23747069523},"targetPosition":{"x":17967.64382962515,"y":30969.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1f860b4b-2893-4a51-8649-19c47d494a37","savedPayload":{"position":{"x":17967.17403243568,"y":30516.958569226157},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"OKEX","config":"{ \n\"codeName\": \"okex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"7f618566-3d10-4c3c-90b2-7541a5146eeb","savedPayload":{"position":{"x":17770.64382962515,"y":31094.23747069523},"targetPosition":{"x":17847.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"21205576-5d12-452c-814f-eb56182162ae","savedPayload":{"position":{"x":17794.64382962515,"y":31173.23747069523},"targetPosition":{"x":17847.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"46456247-ae9c-41ea-8395-a5e4a78007d4","savedPayload":{"position":{"x":17724.64382962515,"y":31147.23747069523},"targetPosition":{"x":17795.64382962515,"y":31083.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"706bf601-eaad-48bd-b0a7-8dad59066171","savedPayload":{"position":{"x":17715.64382962515,"y":31182.23747069523},"targetPosition":{"x":17706.64382962515,"y":31162.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"f9c7071c-2e5b-4c90-b482-dfc7ee001244","savedPayload":{"position":{"x":17706.64382962515,"y":31162.23747069523},"targetPosition":{"x":17795.64382962515,"y":31083.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e87e1e10-3404-48b9-8629-5df92ffa1979","savedPayload":{"position":{"x":17795.64382962515,"y":31083.23747069523},"targetPosition":{"x":17789.64382962515,"y":31181.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"08e8fd6a-6b23-4d65-8b8e-d966f845c07f","savedPayload":{"position":{"x":17789.64382962515,"y":31181.23747069523},"targetPosition":{"x":17847.64382962515,"y":31102.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"aa0edec0-8b27-4f94-abce-1e437ce5aba6","savedPayload":{"position":{"x":18080.854218676865,"y":30454.034021936455},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"RightBTC","config":"{ \n\"codeName\": \"rightbtc\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"ade372e9-5070-4fa9-843e-57732c4106c3","savedPayload":{"position":{"x":17999.64382962515,"y":30964.23747069523},"targetPosition":{"x":17991.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"b63d440e-4501-475c-b8a6-2b9a144e32a1","savedPayload":{"position":{"x":17984.64382962515,"y":30901.23747069523},"targetPosition":{"x":17991.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"81d77477-4f2e-43c0-b284-dde54f91c37f","savedPayload":{"position":{"x":17864.64382962515,"y":31036.23747069523},"targetPosition":{"x":17861.64382962515,"y":31043.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"9ce3cc34-1ba4-4155-96a5-c946b1bcc5ab","savedPayload":{"position":{"x":17819.64382962515,"y":31127.23747069523},"targetPosition":{"x":17810.64382962515,"y":31080.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"c7df4af7-37c1-403d-ada1-b6a527821bdd","savedPayload":{"position":{"x":17810.64382962515,"y":31080.23747069523},"targetPosition":{"x":17861.64382962515,"y":31043.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6de19501-5ce7-4944-b9dd-25b149acbb38","savedPayload":{"position":{"x":17861.64382962515,"y":31043.23747069523},"targetPosition":{"x":17946.64382962515,"y":30988.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"aa87ace4-a976-401c-93f9-24a498261742","savedPayload":{"position":{"x":17946.64382962515,"y":30988.23747069523},"targetPosition":{"x":17991.64382962515,"y":30935.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"c20cd9e1-52a0-4d17-b90c-e9d5b63315ce","savedPayload":{"position":{"x":18200.67134708334,"y":30403.76933118965},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"STEX","config":"{ \n\"codeName\": \"stex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"f1d65161-4922-4a1e-ac98-df1a842347a7","savedPayload":{"position":{"x":17872.64382962515,"y":31001.23747069523},"targetPosition":{"x":17892.64382962515,"y":31092.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"c313b2c6-6154-4a9a-b826-fd99cc500cd9","savedPayload":{"position":{"x":17888.64382962515,"y":31186.23747069523},"targetPosition":{"x":17892.64382962515,"y":31092.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"d0a1259b-1c37-4d39-836e-3c434c3b3687","savedPayload":{"position":{"x":17778.64382962515,"y":31076.23747069523},"targetPosition":{"x":17858.64382962515,"y":31091.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"4a1e5627-459c-4dec-be13-c20d4a9ea58f","savedPayload":{"position":{"x":17841.64382962515,"y":31179.23747069523},"targetPosition":{"x":17795.64382962515,"y":31105.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"6981eb0d-0f0e-4f8e-9781-4a03e22e93fd","savedPayload":{"position":{"x":17795.64382962515,"y":31105.23747069523},"targetPosition":{"x":17858.64382962515,"y":31091.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7704478a-9717-43a8-bd2e-88daa6f84bd0","savedPayload":{"position":{"x":17858.64382962515,"y":31091.23747069523},"targetPosition":{"x":17941.64382962515,"y":31173.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"262aad86-f430-49ea-a636-e8bd816a9636","savedPayload":{"position":{"x":17941.64382962515,"y":31173.23747069523},"targetPosition":{"x":17892.64382962515,"y":31092.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"0ea23137-3c65-4de1-9772-6ac1b65196e8","savedPayload":{"position":{"x":18325.220671374373,"y":30366.753804527314},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"TideBit","config":"{ \n\"codeName\": \"tidebit\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"c92318bd-8b2d-489b-b8e8-cf30fb63286e","savedPayload":{"position":{"x":17981.64382962515,"y":31021.23747069523},"targetPosition":{"x":17978.64382962515,"y":31048.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"83bca3ec-fc1c-435c-b5fe-b1cf92463fd1","savedPayload":{"position":{"x":18051.64382962515,"y":31072.23747069523},"targetPosition":{"x":17978.64382962515,"y":31048.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"2f3ee9b2-cd41-458c-84da-edac3155028a","savedPayload":{"position":{"x":18075.64382962515,"y":31059.23747069523},"targetPosition":{"x":17987.64382962515,"y":31047.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"009ae4b6-adbc-4900-9fc0-f18936eeed9b","savedPayload":{"position":{"x":18030.64382962515,"y":31058.23747069523},"targetPosition":{"x":18009.64382962515,"y":31028.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"3ee88180-fe10-41df-8251-b1ed0a526e7a","savedPayload":{"position":{"x":18009.64382962515,"y":31028.23747069523},"targetPosition":{"x":17987.64382962515,"y":31047.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bb88e6e8-a99a-4c4e-9ca5-ffed49aa8b54","savedPayload":{"position":{"x":17987.64382962515,"y":31047.23747069523},"targetPosition":{"x":17925.64382962515,"y":31135.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"13a4a95e-4333-4455-9f7c-90bc839d174a","savedPayload":{"position":{"x":17925.64382962515,"y":31135.23747069523},"targetPosition":{"x":17978.64382962515,"y":31048.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5563c310-701a-4c1e-8155-87c08c927ce3","savedPayload":{"position":{"x":18453.041964599197,"y":30343.421415155935},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"TimeX","config":"{ \n\"codeName\": \"timex\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"5c004b5f-eec4-414f-8d01-d9b3fddeee9e","savedPayload":{"position":{"x":17892.64382962515,"y":30973.23747069523},"targetPosition":{"x":17949.64382962515,"y":30914.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"59a33add-d0e9-4ae1-8a01-f1e0ed09cb61","savedPayload":{"position":{"x":17911.64382962515,"y":30878.23747069523},"targetPosition":{"x":17949.64382962515,"y":30914.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"a4189ba1-d1d4-4ff8-91dd-a8696ca493e3","savedPayload":{"position":{"x":17953.64382962515,"y":30880.23747069523},"targetPosition":{"x":17924.64382962515,"y":30871.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"3d34eb9d-e7cb-42fe-8785-c327b2bbc529","savedPayload":{"position":{"x":17839.64382962515,"y":30875.23747069523},"targetPosition":{"x":17930.64382962515,"y":30877.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"773de01f-0999-4a59-91f0-642148cd58d0","savedPayload":{"position":{"x":17930.64382962515,"y":30877.23747069523},"targetPosition":{"x":17924.64382962515,"y":30871.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fe33a596-4f98-4843-a5b1-26e7e0fcf1c8","savedPayload":{"position":{"x":17924.64382962515,"y":30871.23747069523},"targetPosition":{"x":18018.64382962515,"y":30832.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d078b9a3-cdc6-458e-a511-dc4f5bef38ba","savedPayload":{"position":{"x":18018.64382962515,"y":30832.23747069523},"targetPosition":{"x":17949.64382962515,"y":30914.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"27d69fa7-b561-4986-8c0d-1b374e7e1bf1","savedPayload":{"position":{"x":18582.63663896287,"y":30334.045714007894},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"TOP.Q","config":"{ \n\"codeName\": \"topq\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"eafef6a3-eed2-470e-a15c-aa4c10001cd2","savedPayload":{"position":{"x":17818.64382962515,"y":31115.23747069523},"targetPosition":{"x":17847.64382962515,"y":31105.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"2d5eb813-ceb6-40cd-8682-7205596bb8b5","savedPayload":{"position":{"x":17759.64382962515,"y":31188.23747069523},"targetPosition":{"x":17847.64382962515,"y":31105.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"61f7832c-c1f0-40bc-b1f2-ba947c58309d","savedPayload":{"position":{"x":17741.64382962515,"y":31288.23747069523},"targetPosition":{"x":17788.64382962515,"y":31228.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"63b973da-30a7-467a-b954-c57537aab18d","savedPayload":{"position":{"x":17677.64382962515,"y":31206.23747069523},"targetPosition":{"x":17756.64382962515,"y":31146.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"722dcf44-de3f-4d1a-8655-80561e1e4d55","savedPayload":{"position":{"x":17756.64382962515,"y":31146.23747069523},"targetPosition":{"x":17788.64382962515,"y":31228.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"45d5e04a-4a53-4f32-b4c0-d882456cb263","savedPayload":{"position":{"x":17788.64382962515,"y":31228.23747069523},"targetPosition":{"x":17806.64382962515,"y":31163.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c66e8dfc-4847-4180-b82c-36458f9b405d","savedPayload":{"position":{"x":17806.64382962515,"y":31163.23747069523},"targetPosition":{"x":17847.64382962515,"y":31105.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8fdf13d8-e8d2-4ef4-8b34-f492a25d753a","savedPayload":{"position":{"x":18712.485315398026,"y":30338.736622606855},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"Upbit","config":"{ \n\"codeName\": \"upbit\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"f456fec2-cee6-4f0c-b865-1188088879c9","savedPayload":{"position":{"x":17919.64382962515,"y":30973.23747069523},"targetPosition":{"x":17991.64382962515,"y":30980.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"947c1ca0-bff9-4372-b153-40054e29b705","savedPayload":{"position":{"x":17921.64382962515,"y":31014.23747069523},"targetPosition":{"x":17991.64382962515,"y":30980.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"34ffbe12-5a26-446a-8bf6-7395c0370ba2","savedPayload":{"position":{"x":17874.64382962515,"y":30900.23747069523},"targetPosition":{"x":17945.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"8f00f19d-74a8-48d8-b951-79f35e87b110","savedPayload":{"position":{"x":17906.64382962515,"y":30902.23747069523},"targetPosition":{"x":17896.64382962515,"y":30896.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"64e1bede-aabf-4831-83a6-fe1cea435613","savedPayload":{"position":{"x":17896.64382962515,"y":30896.23747069523},"targetPosition":{"x":17945.64382962515,"y":30971.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7c80b956-f2ca-4a6f-a661-f17546288d3e","savedPayload":{"position":{"x":17945.64382962515,"y":30971.23747069523},"targetPosition":{"x":18027.64382962515,"y":31048.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e3686b02-4ecc-4dcb-a311-b7ef542a3c37","savedPayload":{"position":{"x":18027.64382962515,"y":31048.23747069523},"targetPosition":{"x":17991.64382962515,"y":30980.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"74e57ecd-3394-42b4-b2c4-6f216f7e41db","savedPayload":{"position":{"x":18841.065636895226,"y":30357.439144338445},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"WhiteBit","config":"{ \n\"codeName\": \"whitebit\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"c16eae45-a568-4b2e-b064-4431bdf34c24","savedPayload":{"position":{"x":17767.64382962515,"y":30899.23747069523},"targetPosition":{"x":17834.64382962515,"y":30950.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"dfdf793f-4ba6-4215-a325-323c0f223553","savedPayload":{"position":{"x":17920.64382962515,"y":31004.23747069523},"targetPosition":{"x":17834.64382962515,"y":30950.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"fd749d13-dbac-493f-9af6-c521eddf909f","savedPayload":{"position":{"x":17815.64382962515,"y":30973.23747069523},"targetPosition":{"x":17720.64382962515,"y":31056.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"79f7d2d0-77a5-4f38-ac68-fd11f18e5e6b","savedPayload":{"position":{"x":17761.64382962515,"y":31182.23747069523},"targetPosition":{"x":17680.64382962515,"y":31153.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"fd0506f4-58b7-431e-bc9d-69bce63c3379","savedPayload":{"position":{"x":17680.64382962515,"y":31153.23747069523},"targetPosition":{"x":17720.64382962515,"y":31056.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"47e8a4b1-9a6c-4555-a881-f7524183d72e","savedPayload":{"position":{"x":17720.64382962515,"y":31056.23747069523},"targetPosition":{"x":17817.64382962515,"y":31010.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7fa08b91-55ab-477d-a097-88ea7f25fb76","savedPayload":{"position":{"x":17817.64382962515,"y":31010.23747069523},"targetPosition":{"x":17834.64382962515,"y":30950.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"467ece1e-d1d0-4a11-ae7a-d0e22cd4eba5","savedPayload":{"position":{"x":18966.87011674703,"y":30389.934009235236},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchange","name":"ZB","config":"{ \n\"codeName\": \"zb\"\n}","exchangeAssets":{"type":"Exchange Assets","name":"New Exchange Assets","config":"{ \n\"addMissingAssetsFilter\": { \"quotedAsset\": \"USDT\"} \n}","assets":[],"id":"db206cbd-a587-4e8e-acbe-6581ad3b5cc4","savedPayload":{"position":{"x":17855.64382962515,"y":31027.23747069523},"targetPosition":{"x":17861.64382962515,"y":30951.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeMarkets":{"type":"Exchange Markets","name":"New Exchange Markets","markets":[],"id":"1dd658c5-7755-44b7-85f0-9bcd787762a0","savedPayload":{"position":{"x":17789.64382962515,"y":31044.23747069523},"targetPosition":{"x":17861.64382962515,"y":30951.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"exchangeAccounts":{"type":"Exchange Accounts","name":"New Exchange Accounts","userAccounts":[{"type":"User Account","name":"New User Account","userAssets":{"type":"User Assets","name":"New User Assets","assets":[],"id":"0de82bbe-7909-4b65-b304-f59b41f618ae","savedPayload":{"position":{"x":17830.64382962515,"y":30696.23747069523},"targetPosition":{"x":17846.64382962515,"y":30793.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"userKeys":{"type":"User Keys","name":"New User Keys","keys":[{"type":"Exchange Account Key","name":"New Exchange Account Key","config":"{ \n\"codeName\": \"Paste your exchange API name or label\",\n\"secret\": \"Paste your exchange API secret key\"\n}","id":"c89819d0-8880-4b36-a9b3-0b284d266e3b","savedPayload":{"position":{"x":17891.64382962515,"y":30748.23747069523},"targetPosition":{"x":17865.64382962515,"y":30772.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{}}}],"id":"7a55f503-17fa-45c4-880b-1a9a11a0a555","savedPayload":{"position":{"x":17865.64382962515,"y":30772.23747069523},"targetPosition":{"x":17846.64382962515,"y":30793.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e640fca2-8bab-45ff-9a47-8e7b9650c277","savedPayload":{"position":{"x":17846.64382962515,"y":30793.23747069523},"targetPosition":{"x":17909.64382962515,"y":30886.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"421a99cd-3d9a-46a5-8654-08d6336e75be","savedPayload":{"position":{"x":17909.64382962515,"y":30886.23747069523},"targetPosition":{"x":17861.64382962515,"y":30951.23747069523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"07df07e8-39a8-4fbc-a0c8-150f20b6ac59","savedPayload":{"position":{"x":19088.423812451314,"y":30435.840244716648},"targetPosition":{"x":18604.301618063546,"y":31533.850126685462},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"51f64e29-e3ab-4683-a5de-f397fbf94260","savedPayload":{"position":{"x":18604.301618063546,"y":31533.850126685462},"targetPosition":{"x":18904.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Crypto Exchanges","name":"Testing Queue","exchanges":[],"id":"895ce4b1-4890-4216-89ba-a012181d2546","savedPayload":{"position":{"x":18754.301618063546,"y":30754.427263279467},"targetPosition":{"x":18904.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"signalsProviders":[],"id":"7217b56c-e854-4c06-8b8a-d5d3c05a153d","savedPayload":{"position":{"x":18904.301618063546,"y":31014.2348844148},"targetPosition":{"x":18904.301618063546,"y":31014.2348844148},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}},{"type":"Charting Space","name":"New Charting Space","viewport":{"type":"Viewport","name":"New Viewport","config":"{\"zoom\":\"1.40\"}","id":"01713f1d-91b8-44f9-9c5d-a0c12fd09037","savedPayload":{"position":{"x":19200.806237131383,"y":24983.35640053908},"targetPosition":{"x":18900.806237131383,"y":24983.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"frame":{"position":{"x":0,"y":40}}}},"dashboards":[{"type":"Dashboard","name":"Testing Environment My Computer","timeMachines":[{"type":"Time Machine","name":"WHB v2 Backtesting Session My Computer","config":"{}","timeScale":{"type":"Time Scale","name":"New Time Scale","config":"{\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"fromDate\": \"2020-03-04T12:15:03.517Z\",\n \"toDate\": \"2020-03-16T22:08:40.266Z\"\n}","id":"5192eaa2-8ea0-46b1-870f-b9429a00e993","savedPayload":{"position":{"x":18793.642520037345,"y":25732.78497574544},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rateScale":{"type":"Rate Scale","name":"New Rate Scale","config":"{\n \"autoMinScale\": false,\n \"autoMaxScale\": false,\n \"minValue\": 2976.596840823151,\n \"maxValue\": 11824.968140823152\n}","id":"6e48a952-39da-466f-813d-b27da5599ea0","savedPayload":{"position":{"x":18703.412280129083,"y":25784.87942904552},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeFrameScale":{"type":"Time Frame Scale","name":"New Time Frame Scale","config":"{\"value\":\"01-hs\"}","id":"b26b5d49-6ee6-46c0-98d3-9940b99d2f40","savedPayload":{"position":{"x":18600.806237131383,"y":25802.971642809745},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timelineCharts":[{"type":"Timeline Chart","name":"Trading Engine","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Trading Engine","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Episode","layers":[{"type":"Layer","name":"Episode Counters","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"fa813608-2b0a-48b2-910b-7ddaac756e16","savedPayload":{"position":{"x":18701.806237131383,"y":24913.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Counters","id":"dd0c8cb9-af86-43fc-a22e-2b1b408787d9"}}},{"type":"Layer","name":"Episode Statistics","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"b5af64e4-f6b0-43fb-9505-16f90deb554d","savedPayload":{"position":{"x":18633.806237131383,"y":24947.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Statistics","id":"5c98f3e9-72a7-4742-9315-50d6e4aaa452"}}},{"type":"Layer","name":"Episode Candle","config":"{ \n\"status\": \"off\"\n}","id":"6266fd8e-a5f5-4cfa-b8ba-ab722fce5235","savedPayload":{"position":{"x":18731.806237131383,"y":25004.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Candle","id":"b626d6f0-f929-457e-910b-dfb83c666deb"}}},{"type":"Layer","name":"Episode Balances","config":"{ \n\"status\": \"off\"\n}","id":"8bf67d64-0c44-4dbe-aa36-54f2cfcac9a7","savedPayload":{"position":{"x":18647.806237131383,"y":25034.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Balances","id":"3d2dee0f-a7df-463f-befe-5f6231ab7830"}}},{"type":"Layer","name":"Distance To Event","config":"{ \n\"status\": \"off\"\n}","id":"edb413d2-a9d3-4789-84c3-73d931d54a7c","savedPayload":{"position":{"x":18606.806237131383,"y":24984.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Distance To Event","id":"5699dc43-eb9a-4e42-aece-e9567924cac2"}}},{"type":"Layer","name":"Episode Base Asset","config":"{ \n\"status\": \"off\"\n}","id":"40eb24d7-de06-40de-a366-b6282ce71c2b","savedPayload":{"position":{"x":18727.806237131383,"y":24939.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Base Asset","id":"7647e8ee-0ab7-41af-b153-099a334a362d"}}},{"type":"Layer","name":"Episode Quoted Asset","config":"{ \n\"status\": \"off\"\n}","id":"42ff6f2d-3fe6-45eb-9030-4293c24226c4","savedPayload":{"position":{"x":18586.806237131383,"y":24962.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Quoted Asset","id":"00bf7f7c-9002-4923-8010-7125327f9128"}}},{"type":"Layer","name":"Current Episode","config":"{\n \"status\": \"off\"\n}","id":"ab1ce152-2274-4b30-8d7d-7a965cafbf31","savedPayload":{"position":{"x":18656.806237131383,"y":24942.35640053908},"targetPosition":{"x":18652.806237131383,"y":24950.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Episode","id":"54b85d80-295a-4540-b726-f6f7cd17c6c9"}}}],"layerFolders":[],"id":"fe0d7201-2146-4833-ae77-cfadb7270673","savedPayload":{"position":{"x":18652.806237131383,"y":24950.35640053908},"targetPosition":{"x":18656.806237131383,"y":25019.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Strategy","layers":[{"type":"Layer","name":"Current Strategy","config":"{ \n\"status\": \"off\"\n}","id":"d169d6ef-5565-426c-b8d7-147ed9c36e6e","savedPayload":{"position":{"x":18731.806237131383,"y":24843.35640053908},"targetPosition":{"x":18712.806237131383,"y":24939.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Strategy","id":"68fdae81-0371-428f-8495-a0fe100cbba8"}}},{"type":"Layer","name":"Last Strategy","config":"{ \n\"status\": \"off\"\n}","id":"0afe1dde-aa14-4bd5-aad6-8940d0f368ce","savedPayload":{"position":{"x":18642.806237131383,"y":24892.35640053908},"targetPosition":{"x":18712.806237131383,"y":24939.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Strategy","id":"51693a6b-7d84-4f20-bdee-1211f9bae6f9"}}}],"layerFolders":[],"id":"403e5d9f-65ec-40b8-ab0a-b0d63388815a","savedPayload":{"position":{"x":18712.806237131383,"y":24939.35640053908},"targetPosition":{"x":18656.806237131383,"y":25019.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Position","layers":[{"type":"Layer","name":"Current Position","config":"{ \n\"status\": \"off\"\n}","id":"f1ad300d-2644-4c81-936c-fbf395c1a6bb","savedPayload":{"position":{"x":18652.806237131383,"y":25142.35640053908},"targetPosition":{"x":18722.806237131383,"y":25116.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Position","id":"80cb8779-8e2b-4c33-bd43-c696dbc4e5f6"}}},{"type":"Layer","name":"Last Position","config":"{ \n\"status\": \"off\"\n}","id":"61fe281f-e795-4e5d-bc56-ea4ccfdb0e81","savedPayload":{"position":{"x":18723.806237131383,"y":25165.35640053908},"targetPosition":{"x":18722.806237131383,"y":25116.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Position","id":"cd54c5f3-13f4-4e71-b233-b649d4878ab6"}}}],"layerFolders":[],"id":"707f45cd-f2fa-4685-ae9a-f247195f1c2b","savedPayload":{"position":{"x":18722.806237131383,"y":25116.35640053908},"targetPosition":{"x":18656.806237131383,"y":25019.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Stages","layers":[{"type":"Layer","name":"Open Stage","config":"{ \n\"status\": \"off\"\n}","id":"c16346d4-a027-4afd-b3de-d04c98278ce2","savedPayload":{"position":{"x":18644.806237131383,"y":25110.35640053908},"targetPosition":{"x":18714.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Open Stage","id":"7466e39e-eced-4ca3-9d56-a0d1548b91c6"}}},{"type":"Layer","name":"Close Stage","config":"{ \n\"status\": \"off\"\n}","id":"079ed389-1381-4147-8d81-7c51c34bf23b","savedPayload":{"position":{"x":18695.806237131383,"y":24986.35640053908},"targetPosition":{"x":18714.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Close Stage","id":"bea0a14e-e504-4e9e-a346-439180b6ad31"}}},{"type":"Layer","name":"Trigger Stage","config":"{ \n\"status\": \"off\"\n}","id":"37c1f78a-2773-42b8-a0e5-04e6fa014eda","savedPayload":{"position":{"x":18645.806237131383,"y":25067.35640053908},"targetPosition":{"x":18714.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trigger Stage","id":"06ef8c46-5cc3-4890-9a44-8fd57b8e9ca3"}}},{"type":"Layer","name":"Manage Stage","config":"{ \n\"status\": \"off\"\n}","id":"7ae2aa13-6f81-4be9-b3fa-4bf46194fa91","savedPayload":{"position":{"x":18733.806237131383,"y":25063.35640053908},"targetPosition":{"x":18714.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Manage Stage","id":"9df7d784-5665-4fa1-9d85-ee74845267aa"}}}],"layerFolders":[],"id":"dce48197-8109-41cc-9e8d-43c49ecd8d98","savedPayload":{"position":{"x":18714.806237131383,"y":25042.35640053908},"targetPosition":{"x":18656.806237131383,"y":25019.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Orders","layers":[{"type":"Layer","name":"Market Buy Orders","config":"{ \n\"status\": \"off\"\n}","id":"fe9cc276-d299-412e-b321-afc86593f929","savedPayload":{"position":{"x":18588.806237131383,"y":24928.35640053908},"targetPosition":{"x":18568.806237131383,"y":25020.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Buy Orders","id":"4bc0034d-935a-4193-89cf-b18c65b0905a"}}},{"type":"Layer","name":"Market Sell Orders","config":"{ \n\"status\": \"off\"\n}","id":"82636cd6-117e-4b83-85e7-6ee5ddd0d644","savedPayload":{"position":{"x":18615.806237131383,"y":24928.35640053908},"targetPosition":{"x":18568.806237131383,"y":25020.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Sell Orders","id":"ffada7e3-6897-4d94-b119-eef67c178678"}}},{"type":"Layer","name":"Limit Buy Orders","config":"{ \n\"status\": \"off\"\n}","id":"0e389a87-dfef-44f9-812d-1dd1f5cfbf43","savedPayload":{"position":{"x":18607.806237131383,"y":24978.35640053908},"targetPosition":{"x":18568.806237131383,"y":25020.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Buy Orders","id":"e195d10c-7b9f-4428-910e-11be05f66345"}}},{"type":"Layer","name":"Limit Sell Orders","config":"{ \n\"status\": \"off\"\n}","id":"64ba9c66-3f86-4577-ad49-75eaab68c0ba","savedPayload":{"position":{"x":18488.806237131383,"y":24939.35640053908},"targetPosition":{"x":18568.806237131383,"y":25020.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Sell Orders","id":"c396625e-9a71-4edd-a954-ea2c884538f5"}}},{"type":"Layer","name":"Last Market Order","config":"{ \n\"status\": \"off\"\n}","id":"dd350949-fa54-430f-b5b0-2a9167bae8f0","savedPayload":{"position":{"x":18473.806237131383,"y":25048.35640053908},"targetPosition":{"x":18568.806237131383,"y":25020.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Market Order","id":"d15cc7d7-3e92-4f92-9bbe-e0a3ba499740"}}},{"type":"Layer","name":"Last Limit Order","config":"{ \n\"status\": \"off\"\n}","id":"3157319b-7ae4-4ea6-99fb-e8bc2b7c0b24","savedPayload":{"position":{"x":18508.806237131383,"y":24970.35640053908},"targetPosition":{"x":18568.806237131383,"y":25020.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Limit Order","id":"507be75d-cd3c-4767-b159-328469e5c6e8"}}}],"layerFolders":[],"id":"4c246238-98c7-414d-b25b-aa82c3cbe143","savedPayload":{"position":{"x":18568.806237131383,"y":25020.35640053908},"targetPosition":{"x":18656.806237131383,"y":25019.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"340fd3f6-a9c9-47b0-b4be-078b7d806800","savedPayload":{"position":{"x":18656.806237131383,"y":25019.35640053908},"targetPosition":{"x":18733.806237131383,"y":24998.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d4903f86-8eee-42b2-b3db-230029802ccb","savedPayload":{"position":{"x":18733.806237131383,"y":24998.35640053908},"targetPosition":{"x":18811.806237131383,"y":25062.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ced831dc-8bda-42ef-97f1-d6d75cf0e68a","savedPayload":{"position":{"x":18811.806237131383,"y":25062.35640053908},"targetPosition":{"x":18893.806237131383,"y":25028.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":0,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"7d983ca2-8566-436b-ab21-445564aba4b3"}}},"id":"e771e170-f11f-4f7d-9cb4-112bafb9c1f4","savedPayload":{"position":{"x":18498.200194133682,"y":25784.87942904552},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Trading System","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Trading System","layers":[{"type":"Layer","name":"Trading System Errors","config":"{\n \"status\": \"off\"\n}","id":"30b49f64-f53b-406a-ba61-aad55cd084e3","savedPayload":{"position":{"x":18923.806237131383,"y":25101.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Errors","id":"8cb33c4c-4561-4e2e-a145-19bb87fa9b61"}}},{"type":"Layer","name":"Trading System Highlights","config":"{\n \"status\": \"off\"\n}","id":"37f95213-23f6-473b-ab56-944a60f0d3ee","savedPayload":{"position":{"x":18867.806237131383,"y":25141.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Highlights","id":"3521e920-c9b3-493b-9690-58101c475dad"}}},{"type":"Layer","name":"Trading System Values","config":"{\n \"status\": \"off\"\n}","id":"f4119e12-f225-46f4-be06-b56509bbf00f","savedPayload":{"position":{"x":18878.806237131383,"y":25007.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Values","id":"084d12bb-30ec-4a0f-a356-a58817d4e266"}}},{"type":"Layer","name":"Trading System Status","config":"{\n \"status\": \"off\"\n}","id":"de0d7560-5dc3-4d72-b95f-e26d686ebd64","savedPayload":{"position":{"x":18922.806237131383,"y":25043.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Status","id":"12e328ff-6658-4ca1-be6d-a93c8fc5c42e"}}},{"type":"Layer","name":"Trading System Progress","config":"{\n \"status\": \"off\"\n}","id":"6e83e3f7-36f3-4d40-a6d9-2800f339aa51","savedPayload":{"position":{"x":19030.806237131383,"y":25074.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Progress","id":"d35b7442-5911-4456-bc9e-c451e21d4a30"}}},{"type":"Layer","name":"Trading System Running","config":"{\n \"status\": \"off\"\n}","id":"7d2b6f17-ecc9-493d-9b0a-41904bb3b852","savedPayload":{"position":{"x":18955.806237131383,"y":25000.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Running","id":"65c269c0-2793-483c-ad8e-5c107a56b951"}}},{"type":"Layer","name":"Trading System Announcements","config":"{\n \"status\": \"off\"\n}","id":"3568bbb7-41a3-4805-80b3-b344dc8bd80c","savedPayload":{"position":{"x":18889.806237131383,"y":25080.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Announcements","id":"56631448-2669-47f1-bbc9-7dda628f433e"}}},{"type":"Layer","name":"Trading System Warnings","config":"{\n \"status\": \"off\"\n}","id":"0a880071-8042-4cef-95fb-47fdd99737ce","savedPayload":{"position":{"x":18868.806237131383,"y":25095.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Warnings","id":"c7c4ece9-6d52-4e9a-800e-11c22955c178"}}},{"type":"Layer","name":"Trading System Infos","config":"{\n \"status\": \"off\"\n}","id":"53b788b5-a4b1-4179-9e5c-f43adf1e83d5","savedPayload":{"position":{"x":18980.806237131383,"y":25083.35640053908},"targetPosition":{"x":18942.806237131383,"y":25093.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Infos","id":"f937c3f3-305c-4abc-aa12-0f2015e8f5fa"}}}],"layerFolders":[],"id":"0d7e6572-550e-425e-a408-9cd4a6d2de07","savedPayload":{"position":{"x":18942.806237131383,"y":25093.35640053908},"targetPosition":{"x":18926.806237131383,"y":25190.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"91960320-2dcb-458a-83dd-dce4a019a209","savedPayload":{"position":{"x":18926.806237131383,"y":25190.35640053908},"targetPosition":{"x":18856.806237131383,"y":25099.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"34799cb4-7d89-4f96-8e56-807ff9ed0148","savedPayload":{"position":{"x":18856.806237131383,"y":25099.35640053908},"targetPosition":{"x":18796.806237131383,"y":25002.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":150,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"7d983ca2-8566-436b-ab21-445564aba4b3"}}},"id":"4c457781-9247-442d-875c-1a476cf66bfe","savedPayload":{"position":{"x":18407.96995422542,"y":25732.78497574544},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Simulation Objects","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Simulation Objects","layers":[{"type":"Layer","name":"Episodes","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"f65f3741-038e-4748-81d9-3bf0f5c92388","savedPayload":{"position":{"x":18579.806237131383,"y":24908.35640053908},"targetPosition":{"x":18608.806237131383,"y":25008.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episodes","id":"b4881fc1-e88b-4be3-805d-ab98c4ccbb0b"}}},{"type":"Layer","name":"Strategies","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"a570f5c9-baf9-4acb-8305-651a78689b92","savedPayload":{"position":{"x":18663.806237131383,"y":25076.35640053908},"targetPosition":{"x":18608.806237131383,"y":25008.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Strategies","id":"7201adfb-d461-46b7-af3a-a45fabe24835"}}}],"layerFolders":[{"type":"Layer Folder","name":"Orders","layers":[{"type":"Layer","name":"Market Buy Orders","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"8ef28bbb-7daf-4e89-996f-8125cf4464f7","savedPayload":{"position":{"x":18499.806237131383,"y":25047.35640053908},"targetPosition":{"x":18559.806237131383,"y":25084.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Buy Orders","id":"c92a34c6-c74b-48ad-a57d-9fb78e3e642c"}}},{"type":"Layer","name":"Market Sell Orders","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"74ce175e-697a-459b-87c7-1dd7a9773312","savedPayload":{"position":{"x":18495.806237131383,"y":25098.35640053908},"targetPosition":{"x":18559.806237131383,"y":25084.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Sell Orders","id":"442e4f1d-e420-43cf-94c8-08282408f555"}}},{"type":"Layer","name":"Limit Buy Orders","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"e4fac985-c39e-4765-9eb4-f7eac5eb0ad3","savedPayload":{"position":{"x":18501.806237131383,"y":25045.35640053908},"targetPosition":{"x":18559.806237131383,"y":25084.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Buy Orders","id":"5beb71e3-23fd-4e79-b7fd-46da219b1112"}}},{"type":"Layer","name":"Limit Sell Orders","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"0356dd2e-b704-4be0-8794-ca197cc18bd1","savedPayload":{"position":{"x":18466.806237131383,"y":25071.35640053908},"targetPosition":{"x":18559.806237131383,"y":25084.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Sell Orders","id":"1d6f14f5-c7fe-4b42-8a1b-5859e6e5a592"}}}],"layerFolders":[],"id":"2b4a8143-844b-46be-beec-0328c5feeeb0","savedPayload":{"position":{"x":18559.806237131383,"y":25084.35640053908},"targetPosition":{"x":18608.806237131383,"y":25008.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Stages","layers":[{"type":"Layer","name":"Trigger Stages","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"f3324490-0585-4cc1-8ca6-82cbba329286","savedPayload":{"position":{"x":18458.806237131383,"y":25018.35640053908},"targetPosition":{"x":18531.806237131383,"y":25106.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trigger Stages","id":"7f256746-a20a-4856-af57-18f91e02fdaf"}}},{"type":"Layer","name":"Open Stages","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"68057302-b007-4c11-937c-f3666e549d06","savedPayload":{"position":{"x":18554.806237131383,"y":25007.35640053908},"targetPosition":{"x":18531.806237131383,"y":25106.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Open Stages","id":"c9b06e1b-2816-4770-b4d2-951b354fa688"}}},{"type":"Layer","name":"Manage Stages","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"ed7d05b5-e17f-4d1b-8877-3771f1ff1f2b","savedPayload":{"position":{"x":18605.806237131383,"y":25063.35640053908},"targetPosition":{"x":18531.806237131383,"y":25106.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Manage Stages","id":"59770c0b-e50d-46d3-b62f-7ea080fcbeb2"}}},{"type":"Layer","name":"Close Stages","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"5f05ebbd-0849-429e-95a0-870672f781ef","savedPayload":{"position":{"x":18436.806237131383,"y":25202.35640053908},"targetPosition":{"x":18531.806237131383,"y":25106.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Close Stages","id":"56915d54-1528-46bf-ad3f-361ca441abc0"}}}],"layerFolders":[],"id":"272eae40-8975-4ffa-984d-9cb015a86913","savedPayload":{"position":{"x":18531.806237131383,"y":25106.35640053908},"targetPosition":{"x":18608.806237131383,"y":25008.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Position","layers":[{"type":"Layer","name":"Positions","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"3f5758b3-7ae1-49eb-87d9-51965408b246","savedPayload":{"position":{"x":18518.806237131383,"y":25044.35640053908},"targetPosition":{"x":18537.806237131383,"y":25076.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Positions","id":"112221cf-8147-484f-a9aa-d86c2402d1b4"}}},{"type":"Layer","name":"Position Base Asset","config":"{\n \"status\": \"off\",\n \"showPanels\": true\n}","id":"2093a6be-57ea-4aea-b1d8-7a5504acf8d0","savedPayload":{"position":{"x":18620.806237131383,"y":25098.35640053908},"targetPosition":{"x":18537.806237131383,"y":25076.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Position Base Asset","id":"b92609ac-310d-482c-a96f-8e90d4c43d72"}}},{"type":"Layer","name":"Position Quoted Asset","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"94e1588e-0c27-4ac2-8b25-cbe4c568b94c","savedPayload":{"position":{"x":18523.806237131383,"y":25144.35640053908},"targetPosition":{"x":18537.806237131383,"y":25076.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Position Quoted Asset","id":"1e037875-a2ee-44c3-8d8e-861f39f9d8a7"}}},{"type":"Layer","name":"Stop Loss","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"e8b96393-0706-4444-a88e-189490c8720f","savedPayload":{"position":{"x":18542.806237131383,"y":25004.35640053908},"targetPosition":{"x":18537.806237131383,"y":25076.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Stop Loss","id":"7f2737da-5aef-4dbf-b86c-80132bcb3289"}}},{"type":"Layer","name":"Take Profit","config":"{\n \"status\": \"off\",\n \"showPanels\": false\n}","id":"1b15b0df-dfbd-4701-a4cf-4a0ad7e51847","savedPayload":{"position":{"x":18461.806237131383,"y":25040.35640053908},"targetPosition":{"x":18537.806237131383,"y":25076.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Take Profit","id":"4d5fcd48-f3df-43c9-818e-70057086a961"}}}],"layerFolders":[],"id":"e2b2ad32-3780-436f-ba33-ec49827eb7c9","savedPayload":{"position":{"x":18537.806237131383,"y":25076.35640053908},"targetPosition":{"x":18608.806237131383,"y":25008.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6de64ba0-66f9-4268-bcc5-da53f800f9cf","savedPayload":{"position":{"x":18608.806237131383,"y":25008.35640053908},"targetPosition":{"x":18704.806237131383,"y":25083.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b605e608-0de4-4b90-a4c5-6fe037da273d","savedPayload":{"position":{"x":18704.806237131383,"y":25083.35640053908},"targetPosition":{"x":18795.806237131383,"y":25171.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c83690b2-8551-43b6-b0a6-ca9366c441e9","savedPayload":{"position":{"x":18795.806237131383,"y":25171.35640053908},"targetPosition":{"x":18821.806237131383,"y":25072.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":300,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"7d983ca2-8566-436b-ab21-445564aba4b3"}}},"id":"45ae1a95-dea4-4d47-a7ce-6c8d8f13dd14","savedPayload":{"position":{"x":18340.99861599605,"y":25652.971642809745},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Sparta","layerManager":{"type":"Layer Manager","name":"Sparta","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"EMA","layers":[{"type":"Layer","name":"Popular EMAs","config":"{ \n\"status\": \"off\"\n}","id":"6443b8e7-7124-465e-9ffb-eca387bfc0c5","savedPayload":{"position":{"x":17434.876898635554,"y":25767.986414195097},"targetPosition":{"x":17714.479259420394,"y":25659.255002709986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Popular EMAs","id":"8b3b410e-0728-457a-a2ac-640f8839592c"}}},{"type":"Layer","name":"Base7 EMAs","config":"{ \n\"status\": \"off\"\n}","id":"1d52126c-9162-4a08-910b-a8648c9c4d30","savedPayload":{"position":{"x":17419.03693351673,"y":25711.349456010066},"targetPosition":{"x":17714.479259420394,"y":25659.255002709986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Base7 EMAs","id":"45eea564-7729-421c-b871-acda5a5ae81e"}}},{"type":"Layer","name":"Base11 EMAs","config":"{ \n\"status\": \"off\"\n}","id":"03f74f67-0ffa-475c-ad79-f78f25fd8841","savedPayload":{"position":{"x":17414.55065129642,"y":25652.71053719962},"targetPosition":{"x":17714.479259420394,"y":25659.255002709986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Base11 EMAs","id":"fe10ecb5-0593-4c6b-9fd0-1729976ce713"}}}],"layerFolders":[],"id":"fdc7f2ac-b6e5-4c2a-873e-708794c567d8","savedPayload":{"position":{"x":17714.479259420394,"y":25659.255002709986},"targetPosition":{"x":18009.921585324057,"y":25607.160549409906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"bb26a76c-f706-496d-bbaa-81475ad0aa60","savedPayload":{"position":{"x":18009.921585324057,"y":25607.160549409906},"targetPosition":{"x":18305.36391122772,"y":25555.066096109826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":450,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Data Mine Products","name":"Sparta","id":"cc85c8b7-657d-4589-8373-ac3ff5cf3c6a"}}},"id":"d449ea7e-cc93-438c-bdc2-84f06c670890","savedPayload":{"position":{"x":18305.36391122772,"y":25555.066096109826},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Masters","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Exchange Raw Data","layers":[],"layerFolders":[],"id":"e341f133-88b2-4dcc-9a82-addc8d68ea45","savedPayload":{"position":{"x":17794.11964522246,"y":25607.180247347285},"targetPosition":{"x":18009.921585324057,"y":25398.782736209585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Candles Volumes","layers":[{"type":"Layer","name":"Candles","config":"{\n \"status\": \"on\",\n \"showPanels\": false\n}","id":"22555671-02c7-4be3-bed8-e808e015ddb7","savedPayload":{"position":{"x":17423.752028739,"y":25520.70617932108},"targetPosition":{"x":17712.841164701586,"y":25440.534666497606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Candles","id":"70d84756-8e7a-4dfc-8aae-abf8affc802f"}}},{"type":"Layer","name":"Volumes","config":"{ \n\"status\": \"off\"\n}","id":"88622f71-4be1-425c-ba9d-8ec10bd3fa74","savedPayload":{"position":{"x":17412.852587782334,"y":25443.15262714712},"targetPosition":{"x":17712.841164701586,"y":25440.534666497606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Volumes","id":"5a47df0f-0524-401a-b5f4-f292eda68238"}}}],"layerFolders":[],"id":"40d6fb03-d3b4-4a3e-8293-21d256246e96","savedPayload":{"position":{"x":17712.841164701586,"y":25440.534666497606},"targetPosition":{"x":18009.921585324057,"y":25398.782736209585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Bollinger Bands","layers":[{"type":"Layer","name":"Bollinger Bands","config":"{ \n\"status\": \"off\"\n}","id":"c7224f35-eb60-41ba-9cef-14891b7549c1","savedPayload":{"position":{"x":17464.03565069186,"y":25152.879052995977},"targetPosition":{"x":17745.03730746638,"y":25257.94126737382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Bands","id":"d50dcdf4-6251-4c59-9a04-d5dedadd86f7"}}},{"type":"Layer","name":"Percentage Bandwidth","config":"{ \n\"status\": \"off\"\n}","id":"3403e533-bccb-4d6a-9c8c-7e7dae15893f","savedPayload":{"position":{"x":17500.802651959486,"y":25083.730380660538},"targetPosition":{"x":17745.03730746638,"y":25257.94126737382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Percentage Bandwidth","id":"1e029c1d-85c8-4d3d-90d8-388bf135d110"}}}],"layerFolders":[],"id":"b9834ac2-04d9-4978-9f7e-1513df5a91a7","savedPayload":{"position":{"x":17745.03730746638,"y":25257.94126737382},"targetPosition":{"x":18009.921585324057,"y":25398.782736209585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Bollinger Channels","layers":[{"type":"Layer","name":"Bollinger Channels Objects","config":"{ \n\"status\": \"off\"\n}","id":"4ed08f32-cb20-433b-b1b4-9506f7f9fa55","savedPayload":{"position":{"x":17687.586775204003,"y":24897.65714730352},"targetPosition":{"x":17878.410241287333,"y":25129.144522319835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Channels Objects","id":"aba646d5-9b32-48d6-abc3-e9fa8405b279"}}},{"type":"Layer","name":"Bollinger Channels","config":"{ \n\"status\": \"off\"\n}","id":"b72da299-ad7b-40ef-b28d-5e06b55d38b4","savedPayload":{"position":{"x":17726.14873239912,"y":24870.655774187377},"targetPosition":{"x":17878.410241287333,"y":25129.144522319835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Channels","id":"241723cd-ae4d-4990-88f8-29bfad2e14ed"}}},{"type":"Layer","name":"Bollinger Sub-Channels Objects","config":"{ \n\"status\": \"off\"\n}","id":"43940d4c-5b47-4eed-afb8-c83dea0a2e86","savedPayload":{"position":{"x":17768.459873270043,"y":24850.019251925227},"targetPosition":{"x":17878.410241287333,"y":25129.144522319835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Sub-Channels Objects","id":"e171424f-d37d-46d5-aada-1d66ccb0961f"}}},{"type":"Layer","name":"Bollinger Sub-Channels","config":"{ \n\"status\": \"off\"\n}","id":"44bfe72d-d563-4d7d-94f6-32b251ea8519","savedPayload":{"position":{"x":17813.4783571059,"y":24836.255720183854},"targetPosition":{"x":17878.410241287333,"y":25129.144522319835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Sub-Channels","id":"f8686b62-8ca9-4b30-9c27-9844c109d987"}}}],"layerFolders":[],"id":"e9f0e366-b340-487a-b7f9-40f37e7994da","savedPayload":{"position":{"x":17878.410241287333,"y":25129.144522319835},"targetPosition":{"x":18009.921585324057,"y":25398.782736209585},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a2cae263-03ad-4322-b867-14cbb3a3653a","savedPayload":{"position":{"x":18009.921585324057,"y":25398.782736209585},"targetPosition":{"x":18305.36391122772,"y":25450.877189509665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":600,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Data Mine Products","name":"Masters","id":"f527bdd3-f5bc-4248-a35f-ac7e591c3aec"}}},"id":"bcdf169d-6297-4f61-b125-2aacefdc4f18","savedPayload":{"position":{"x":18305.36391122772,"y":25450.877189509665},"targetPosition":{"x":18600.806237131383,"y":25502.971642809745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c36f98d3-5b61-4f02-bad5-c97fbe968d5c","savedPayload":{"position":{"x":18600.806237131383,"y":25502.971642809745},"targetPosition":{"x":18750.806237131383,"y":25243.164021674413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":0,"y":0},"width":240,"height":112.375,"radius":0},"referenceParent":{"type":"Backtesting Session","name":"WHB v2","id":"1ff8cd88-dcd9-4528-b406-05647ddd8c9c"}}}],"id":"97979c42-ea93-4e10-8af1-20a6658b6d57","savedPayload":{"position":{"x":18750.806237131383,"y":25243.164021674413},"targetPosition":{"x":18900.806237131383,"y":24983.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Testing Environment","name":"New Testing Environment","id":"5882d8a8-345b-4188-b1c1-797e9ff805d9"}}},{"type":"Dashboard","name":"Production Environment My Computer","timeMachines":[{"type":"Time Machine","name":"WHB v2 Live Trading Session My Computer","config":"{}","timeScale":{"type":"Time Scale","name":"New Time Scale","config":"{\n \"autoMinScale\": true,\n \"autoMaxScale\": true,\n \"fromDate\": \"2020-01-01T00:00:00.000Z\",\n \"toDate\": \"2020-10-09T23:59:59.999Z\"\n}","id":"9e3b6145-28ed-4709-9e82-9eba74e55c19","savedPayload":{"position":{"x":18305.36391122772,"y":24515.835611568495},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"rateScale":{"type":"Rate Scale","name":"New Rate Scale","config":"{\n \"autoMinScale\": true,\n \"autoMaxScale\": true,\n \"minValue\": 3744.3087,\n \"maxValue\": 12592.68\n}","id":"e2887721-8e49-482a-8bfe-d1c0d84c5b1e","savedPayload":{"position":{"x":18305.36391122772,"y":24411.646704968334},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timeFrameScale":{"type":"Time Frame Scale","name":"New Time Frame Scale","config":"{ \n\"value\": \"24-hs\"\n}","id":"c06978cc-97da-4321-bcec-1be366f04b3e","savedPayload":{"position":{"x":18340.99861599605,"y":24313.741158268414},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"timelineCharts":[{"type":"Timeline Chart","name":"Trading Engine","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Trading Engine","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Episode","layers":[{"type":"Layer","name":"Episode Counters","config":"{ \n\"status\": \"off\"\n}","id":"f1f95b78-c2c3-4271-bcb6-91b79825858e","savedPayload":{"position":{"x":18669.806237131383,"y":25026.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Counters","id":"4d1ea2bf-5a1d-4b37-9719-007e28b81184"}}},{"type":"Layer","name":"Episode Statistics","config":"{ \n\"status\": \"off\"\n}","id":"ae5b3b26-2687-4b2a-828f-e6275553ef2f","savedPayload":{"position":{"x":18667.806237131383,"y":24997.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Statistics","id":"2c4ef698-66da-4079-90ec-9fdf5ce41be7"}}},{"type":"Layer","name":"Episode Candle","config":"{ \n\"status\": \"off\"\n}","id":"fc1bc47c-3e1a-4b5a-ba84-8882868e400a","savedPayload":{"position":{"x":18711.806237131383,"y":25071.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Candle","id":"5ee16bd3-cb60-4b92-ab67-d56dfbdd8671"}}},{"type":"Layer","name":"Episode Balances","config":"{ \n\"status\": \"off\"\n}","id":"caa2849f-552d-4762-97eb-ed66670e71b5","savedPayload":{"position":{"x":18847.806237131383,"y":24978.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Balances","id":"660caa52-ba9a-4829-9143-3ca16f2590aa"}}},{"type":"Layer","name":"Distance To Event","config":"{ \n\"status\": \"off\"\n}","id":"57949a00-f277-4a9b-b480-8c4d7749eea6","savedPayload":{"position":{"x":18818.806237131383,"y":25085.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Distance To Event","id":"382ccb5c-e0c3-4e34-97b9-599cf5d6792d"}}},{"type":"Layer","name":"Episode Base Asset","config":"{ \n\"status\": \"off\"\n}","id":"a5dc3f74-ae54-491f-8761-dd1ff593d7e1","savedPayload":{"position":{"x":18858.806237131383,"y":25140.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Base Asset","id":"42d86745-d971-4328-a908-91bf6d19a019"}}},{"type":"Layer","name":"Episode Quoted Asset","config":"{ \n\"status\": \"off\"\n}","id":"e904ccb9-94fe-4d2a-80b9-aef73a46b84a","savedPayload":{"position":{"x":18793.806237131383,"y":25079.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episode Quoted Asset","id":"7dbf878d-588f-422e-acd2-03968abaf5f0"}}},{"type":"Layer","name":"Current Episode","config":"{ \n\"status\": \"off\"\n}","id":"6fa6eec1-da47-451c-96ff-24de0a07a68f","savedPayload":{"position":{"x":18844.806237131383,"y":25083.35640053908},"targetPosition":{"x":18762.806237131383,"y":25042.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Episode","id":"d678dfa8-544b-456f-b3f0-715579440aa2"}}}],"layerFolders":[],"id":"c37d2dd1-f13a-466a-a217-ec8ae805f8d2","savedPayload":{"position":{"x":18762.806237131383,"y":25042.35640053908},"targetPosition":{"x":18788.806237131383,"y":24986.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Strategy","layers":[{"type":"Layer","name":"Current Strategy","config":"{ \n\"status\": \"off\"\n}","id":"938325be-e1cd-42ec-9d48-4b7284833347","savedPayload":{"position":{"x":18835.806237131383,"y":24930.35640053908},"targetPosition":{"x":18880.806237131383,"y":24943.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Strategy","id":"07b721a0-55e0-4e7a-b0e2-a91e8c76de4f"}}},{"type":"Layer","name":"Last Strategy","config":"{ \n\"status\": \"off\"\n}","id":"b82d691f-9709-42c6-a6f4-c0b7d83a1839","savedPayload":{"position":{"x":18804.806237131383,"y":24843.35640053908},"targetPosition":{"x":18880.806237131383,"y":24943.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Strategy","id":"15f34c1a-b30d-4dd1-96e0-8a2646de3635"}}}],"layerFolders":[],"id":"d27b2ba3-8ab6-45c8-a50d-7bdd2e39a1b2","savedPayload":{"position":{"x":18880.806237131383,"y":24943.35640053908},"targetPosition":{"x":18788.806237131383,"y":24986.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Position","layers":[{"type":"Layer","name":"Current Position","config":"{ \n\"status\": \"off\"\n}","id":"635f4c80-d3ae-4382-a6fa-656e1c25aab6","savedPayload":{"position":{"x":18797.806237131383,"y":25147.35640053908},"targetPosition":{"x":18851.806237131383,"y":25068.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Current Position","id":"ab53428d-89a3-4b1f-84b1-d5bd1d957f02"}}},{"type":"Layer","name":"Last Position","config":"{ \n\"status\": \"off\"\n}","id":"ee8464c4-513c-4248-aa78-19d91d6e2789","savedPayload":{"position":{"x":18841.806237131383,"y":25009.35640053908},"targetPosition":{"x":18851.806237131383,"y":25068.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Position","id":"5909ca07-e00c-4669-9cd3-17eb83796f31"}}}],"layerFolders":[],"id":"44bb52f1-bcc7-4f05-8c2f-48d675deb366","savedPayload":{"position":{"x":18851.806237131383,"y":25068.35640053908},"targetPosition":{"x":18788.806237131383,"y":24986.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Stages","layers":[{"type":"Layer","name":"Open Stage","config":"{ \n\"status\": \"off\"\n}","id":"c3243adf-912b-47da-9404-39811daf5efa","savedPayload":{"position":{"x":18720.806237131383,"y":24987.35640053908},"targetPosition":{"x":18703.806237131383,"y":25000.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Open Stage","id":"68803338-3e70-443f-90fd-8b36f5378f31"}}},{"type":"Layer","name":"Close Stage","config":"{ \n\"status\": \"off\"\n}","id":"8e74ff15-a7d9-433c-9252-2b41664138a9","savedPayload":{"position":{"x":18658.806237131383,"y":25047.35640053908},"targetPosition":{"x":18703.806237131383,"y":25000.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Close Stage","id":"2d2dd9df-d00a-4d69-9b29-66e19d0238fe"}}},{"type":"Layer","name":"Trigger Stage","config":"{ \n\"status\": \"off\"\n}","id":"f093b5a0-e006-4fc8-a1a4-526ddabe03a6","savedPayload":{"position":{"x":18688.806237131383,"y":24936.35640053908},"targetPosition":{"x":18703.806237131383,"y":25000.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trigger Stage","id":"7a71d0ce-5592-4b70-b30c-9676b67feb47"}}},{"type":"Layer","name":"Manage Stage","config":"{ \n\"status\": \"off\"\n}","id":"417dbc47-0de8-4b43-9807-6321269b1bad","savedPayload":{"position":{"x":18622.806237131383,"y":24922.35640053908},"targetPosition":{"x":18703.806237131383,"y":25000.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Manage Stage","id":"5b233b81-aa5f-4222-9772-5c8810cb683a"}}}],"layerFolders":[],"id":"2d472757-6f85-45c7-bf7f-459d3d87bbfa","savedPayload":{"position":{"x":18703.806237131383,"y":25000.35640053908},"targetPosition":{"x":18788.806237131383,"y":24986.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Orders","layers":[{"type":"Layer","name":"Market Buy Orders","config":"{ \n\"status\": \"off\"\n}","id":"9b2d6215-dc66-47f1-bafe-233d262f0b26","savedPayload":{"position":{"x":18623.806237131383,"y":25126.35640053908},"targetPosition":{"x":18709.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Buy Orders","id":"0487769a-1b78-45ce-8750-6cb55c0785f4"}}},{"type":"Layer","name":"Market Sell Orders","config":"{ \n\"status\": \"off\"\n}","id":"185c3169-d930-4413-a912-6e2d20088562","savedPayload":{"position":{"x":18677.806237131383,"y":24952.35640053908},"targetPosition":{"x":18709.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Sell Orders","id":"6e666549-9e9f-42d3-b543-fc0ce961cc64"}}},{"type":"Layer","name":"Limit Buy Orders","config":"{ \n\"status\": \"off\"\n}","id":"b6d40f2a-3f43-4aaa-bfc3-0a3e28278961","savedPayload":{"position":{"x":18780.806237131383,"y":25035.35640053908},"targetPosition":{"x":18709.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Buy Orders","id":"a596b5e6-666d-4da0-bd2f-2b65292b8d87"}}},{"type":"Layer","name":"Limit Sell Orders","config":"{ \n\"status\": \"off\"\n}","id":"064d574e-fa92-43d3-a182-3f426dd2c3c1","savedPayload":{"position":{"x":18732.806237131383,"y":24994.35640053908},"targetPosition":{"x":18709.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Sell Orders","id":"528f2741-eda9-4dd4-b731-8110336c0a34"}}},{"type":"Layer","name":"Last Market Order","config":"{ \n\"status\": \"off\"\n}","id":"8ba82947-b00d-438a-b384-1786af913e30","savedPayload":{"position":{"x":18763.806237131383,"y":25069.35640053908},"targetPosition":{"x":18709.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Market Order","id":"0d7a0263-dc84-4b4a-a6cc-ad6c3f9824fe"}}},{"type":"Layer","name":"Last Limit Order","config":"{ \n\"status\": \"off\"\n}","id":"f1ece4d3-1d8c-432c-a5d3-78b0d437ad68","savedPayload":{"position":{"x":18641.806237131383,"y":24984.35640053908},"targetPosition":{"x":18709.806237131383,"y":25029.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Last Limit Order","id":"51e9b95a-96c1-4cf4-a188-9669c73c7e8e"}}}],"layerFolders":[],"id":"2355f3c7-a7a4-44c9-aab7-23c6fa62113e","savedPayload":{"position":{"x":18709.806237131383,"y":25029.35640053908},"targetPosition":{"x":18788.806237131383,"y":24986.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ec0a181b-98eb-4e8e-8638-e2ab1c0d1d36","savedPayload":{"position":{"x":18788.806237131383,"y":24986.35640053908},"targetPosition":{"x":18787.806237131383,"y":24955.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fe8004ba-62be-44b0-9eb7-b9f1f8563e09","savedPayload":{"position":{"x":18787.806237131383,"y":24955.35640053908},"targetPosition":{"x":18747.806237131383,"y":25054.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"89ae209b-5e81-4414-8754-eb734a59b417","savedPayload":{"position":{"x":18747.806237131383,"y":25054.35640053908},"targetPosition":{"x":18815.806237131383,"y":25073.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":300,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"ffdfebe3-50db-41b5-8077-7a7d0d008865"}}},"id":"3664debe-440e-4226-bb00-d56d2d97daff","savedPayload":{"position":{"x":18407.96995422542,"y":24233.92782533272},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Trading System","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Trading System","layers":[{"type":"Layer","name":"Trading System Errors","config":"{ \n\"status\": \"off\"\n}","id":"2a3273c5-d373-480f-8e58-5f0479049a89","savedPayload":{"position":{"x":18848.806237131383,"y":24905.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Errors","id":"1c539f66-a512-4cd9-b974-622b95e2cca9"}}},{"type":"Layer","name":"Trading System Highlights","config":"{ \n\"status\": \"off\"\n}","id":"cc124ad2-8e2e-4caa-b324-42f74494c7cf","savedPayload":{"position":{"x":18830.806237131383,"y":24964.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Highlights","id":"409e6575-034e-4d3d-99e5-0495ba229622"}}},{"type":"Layer","name":"Trading System Values","config":"{ \n\"status\": \"off\"\n}","id":"7f291996-c831-4fd6-9e32-bd939e6618a2","savedPayload":{"position":{"x":18799.806237131383,"y":24837.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Values","id":"55245047-2d2d-4a04-97f9-d413d82375a9"}}},{"type":"Layer","name":"Trading System Status","config":"{ \n\"status\": \"off\"\n}","id":"52322cb7-4fb2-4b11-9372-f834de6e41e7","savedPayload":{"position":{"x":18772.806237131383,"y":24997.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Status","id":"9f9ea8fa-0769-44b9-a4f1-86f2c3a22195"}}},{"type":"Layer","name":"Trading System Progress","config":"{ \n\"status\": \"off\"\n}","id":"71473cf3-6f27-498c-bbb6-7dcce412502d","savedPayload":{"position":{"x":18956.806237131383,"y":24938.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Progress","id":"d2e7ed86-a88f-484b-ab5f-d6212cb7045f"}}},{"type":"Layer","name":"Trading System Running","config":"{ \n\"status\": \"off\"\n}","id":"032120ab-1bbe-46cf-8986-24b3e2869aa9","savedPayload":{"position":{"x":18820.806237131383,"y":24953.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Running","id":"0a0b3b0e-cac0-42a3-8825-637b2b78afad"}}},{"type":"Layer","name":"Trading System Announcements","config":"{ \n\"status\": \"off\"\n}","id":"742f34cd-23ff-4b8d-b070-b28e19f7e821","savedPayload":{"position":{"x":18856.806237131383,"y":24857.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Announcements","id":"b79dfe54-361e-44f2-87ce-5e012bba3bcd"}}},{"type":"Layer","name":"Trading System Warnings","config":"{ \n\"status\": \"off\"\n}","id":"e575fb48-fd1d-479c-aa3b-baa983463ae5","savedPayload":{"position":{"x":18847.806237131383,"y":24897.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Warnings","id":"29681b5e-16e2-4bc0-816e-537b271c0ea5"}}},{"type":"Layer","name":"Trading System Infos","config":"{ \n\"status\": \"off\"\n}","id":"c1132f1c-eb35-4e60-b855-576f9393a008","savedPayload":{"position":{"x":18823.806237131383,"y":24904.35640053908},"targetPosition":{"x":18866.806237131383,"y":24914.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trading System Infos","id":"3da52870-d76c-4e37-9247-9eecfdbb64ec"}}}],"layerFolders":[],"id":"3c36ab4e-20df-4ed1-ba62-3c1af51f24a9","savedPayload":{"position":{"x":18866.806237131383,"y":24914.35640053908},"targetPosition":{"x":18922.806237131383,"y":24892.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9be3a6b8-f673-4ff7-8978-732494fdd1de","savedPayload":{"position":{"x":18922.806237131383,"y":24892.35640053908},"targetPosition":{"x":18844.806237131383,"y":24921.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fe7408ef-04ca-4b85-bcde-4bb82f7c974f","savedPayload":{"position":{"x":18844.806237131383,"y":24921.35640053908},"targetPosition":{"x":18865.806237131383,"y":24967.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":450,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"ffdfebe3-50db-41b5-8077-7a7d0d008865"}}},"id":"00ae8c42-9686-470d-8167-178b41cc06ec","savedPayload":{"position":{"x":18498.200194133682,"y":24181.83337203264},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Simulation Objects","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Low Frequency","layers":[],"layerFolders":[{"type":"Layer Folder","name":"Simulation Objects","layers":[{"type":"Layer","name":"Episodes","config":"{ \n\"status\": \"off\"\n}","id":"66623184-4f58-4be2-ae6a-ab12eddf30a2","savedPayload":{"position":{"x":18878.806237131383,"y":25149.35640053908},"targetPosition":{"x":18816.806237131383,"y":25193.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Episodes","id":"802ebea8-becf-45e5-b761-078cad3acd74"}}},{"type":"Layer","name":"Strategies","config":"{ \n\"status\": \"off\"\n}","id":"6bd41ea0-15bb-40d0-a977-f85aebd8f172","savedPayload":{"position":{"x":18887.806237131383,"y":25292.35640053908},"targetPosition":{"x":18816.806237131383,"y":25193.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Strategies","id":"601cbf34-9a33-4066-9709-b23c6c34b17d"}}}],"layerFolders":[{"type":"Layer Folder","name":"Orders","layers":[{"type":"Layer","name":"Market Buy Orders","config":"{ \n\"status\": \"off\"\n}","id":"ca0a428f-b7e6-41ab-b4b4-cff6c14e6693","savedPayload":{"position":{"x":18822.806237131383,"y":25105.35640053908},"targetPosition":{"x":18860.806237131383,"y":25166.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Buy Orders","id":"e1516339-ebcb-4840-a23d-cebd855911b6"}}},{"type":"Layer","name":"Market Sell Orders","config":"{ \n\"status\": \"off\"\n}","id":"e20857f3-6fe7-472f-ac3e-888b7e28fc4d","savedPayload":{"position":{"x":18896.806237131383,"y":25086.35640053908},"targetPosition":{"x":18860.806237131383,"y":25166.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Market Sell Orders","id":"57a0d52c-d2a3-4fd3-907c-66fd51cecdc6"}}},{"type":"Layer","name":"Limit Buy Orders","config":"{ \n\"status\": \"off\"\n}","id":"88646088-3689-4547-b974-0d0d0d56b2b6","savedPayload":{"position":{"x":18869.806237131383,"y":25207.35640053908},"targetPosition":{"x":18860.806237131383,"y":25166.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Buy Orders","id":"b67b6a65-5bd1-4b58-aa65-a8b840c54d9b"}}},{"type":"Layer","name":"Limit Sell Orders","config":"{ \n\"status\": \"off\"\n}","id":"40bed7b6-261e-4527-8e6a-51f99c69b576","savedPayload":{"position":{"x":18772.806237131383,"y":25066.35640053908},"targetPosition":{"x":18860.806237131383,"y":25166.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Limit Sell Orders","id":"c27b0f50-fdad-4b69-a99e-2708806066aa"}}}],"layerFolders":[],"id":"94d0f42e-b7c8-4831-914b-1fae457e4046","savedPayload":{"position":{"x":18860.806237131383,"y":25166.35640053908},"targetPosition":{"x":18816.806237131383,"y":25193.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Stages","layers":[{"type":"Layer","name":"Trigger Stages","config":"{ \n\"status\": \"off\"\n}","id":"dc2dab26-6c18-4995-b0b4-93b85624ab06","savedPayload":{"position":{"x":18668.806237131383,"y":25101.35640053908},"targetPosition":{"x":18753.806237131383,"y":25139.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Trigger Stages","id":"bc3d588e-823d-4461-b550-b8ec912c4c8f"}}},{"type":"Layer","name":"Open Stages","config":"{ \n\"status\": \"off\"\n}","id":"4dfc372b-4de6-4aec-b29f-99e5410d001e","savedPayload":{"position":{"x":18700.806237131383,"y":25053.35640053908},"targetPosition":{"x":18753.806237131383,"y":25139.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Open Stages","id":"edb07104-591d-453b-b7fe-bd3854ff8a36"}}},{"type":"Layer","name":"Manage Stages","config":"{ \n\"status\": \"off\"\n}","id":"af792d27-879d-4a3c-a83b-bf2e79376ee3","savedPayload":{"position":{"x":18849.806237131383,"y":25113.35640053908},"targetPosition":{"x":18753.806237131383,"y":25139.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Manage Stages","id":"9b884f77-297b-4618-ac4b-b995570284b6"}}},{"type":"Layer","name":"Close Stages","config":"{ \n\"status\": \"off\"\n}","id":"bf4d6a12-d08d-4e8c-9591-31317c974358","savedPayload":{"position":{"x":18710.806237131383,"y":25150.35640053908},"targetPosition":{"x":18753.806237131383,"y":25139.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Close Stages","id":"c07cc0bb-c49e-42d1-a5ba-f5fa9882fbab"}}}],"layerFolders":[],"id":"bf12f50e-de09-4563-8253-01c39ac87962","savedPayload":{"position":{"x":18753.806237131383,"y":25139.35640053908},"targetPosition":{"x":18816.806237131383,"y":25193.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Layer Folder","name":"Position","layers":[{"type":"Layer","name":"Positions","config":"{ \n\"status\": \"off\"\n}","id":"841f1809-e887-47c9-bec3-9e339a8a175d","savedPayload":{"position":{"x":18832.806237131383,"y":25073.35640053908},"targetPosition":{"x":18742.806237131383,"y":25145.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Positions","id":"0e3c5d47-28d9-4cd3-ad72-1bdb054550a8"}}},{"type":"Layer","name":"Position Base Asset","config":"{ \n\"status\": \"off\"\n}","id":"50c17ba9-287e-4c3f-9a46-1f7d6ad15633","savedPayload":{"position":{"x":18684.806237131383,"y":25198.35640053908},"targetPosition":{"x":18742.806237131383,"y":25145.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Position Base Asset","id":"47ffaf48-d92f-4da8-afb3-7787c5ba597e"}}},{"type":"Layer","name":"Position Quoted Asset","config":"{ \n\"status\": \"off\"\n}","id":"9659c4bd-ce07-469d-9d2d-2675ca6e81b5","savedPayload":{"position":{"x":18693.806237131383,"y":25142.35640053908},"targetPosition":{"x":18742.806237131383,"y":25145.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Position Quoted Asset","id":"59eb8fe6-5429-4d2d-8971-47580c5816b8"}}},{"type":"Layer","name":"Stop Loss","config":"{ \n\"status\": \"off\"\n}","id":"9e506a39-2fc1-4ac0-b5d4-7bf76a73d0f9","savedPayload":{"position":{"x":18729.806237131383,"y":25097.35640053908},"targetPosition":{"x":18742.806237131383,"y":25145.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Stop Loss","id":"13a4d476-b8bb-4bb3-9a97-1c2a7b5c6188"}}},{"type":"Layer","name":"Take Profit","config":"{ \n\"status\": \"off\"\n}","id":"e13f9336-7bdc-4459-aca9-dc5d9747a69c","savedPayload":{"position":{"x":18742.806237131383,"y":25085.35640053908},"targetPosition":{"x":18742.806237131383,"y":25145.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Take Profit","id":"1af2f188-5506-47ff-859b-08e8f1c56754"}}}],"layerFolders":[],"id":"c42efa3e-8cef-458f-82dd-30ddc130a306","savedPayload":{"position":{"x":18742.806237131383,"y":25145.35640053908},"targetPosition":{"x":18816.806237131383,"y":25193.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b27076de-7c3a-43f6-be80-88d0792c245e","savedPayload":{"position":{"x":18816.806237131383,"y":25193.35640053908},"targetPosition":{"x":18883.806237131383,"y":25193.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"79584687-bd14-42e6-856e-8708b13d1951","savedPayload":{"position":{"x":18883.806237131383,"y":25193.35640053908},"targetPosition":{"x":18845.806237131383,"y":25134.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a74f69c4-085d-465f-973f-34fbe4da72d4","savedPayload":{"position":{"x":18845.806237131383,"y":25134.35640053908},"targetPosition":{"x":18746.806237131383,"y":25045.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":600,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Trading Mine Products","name":"Masters","id":"ffdfebe3-50db-41b5-8077-7a7d0d008865"}}},"id":"73f3b68a-98c7-4c1b-9ddc-82dccb1e8ab7","savedPayload":{"position":{"x":18600.806237131383,"y":24163.741158268414},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Sparta","layerManager":{"type":"Layer Manager","name":"Sparta","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"EMA","layers":[{"type":"Layer","name":"Popular EMAs","config":"{ \n\"status\": \"off\"\n}","id":"55b6fec0-3624-475f-9e9a-2bcb1e4e8df2","savedPayload":{"position":{"x":18954.261381981458,"y":23321.509346420764},"targetPosition":{"x":18908.624366124484,"y":23618.017799561094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Popular EMAs","id":"8b3b410e-0728-457a-a2ac-640f8839592c"}}},{"type":"Layer","name":"Base7 EMAs","config":"{ \n\"status\": \"off\"\n}","id":"5336c2ad-aa2d-4a96-a589-b1b4bd1b4ab8","savedPayload":{"position":{"x":19011.230409122185,"y":23336.11001332532},"targetPosition":{"x":18908.624366124484,"y":23618.017799561094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Base7 EMAs","id":"45eea564-7729-421c-b871-acda5a5ae81e"}}},{"type":"Layer","name":"Base11 EMAs","config":"{ \n\"status\": \"off\"\n}","id":"b112b862-311b-4638-9c1f-04c014581a54","savedPayload":{"position":{"x":19064.25634357264,"y":23361.54423835921},"targetPosition":{"x":18908.624366124484,"y":23618.017799561094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Base11 EMAs","id":"fe10ecb5-0593-4c6b-9fd0-1729976ce713"}}}],"layerFolders":[],"id":"612cf965-a657-4def-ada8-89f938d1c00d","savedPayload":{"position":{"x":18908.624366124484,"y":23618.017799561094},"targetPosition":{"x":18806.018323126784,"y":23899.925585796867},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b57ed65d-02a6-460f-a6df-dd76e41646a8","savedPayload":{"position":{"x":18806.018323126784,"y":23899.925585796867},"targetPosition":{"x":18703.412280129083,"y":24181.83337203264},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":0,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Data Mine Products","name":"Sparta","id":"cc85c8b7-657d-4589-8373-ac3ff5cf3c6a"}}},"id":"61e1c989-2f17-4d3d-9327-232b3a5f3bd8","savedPayload":{"position":{"x":18703.412280129083,"y":24181.83337203264},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Timeline Chart","name":"Masters","layerManager":{"type":"Layer Manager","name":"Masters","config":"{\n \"visibleLayers\": 2,\n \"panelLocation\": {\n \"upOrDown\": \"up\",\n \"leftOrRight\": \"left\"\n }\n}","layers":[],"botLayers":[{"type":"Bot Layers","name":"Exchange Raw Data","layers":[],"layerFolders":[],"id":"bbd0630d-361d-4f6e-ac32-f3797740891a","savedPayload":{"position":{"x":18913.90223426341,"y":23713.02577451423},"targetPosition":{"x":18986.478802943308,"y":24004.114492397028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Candles Volumes","layers":[{"type":"Layer","name":"Candles","config":"{\n \"status\": \"on\",\n \"showPanels\": true\n}","id":"e154fbee-086a-496b-ad92-9b7586c80604","savedPayload":{"position":{"x":19173.974782184414,"y":23435.515043913558},"targetPosition":{"x":19098.86078096808,"y":23725.95933602699},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Candles","id":"70d84756-8e7a-4dfc-8aae-abf8affc802f"}}},{"type":"Layer","name":"Volumes","config":"{ \n\"status\": \"off\"\n}","id":"fcab2754-0ea7-4077-a384-f2078642641c","savedPayload":{"position":{"x":19246.58784899912,"y":23464.85262724502},"targetPosition":{"x":19098.86078096808,"y":23725.95933602699},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Volumes","id":"5a47df0f-0524-401a-b5f4-f292eda68238"}}}],"layerFolders":[],"id":"e39078b8-8050-47b3-bed2-3c4002a1032b","savedPayload":{"position":{"x":19098.86078096808,"y":23725.95933602699},"targetPosition":{"x":18986.478802943308,"y":24004.114492397028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Bollinger Bands","layers":[{"type":"Layer","name":"Bollinger Bands","config":"{ \n\"status\": \"off\"\n}","id":"e0f8dd99-047e-488a-bb10-2781d91aad82","savedPayload":{"position":{"x":19472.380606806553,"y":23654.315247043738},"targetPosition":{"x":19240.893231790236,"y":23845.138713127068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Bands","id":"d50dcdf4-6251-4c59-9a04-d5dedadd86f7"}}},{"type":"Layer","name":"Percentage Bandwidth","config":"{ \n\"status\": \"off\"\n}","id":"6b54bcb1-0672-448c-9efa-af5bd47ed9da","savedPayload":{"position":{"x":19513.8816130532,"y":23720.730740330197},"targetPosition":{"x":19240.893231790236,"y":23845.138713127068},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Percentage Bandwidth","id":"1e029c1d-85c8-4d3d-90d8-388bf135d110"}}}],"layerFolders":[],"id":"8f5122b2-7b52-4b7f-9464-9fbd1b8085cc","savedPayload":{"position":{"x":19240.893231790236,"y":23845.138713127068},"targetPosition":{"x":18986.478802943308,"y":24004.114492397028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Bot Layers","name":"Bollinger Channels","layers":[{"type":"Layer","name":"Bollinger Channels Objects","config":"{ \n\"status\": \"off\"\n}","id":"000ec7dc-1137-48fe-baa6-bfdc3cc6d1d2","savedPayload":{"position":{"x":19581.633698482423,"y":23975.527152762064},"targetPosition":{"x":19285.748018021255,"y":24025.041434520266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Channels Objects","id":"aba646d5-9b32-48d6-abc3-e9fa8405b279"}}},{"type":"Layer","name":"Bollinger Channels","config":"{ \n\"status\": \"off\"\n}","id":"ae13c978-a98c-45d4-939b-c0302c93b95f","savedPayload":{"position":{"x":19585.736594940507,"y":24022.423473870753},"targetPosition":{"x":19285.748018021255,"y":24025.041434520266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Channels","id":"241723cd-ae4d-4990-88f8-29bfad2e14ed"}}},{"type":"Layer","name":"Bollinger Sub-Channels Objects","config":"{ \n\"status\": \"off\"\n}","id":"40bc0669-59ed-47b3-85fa-56ec06d17793","savedPayload":{"position":{"x":19582.45277702983,"y":24069.38425785915},"targetPosition":{"x":19285.748018021255,"y":24025.041434520266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Sub-Channels Objects","id":"e171424f-d37d-46d5-aada-1d66ccb0961f"}}},{"type":"Layer","name":"Bollinger Sub-Channels","config":"{ \n\"status\": \"off\"\n}","id":"170ad2e1-ae15-46d1-b630-9c508171f250","savedPayload":{"position":{"x":19571.863103245723,"y":24115.253174371548},"targetPosition":{"x":19285.748018021255,"y":24025.041434520266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":4,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Data Product","name":"Bollinger Sub-Channels","id":"f8686b62-8ca9-4b30-9c27-9844c109d987"}}}],"layerFolders":[],"id":"ded0c3aa-12ff-4b98-b612-33e8b13ad0b9","savedPayload":{"position":{"x":19285.748018021255,"y":24025.041434520266},"targetPosition":{"x":18986.478802943308,"y":24004.114492397028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"723329d0-b912-46fa-b7d9-60bc634a1b91","savedPayload":{"position":{"x":18986.478802943308,"y":24004.114492397028},"targetPosition":{"x":18793.642520037345,"y":24233.92782533272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":150,"y":80},"width":150,"height":190,"radius":0},"referenceParent":{"type":"Data Mine Products","name":"Masters","id":"f527bdd3-f5bc-4248-a35f-ac7e591c3aec"}}},"id":"808378d4-842e-48e9-8684-78400dfd8e66","savedPayload":{"position":{"x":18793.642520037345,"y":24233.92782533272},"targetPosition":{"x":18600.806237131383,"y":24463.741158268414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"09b9e440-eb36-4c7b-90bb-01ff86676d62","savedPayload":{"position":{"x":18600.806237131383,"y":24463.741158268414},"targetPosition":{"x":18750.806237131383,"y":24723.548779403747},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":0,"y":224.75},"width":240,"height":112.375,"radius":0},"referenceParent":{"type":"Live Trading Session","name":"WHB v2","id":"934095e8-4a1c-4baf-828f-7818f73c4219"}}}],"id":"b7e04999-97b0-400a-bd6b-63d9ef43a028","savedPayload":{"position":{"x":18750.806237131383,"y":24723.548779403747},"targetPosition":{"x":18900.806237131383,"y":24983.35640053908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Production Environment","name":"New Production Environment","id":"65a40d20-837c-4652-8356-f8054b4e1346"}}}],"id":"21d2ec55-9e56-4652-8e96-c7e451262c36","savedPayload":{"position":{"x":18900.806237131383,"y":24983.35640053908},"targetPosition":{"x":18900.806237131383,"y":24983.35640053908},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":"c"}}},{"type":"Plugins","name":"New Plugins","pluginDataMines":{"type":"Plugin Data Mines","name":"New Plugin Data Mines","pluginFiles":[{"type":"Plugin File","name":"Masters","pluginFilePosition":{"type":"Plugin File Position","name":"Masters","id":"d5234bd2-ef4e-4856-a6a0-ce7659653a48","savedPayload":{"position":{"x":18879.35218735615,"y":18688.55301821844},"targetPosition":{"x":31380.185902390363,"y":18528.802375894946},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ecc1a524-de9b-4e73-8874-b99a7ea0402b","savedPayload":{"position":{"x":31380.185902390363,"y":18528.802375894946},"targetPosition":{"x":31120.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plugin File","name":"Sparta","pluginFilePosition":{"type":"Plugin File Position","name":"Sparta","id":"2ccc5e2f-816d-411a-98dd-19f384c4fb56","savedPayload":{"position":{"x":12827.993523525696,"y":18705.802375894946},"targetPosition":{"x":31380.185902390363,"y":18828.802375894946},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"6cd79166-dec1-46e5-a54d-ce3ee5d877c2","savedPayload":{"position":{"x":31380.185902390363,"y":18828.802375894946},"targetPosition":{"x":31120.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cbc3d9be-5e59-45d8-bb0f-4ec82763691d","savedPayload":{"position":{"x":31120.37828125503,"y":18678.802375894946},"targetPosition":{"x":30820.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginTradingMines":{"type":"Plugin Trading Mines","name":"New Plugin Trading Mines","pluginFiles":[{"type":"Plugin File","name":"Masters","pluginFilePosition":{"type":"Plugin File Position","name":"Masters","id":"ad1ce785-858f-4cfc-ba68-108b5e0c54d9","savedPayload":{"position":{"x":24941.217404066585,"y":18714.893045797242},"targetPosition":{"x":31120.37828125503,"y":19198.41761816561},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8a64c00e-4f8c-49bf-b57d-4e2e388bae41","savedPayload":{"position":{"x":31120.37828125503,"y":19198.41761816561},"targetPosition":{"x":30970.37828125503,"y":18938.60999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8d881813-3ab9-4e8b-ab5a-48dedab2dd19","savedPayload":{"position":{"x":30970.37828125503,"y":18938.60999703028},"targetPosition":{"x":30820.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginTradingSystems":{"type":"Plugin Trading Systems","name":"New Plugin Trading Systems","pluginFiles":[{"type":"Plugin File","name":"Sparta-WHB-BTC-USDT","pluginFilePosition":{"type":"Plugin File Position","name":"Sparta-WHB-BTC-USDT","id":"0d138b32-51ae-48ab-b92a-6dffaa441290","savedPayload":{"position":{"x":30945.763038984365,"y":30950.85999703028},"targetPosition":{"x":30520.37828125503,"y":19198.41761816561},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"8cc06746-0b0f-4bc0-bd34-22ed46a24a8a","savedPayload":{"position":{"x":30520.37828125503,"y":19198.41761816561},"targetPosition":{"x":30670.37828125503,"y":18938.60999703028},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3569d452-c593-4e54-a356-7ff8c6b519f3","savedPayload":{"position":{"x":30670.37828125503,"y":18938.60999703028},"targetPosition":{"x":30820.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginTradingEngines":{"type":"Plugin Trading Engines","name":"New Plugin Trading Engines","pluginFiles":[{"type":"Plugin File","name":"Low-Frequency","pluginFilePosition":{"type":"Plugin File Position","name":"Low-Frequency","id":"e117a2a4-09b3-4181-8455-e680de3bdeb3","savedPayload":{"position":{"x":30923.55093774257,"y":24967.049392142086},"targetPosition":{"x":29820.22642897682,"y":18678.80776835817},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e9270d67-4630-4ac9-91ca-1dec4fb5aa38","savedPayload":{"position":{"x":29820.22642897682,"y":18678.80776835817},"targetPosition":{"x":30320.32799443869,"y":18678.805890109317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"87a28762-63d0-45f7-bd39-9dea436d8244","savedPayload":{"position":{"x":30520.37828125503,"y":18678.802375894946},"targetPosition":{"x":30820.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginSuperScripts":{"type":"Plugin Super Scripts","name":"New Plugin Super Scripts","pluginFiles":[],"id":"5fd84f39-a051-4533-b7d2-6ce18ea55a9a","savedPayload":{"position":{"x":30670.37828125503,"y":18418.994754759613},"targetPosition":{"x":30820.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"pluginTutorials":{"type":"Plugin Tutorials","name":"New Plugin Tutorials","pluginFiles":[],"id":"af3b483a-7a9a-4ca7-b6fe-968b6d4aed7b","savedPayload":{"position":{"x":30970.37828125503,"y":18418.994754759613},"targetPosition":{"x":30820.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bfb0b514-3b9f-4e9a-85ca-d0ca714b09f6","savedPayload":{"position":{"x":30820.37828125503,"y":18678.802375894946},"targetPosition":{"x":30820.37828125503,"y":18678.802375894946},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Design Space","name":"My Design Space","spaceStyle":{"type":"Space Style","name":"My Space Style","config":" {\n \"backgroundColor\": \"UI_COLOR.BLACK\",\n \"node\": {\n \"fontSize\": 16,\n \"imageSize\": 60,\n \"type\": {\n \"fontColor\": \"UI_COLOR.WHITE\"\n },\n \"name\": {\n \"fontColor\": \"UI_COLOR.WHITE\"\n },\n \"menuItem\": {\n \"backgroundColor\": \"UI_COLOR.BLACK\",\n \"fontColor\": \"UI_COLOR.WHITE\",\n \"fontSize\": 14,\n \"imageSize\": 14\n }\n }\n }","id":"fad0e429-f7a7-4b62-a2a5-2ead29b8f695","savedPayload":{"position":{"x":25236.875,"y":8701.347826086958},"targetPosition":{"x":24936.875,"y":8701.347826086958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"spaceSettings":{"type":"Space Settings","name":"New Space Settings","config":"{\n \"node\": {\n \"distancePercentage\": 60,\n \"radiusPercentage\": 85,\n \"massPercentage\": 100,\n \"menuItem\": {\n \"widthPercentage\": 100,\n \"heightPercentage\": 60,\n \"radiusPercentage\": 90\n }\n },\n \"physics\": false\n}","id":"05c9d6d5-24c4-4eec-9aca-9668d6486fdd","savedPayload":{"position":{"x":24636.875,"y":8701.347826086958},"targetPosition":{"x":24936.875,"y":8701.347826086958},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f8485ce5-67f3-4476-b9e2-80994e49c318","savedPayload":{"position":{"x":24936.875,"y":8701.347826086958},"targetPosition":{"x":24936.875,"y":8701.347826086958},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"frame":{"position":{"x":255,"y":588.3125}}}},{"type":"Tutorial","name":"Trading Bot Layers","config":"{\n \"title\": \"Trading Bot Layers\",\n \"summary\": \"Hi! I'm going to show you everything about the layers of the trading bot... the ones featured on charts associated with trading sessions!\",\n \"subTitle\": \"\",\n \"gif\": \"\",\n \"image\": \"trading-bot\",\n \"definition\": \"Let's get on with it! The ->Trading Bot-> outputs dozens of products, and they're all featured in three separate layer managers:\",\n \"bulletArray\": [\n [\n \"Trading Engine\",\n \" features layers that turn on and off the reporting of values of nodes in the ->Trading Engine-> hierarchy.\"\n ],\n [\n \"Trading System\",\n \" features layers that turn on and off multiple types of reports at the level of the ->Trading System->.\"\n ],\n [\n \"Simulation Objects\",\n \" features layers that turn on and off the rendering of visual information over the charts.\"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[],"tutorialTopics":[{"type":"Tutorial Topic","name":"Getting Ready","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Load a Fresh Workspace","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Load a Fresh Workspace!\",\n \"gif\": \"\",\n \"image\": \"workspace\",\n \"definition\": \"But before we go any further, let's make sure we are starting with a fresh workspace!\",\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"Workspaces with the prefix Plugin \\u2192 comes with the software. The rest are yours. When you open a plugin workspace a copy of it is made for you. Plugins allways remain unchanged.\",\n \"tip\": \"\",\n \"important\": \"This tutorial requires starting with a fresh Plugin \\u2192 Weak-hands Buster v2 workspace. So, unless you loaded the plugin workspace right before starting, please select it from the workspace panel on the right and come back to me after the workspace loads—just click Resume on my menu!\",\n \"warning\": \"\",\n \"position\": \"\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\",\n \"positionAtReferenceParent\": true,\n \"workspaces\": \"Open\"\n}","id":"08f9486c-22f5-4b5c-b41f-d8481b9f9d5a","savedPayload":{"position":{"x":19339.791666666664,"y":44404.28686303218},"targetPosition":{"x":19189.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Workspace","name":"My Default Workspace","id":"1c4772fb-d989-4f06-9335-81e4fc4b8009"}}},{"type":"Tutorial Step","name":"Freeze! Don't Move!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Feeze! Don't Move!\",\n \"gif\": \"\",\n \"image\": \"stop-loss\",\n \"definition\": \"I've got something to tell you before we move on, but I'm struggling to find the right words... I just wouldn't want to come across as a control freak!\",\n \"paragraph1\": \"It's not like you may break something or anything... nothing to fear at all... it's just that... I relay on the fresh state of the workspace to predict what you see when I take you to places and show you stuff. I may comment on what you will experience along the journey, and use my predictions to make the tour juicier and interesting! So...\",\n \"callOut\": \"Don't fool around too much unless I tell you to! I mean, you may look around, but don't make a mess! Fine! Do what you want! If you ever feel I lost you, just start over with a fresh workspace!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\",\n \"workspaces\": \"Close\"\n}","id":"1789569c-20a3-4536-934e-15b6f731b851","savedPayload":{"position":{"x":19449.599287801997,"y":44514.094484167515},"targetPosition":{"x":19189.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Let's Mine Some Data!","config":"{\n \"subTitle\": \"Let's Mine Some Data!\",\n \"gif\": \"\",\n \"image\": \"run\",\n \"definition\": \"We'll do some ->Data Mining-> so that we may then run a quick ->Backtesting Session->! We'll explore these layers on the resulting simulation...\",\n \"paragraph1\": \"\",\n \"callOut\": \"Select Run All Exchange Data Tasks on the data mining node menu!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"The sensor bot will run from January 1st, 2020, along with the indicators required by the Weak-hands Buster ->Trading System->.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"pressButton\": \"\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"01079470-3a5c-40fe-9695-d6087b0623fe","savedPayload":{"position":{"x":19489.791666666664,"y":44664.094484167515},"targetPosition":{"x":19189.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Data Mining","name":"New Data Mining","id":"4df1cb4e-b9ca-4f62-bb5f-c7e262aaa22a"}}},{"type":"Tutorial Step","name":"Are We Up to Date?","config":"{\n \"subTitle\": \"Are We Up to Date?\",\n \"gif\": \"\",\n \"image\": \"indicator-process-instance\",\n \"definition\": \"Now we have to wait a bit! When all processes reach the 100% mark, we may proceed!\",\n \"paragraph1\": \"As you probably know, the time required to mine data depends on many things. If you already have some of this data from previous activities, it may be faster!\",\n \"callOut\": \"Monitor the processes for all indicators in the Sparta and Masters data mines. When all of them reach 100%, then stop the data mining operation and click Next to continue.\",\n \"paragraph2\": \"\",\n \"tip\": \"Bollinger Channels will likely be last!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\",\n \"positionAtReferenceParent\": true\n}","id":"01767aee-8930-4d29-9b55-74d13dd01f2f","savedPayload":{"position":{"x":19449.599287801997,"y":44814.094484167515},"targetPosition":{"x":19189.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Indicator Process Instance","name":"EMA Multi-Period-Market","id":"9adffd60-8756-44f0-9290-692711f43349"}}},{"type":"Tutorial Step","name":"Ready. Set. Go!","config":"{\n \"subTitle\": \"Ready. Set. Go!\",\n \"gif\": \"\",\n \"image\": \"task\",\n \"definition\": \"Let's do some backtesting! This should be rather quick, as we are testing six months' worth of historic data only. Remember to stop the ->Data Mining-> first!\",\n \"paragraph1\": \"Running a trading task is quite similar to running a data mining task. The difference lies in that—after running the task—you also need to run the trading session.\",\n \"callOut\": \"Select Run on the ->Task-> menu and then select Run on the ->Backtesting Session-> menu.\",\n \"paragraph2\": \"\",\n \"note\": \"When the progress notice get's to the 100% mark and stops (sometimes only 99%), then stop the task and click Next to continue.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toTop\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\" \n}","id":"2046f4aa-a9b4-419e-9681-107f6b0002c0","savedPayload":{"position":{"x":19339.791666666664,"y":44923.90210530285},"targetPosition":{"x":19189.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Task","name":"WHB v2","id":"f3dccd9e-6130-40aa-b794-fca344df4a99"}}}],"tutorialTopics":[],"id":"45e0a80c-a3ce-4e81-8e5c-3d97b226e9fc","savedPayload":{"position":{"x":19189.791666666664,"y":44664.094484167515},"targetPosition":{"x":18889.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Done"}}},{"type":"Tutorial Topic","name":"Trading Engine Layers","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Trading Engine Layers\",\n \"gif\": \"\",\n \"image\": \"trading-engine\",\n \"definition\": \"You are familiar with the concept of the ->Trading Engine->, right? I will teach you wich layers affect which sections of the hierarchy so that you may access the info at will!\",\n \"paragraph1\": \"I'm assuming you've done the Welcome tutorial... Remember when you split the screen in half? You slid the mouse pointer over the candles on the chart, and for each candle, you could see the value of certain nodes in the trading engine hierarchy, right?\",\n \"callOut\": \"Well, that's what it's all about! When you turn a certain layer on, you turn on the visualization of values for a certain section of the hierarchy.\",\n \"paragraph2\": \"Let's take a closer look!\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"1, 2, 3, Counting!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"1, 2, 3, Counting!\",\n \"gif\": \"\",\n \"image\": \"episode-counters\",\n \"definition\": \"Let's test the first ->Layer-> in the Trading Engine ->Layer Manager->: ->Episode Counters->.\",\n \"paragraph1\": \"\",\n \"callOut\": \"Turn the layer on and slide your mouse pointer over the chart, from the far left to the far right-hand side of your screen!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"See what happens with the various counters on the hierarchy below... that is, ->Periods->, ->Strategies->, ->Positions->, and so on! You should see something similar to what I show in the video on the next step...\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"documentationURL\": \"\",\n \"positionAtReferenceParent\": true\n}","id":"cb3abe07-2fcf-4708-b585-6c0bc4cefa01","savedPayload":{"position":{"x":19149.599287801997,"y":45114.094484167515},"targetPosition":{"x":18889.791666666664,"y":44964.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Periods","name":"New Periods","id":"6c6579c8-fb13-41f6-a25b-1833d2963640"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"trading-bot-layers-episode-counters-01\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\"\n}","id":"ce4aa155-0772-428c-8ed0-b051275c1ec1","savedPayload":{"position":{"x":19039.791666666664,"y":45223.90210530285},"targetPosition":{"x":18889.791666666664,"y":44964.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"How About the Rest?","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"How About the Rest?\",\n \"gif\": \"\",\n \"image\": \"episode\",\n \"definition\": \"Now, why don't the nodes further to the left show their values too? Say, ->Exit Type->, ->Status->, ->End Rate->, ->Begin Rate->, and so on?\",\n \"paragraph1\": \"Let's change that!\",\n \"callOut\": \"Scroll the Trading Engine layer manager until you find the Current Episode layer. Turn it on!\",\n \"paragraph2\": \"Now slide your mouse pointer again... et voilà!\",\n \"note\": \"\",\n \"tip\": \"By turning layers on and off, you turn on and off system's ability to report the values on different sections of the ->Trading Engine-> hierarchy!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"documentationURL\": \"\",\n \"positionAtReferenceParent\": true\n}","id":"c47f1a67-50bb-4e4b-8449-112eacdb9b8c","savedPayload":{"position":{"x":18889.791666666664,"y":45264.094484167515},"targetPosition":{"x":18889.791666666664,"y":44964.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Periods","name":"New Periods","id":"6c6579c8-fb13-41f6-a25b-1833d2963640"}}},{"type":"Tutorial Step","name":"Et Voilà","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Et Voilà!\",\n \"gif\": \"\",\n \"image\": \"current\",\n \"definition\": \"So, we turned on the Episode Counters and the Current Episode layers... let's take a look at the hierarchy...\",\n \"paragraph1\": \"\",\n \"callOut\": \"Track your way up the hierarchy to discover what exactly we were looking at all this time...\",\n \"paragraph2\": \"Right! In the beginning ->Periods->, ->Strategies->, and ->Positions-> where showing their values because they are under the ->Episode Counters-> node of the hierachy... the one we turned on first!
If you follow the hierarchy upstream, you will find the ->Episode-> node, and if you keep going further upstream, you'll find the ->Current-> node. Exactly! Current Episode!.\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\",\n \"positionAtReferenceParent\": true\n}","id":"6531b015-26b7-4438-8226-021b5837421a","savedPayload":{"position":{"x":18739.791666666664,"y":45223.90210530285},"targetPosition":{"x":18889.791666666664,"y":44964.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Periods","name":"New Periods","id":"6c6579c8-fb13-41f6-a25b-1833d2963640"}}},{"type":"Tutorial Step","name":"Compartmentalize It!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Compartmentalize It!\",\n \"gif\": \"\",\n \"image\": \"bot-layers\",\n \"definition\": \"The reason why the access to values in the hierarchy is compartmentalized in layers is that layers correspond to data products output by the bot.\",\n \"paragraph1\": \"Compartmentalization of definitions—and information in general—is a theme in and of itself throughout the system, as it is one of the mechanisms by which complexity is successfully administered.\",\n \"callOut\": \"When you need to use this feature to track values on the trading engine hierarchy, you may choose to turn on multiple layers at once... even all of them if you wish! Just keep in mind that the more layers you turn on, the more files de UI reads, thus the more load you put on your hardware!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toTop\",\n \"documentationURL\": \"\"\n}","id":"96a53e4e-812f-4da5-b6de-66b70a1c078c","savedPayload":{"position":{"x":18629.98404553133,"y":45114.094484167515},"targetPosition":{"x":18889.791666666664,"y":44964.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"a9b75728-f884-4ab7-aa1e-d4967d90bd5f","savedPayload":{"position":{"x":18889.791666666664,"y":44964.094484167515},"targetPosition":{"x":18889.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Objects Layers","config":"{\n \"position\": \"Left\",\n \"pressButton\": \"Next\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"The Elefant in the Room","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Elefant? What Elefant?\",\n \"gif\": \"\",\n \"image\": \"strategy\",\n \"definition\": \"Will someone please acknowledge the elefant in the room? Why did those counters point to one or two strategies and one position?\",\n \"paragraph1\": \"It's time to look into the Simulation Objects layer manager...\",\n \"callOut\": \"Go to the Simulation Objects layer manager and turn on the ->Strategies-> layer.\",\n \"paragraph2\": \"What's that? It's a strategy! We are in a simulation! The Strategies layer marks the span of time on which a strategy is active. Notice the ->Plotter Panel-> that drifted to the corner when you turned the layer on. Now, point your mouse to the span of time between the strategy brakets and see what happens... \",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"09cf3c10-29bb-4399-99b1-61c996747fa0","savedPayload":{"position":{"x":18450.73401919794,"y":45092.06991650033},"targetPosition":{"x":18589.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Making Sense of Objects","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Making Sense of Objects\",\n \"gif\": \"\",\n \"image\": \"layer\",\n \"definition\": \"The layers in the Simulation Objects layer manager feature visual representations of the data that makes up simulations.\",\n \"paragraph1\": \"In other words, each of these layers render graphics over the charts that help us visualize—therefore, better understand—what happens during a trading session.\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"Each layer may feature plotter panels which usually display the hard data associated with the concept represented by the particular layer.\",\n \"tip\": \"Notice how the data in the panel becomes visible only when the pointer of the mouse lies within the candles engulfed by the object.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Center\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"3eea3278-bcdc-4f1d-a7da-876c5df9a6ac","savedPayload":{"position":{"x":18325.28830313505,"y":45028.15213163624},"targetPosition":{"x":18589.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"What About the Position?","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"What About the Position?\",\n \"gif\": \"\",\n \"image\": \"position\",\n \"definition\": \"As you very clearly pointed, the episode counters showed a strategy, but also a position... what about that?\",\n \"paragraph1\": \"\",\n \"callOut\": \"Scroll down the Simulation Objects layer manager and turn on the ->Position Base Asset-> layer!\",\n \"paragraph2\": \"Nice! A green triangle means that the position was a hit! It would be red otherwise!\",\n \"note\": \"The horizontal side of the triangle marks the ->Entry Target Rate->. The vertical side marks the datetime the position was closed. The vertex away from the horizontal side is the ->Exit Target Rate->.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Center\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"409e67f2-6944-49bd-b858-53aed2adaaff","savedPayload":{"position":{"x":18225.73401919794,"y":44928.59784769913},"targetPosition":{"x":18589.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"The Beauty of the Triangle","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"The Beauty of the Triangle\",\n \"gif\": \"\",\n \"image\": \"bullet-warning\",\n \"definition\": \"I'm sure you would agree that the triangle is a quick visual clue to grasp how the trade went in a glimpse!\",\n \"paragraph1\": \"That's one of the core ideas behind these visualization features: quick and effective communication. \",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"The second core idea is that—by being able to see what went on with the session—it is easier to spot the weaknesses in your strategies, and how you may be able to improve them!\",\n \"tip\": \"On a side note, notice that the data displayed on panels is the same data available on the ->Trading Engine-> hierarchy.\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"24c76654-4411-4d28-8bde-2c0391f92798","savedPayload":{"position":{"x":18161.816234333844,"y":44803.15213163624},"targetPosition":{"x":18589.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Why 3 Position Layers?","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Why 3 Position Layers?\",\n \"gif\": \"\",\n \"image\": \"position\",\n \"definition\": \"Did you notice there are three different layers about positions? ->Position->, ->Position Base Asset->, and ->Position Quoted Asset->!\",\n \"paragraph1\": \"I'll give you the short version: \",\n \"callOut\": \"The system keeps the accounts relative to both the base asset and the quoted asset. It also keeps a consolidated account of both assets (hence, position). What set of accounts is relevant to you depends on how the strategy is designed!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"Reading this documentation page is a must to fully understand this concept.\",\n \"warning\": \"\",\n \"position\": \"Left\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"https://docs.superalgos.org/suite-trading-engine-base-asset-and-quoted-asset.html\"\n}","id":"649427a8-47a4-4fab-9a31-25fd10916df8","savedPayload":{"position":{"x":18139.791666666664,"y":44664.094484167515},"targetPosition":{"x":18589.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Phased Management","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Phased Management\",\n \"gif\": \"\",\n \"image\": \"phase\",\n \"definition\": \"The ->Manage Stage-> enables the management of your stop loss and take profit targets in phases. Let's see how that looks in simulations...\",\n \"paragraph1\": \"\",\n \"callOut\": \"Find the Stop Loss and the Take Profit layers and turn them on!\",\n \"paragraph2\": \"It's probably self-explanatory, right? The ->Phase-> icon marks the switching of phases, thus, of the ->Formula-> used to determine each target.\",\n \"note\": \"\",\n \"tip\": \"This is a fantastic feature when designing strategies, as you can literally see what the formula does, and how phases change!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"80d0e95d-deef-42fa-917f-d9d60786d9cb","savedPayload":{"position":{"x":18161.816234333844,"y":44525.03683669879},"targetPosition":{"x":18589.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Orders in Order","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Orders in Order\",\n \"gif\": \"\",\n \"image\": \"bullet-market-sell-order\",\n \"definition\": \"You're familiar with the visualization of limit orders from the Welcome tutorial. It's time for market orders to shine!\",\n \"paragraph1\": \"Weak-hands Buster V.2—born with earlier versions of the system—uses single market orders to get in and out of positions. Let's see how those look over the charts...\",\n \"callOut\": \"Find the Market Buy Orders and Market Sell Orders layers and turn them on!\",\n \"paragraph2\": \"\",\n \"note\": \"Like with limit orders, a red bullet means a sell order, and a green bullet means a buy order. \",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"ab979e22-46f6-438f-bc1c-9fc5667c62b2","savedPayload":{"position":{"x":18225.73401919794,"y":44399.5911206359},"targetPosition":{"x":18589.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Stages & Time","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Stages & Time\",\n \"gif\": \"\",\n \"image\": \"close-stage-event\",\n \"definition\": \"Layers corresponding to stages, that is, ->Trigger Stage->, ->Open Stage->, ->Close Stage->, and ->Manage Stage-> are markers of spans of time.\",\n \"paragraph1\": \"That is, they signal the span of time on which each stage was open.\",\n \"callOut\": \"Try them out! Find the layers of the different stages and turn them on!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Feel free to turn off a few of the layers you have on at the moment, for clarity!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"822c4fd3-770e-4579-b8d8-5bba5c11f739","savedPayload":{"position":{"x":18325.28830313505,"y":44300.03683669879},"targetPosition":{"x":18589.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Episode X","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Episode X\",\n \"gif\": \"\",\n \"image\": \"episode\",\n \"definition\": \"There's one layer left... ->Episode->!. It marks the duration of the episode and features several plotter panels...\",\n \"paragraph1\": \"\",\n \"callOut\": \"Turn the Episode layer on!\",\n \"paragraph2\": \"In this case, the episode is six months long, so all you will see is a line at the bottom of the screen, and the episode icon on both sides, signaling the episode is longer than the period represented on screen.\",\n \"note\": \"As usual, the plotter panels feature information that explained on the ->Trading Engine-> section of the documentation.\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","id":"55c98dad-a864-45d4-80d9-5284ca252240","savedPayload":{"position":{"x":18450.73401919794,"y":44236.1190518347},"targetPosition":{"x":18589.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"16b109a8-0005-4d43-8db1-4f0c6312a085","savedPayload":{"position":{"x":18589.791666666664,"y":44664.094484167515},"targetPosition":{"x":18889.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Topic","name":"Trading System Layers","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Trading System Layers\",\n \"gif\": \"\",\n \"image\": \"trading-system\",\n \"definition\": \"The last layer manager is about the ->Trading System-> that features the trading rules for the simulation!\",\n \"paragraph1\": \"These layers work similar to those in the Trading Engine layer manager: they show information on the design space, not on the charts. The differenceis that these show stuff on the trading system hierarchy!\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"These layers are particularly useful when designing, testing, and debugging strategies! Just wait and see!\",\n \"tip\": \"Before continuing, turn some Simulation Objects layers off to avoid cluttering up the screen!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toBottom\",\n \"documentationURL\": \"\"\n}","tutorialSteps":[{"type":"Tutorial Step","name":"Trading System Errors!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Trading System Errors!\",\n \"gif\": \"\",\n \"image\": \"bullet-error\",\n \"definition\": \"When writing conditions and formulas, you may make mistakes. Remember conditions must evaluate to true or false and formulas to a number? \",\n \"paragraph1\": \"Well, if they don't, you will get an error! Turning on this layer when you're going back and forth crafting and testing a strategy is a must!\",\n \"callOut\": \"There are no errors in this trading system, but I just planted a fake one so that you may see how they are reported! Look at the ->Formula-> on the left!\",\n \"paragraph2\": \"Now, what if the section of the hierarchy was collapsed? Would you still be able to see error messages? Let's run a quick test! Collapse the ->Initial Targets-> node!\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"setErrorMessageReferenceParent\": \"This is formula has a fake error!\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"99e8ab2e-b689-4187-ab47-6acee91093b2","savedPayload":{"position":{"x":18619.501006295937,"y":44233.929362432245},"targetPosition":{"x":18889.791666666664,"y":44364.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Formula","name":"New Formula","id":"492cee3d-1709-41c5-bfd8-e700a3fdf3da"}}},{"type":"Tutorial Step","name":"Trading System Highlights","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Trading System Highlights!\",\n \"gif\": \"\",\n \"image\": \"bullet-info\",\n \"definition\": \"Whenever something relevant happens with any given node in the trading system hierarchy, the node is highlighted!\",\n \"paragraph1\": \"\",\n \"callOut\": \"Turn the Trading System Highlights layer on, slide your mouse over the chart, and check these conditions and situations! Now place the mouse pointer over the candle where the strategy is triggered... (08 Mar 2020 at 01 hs)...\",\n \"paragraph2\": \"\",\n \"note\": \"Conditions are highlighted when they validate true; situations, when all conditions validate true; stages and phases, when they become active, and so on!\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"8d16861d-5cd6-4f31-97a3-95e152266cd8","savedPayload":{"position":{"x":18702.744726109046,"y":44129.54503942711},"targetPosition":{"x":18889.791666666664,"y":44364.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Condition","name":"Slope Not Extreme, or...","id":"da235bf3-976c-4832-a565-98a6bb13236d"}}},{"type":"Tutorial Step","name":"GIF","config":"{\n \"gif\": \"trading-bot-layers-trading-system-highlights\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\"\n}","id":"8e34aa88-c0fc-4268-9638-a72c96104b9a","savedPayload":{"position":{"x":18823.03538647977,"y":44071.616110512965},"targetPosition":{"x":18889.791666666664,"y":44364.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Trading System Values!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Trading System Values!\",\n \"gif\": \"\",\n \"image\": \"formula\",\n \"definition\": \"The Trading System Values layers works like the layers on the Trading Engine layer manager showing the values of nodes...\",\n \"paragraph1\": \"\",\n \"callOut\": \"Turn the Trading System Values layer on, slide your mouse over the chart and check the stop formulas!\",\n \"paragraph2\": \"\",\n \"note\": \"The common theme among these layers is that they provide on-the-fly information about each node, for each candle!\",\n \"tip\": \"Is it fair to say that our ->Trading Bot-> is 100% acccountable?\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"positionAtReferenceParent\": true,\n \"documentationURL\": \"\"\n}","id":"a49327ef-0daf-494a-9b76-6d53c914da16","savedPayload":{"position":{"x":18956.54794685356,"y":44071.616110512965},"targetPosition":{"x":18889.791666666664,"y":44364.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"},"referenceParent":{"type":"Formula","id":"6f65573a-c2ac-476a-9ca1-738971e3ff78"}}},{"type":"Tutorial Step","name":"The Rest of the Crew","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"The Rest of the Crew!\",\n \"gif\": \"\",\n \"image\": \"bot-layers\",\n \"definition\": \"The rest of the layers are virtually self-explanatory once you understand the standard workings... so, I'll be brief!\",\n \"bulletArray\": [\n [\n \"Status,\",\n \"for nodes which have one! \"\n ],\n [\n \"Progress,\",\n \"for nodes that may feature an indication of progress!\"\n ],\n [\n \"Running,\",\n \"for nodes that are evaluated at certain points in time!\"\n ],\n [\n \"Announcements,\",\n \"for announcements set up at the trading system, currently broadcasted over Telegram!\"\n ],\n [\n \"Warnings,\",\n \"when something unusual happens but is not considered an error!\"\n ],\n [\n \"System Info,\",\n \"may be displayed on many nodes, sort of like a verbose mode. \"\n ]\n ],\n \"paragraph1\": \"\",\n \"callOut\": \"\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"Right\",\n \"slider\": \"toMiddle\",\n \"documentationURL\": \"\"\n}","id":"7aa8f881-788d-423d-9f42-70ace943023a","savedPayload":{"position":{"x":19076.838607224283,"y":44129.5450394271},"targetPosition":{"x":18889.791666666664,"y":44364.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}},{"type":"Tutorial Step","name":"Time To Go Out and Play!","config":"{\n \"title\": \"\",\n \"summary\": \"\",\n \"subTitle\": \"Time To Go Out and Play!\",\n \"gif\": \"\",\n \"image\": \"play\",\n \"definition\": \"That's all folks! We've covered it all! Now it's time to go out and play! Have fun!\",\n \"paragraph1\": \"Take some time to explore these layers, paying special attention to those you feel will be of the most use.\",\n \"callOut\": \"Remember, the Trading Bot Layers are a fundamental tool when designing, testing, and debugging strategies!
See you next time!\",\n \"paragraph2\": \"\",\n \"note\": \"\",\n \"tip\": \"Drop by the documentation for more info!\",\n \"important\": \"\",\n \"warning\": \"\",\n \"position\": \"\",\n \"slider\": \"toMiddle\",\n \"documentationURL\": \"\"\n}","id":"dcf1ae5f-f200-4201-ab28-c921417ab7f2","savedPayload":{"position":{"x":19160.08232703739,"y":44233.929362432245},"targetPosition":{"x":18889.791666666664,"y":44364.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"tutorialTopics":[],"id":"c57458f7-5c9d-41b7-aea1-6c5aff4ef791","savedPayload":{"position":{"x":18889.791666666664,"y":44364.094484167515},"targetPosition":{"x":18889.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"tutorial":{"status":"Reset"}}}],"id":"f96b383c-4916-4864-868b-b2b5cf9c5033","savedPayload":{"position":{"x":18889.791666666664,"y":44664.094484167515},"targetPosition":{"x":18889.791666666664,"y":44664.094484167515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isPlaying":false,"isRunning":false},"tutorial":{"status":"Done"}}}]}
\ No newline at end of file
diff --git a/Projects/Ethereum/Schemas/AppSchema.json b/Projects/Ethereum/Schemas/AppSchema.json
deleted file mode 100644
index 954930e8e..000000000
--- a/Projects/Ethereum/Schemas/AppSchema.json
+++ /dev/null
@@ -1,120 +0,0 @@
-[
- {
- "type": "Ethereum",
- "menuItems": [
- {
- "action": "Pin / Unpin",
- "currentStatus": true,
- "iconPathOn": "unpinned",
- "iconPathOff": "pinned",
- "actionFunction": "payload.onMenuItemClick",
- "ring": 1
- },
- {
- "action": "Add UI Object",
- "label": "Add Network",
- "relatedUiObject": "Network",
- "actionFunction": "payload.onMenuItemClick"
- }
- ],
- "isTitleAllwaysVisible": true,
- "addLeftIcons": false,
- "isPinned": true,
- "positionLocked": true
- },
- {
- "type": "Network",
- "menuItems": [
- {
- "action": "Add UI Object",
- "label": "Add Network Node",
- "relatedUiObject": "Network Node",
- "actionFunction": "payload.onMenuItemClick"
- },
- {
- "action": "Delete UI Object",
- "askConfirmation": true,
- "confirmationLabel": "Confirm to Delete",
- "label": "Delete",
- "iconPathOn": "delete",
- "iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
- }
- ],
- "isHierarchyHead": true,
- "addLeftIcons": true,
- "level": 0,
- "properties": [
- {
- "name": "networkNodes",
- "type": "array",
- "childType": "Network Node"
- }
- ]
- },
- {
- "type": "Network Node",
- "menuItems": [
- {
- "action": "Configure",
- "label": "Configure",
- "iconPathOn": "configuration",
- "iconPathOff": "configuration",
- "dontShowAtFullscreen": true,
- "actionFunction": "uiObject.configEditor.activate"
- },
- {
- "action": "Delete UI Object",
- "askConfirmation": true,
- "confirmationLabel": "Confirm to Delete",
- "label": "Delete",
- "iconPathOn": "delete",
- "iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
- }
- ],
- "editors": {
- "config": true
- },
- "initialValues": {
- "config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"8081\"\n}"
- },
- "isTitleAllwaysVisible": true,
- "addLeftIcons": true,
- "level": 1,
- "chainAttachesTo": {
- "compatibleTypes": "->Network->"
- },
- "propertyNameAtParent": "networkNodes"
- },
- {
- "type": "Ethereum Project",
- "menuItems": [
- {
- "action": "Add UI Object",
- "label": "Add Smart Contract",
- "relatedUiObject": "Smart Contract",
- "actionFunction": "payload.onMenuItemClick"
- },
- {
- "action": "Delete UI Object",
- "askConfirmation": true,
- "confirmationLabel": "Confirm to Delete",
- "label": "Delete",
- "iconPathOn": "delete",
- "iconPathOff": "delete",
- "actionFunction": "payload.onMenuItemClick"
- }
- ],
- "isHierarchyHead": true,
- "addLeftIcons": true,
- "level": 0,
- "properties": [
- {
- "name": "networkNodes",
- "type": "array",
- "childType": "Network Node"
- }
- ]
- },
-]
\ No newline at end of file
diff --git a/Projects/Superalgos/Schemas/DocSchema.json b/Projects/Superalgos/Schemas/DocSchema.json
deleted file mode 100644
index 550001314..000000000
--- a/Projects/Superalgos/Schemas/DocSchema.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"type":"Plotter Module","definition":"A plotter module is a device within a plotter that contains the definitions to create the visualization for a product definition.","content":["\r","\r","A single plotter may have several modules. Different modules may be used to plot each product of the bot, or as best suits the expected use-pattern.\r","\r","[](https://user-images.githubusercontent.com/13994516/71016077-eab41180-20f4-11ea-87e7-7262ff10a1ab.gif)\r","\r","{% include important.html content=\"For a bot to use a plotter, the corresponding product definition must establish a reference with the plotter module built to interpret the dataset.\" %}\r","\r","[](https://user-images.githubusercontent.com/13994516/71016079-eab41180-20f4-11ea-8afb-96321f9c68d8.gif)\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a plotter module, select *Add Plotter Module* on the plotter node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Plotter Module* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"codeName\": \"Module Name\",\r"," \"isLegacy\": true,\r"," \"icon\": \"histogram\"\r","}\r","```\r","\r","* ```codeName``` is the name used in the code to refer to the module.\r","\r","* ```isLegacy``` is ```true``` for plotters modules developed entirely in JavaScript, and is ```false``` or doesn't show in the configuration for plotters built with the tools featured in the data mine hierarchy.\r","\r","* ```icon``` is the name of the image that illustrates the corresponding layer in the Layers Panel. In case the banner is not specified, the *default banner* is used. Current possible values are:\r","\r","\r","| Value | Image|\r","| :---: | :---: |\r","| ```default``` |  |\r","| ```histogram``` |  |\r","| ```band``` |  |\r","| ```moving-average``` |  |\r","| ```oscillator``` |  |\r","| ```trend``` |  |\r","\r","Custom images may be added too. To do that:\r","\r","1. name the image in the following format: ```image-name.png```;\r","\r","1. place images in the ```WebServer\\Images\\Icons``` folder;\r","\r","1. in the configuration of the module, use the name as is (e.g.: ```\"icon\": \"image-name\"```)\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Nodes Values"},{"type":"Nodes Highlights"},{"type":"Nodes Errors"},{"type":"Nodes Warnings"},{"type":"Nodes Infos"},{"type":"Nodes Status"},{"type":"Nodes Progress"},{"type":"Nodes Running"},{"type":"Nodes Announcements"},{"type":"Record Values"},{"type":"Shapes","definition":"The shapes node contains definitions of polygons and styles to be rendered on a per-period basis over the charts.","content":["\r","\r","A plotter recursively renders graphics for each period or candle. This means that a definition of what shapes need to be drawn for a single period is required. The plotter does the same thing for every period or candle that is visible on the screen at any point in time, for any time frame, as long as the corresponding data is available.\r","\r","[](https://user-images.githubusercontent.com/13994516/71016080-eab41180-20f4-11ea-84c6-a514b87d568f.gif)\r","\r","In general terms, the process of defining what is going to be rendered on the screen consist of the following four steps:\r","\r"," 1. Identifying points defined by ```[x,y]``` coordinates\r"," 2. Defining polygons\r"," 3. Defining default styles\r"," 4. Defining conditional styles\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a shapes node, select *Add Shapes* on the plotter module menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Plotter Panel","definition":"A plotter panel usually shows numerical representations of data over the charts on a small window or panel. The plotter panel node features definitions to make that possible.","content":["\r","\r","Beyond the graphic representation of data over the charts, plotters may also feature a *data panel*, that is, a numerical representation of the data showing the exact figures corresponding to the column or period that is in focus (the point of the charts where the mouse pointer is at any point).\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a plotter panel, select *Add Plotter Panel* on the plotter module node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Panel Data","definition":"A panel data node represents a data field to be plotted on the plotter panel.","content":["\r","\r","The system renders a panel featuring a centered, single-column vertical arrangement of data, with a label and a data field right below it. The label of each data field on the panel is given—by default—by the label set for each panel data node.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a panel data node, select *Add Panel Data* on the plotter panel menu.\r","\r"],"configuring":["\r","\r","Select *Configure Panel Data* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"valueDecimals\": 2\r","}\r","```\r","\r","* ```valueDecimals``` sets the number of decimals to be shown on the corresponding data field.\r","\r","To override the default manner in which the data is assembled on the panel, the following properties may be included and defined:\r","\r","```json\r","{\r"," \"labelText\": \"The Label\",\r"," \"labelPosition\": 15,\r"," \"valuePosition\": 20,\r"," \"valueDecimals\": 2\r","}\r","```\r","\r","* ```labelPosition``` and ```valuePosition``` represent the vertical distance of the corresponding fields to the top margin of the panel.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Formula","definition":"A data formula is a device used to assign a value to the panel data, usually in the form of the name of the corresponding record property.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a data formula, select *Add Data Formula* on the plotter panel menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Javascript Code","definition":"The JavaScript code node may hold any snippet of valid JavaScript.","content":["\r","\r","In the case of the master script, the JavaScript Code node features the code required to run each template script and handle the operations beyond the scope of individual template scripts.\r","\r","In the case of a template script, the JavaScript Code node features the code that deals with the specific scope of the template script only.\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a JavaScript code node, select *Add JavaScript Code* on the master script or the template script node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Chart Points","definition":"A chart points groups definitions of coordinate points used to define polygons.","content":["\r","\r","The definition of a point consists of the name of the point and the corresponding values for the ```x``` and ```y``` coordinates. To create such definitions, point and point formulas are used.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a chart points node, select *Add Chart Points* on the shapes menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Point","definition":"A point is a definition of an [x,y] coordinate. The value [x] usually represents a datetime. The value [y] may refer to a price or some other concept.","content":["\r","\r","These coordinate points are used to define polygons. Values for ```[x,y]```coordinates are entered with a point formula.\r","\r","{% include tip.html content=\"Each point should be given a significant name so that it is easier to identify them at the time of establishing references with polygon vertices.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a point, select *Add Point* on the chart points node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Point Formula","definition":"A point formula is a node used to input the [x,y] coordinates of a point.","content":["\r","\r","To represent some form of variation of the price or a price derivative over time, a typical point formula consists of the following two coordinates: ```x = datetime``` and ```y = rate```.\r","\r","For example:\r","\r","**Point *SMA 20 Begin***\r","```js\r","x = record.begin\r","y = record.previous.sma20\r","```\r","\r","The example above shows the definition of the first of two points necessary to draw the segment of the 20-periods SMA curve for any particular period or candle. In this case, ```x = record.begin``` is the starting datetime of the period and ```y = record.previous.sma20``` is the rate of the 20-periods SMA of the previous period.\r","\r","{% include note.html content=\"The above variables are constructed with information originating at the product definition that references the corresponding plotter module.\" %}\r","\r","To complete the line segment corresponding to a single period, the closing datetime of the period and the closing rate for the 20-periods SMA are required:\r","\r","**Point *SMA 20 End***\r","```js\r","x = record.end\r","y = record.sma20\r","```\r","\r","The above system works very well for plotting all sorts of information over the candles, on the charts.\r","\r","An oscillator like RSI too needs the definition of the starting and ending datetime of the period as the value for the *x-axis*. However, the value for *axis y* fits a different scale.\r","\r","Anyway, the points definition is just as straight forward, for example:\r","\r","**Point *RSI Begin***\r","```js\r","x = record.begin\r","y = record.previous.value\r","```\r","\r","**Point *RSI End***\r","```js\r","x = record.end\r","y = record.value\r","```\r","\r","Points do not necessarily need to refer to values on the dataset produced by the corresponding data product. For example, absolute values for the *y-axis* may be used to describe fixed graphical elements, for instance, a horizontal line, or a box.\r","\r","**Point *Begin 20***\r","```js\r","x = record.begin\r","y = 20\r","```\r","\r","**Point *End 20***\r","```js\r","x = record.end\r","y = 20\r","```\r","\r","**Point *Begin 30***\r","```js\r","x = record.begin\r","y = 30\r","```\r","\r","**Point *End 30***\r","```js\r","x = record.end\r","y = 30\r","```\r","\r","The above four points are used to paint the background of the 20 to 30 value range of the RSI chart. The first two points are also used to draw the dotted line signaling the 20-value mark, and the last two are used for the dotted line indicating the 30-value mark.\r","\r","{% include note.html content=\"The reason from separating the definition of points from the definition of polygons is that any point may be used by one or more polygons.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a point formula, select *Add Point Formula* on the point node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Image","definition":"The image node allows overlaying an image over the charts, controlling its position, size, and when it shall be rendered.","content":["\r","\r","The foremost requirement for images is that they are in the ```png``` format, 24 bits, with transparency, a low case extension, and are square.\r","\r","If you envision contributing your indicator so that the community may use it, then please follow the guidelines in the [contribute icons](contributing-icons.html#technical-requirements) page, in particular, the Technical Requirements.\r","\r","Images must the stored in the following path: ```\\BackendServers\\WebServer\\Images\\Icons\\style-01```\r","\r","{% include note.html content=\"See the configuration for further details.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","{ \r"," \"codeName\": \"imagename\", \r"," \"size\": 15\r","}\r","```\r","\r","* ```codeName``` is the name of the image, without the ```.png``` extension.\r","\r","* ```size``` is the size at which the image shall be rendered, in pixels. \r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Image Condition","definition":"An image condition is a rule that allows establishing when an image shall be rendered and when not.","content":["\r","\r","The node is optional. When the node is not present in the definition of the image or when the condition validates ```true```, the image is rendered on screen. When the condition validates ```false``` the image is not rendered. As such, the node allows dynamically switching the rendering of the corresponding image on and off .\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Image Position","definition":"The image position node is a reference to a point defined in the chart points, and serves to determine the position in which the image shall be placed.","content":["\r","\r","The image position node works similarly to the polygon vertex in the sense that it must establish a reference with a point in the charts point to acquire a defined coordinate that determines where the image shall be placed.\r","\r","{% include note.html content=\"See the configuration for further details.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","{ \r"," \"offsetX\": 0,\r"," \"offsetY\": 10\r","}\r","```\r","\r","* ```offsetX``` is an offset in the X axis, in pixels, applied to displace the image in relation to the coordinate point defined by the reference of the node. Negative values displace the image to the left and positive values to the right.\r","\r","* ```offsetY``` is an offset in the Y axis. Negative values displace the image downwards and positive values displace the image upwards.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Text","definition":"The text node allows overlaying text on the charts, controlling its position, size, appearance, and when it shall be rendered.","content":["\r","\r","The node's offspring control the different aspects of how, where, and when text shall be rendered over the charts.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Text Style","definition":"The text style is a definition of color, opacity, and font size that determines the appearance of the text to be rendered over the charts.","content":["\r","\r","{% include note.html content=\"See the configuration for further details.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"paletteColor\": \"UI_COLOR.GREY\",\r"," \"opacity\": 0.5,\r"," \"fontSize\": 10\r","}\r","```\r","\r","* ```paletteColor``` is one of the predefined colors available, as described in the configuration of the *Style* node.\r","\r","* ```opacity``` is probably self-explanatory, and may range from 0 for a fully transparent object to 1 for a solid object.\r","\r","* ```fontSize``` is self explanatory too; values above zero produce the expected results.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Text Condition","definition":"A text condition is a rule that allows establishing when text shall be rendered and when not.","content":["\r","\r","The node is optional. When the node is not present in the definition of the text node or when the condition validates ```true```, the text is rendered on screen. When the condition validates ```false```, text is not rendered. As such, the node allows dynamically switching the rendering of the corresponding text on and off .\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Text Position","definition":"The text position node is a reference to a point defined in the chart points, and serves to determine the position in which text shall be rendered.","content":["\r","\r","The text position node works similarly to the image position node in the sense that it must establish a reference with a point in the charts point to acquire a defined coordinate that determines where the text shall be placed.\r","\r","{% include note.html content=\"See the configuration for further details.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","{ \r"," \"offsetX\": 0,\r"," \"offsetY\": 10\r","}\r","```\r","\r","* ```offsetX``` is an offset in the X axis, in pixels, applied to displace the text in relation to the coordinate point defined by the reference of the node. Negative values displace the text to the left and positive values to the right.\r","\r","* ```offsetY``` is an offset in the Y axis. Negative values displace the text downwards and positive values displace the image upwards.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Text Formula","definition":"The text formula determines the content that shall be rendered over the charts.","content":["\r","\r","The text formula may use any of the variables available to the plotter, and may produce either a numeric or a text string result.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Polygon","definition":"A polygon features definitions that makeup shapes and their styles.","content":["\r","\r","Polygons are defined by two or more vertices, which map points in a charts point. The graphic representation of polygons originates in styles applied to either or both polygon bodies and polygon borders. \r","\r","{% include note.html content=\"The order in which polygons are ordered around the parent shapes node determines the order in which they are drawn on the screen. In cases on which polygons intersect, those drawn last are drawn on top of those drawn first.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a polygon, select *Add Polygon* on the shapes node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Polygon Condition","definition":"A polygon condition is a rule that allows establishing when a polygon shall be rendered and when not.","content":["\r","\r","The node is optional. When the node is not present in the definition of the polygon or when the condition validates ```true```, the polygon is rendered on screen. When the condition validates ```false``` the polygon is not rendered. As such, the node allows dynamically switching the rendering of the corresponding polygon on and off.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a polygon condition, select *Add Polygon Condition* on a polygon node menu.\r","\r"],"configuring":["\r","\r","Select *Edit Condition* on the menu to access the configuration.\r","\r","Polygon conditions work pretty much like conditions used on trading systems. The main difference is that the variables available are solely those provided by the bot product definition that reference the corresponding plotter module.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Polygon Body","definition":"A polygon body is the fill of a shape made out of at least three vertices.","content":["\r","\r","A polygon body needs at least three vertices to be defined. A body serves to create a *fill* for the outlines of any sort of polygon, either closed or open, by giving it a style.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a polygon body, select *Add Polygon Body* on the polygon node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Polygon Border","definition":"A polygon border is a shape defined by at least two vertices used to draw lines or to apply a style to the stroke of a closed shape.","content":["\r","\r","A polygon border needs at least two vertices to be defined. A border serves to create a *stroke* for the outlines of any sort of polygon, either closed or open, by giving it a style.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a polygon border, select *Add Polygon Border* on the polygon node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Style Condition","definition":"A style condition is a rule that allows applying an alternative style in cases where the rule validates true.","content":["\r","\r","Style conditions offer a way to introduce additional intelligence on the visual representation of data by using styles that respond to certain conditions.\r","\r","For example, the *Percentage Bandwidth* plotter module assigns a different color to the Moving Average line when it's going up or down.\r","\r","To do that, a style condition features it's own style so that, when the condition validates true, the new style is applied.\r","\r","Style conditions me be created in a sequence so that the style may continue changing upon the validation of a series of style conditions. The system evaluates all style conditions in a sequential order determined by their position in the rotational symmetry around the parent node. Each condition that is met may modify or add up to the resulting style that is rendered on screen. That is, the final style is the result of the sequential application of the styles defined for each condition that is met, on top of the default style.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a style condition, select *Add Style Condition* on a polygon border or polygon body node menu.\r","\r"],"configuring":["\r","\r","Select *Edit Condition* on the menu to access the configuration.\r","\r","Style conditions work pretty much like conditions used on trading systems. The main difference is that the variables available are solely those provided by the bot product definition that reference the corresponding plotter module.\r","\r","To continue the example of the Percentage Bandwidth plotter, the following is the condition that determines the newly added styles:\r","\r","```js\r","record.previous.movingAverage > record.movingAverage\r","```\r","\r","As hinted earlier, when the condition is met, the default style is modified by a second style that may be created on the menu of the style condition node.\r","\r","The definition of secondary styles is slightly different from that of the default style, as—in such cases—the ```atMousePosition``` property may no longer be defined:\r","\r","```js\r","{\r"," \"opacity\": 0.55,\r"," \"lineWidth\": 1,\r"," \"lineDash\": [0,0],\r"," \"paletteColor\": \"UI_COLOR.RED\"\r","}\r","```\r","\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Style","definition":"A style is a definition of color and opacity in case of a polygon body, and color, opacity and line thickness in case of polygon borders.","content":["\r","\r","A style applied to a polygon body or a polygon border node acts as the default style. Styles including colors, opacity, line width, and more, are defined in the node's configuration.\r","\r","{% include note.html content=\"See the configuration for further details.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a style, select *Add Style* on a polygon border or polygon body node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Style* on the menu to access the configuration.\r","\r","A typical definition for a polygon *body style* looks like this:\r","\r","```json\r","{\r"," \"default\": {\r"," \"opacity\": 0.2,\r"," \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\r"," },\r"," \"atMousePosition\": {\r"," \"opacity\": 0.3,\r"," \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\r"," }\r","}\r","```\r","\r","A typical definition for a polygon *border style* has a couple more properties:\r","\r","```json\r","{\r"," \"default\": {\r"," \"opacity\": 0.2,\r"," \"lineWidth\": 1,\r"," \"lineDash\": [0,0],\r"," \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\r"," },\r"," \"atMousePosition\": {\r"," \"opacity\": 0.3,\r"," \"lineWidth\": 2,\r"," \"lineDash\": [0,0],\r"," \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\r"," }\r","}\r","```\r","\r","The first section of the definition refers, as explicitly stated, to the default state of the style.\r","\r","The second section refers to the style assigned to the column or period on which the mouse pointer is located. This is very useful for highlighting the specific zone of interest as the user browses the charts.\r","\r","* ```opacity``` is probably self-explanatory: it may range from ```0``` for a fully transparent object to ```1``` for a solid object.\r","\r","* ```paletteColor``` sets the color for the *fill* or *stroke* in cases of polygon bodies and polygon borders respectively. Use the variable ```UI_COLOR``` followed by a ```.``` and any of the properties in the following list for a selection of currently available colors:\r","\r","| Variable Value | RGB Value | Color Sample |\r","| :--- | :---: | :------------------- |\r","| ```DARK``` | 48, 48, 54 | |\r","| ```LIGHT``` | 234, 226, 222 | |\r","| ```GREY``` | 150, 150, 150 | |\r","| ```LIGHT_GREY``` | 247, 247, 247 | |\r","| ```WHITE``` | 255, 255, 255 | |\r","| ```BLACK``` | 0, 0, 0 | |\r","| ```GOLDEN_ORANGE``` | 240, 162, 2 | |\r","| ```RUSTED_RED``` | 204, 88, 53 | |\r","| ```GREEN``` | 188, 214, 67 | |\r","| ```RED``` | 223, 70, 60 | |\r","| ```PATINATED_TURQUOISE``` | 27, 153, 139 | |\r","| ```TITANIUM_YELLOW``` | 244, 228, 9 | |\r","| ```MANGANESE_PURPLE``` | 91,80, 122 | |\r","| ```TURQUOISE``` | 74, 207, 217 | |\r","| ```DARK_TURQUOISE``` | 2, 149, 170 | |\r","\r","* ```lineWidth``` is the width of the border line, which should be greater than 0.\r","\r","* ```lineDash``` is used to turn the border into a dashed-line; the first value corresponds to the length of the dash while the second value defines the length of the space.\r","\r","{% include note.html content=\"When using dashed lines, bear in mind that the drawing from one column or period is independent of the next. Big values for dashes and spaces may not work well for lines that span several columns.\" %}\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Polygon Vertex","definition":"A polygon vertex is a reference to a point defined in the chart points, constituting a specific coordinate to be used as a vertex of a shape.","content":["\r","\r","Vertices are the main element defining polygons. Once created, each vertex must establish a reference to the corresponding point in the charts point.\r","\r","[](https://user-images.githubusercontent.com/13994516/71016081-eb4ca800-20f4-11ea-8fee-4d38ecfb0596.gif)\r","\r","Drawing curves requires two vertices. Painting areas, such as the background of a chart, likely requires four vertices. Note that vertices are not capable of featuring a style. Instead, styles are applied to polygon borders and polygon bodies.\r","\r","{% include important.html content=\"Bear in mind that the order in which vertices in a polygon are arranged around the parent polygon node when their *rotational symmetry* property is selected, is the order in which the plotter computes the points. This means that points need to be in the correct order, for example, when drawing a box. Imagine drawing a box on a piece of paper without lifting the pencil... that is how the plotter does it.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a polygon vertex, select *Add Polygon Vertex* on the polygon node menu.\r","\r","{% include tip.html content=\"Remember that a vertex must establish a reference to a point in the charts point to be properly defined\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Workspace"},{"type":"Situation","definition":"A situation refers to a specific state of the market in which a certain event should take place, as defined by any number of conditions.","content":["\r","\r","In other words, you define situations in which you wish a certain event to happen (*i.e.:* trigger on the strategy, take a position, etc.) and each situation is described as a set of conditions that need to be met for the event to be triggered.\r","\r","A situation gets validated when all conditions under it are true. \r","\r","An event may have more than one situation attached to it. In such a case, when any of the situations gets validated, the event gets triggered. That is, events may be triggered in different circumstances, meaning that you are free to define different situations upon which the same event would be triggered. In such a case, when any of the situations evaluate true, then the event is triggered.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a situation, select *Add Situation* on the corresponding event node menu. A situation is added along with a condition and JavaScript code node.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Condition","definition":"Conditions are rules within a situation. When all conditions under a situation validate true, then the situation gets validated as well, and the associated event is triggered.","content":["\r","\r","Therefore, conditions are used to mathematically describe what needs to happen with the market for a certain action to be taken.\r","\r","**For example:**\r","\r","**Situation 1**\r","\r","* Condition A: ```chart.at01hs.candle.close > chart.at01hs.bollingerBand.MovingAverage``` → This means that the latest candle at the 1 hour chart closed above the Bollinger Bands moving average.\r","\r","* Condition B: ```chart.at01hs.candle.previous.max > chart.at01hs.bollingerBand.previous.MovingAverage``` → This means that the maximum value of the candle before the last one, was higher than the Bollinger Bands moving average.\r"," \r","In the example above, conditions A and B are comparison statements that may evaluate either _true_ or _false_. In the case both would evaluate _true_ then Situation 1 would be true as well.\r","\r","{% include note.html content=\"To learn how to write conditions, start with the Syntax Overview.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a condition, select *Add Condition* on the corresponding situation node menu. A condition with its JavaScript code node is added.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Super Scripts","definition":"The super scripts hierarchy holds definitions of scripts used to automate certain aspects of the administration and maintenance of the workspace, such as installing and deleting markets.","content":["\r","\r","The super scripts hierarchy may be used by developers who wish to create their own scripts for automating the deployment or manitenance of all sorts of structures of nodes across any of the hierarchies in the design space.\r","\r","Regular users will find little to do with this hierarchy, even though they may use it indirectly, for instance, when installing or uninstalling markets.\r","\r","{% include important.html content=\"Changes made to super scripts shipping with the system may not be saved at the workspace level. If you wish to modify those hierarchies and use them in such modified versions, you need to clone them and modify the clone instead. To do this successfully, you need to learn more about [backups](suite-backups.html) and [clones](suite-clones.html).\" %}\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a super scripts hierarchy, select *Add Super Scripts* on the workspace node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Super Scripts* on the menu to access the configuration.\r","\r","```\r","{ \r","\"codeName\": \"Masters\"\r","}\r","```\r","\r","* ```codeName``` is the name of the hierarchy as is used in the system's code.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Scripts Library","definition":"A script library is a collection of related scripts.","content":["\r","\r","The script library node plays an organizational role, grouping masters scripts according to the criteria of the developer.\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a scripts library, select *Add Scripts Library* on the super scripts node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Master Script","definition":"A master script contains the definitions of any number of template scripts along with the master JavaScript code providing the logic to implement them.","content":["\r","\r","In general terms, master scripts serve to atomize the complexity of the task at hand by subdividing the task into any number of specific scopes, handled by individual template scripts. The master script controls the execution of template scripts and solves issues beyond their scope.\r","\r","The current implementation of the Masters super scripts hierarchy features two master scripts you may use as examples. The Setup Market master script deals with all the steps required to install a new market, while the Delete Market Dependencies master script deals with uninstalling markets.\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a master script, select *Add Master Script* on the scripts library node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Template Script","definition":"The template script node holds the definitions concerned with the scope of a particular structure of nodes.","content":["\r","\r","As such, a template script features all the components required to deal with such scope only.\r","\r","In the particular Masters super script implementation, each template script in the Setup Markets master script features a structure of nodes to be created in a specific location, and the associated JavaScript code deals with implementing such structure of nodes and establishing the corresponding references.\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a template script, select *Add Template Script* on the scripts master script node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Template Structure","definition":"The template structure holds the structure of nodes with all its configurations and properties, exactly as it should be implemented.","content":["\r","\r","Properties include the physical arrangement of nodes, references and so on. \r","\r","{% include note.html content=\"The actual structure of nodes contained in the template usually originates as a clone of an existing structure of nodes.\" %}\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a tempalte strucutre, select *Add Teemplate Structure* on the template script node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Template Target","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"super_scripts","adding":["\r","\r","To add a template target, select *Add Template Target* on the template script node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Super Action"},{"type":"Network","definition":"The network hierarchy provides the control functions for running data-mining and trading operations. Because operations may be run either on a single machine or distributed over a network of machines, it also contains definitions regarding the physical location in which nodes live or function.","content":["\r","\r","The network hierarchy defines where in the network you run each of the bots you choose to run, and where the data they output is stored. \r","\r","You will use the network hierarchy for the following purposes:\r","\r","* To control your data mining operation—that is, tasks running sensor and indicator bots. Data mining tasks process data that may be consumed by others; for example, so that your trading systems may count with quality information.\r","\r","* To control your testing environment—that is, trading sessions including backtesting and paper trading sessions.\r","\r","* To control your production environment—that is, forward testing, and live trading sessions.\r","\r","* To manage the storage of the data produced by the bots you run as outputs. This includes administering the physical locations on which the data products produced by bots reside.\r","\r","{% include note.html content=\"These processes may run together on a single machine, or may be distributed across a network of machines, or what we call a [trading farm](suite-fundamental-trading-farms-concepts.html). \" %}\r","\r","{% include warning.html content=\"At this stage, the system does not implement any form of security measures, therefore, Superalgos is to be run in the context of a restricted Local Area Network only, unless you implement your own network security.\" %}\r","\r"],"folderName":"network","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Network Node","definition":"A network node represents a machine running Superalgos, on which processes run and data is stored.","content":["\r","\r","By default, processes are set up to run locally in a network node representing your local machine. However, the system is prepared to run distributed on a network of nodes, or what we call a trading farm.\r","\r","You may create unlimited network nodes and map them with different machines on a network. Each machine in the network runs an instance of the Superalgos backend, and you may control the whole network operation from a single machine, or—in general—from any machine in the network running the Superalgos frontend. To learn more about distributed setups, check the [trading farms](suite-fundamental-trading-farms-concepts.html) pages.\r","\r","The easiest and fastest way to set up a network node is using the *Install Market* function available on markets defined in the Crypto Ecosystem hierarchy, under the exchange markets node. This function adds data mining tasks for all sensor and indicator bots shipping with the system, backtesting and live trading tasks for trading systems shipping with the system, including the data storage definitions for both, and also creates the corresponding dashboards and charts in the Charting Space hierarchy. You may learn more about this function in the [how to install a new market](suite-how-to-install-a-new-market.html) page.\r","\r","If you need finer control over the operation you wish to deploy on the network, then you may use the individual functions available under each section of the hierarchy under the network node.\r","\r"],"folderName":"network","adding":["\r","\r","To add a network node, select *Add Network Node* on the *Superalgos Network* node menu. A network node is added along with the basic structure of nodes to set up a node.\r","\r"],"configuring":["\r","\r","Select *Configure Network Node* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"host\": \"0.0.0.0\", \r","\"webPort\": \"34247\", \r","\"webSocketsPort\": \"8080\"\r","}\r","```\r","\r","* ```host``` is the machine or hardware represented by the network node, which must be identified by its IP address.\r","\r","* ```webPort``` is the port used by the Web Server, at this stage ```34247```.\r","\r","* ```webSocketsPort``` is the port used by the system to communicate over the local area network, by default set at ```8080```.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Task Manager","definition":"A task manager is a device used to organize and control any number of tasks, which, in turn, control bot instances. You use a task manager to start or stop several tasks at the same time.","content":["\r","\r","Task managers are used both in the context of data mining and trading operations, to facilitate the organization of tasks. \r","\r","For example, you may set up a task manager to handle tasks related to a particular set of indicators used with a certain strategy. Or, for example, to organize multiple backtesting sessions.\r","\r","{% include tip.html content=\"The key aspect of a task manager is that it allows starting and stopping all tasks at once.\" %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a task manager, select *Add Task Manager* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","Select *Run All Tasks* or *Stop All Tasks* on the menu to start and stop all tasks respectively.\r","\r"]},{"type":"Task","definition":"A task is the device used to control bot instances, that is, to start and stop bots, including sensors, indicators and the trading bot.","content":["\r","\r","Each task controls a single bot. A bot instance running on its own task is independent from other bots at the operating system level, thus, may not be affected by errors ocurring on those other bots.\r","\r"],"folderName":"network","adding":["\r","\r","To add a task, select *Add Task* on the task manager node menu.\r","\r","{% include tip.html content=\"Instead of adding nodes, configuring them, and setting references one by one, you may want to clone an existing, fully functional task with all its offspring.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","Select *Run* on the menu to start a task. When a task is started, the process instance of the bot instance attached to the task is started. Also, a visual indication that both the task and the process instance are running appear surrounding the corresponding nodes, in the form of a progress ring.\r","\r","To stop a task, select *Stop* on the menu.\r","\r"]},{"type":"Trading Bot Instance","definition":"A trading bot instance is a reference to the trading bot as defined in the Masters data mine. The instance of the bot runs the defined processes and generates the defined data products.","content":["\r","\r","{{site.data.concepts.trading_bot}}\r","\r","The trading bot instance holds no definitions as to what the bot does. Instead, its process instance references the process definition in the Masters data mine. That is how the indicator bot instance obtains the information of what it needs to do once it is run.\r","\r"],"folderName":"network","adding":["\r","\r","To add a trading bot instance, select *Add Trading Bot Instance* on the task node menu. When a trading bot instance is added, it is created with one trading process instance, and a market reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","You do not start or stop a trading bot instance directly. Instead, you start or stop the corresponding task.\r","\r"]},{"type":"Sensor Process Instance","definition":"A sensor process instance is a reference to the process definition of a sensor bot, as defined in a data mine.","content":["\r","\r","For example, in the case of an instance of the Masters data mine Exchange Raw Data sensor bot, the bot process instance references the *Historic OHLCVs* process definition. Once the reference is established, the sensor process instance adopts the name of the process definition it references.\r","\r"],"folderName":"network","adding":["\r","\r","To add a sensor process instance, select *Add Sensor Process Instance* on the sensor bot instance node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","You do not start or stop a sensor process instance directly. Instead, you start or stop the corresponding task.\r","\r"]},{"type":"Indicator Process Instance","definition":"An indicator process instance is a reference to the process definition of an indicator bot, as defined in a data mine.","content":["\r","\r","Indicator bot instances usually require two indicator process instances. One of them references the indicator's *multi-period-market* process definition and the second references the *multi-period-daily* process definition.\r","\r","Once the reference is established, the indicator process instance adopts the name of the process definition it references.\r","\r"],"folderName":"network","adding":["\r","\r","To add an indicator process instance, select *Add Indicator Process Instance* on the indicator bot instance node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","You do not start or stop an indicator process instance directly. Instead, you start or stop the corresponding task.\r","\r"]},{"type":"Trading Process Instance","definition":"A trading process instance is a reference to the process definition of the trading bot, as defined in the Masters data mine.","content":["\r","\r","The trading process instance must reference the *Multi-Period* process definition of the Jason trading bot in the Masters data mine.\r","\r"],"folderName":"network","adding":["\r","\r","To add a trading process instance, select *Add Trading Process Instance* on the trading bot instance node menu. When a trading process instance is added, it is created with a market reference.\r","\r","{% include note.html content=\"After adding a trading process instance node, make sure you establish the reference to the *Multi-Period* process definition of the Jason trading bot in the Masters data mine.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","You do not start or stop a trading process instance directly. Instead, you start or stop the corresponding task.\r","\r"]},{"type":"Backtesting Session","definition":"A backtesting session is a trading mode by which the trading bot instance reads historic market data in a user-defined datetime range, applies the rules defined in the associated trading system, and generates a trading simulation.","content":["\r","\r","A backtesting session node must reference a trading system to gain access to the trading logic to be applied during the session. Other considerations framing the session come from the set of parameters attached to it.\r","\r"],"folderName":"network","adding":["\r","\r","To add a backtesting session, select *Add Backtesting Session* on the trading process instance node menu. When a session is added, it is created with the full set of parameters.\r","\r","{% include note.html content=\"After adding a session node, make sure you establish a reference to the trading system you want it to work with.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Session* on the menu to access the configuration.\r","\r","```json\r","{\r","\"folderName\": \"Session-Name\"\r","}\r","```\r","\r","* ```folderName``` allows you to set a significant name to the folder in which the data products—and logs—generated by the session are stored. If left blank, the system names the folders with the session id. This may be handy when you intend to consult the raw data generated by the session, as, otherwise, the folder would be hard to identify.\r","\r"],"starting":["\r","\r","Before you start a backtesting session, the corresponding task needs to be running, as it is the task that puts the trading bot instance to run. Once the trading bot instance is running, select *Run* on the menu to start the session.\r","\r","After a few seconds, a literal indication of the progress of the calculations appears below the session node, displaying the date that is currently being processed. Once the calculation is finished, the session stops and the date below the session node dissapears.\r","\r","To stop a backtesting session, select *Stop* on the menu.\r","\r"]},{"type":"Trading Engine","definition":"The trading engine hierarchy is the data structure used by the trading bot to keep runtime information highly accessible and exposed to others.","content":["\r","\r","You will use this hierarchy for two main purposes:\r","\r","* **To let your trading systems access the information processed by the trading bot.** This allows strategies to keep track of and react to current and past events—including those involving the exchange, such as orders placed or filled—as the bot is running.\r","\r","* **To keep track of the actions of the trading bot via the design space visual environment and panels over the charts.** By analyzing runtime information, you may gain a detailed understanding of what happens, when, and why, throughout a trading session.\r","\r","The hierarchy exposes—literally—all the information processed by the trading bot, providing a comprehensive feedback loop to trading systems and analysis capabilities to users.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","{% include tip.html content=\"There may be more than one trading engine in a workspace. Cloning the default trading engine is the best way to start a new one.\" %}\r","\r","To add the {{ title | downcase }} node from scratch, select *Add Trading Engine* on the workspace node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Dynamic Indicators","definition":"","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Indicator Function","definition":"","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Episode","definition":"Episode is the object that handles the information corresponding to the whole run of the trading bot—beginning to end—between the specified initial datetime and final datetime, in the time range parameter of the trading session.","content":["\r","\r","In other words, episode is the context framed between the datetimes that make up the whole trading session, as per the session's configuration. As such, an episode keeps track of—and accumulates—the results of all positions entered throughout a complete run of a trading session.\r","\r","In this section of the hierarchy, you have access to:\r","\r","* **[running balances and overall performance metrics](suite-trading-engine-accounts-and-metrics.html)** denominated in both the base and quoted assets;\r","\r","* **[counters](suite-trading-engine-counters.html)**, such as the number of positions taken, orders placed, hits, fails, and so on;\r","\r","* **[statistics](suite-trading-engine-statistics.html)**, such as performance metrics consolidating both assets, number of days in the episode, or user-defined statistics;\r","\r","* **[the distance to certain events](suite-trading-engine-distance-to-event.html)**, such as the number of candles to the last take position event, or the last create order event;\r","\r","* **[rates describing each candle](suite-trading-engine-candle.html)** in the episode, such as the open, close, min and max rates;\r","\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Episode Counters","definition":"The episode counters node features counters of instances of objects that come to exist during the duration of the episode.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Position Counters","definition":"The position counters node features counters of instances of objects that come to exist during the duration of the position.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy Counters","definition":"The strategy counters node features counters of instances of objects that come to exist while the strategy is open.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Order Counters","definition":"The order counters node features counters of instances of objects that come to exist while the order is open.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Positions","definition":"Positions counts the number of times positions have been opened, in the context of the parent node.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategies","definition":"Strategies counts the number of times strategies have been triggered-on, in the context of the parent node.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Orders","definition":"Orders counts the number of times orders have been placed, in the context of the parent node.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Fails","definition":"Fails counts the number of positions that closed with a negative profit loss, in the context of the parent node.","content":["\r","\r","{% include note.html content=\"The workings of the fail counts are analogous to the workings of the hits counts, reversing the sign. That is, when profit loss is negative, it is counted as a fail. Please refer to the definition of *hits* for the details.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Hits","definition":"Hits counts the number of positions that closed with a positive profit loss, in the context of the parent node.","content":["\r","\r","In the context of the quoted asset or the base asset, *hits* are calculated relative to the asset in question. That is, if the base asset profit loss is positive, then a hit is counted for the base asset.\r","\r","However, when the context of the asset is not specified—such as under the statistics node—then *hits* are calculated in a consolidated manner, converting the respective balances to perform the calculations. \r","\r","{% include note.html content=\"The consolidated calculations are explained thoroughly in the profit loss node.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Periods","definition":"Periods counts the number of candles that have been evaluated, in the context of the parent node.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"User Defined Counter","definition":"","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Episode Statistics","definition":"Episode statistics keeps track of several metrics in the context of the episode.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Stop Loss","definition":"Stop loss is the current stop loss target, as defined in the manage stage of the corresponding strategy.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Take Profit","definition":"Take profit is the current take profit target, as defined in the manage stage of the corresponding strategy.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Stop Loss Phase","definition":"Stop loss phase is the numeric value of the phase that is currently open, and thus, defining the value of the stop loss.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Take Profit Phase","definition":"Take profit phase is the numeric value of the phase that is currently open, and thus, defining the value of the take profit.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Take Profit Position","definition":"Take profit position indicates if the take profit target is above or below the position rate.","content":["\r","\r","Possible values are ```Above``` and ```Below```.\r","\r","The implications of setting the take profit target above or below the position rate are explained on the trading system section of the documentation, in particular while describing the [initial target rate definition](suite-strategies-open-targets.html#target-rate).\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Stop Loss Position","definition":"Stop Loss position indicates if the stop loss target is above or below the position rate.","content":["\r","\r","Possible values are ```Above``` and ```Below```.\r","\r","The implications of setting the stop loss target above or below the position rate are explained on the trading system section of the documentation, in particular while describing the [initial target rate definition](suite-strategies-open-targets.html#target-rate).\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Position Statistics","definition":"Position statistics keeps track of several metrics in the context of the position.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Stage Base Asset","definition":"The stage base asset node keeps track of the evolution of variables related to the base asset throughout the stage.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Stage Quoted Asset","definition":"The stage quoted asset node keeps track of the evolution of variables related to the quoted asset throughout the stage.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Episode Base Asset","definition":"The episode base asset node keeps track of the evolution of variables and metrics denominated in the base asset, throughout the episode.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Episode Quoted Asset","definition":"The episode quoted asset node keeps track of the evolution of variables and metrics denominated in the quoted asset, throughout the episode.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Position Base Asset","definition":"The position base asset node keeps track of the evolution of variables related to the base asset throughout the position.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Position Quoted Asset","definition":"The position quoted asset node keeps track of the evolution of variables related to the quoted asset throughout the position.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Order Statistics","definition":"Order statistics keeps track of several metrics in the context of the order.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Order Base Asset","definition":"The order base asset node keeps track of the evolution of certain properties of orders, denominated in the base asset.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Order Quoted Asset","definition":"The order quoted asset node keeps track of the evolution of certain properties of orders, denominated in the quoted asset.","content":["\r","\r","{% include note.html content=\"Learn more about how accounts for the base asset and the quoted asset are kept in the [base asset and quoted asset](suite-trading-engine-base-asset-and-quoted-asset.html) page on the trading engine section of the documentation.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"User Defined Statistic","definition":"A user defined statistic allows users to create custom metrics by defining the corresponding calculation in a formula, in the context of the parent node.","content":["\r","\r","The current contexts in which custom statistics may be defined are episodes, positions, and orders.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Profit Loss","definition":"Profit loss is the difference between the balance at the end and the balance at the beginning of a certain period, given by the context.","content":["\r","\r","In the context of the base asset or the quoted asset, the calculation is done by subtracting the balances in the corresponding assets, using the variable appropriate to the larger context (i.e.: episode, position, etc.).\r","\r","*In general terms:*\r","\r","* ```base asset profit loss = base asset end balance - base asset begin balance```\r","\r","* ```quoted asset profit loss = quoted asset end balance - quoted asset begin balance```\r","\r","*In the case of the episode base asset and episode quoted asset:*\r","\r","```\r","tradingEngine.current.episode.episodeBaseAsset.profitLoss.value =\r"," tradingEngine.current.episode.episodeBaseAsset.balance.value -\r"," sessionParameters.sessionBaseAsset.config.initialBalance\r"," \r","tradingEngine.current.episode.episodeQuotedAsset.profitLoss.value =\r"," tradingEngine.current.episode.episodeQuotedAsset.balance.value -\r"," sessionParameters.sessionQuotedAsset.config.initialBalance\r","```\r","\r","*In the case of the position base asset and position quoted asset:*\r","\r","```\r","tradingEngine.current.position.positionBaseAsset.profitLoss.value =\r"," tradingEngine.current.episode.episodeBaseAsset.balance.value -\r"," tradingEngine.current.position.positionBaseAsset.beginBalance\r"," \r","tradingEngine.current.position.positionQuotedAsset.profitLoss.value =\r"," tradingEngine.current.episode.episodeQuotedAsset.balance.value -\r"," tradingEngine.current.position.positionQuotedAsset.beginBalance\r","```\r","\r","In the context of the episode statistics or the position statistics, the calculation is done consolidating the profits of both assets. \r","\r","{% include note.html content=\"When the context does not refer to either of the assets in particular, then both assets are taken into account in the calculation.\" %}\r","\r","*In the context of the episode statistics:*\r","\r","```\r","tradingEngine.current.episode.episodeStatistics.profitLoss.value =\r"," tradingEngine.current.episode.episodeBaseAsset.profitLoss.value * \r"," tradingEngine.current.episode.candle.close.value +\r"," tradingEngine.current.episode.episodeQuotedAsset.profitLoss.value\r","```\r","\r","*In the context of the position statistics:*\r","\r","```\r","tradingEngine.current.position.positionStatistics.profitLoss.value =\r"," tradingEngine.current.episode.episodeBaseAsset.profitLoss.value * \r"," tradingEngine.current.position.endRate.value +\r"," tradingEngine.current.episode.episodeQuotedAsset.profitLoss.value\r","```\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Hit Ratio","definition":"Hit ratio is the percentage of positions that closed with a positive profit loss, in the context of the parent node.","content":["\r","\r","Hit ratio results from multiplying the number of hits by 100 and dividing it by the number of positions: ```hit ratio = hits * 100 / positions```.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Days","definition":"Days counts the number of days through which the trading bot has cycled since the object represented by the parent node was open.","content":["\r","\r","In the context of an episode, it counts the number of days in the episode.\r","\r","In the context of a position, it counts the number of days a position has been open.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Size Filled","definition":"Size filled is the amount of the order that has been filled at the exchange.","content":["\r","\r","In the context of a strategy stage, the size filled refers to the sum of the size filled for all orders placed on the corresponding stage.\r","\r","In the context of an order, it refers to the size filled for the particular order.\r","\r","Upon each execution of the trading bot, the system asks the exchange about the status of the orders placed, and the exchange reports back with the size filled and the actual rate at which orders are filled.\r","\r","In liquid markets, market orders should usually fill immediately. However, limit orders may fill incrementally. Size filled keeps track of how much of the size placed has been filled on every execution.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Percentage Filled","definition":"Percentage filled represents the portion of the order that has been filled, expressed as a percentage.","content":["\r","\r","*The formula:*\r","\r","```percentage filled = size filled * 100 / size```\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Actual Rate","definition":"Actual rate is the number reported by the exchange as the rate at which an order was filled.","content":["\r","\r","When the system consults the status of open orders with the exchange, the exchange responds with the size filled and the actual rate for the particular order. In case an order is filled incrementally, the value is updated accordingly. \r","\r","The system uses the actual rate to update the calculation of balances, which are otherwise calculated with the original rate, by default.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Fees Paid","definition":"Fees paid is the amount paid in fees.","content":["\r","\r","The exchange does not explicitly indicate how much has been paid in fees for a given transaction. Instead, when Superalgos verifies if an order has been filled or not, the exchange reports the size filled and the actual rate only.\r","\r","{% include callout.html type=\"success\" content=\"Exchange fees are *estimated* using the *fee structure* parameter set for the trading session. It is, therefore, important to set the correct values for that parameter.\" %}\r","\r","Exchanges deduct fees from the asset you are receiving. For instance, if you are selling BTC in the BTC-USDT market, then you are receiving USDT, and the exchange will deduct the fees directly from the amount of USDT you are receiving.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"ROI","definition":"ROI is a ratio that compares the profit loss with the cost of the investment, expressed as a percentage."},{"type":"Annualized Rate Of Return","definition":"Annualized rate of return is the equivalent ROI scaled to one year.","content":["\r","\r","In other words, it is the equivalent annual return received over a given period.\r","\r","*The formula:*\r","\r","```annualized rate of return = (((investment + profits) / investments) ^ (365 / days)) - 1```\r","\r","In the context of the episode base asset and episode quoted asset, the calculation is done relative to the corresponding assets, and the overall context.\r","\r","*The formulas:*\r","\r","```\r","tradingEngine.current.episode.episodeBaseAsset.annualizedRateOfReturn.value = \r","((( tradingEngine.current.episode.episodeBaseAsset.beginBalance.value +\r","tradingEngine.current.episode.episodeBaseAsset.profitLoss.value ) / \r","tradingEngine.current.episode.episodeBaseAsset.beginBalance.value) ^\r","(365 / tradingEngine.current.episode.episodeStatistics.days.value)) - 1\r","\r","tradingEngine.current.episode.episodeQuotedAsset.annualizedRateOfReturn.value = \r","((( tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value +\r","tradingEngine.current.episode.episodeQuotedAsset.profitLoss.value ) / \r","tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value) ^\r","(365 / tradingEngine.current.episode.episodeStatistics.days.value)) - 1\r","```\r","\r","*The JavaScript code:*\r","\r","```js\r","tradingEngine.current.episode.episodeBaseAsset.annualizedRateOfReturn.value = \r","Math.pow(\r"," ( tradingEngine.current.episode.episodeBaseAsset.beginBalance.value +\r"," tradingEngine.current.episode.episodeBaseAsset.profitLoss.value ) / \r"," tradingEngine.current.episode.episodeBaseAsset.beginBalance.value\r"," , \r"," (365 / tradingEngine.current.episode.episodeStatistics.days.value)\r"," ) - 1\r","\r","tradingEngine.current.episode.episodeQuotedAsset.annualizedRateOfReturn.value = \r","Math.pow(\r"," ( tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value +\r"," tradingEngine.current.episode.episodeQuotedAsset.profitLoss.value ) / \r"," tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value\r"," , \r"," (365 / tradingEngine.current.episode.episodeStatistics.days.value)\r"," ) - 1\r","```\r","\r","In the context of the episode statistics, the calculation is done using the consolidated balance, as explained in the profit loss definition. \r","\r","{% include note.html content=\"When the context does not refer to either of the assets in particular, then both asset balances are consolidated, and denominated in the quoted asset.\" %}\r","\r","*The JavaScript code:*\r","\r","```js\r","tradingEngine.current.episode.episodeStatistics.annualizedRateOfReturn.value =\r","Math.pow(\r"," (\r"," tradingEngine.current.episode.episodeBaseAsset.beginBalance.value * \r"," tradingEngine.current.episode.beginRate.value +\r"," tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value +\r"," tradingEngine.current.episode.episodeBaseAsset.profitLoss.value +\r"," tradingEngine.current.episode.episodeQuotedAsset.profitLoss.value\r"," ) / \r"," (\r"," tradingEngine.current.episode.episodeBaseAsset.beginBalance.value * \r"," tradingEngine.current.episode.beginRate.value +\r"," tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value \r"," ) \r"," , \r"," (\r"," 365 / tradingEngine.current.episode.episodeStatistics.days.value\r"," ) \r"," ) - 1\r","```\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Hit Fail","definition":"Hit fail states whether a transaction is successful or not, hit meaning it is successful and fail meaning it is not.","content":["\r","\r","Superalgos marks positions and even entire episodes as hits or fails, by evaluating profit loss for the corresponding context. If profit loss is positive, then the position or episode is a hit. If profit loss is negative, it is a fail.\r","\r","{% include note.html content=\"Please refer to the definition of *hits* for the details.\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Current","definition":"The current object refers to the context in which instances of several other objects exist—like episode, strategy, position, strategy stages, and so on—in particular, the instances that are open at the time of evaluation, hence the adjective current.","content":["\r","\r","Conceptually, current is used as an adjective applied to different concepts, such as the current episode, the current strategy, the current position, or the current strategy stage, to indicate the instance that is passing at the moment.\r","\r","The generation of offspring nodes under the current section of the hierarchy keeps track of information within the scope of the embodied concept: episode, strategy, position, and so on. \r","\r","In other words, the episode, strategy and position nodes within the current section of the hierarchy feature information relative to the instances of the episode, strategy, and position that are currently passing, at any point in time.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the current node, select *Add Missing Items* on the trading engine node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Balance","definition":"Balance is the running balance, that is, the amount of the asset that exists at any point in time.","content":["\r","\r","The balance of an asset changes every time an order involving the asset is filled. When the trading bot consults the exchange to find out the status of each order placed, the exchange answers with the size filled and actual rate for the order. That is the information used to calculate balances.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Begin Balance","definition":"Begin balance is the balance at the datetime of the begin property of the parent node or concept.","content":["\r","\r","In the context of an episode, it is the balance at the datetime the episode started.\r","\r","In the context of a position, it is the balance at the datetime the position started.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"End Balance","definition":"End balance is the balance at the datetime of the end property of the parent node or concept.","content":["\r","\r","In the context of an episode, it is the balance at the datetime the episode ended.\r","\r","In the context of a position, it is the balance at the datetime the position was closed.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Distance To Event","definition":"Distance to event features counters indicating how many periods (candles) have passed since the last occurrence of certain events, in the context of the episode.","content":["\r","\r","The information may be used from within strategies, for example, to leave a cool-down period in-between positions, to separate orders in specific intervals, or to achieve any particular logic that may require counting how much time has passed since the last time a specific event was triggered.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trigger On","definition":"Counts the periods since the last time a strategy was triggered on.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trigger Off","definition":"Counts the periods since the last time a strategy was triggered off.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Take Position","definition":"Counts the periods since the last time a position was taken.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Close Position","definition":"Counts the periods since the last time a position was closed.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Next Phase","definition":"Counts the periods since the last time a next phase event was triggered.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Move To Phase","definition":"Counts the periods since the last time a move to phase event was triggered.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Create Order","definition":"Counts the periods since the last time an order was created.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Cancel Order","definition":"Counts the periods since the last time an order was canceled.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Close Order","definition":"Counts the periods since the last time an order was closed.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy Trigger Stage","definition":"Strategy trigger stage is the section of the data structure that keeps track of information specific to the scope of the trigger stage during the period the stage is open.","content":["\r","\r","The trigger stage is active from the instant the trigger-on event is triggered until either the trigger-off event or the take position event gets triggered. Therefore, this section of the data structure features information spaning those periods only.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy Manage Stage","definition":"Strategy manage stage is the section of the data structure that keeps track of information specific to the scope of the manage stage during the period the stage is open.","content":["\r","\r","The manage stage is active from the instant the take position event is triggered until the instant either the stop or take profit targets are hit.\r","\r","Therefore, this section of the data structure features information spaning those periods only.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy Open Stage","definition":"Strategy open stage is the section of the data structure that keeps track of information specific to the scope of the open stage during the period the stage is open.","content":["\r","\r","The open stage is open from the instant the take position event gets triggered, and starts closing from the instant one of the following things happen:\r","\r","* the target size is filled, \r","\r","* the close stage event is triggered, \r","\r","* the take profit or stop loss targets are hit. \r","\r","Therefore, this section of the data structure features information spaning those periods only.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy Close Stage","definition":"Strategy close stage is the section of the data structure that keeps track of information specific to the scope of the close stage during the period the stage is open.","content":["\r","\r","The close stage is active from the instant either the stop loss or take profit targets are hit until the instant the target size is filled or the close stage event is triggered.\r","\r","Therefore, this section of the data structure features information spaning those periods only.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy","definition":"The strategy section of the trading engine keeps track of information relating to the trading strategies that are triggered-on, during the time they remain open.","content":["\r","\r","The strategy node is available both in the current context and the last context, that is, you may retrieve information of the strategy that was last triggered or the one currently open.\r","\r","A strategy is open from the instant it is triggered-on until the instant it is triggered-off. Therefore, this section of the data structure features information spaning those periods only.\r","\r","This section provides all the basic details about the strategy, which is particularly useful when the trading system features multiple strategies. It also provides information about the context, that is, what is going on with the market at the time strategies are triggered-on and off.\r","\r","Most interestingly, the strategy section provides information such as which situation was responsible for triggering the strategy. This may be particularly useful in complex strategies in which the trigger on event may be defined by multiple situations.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Strategy Name","definition":"Strategy name features the name of the strategy that is currently open.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Index","definition":"Index is the position of the parent object in the corresponding data collection, as determined by the context.","content":["\r","\r","In the context of a candle, *index* is the position of the current candle in the array of candles within the larger context, for example, an episode.\r","\r","Trading systems may feature more than one strategy. In the context of a strategy, *index* is the position of the strategy within the trading system. \r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Status","definition":"Status refers to the state of the object represented by the parent node at the moment of evaluation.","content":["\r","\r","There are three possible status:\r","\r","* ```Not Open```: the object is not open at the current candle.\r","\r","* ```Open```: the object is open at the current candle.\r","\r","* ```Closed```: the object closes at the current candle.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Situation Name","definition":"Situation name features the name of the situation that triggered a certain event, which is dependent on the context.","content":["\r","\r","In the context of a strategy, it is the name of the situation that triggered-on the strategy.\r","\r","In the context of a position, it's the name of the situation that triggered the take position event.\r","\r","In the context of an order, it's the situation that triggered the create order event.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Algorithm Name","definition":"Algorithm name is the name of the execution algorithm that opened the order, as specified in the trading system.","content":["\r","\r","Assigning names to execution algorithms in the definition of the trading system makes tracking the execution of orders easier.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Order Name","definition":"Order name is the name of the order as specified in the trading system.","content":["\r","\r","Assigning names to orders in the definition of the trading system makes tracking the execution of orders easier.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Serial Number","definition":"Serial number is a sequential number assigned to the object represented by the parent node at the moment it is opened.","content":["\r","\r","Serial numbers start at 1 and increment by 1 with each intance of the object that is opened.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Identifier","definition":"Identifier is a unique alphanumeric string by which the object represented by the parent node may be unequivocally identified.","content":["\r","\r","The property is what would be used to access a specific known record.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Id","definition":"Exchange ID is a unique identifier the exchange assigns to the order, so that it may be unequivocally identified.","content":["\r","\r","By default, it is the rate at the close of the last candle at the moment the order is placed. All market orders have the default rate value.\r","\r","In the case of limit orders, it is the rate as specified by the formula under the order rate node. If no such definition exists, then limit orders use the default value as well.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Lock","definition":"Lock is an internal mechanism that blocks the data structure of the order at the trading engine when the definition of the order at the trading system disallows spawning multiple orders.","content":["\r","\r","Possible values for lock are ```open``` and ```closed```.\r","\r","The moment an order is closed, the system checks the ```spawnMultipleOrders``` parameter at the order's configuration in the trading system. If the value is ```false```, the system sets the lock to ```closed``` so that the data structure may not be used again during the same position.\r","\r","At the moment of opening an order, the system checks the ```spawnMultipleOrders``` parameter at the order's configuration in the trading system. If the value is ```false```, the system checks the value of the lock. If the value is ```open```, then it may create the order; if it is ```closed``` then the order may not be created.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Begin","definition":"Begin is the datetime at the moment the object represented by the parent node began to exist.","content":["\r","\r","In the context of a candle, it is the datetime of the open of the candle as provided by the exchange.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"End","definition":"End is the datetime on which the object represented by the parent node ceased to exist. In case the object has not been closed yet, it is the datetime at the moment of evaluation.","content":["\r","\r","In the context of a candle, it is the datetime of the close of the candle as provided by the exchange.\r","\r","In every other context, the datetime is given by the datetime of the moment of evaluation. When evaluating a point in time in which the object remains open, *end* stores the datetime of that moment, because the object existed until that point in time when the value was last being updated. Once the object is closed, the end value is not modified again.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Open","definition":"Open is the rate at the datetime of the begin property, as provided by the exchange. That is, the rate at the open of the candle.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Close","definition":"Close is the rate at the datetime of the end property, as provided by the exchange. That is, the rate at the close of the candle.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Min","definition":"Min is the minimum rate registered by the exchange during the period between the datetimes of the begin and end properties, as provided by the exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Max","definition":"Max is the maximum rate registered by the exchange during the period between the datetimes of the begin and end properties, as provided by the exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Begin Rate","definition":"Begin rate is the close rate of the candle corresponding to the datetime of the begin property.","content":["\r","\r","In the context of a strategy, it is the close rate of the last closed candle at the moment the strategy was triggered.\r","\r","In the context of a position, it is the close rate of the last closed candle at the moment the take position event was triggered.\r","\r","In the context of an episode, it is the close rate of the last closed candle at the moment the episode starts.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"End Rate","definition":"End rate is the close rate of the candle corresponding to the datetime of the end property.","content":["\r","\r","In the context of a strategy, it is the close rate of the last closed candle at the moment the strategy is triggered-off.\r","\r","In the context of a position, it is the close rate of the last closed candle at the moment the close stage is closed.\r","\r","In the context of an episode, it is the close rate of the last closed candle at the moment the episode ends.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Position","definition":"Position is the section of the data structure that keeps track of information within the scope of each position, and during the time a position is open.","content":["\r","\r","The position node is available both in the current context and the last context, that is, you may retrieve information of the position that was last opened or the one currently open.\r","\r","A position is open from the instant the take position event is triggered until the instant the close stage is closed. Therefore, this section of the data structure features information spaning those periods only.\r","\r","In this section of the hierarchy, you have access to:\r","\r","* **[balances and position performance metrics](suite-trading-engine-accounts-and-metrics.html)** denominated in both the base and quoted assets;\r","\r","* **[counters](suite-trading-engine-counters.html)**, such as the number of periods the position has been open;\r","\r","* **[statistics](suite-trading-engine-statistics.html)**, such as performance metrics consolidating both assets, or user-defined statistics;\r","\r","* **[the distance to certain events](suite-trading-engine-distance-to-event.html)**, such as the number of candles to the last take position event, or the last create order event;\r","\r","* **[rates describing each candle](suite-trading-engine-candle.html)** in the episode, such as the open, close, min and max rates;\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Rate","definition":"Rate is the rate at which the order is placed.","content":["\r","\r","By default, it is the rate at the close of the last candle at the moment the order is placed. All market orders have the default rate value.\r","\r","In the case of limit orders, it is the rate as specified by the formula under the order rate node. If no such definition exists, then limit orders use the default value as well.\r","\r","The rate is used by the system for all internal calculations affecting the accounts kept in both assets.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Entry Target Rate","definition":"Entry target rate is the target rate set on the initial targets definition, in the open stage of the strategy.","content":["\r","\r","Refresh this concepts by reading about the [initial target definitions](suite-strategies-open-targets.html) at the trading system.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exit Target Rate","definition":"Exit target rate is the target rate set on the initial targets definition, in the close stage of the strategy.","content":["\r","\r","Refresh this concepts by reading about the [initial target definitions](suite-strategies-open-targets.html) at the trading system.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Stage Defined In"},{"type":"Size","definition":"Size is the size set for the order through a combination of formulas and configurations defined in the trading system, and is the value passed on to the exchange as the size of the order.","content":["\r","\r","The system provides a flexible and robust infrastructure to control execution. The size of a single order results from the combination of multiple settings.\r","\r","* **The target size in base asset or target size in quoted asset**: The formulas under these nodes define the absolute maximum size allowed for the position. The implications of using one or the other are explained under the initial targets node in the open stage.\r","\r","* **The configuration of the execution algorithm**: The parameter ```percentageOfStageTargetSize``` determines what fraction of the target size the algorithm will attempt to execute.\r","\r","* **The configuration of the order**: The parameter ```percentageOfAlgorithmSize``` determines what fraction of the size handled by the algorithm the order shall be constrained to.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Entry Target Size","definition":"Entry target size is the target size set on the initial targets definition, in the open stage of the strategy.","content":["\r","\r","Refer to the explanations on the entry target size for some relevant context.\r","\r","Refresh this concepts by reading about the [initial target definitions](suite-strategies-open-targets.html) at the trading system.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exit Target Size","definition":"Exit target size is the target size set on the initial targets definition, in the close stage of the strategy.","content":["\r","\r","Both entry and exit target sizes may be defined either denominated in the base asset or the quoted asset. Nevertheless, the sytem keeps track of target sizes in both assets. If the target is defined denominated in the base asset, then the target for the quoted asset is calculated using the current rate, and viceversa.\r","\r","Refresh this concepts by reading about the [initial target definitions](suite-strategies-open-targets.html) at the trading system.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Size Placed","definition":"Size placed is the size of the order placed at the exchange.","content":["\r","\r","In the context of a strategy stage, the size placed refers to the sum of the sizes placed for all orders placed on the corresponding stage.\r","\r","In the context of an order, it refers to the size placed for the particular order.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Target Size","definition":"Target size is the target set on the initial targets definition which, in the context of a strategy stage, acts as a limit.","content":["\r","\r","Both the close and open stages may have multiple execution algorithms, each with multiple orders defined. In this context, the target size acts as a limit, as it is defined by the user as the maximum size allowed for any given position.\r","\r","Before placing an order, the system makes sure that the size limit embodied in the target size would not be breached by opening a new order.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exit Type","definition":"Exit type refers to the reason why the object is closed.","content":["\r","```No Exit``` is the default value until a new value is assigned before the object is closed. Other possible values vary with the context.\r","\r","In the context of the episode object:\r","\r","* ```Last Candle Reached```: the object was closed because the last candle was reached.\r","\r","In the context of the strategy object:\r","\r","* ```Position Closed```: the position was closed.\r","\r","In the context of the position object:\r","\r","* ```Take Profit```: the take profit target was hit.\r","\r","* ```Stop Loss```: the stop loss target was hit.\r","\r","In the context of an order:\r","\r","* ```Closing Stage```: the current stage started closing because the Close Stage is opening.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Process Date"},{"type":"Head Of The Market"},{"type":"Last","definition":"The last object stores instances of position and strategy objects, in particular the instances that were last open at the time of evaluation, hence the adjective last.","content":["\r","\r","Conceptually, last is used as an adjective applied to these concepts, such as the last position or the last strategy, providing the context on which those concepts exist.\r","\r","The *last* context exists so that you may easily access information about the strategy that was last triggered or the position that was last opened. \r","\r","This is valuable information, both for users and trading systems alike.\r","\r","* As a user, you will value being able to visually follow what happened with the last position after it closed, or the last strategy after it triggered off, and at the same time see what is going on with the current position or the current strategy.\r","\r","* From within a trading system, your strategies may make decisions factoring in what happened with the last position or strategy. For example, you may want to affect the size of the next position depending on the result of the last one.\r","\r","If you can code, you may actually access any object that was open in the past at any point in time, and not just the last one.\r","\r","\r","\r","\r","\r","\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Candle","definition":"The candle structure of nodes stores the properties that make up each candle in the episode, including open and close datetime, and the rates for open, min, max, and close.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Cycle","definition":"The trading bot performs its duties in regards to exchange orders and accounts in two consecutive cycles for each candle.","content":["\r","\r","In the first cycle, it checks the status of orders at the exchange, synchronizes the accounts, and verifies if conditions to place new orders are met.\r","\r","In the second cycle, it creates the orders at the exchange, provided conditions where met on the previous cycle.\r","\r","The two possible values for the cycle node are ```First``` and ```Second```.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Orders","definition":"Exchange orders is the section of the data structure that keeps track of orders of all types.","content":["\r","\r","The function of this section of the trading engine is to provide the data structure to hold the information of orders as they are open and closed. \r","\r","Orders are organized by type, such as market orders and limit orders, and also by the type of transaction, such as buy or sell orders.\r","\r","Each section of the hierarchy must have the definition of as many orders of each type as the trading system is capable of placing concurrently. For example, if the execution algorithm may place up to three limit buy orders to open a position, then three limit orders must exist under the limit buy orders section of the hierarchy. Each order defined in the trading system must reference the data structure of a matching type of order in the trading engine.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Buy Orders","definition":"Market buy orders is the section of the data structure that keeps track of this specific type of order.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Order","definition":"Market order is the section of the data structure that keeps track of the properties of a specific market order, as defined in the trading system.","content":["\r","\r","Each market order defined in the trading system must reference the data structure of a market order in the trading engine.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Sell Orders","definition":"Market sell orders is the section of the data structure that keeps track of this specific type of order.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Limit Buy Orders","definition":"Limit buy orders is the section of the data structure that keeps track of this specific type of order.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Limit Sell Orders","definition":"Limit sell orders is the section of the data structure that keeps track of this specific type of order.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Limit Order","definition":"Limit order is the section of the data structure that keeps track of the properties of a specific limit order, as defined in the trading system.","content":["\r","\r","Each limit order defined in the trading system must reference the data structure of a limit order in the trading engine.\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Parameters","definition":"Parameters are properties of trading sessions, defined by users, to determine their behavior and improve the quality of simulations.","content":["\r","\r","The behavior of parameters may vary depending on the type of session.\r","\r","Each testing session has its own set of parameters. This allows you to configure different trading sessions with different parameters, and go back and forth between them as required. For instance, you may have different backtesting sessions with different date ranges, different exchange fees or different slippage settings to account for different possible scenarios.\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a parameters node, select *Add Parameters* on the session or the trading system menu, depending on the context. When a parameters node is added, the full set of parameters are created with it.\r","\r","If you already have a parameters node but are missing some of the parameters, then select *Add Missing Params* on the menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading System Reference","definition":"A trading engine reference determines which trading system shall be evaluated by the trading bot to run the trading session.","content":["\r","\r","In other words, the trading system reference lets the process instance know which trading rules to process for the given session.\r","\r"],"folderName":"network","adding":["\r","\r","To add a trading ensystemgine reference, select *Add Missing Children* on the trading session node menu.\r","\r","{% include note.html content=\"After adding a trading system reference node, make sure you establish the reference to the corresponding trading system hierarchy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Engine Reference","definition":"A trading engine reference determines which trading engine the trading bot shall use to structure the data it processes while running the trading session.","content":["\r","\r","In other words, the trading engine reference lets the process instance know which data structure to use to store information related to the trading session. This means that a workspace may have more than one trading engine.\r","\r"],"folderName":"network","adding":["\r","\r","To add a trading engine reference, select *Add Missing Children* on the trading session node menu.\r","\r","{% include note.html content=\"After adding a trading engine reference node, make sure you establish the reference to the corresponding trading engine hierarchy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Session Base Asset","definition":"The base asset is the asset whose price is determined by the market. It is usually the first asset in the pair, as listed by the exchange.","adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r","{% include note.html content=\"After adding a base asset node, make sure you establish a reference to the asset in a specific market of a specific exchange in the Crypto Ecosystem hierarchy.\" %}\r","\r"],"folderName":"network","configuring":["\r","\r","Select *Configure Base Asset* on the menu to access the configuration.\r","\r","```json\r","{\r","\"initialBalance\": 0.001,\r","\"minimumBalance\": 0.0001,\r","\"maximumBalance\": 0.1\r","}\r","```\r","\r","* ```initialBalance``` is the amount of capital you wish to allocate to the trading system.\r","\r","* ```minimumBalance``` is the threshold of accummulated losses that switches off the session; when your overall balance (balanceAssetA + balanceAssetB) drops to this value, all trading stops; think of the ```minimumBalance``` as a general safety switch.\r","\r","* ```maximumBalance``` is a similar concept as with the ```minimumBalance``` but on the high side of the ```initialBalance```.\r","\r","\r"]},{"type":"Session Quoted Asset","definition":"The quoted asset is the asset on which the price of the base asset is denominated in the market. It is usually the second asset in the pair, as listed by the exchange.","content":["\r","\r","The parameter allows defining an initial balance of the corresponding asset, which may be used for trading with the corresponding trading system and trading session. Please see the configuration.\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r","{% include note.html content=\"After adding a quoted asset node, make sure you establish a reference to the second asset in the same market of the same exchange as the reference established with the base asset.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Base Asset","definition":"The market base asset is the asset in the pair used to provide a quote—a price—for the quoted asset, as listed at the exchange.","content":["\r","\r","A market base asset must reference an asset defined under the exchange assets node.\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add a market base asset, select *Add Market Base Asset* on the market node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with an asset defined under the exchange assets node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Quoted Asset","definition":"The market quoted asset is the asset in the pair for which a quote is given, denominated in the base asset, as listed at the exchange.","content":["\r","\r","A market quoted asset must reference an asset defined under the exchange assets node.\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add a market quoted asset, select *Add Market Quoted Asset* on the market node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with an asset defined under the exchange assets node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Time Range","definition":"The time range parameter determines the period of time on which the trading session is run.","content":["\r","\r","The parameter offers precise control over the duration, starting and ending points of the session. Several options are available, and there are differences in how backtesting and the rest of the types of trading sessions function in this regard. \r","\r","Check the configuration to learn more.\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Time Range* on the menu to access the configuration. The configuration varies slightly depending on the type of session you are running.\r","\r","{{include.configuring}}# On Backtesting Sessions\r","\r","```json\r","{\r","\"initialDatetime\": \"2019-09-01T00:00:00.000Z\",\r","\"finalDatetime\": \"2019-09-25T00:00:00.000Z\"\r","}\r","```\r","\r","* ```initialDatetime``` is the datetime the session starts at.\r","\r","* ```finalDatetime``` is the datetime the session finishes at. If you don't set a *finalDatetime*, the session runs until the date data is available.\r","\r","{{include.configuring}}# On Paper Trading, Forward Testing and Live Trading Sessions\r","\r","```json\r","{\r","\"initialDatetime\": \"2019-09-01T00:00:00.000Z\",\r","\"finalDatetime\": \"2019-09-25T00:00:00.000Z\",\r","\"allowStartingFromThePast\": false\r","}\r","```\r","\r","* ```finalDatetime``` is the datetime the session finishes at. If you don't set a *finalDatetime* at the level of the testing session or the trading system, then the session runs for one year.\r","\r","By default, paper trading, forward testing and live trading sessions start at the datetime the session is run, that is, the present time. Such a behavior is in accordance with the most common use case, by which a user starting a new live trading session usually wishes the session to start at that moment.\r","\r","However, users have requested to be allowed to start live sessions in the past. Such a feature may be useful, for example, to take an opportunity that was just missed for whatever reason, including technical ones.\r","\r","* ```initialDatetime```, in combination with the ```allowStartingFromThePast``` parameter, is a hack to allow a live session to start from a date in the past. If there is a valid ```initialDatetime``` and ```allowStartingFromThePast``` is ```true```, then the live session effectively starts from the specified date in the past. If ```allowStartingFromThePast``` is ```false``` the ```initialDatetime``` is ignored and the session starts from the present time.\r","\r","* ```allowStartingFromThePast``` may be ```true``` or ```false```.\r","\r","{% include warning.html content=\"In the case of forward testing and live trading sessions, starting from the past may involve placing orders at the exchange while evaluating past events. That is, if conditions to take a position and place orders validate true for candles in the past, the position is taken and orders are placed.\" %}\r","\r"]},{"type":"Time Frame","definition":"The time frame determines the collection of candles to be analyzed during a backtesting session, and the frequency with which the trading bot runs on paper trading, forward testing, and live trading sessions.","content":["\r","\r","In the context of backtesting sessions, what time frame you decide to run the session depends on the trading system being tested. If the trading system makes decisions based on the 1-hour candle and above, then ```01-hs``` may be the best choice. However, if decisions are influenced by sub-hour candles then you should match the time frame accordingly.\r","\r","In other words, in backtesting sessions, you should match the time frame to the smallest period on which the trading system makes decisions.\r","\r","In the context of live sessions, that is, paper trading, forward testing, and live trading, you should run the session on the ```01-min``` time frame so that the trading bot reacts fast when the price tags the take profit or stop loss targets. Remember that stop and take profit orders are not placed at the exchange after the take position event, that is, once you enter the position. Instead, the trading bot checks the current price upon each execution cycle and determines whether targets have been hit or not. If targets are hit, only then orders are placed. That is why running live trading sessions at the ```01-min``` time frame is recommended. Learn more about the [management](suite-strategies-manage.html) of take profit and stop loss targets.\r","\r","If for whatever reason you don't need to minimize the potential for slippage when hitting stop or take profit targets, you may choose whatever time frame you like, taking into account the explanations below.\r","\r","{{include.heading}}## Why the Time Frame Matters\r","\r","{% include callout.html type=\"success\" content=\"Running trading sessions of any given trading system on different time frames may produce different results. This is because the behavior of a trading session may vary depending on how well the time frame on which the session is run matches the logic of the strategy.\" %}\r","\r","This is why:\r","\r","The trading bot evaluates closed candles only. At any given point in time, the current candle in each time frame is the candle that closed last.\r","\r","*For example:*\r","\r","Let's say it's ```2020-06-11T11:39:30:00.000Z```, that is, 11 hours, 39 minutes and 30 seconds of June 11th, 2020.\r","\r","* The current 1-minute candle is the one which closed at 11:38:59.999.\r","* The current 5-minute candle is the one which closed at 11:34:59.999.\r","* The current 30-minute candle is the one which closed at 11:29:59.999.\r","* The current 1-hour candle is the one which closed at 10:59:59.999.\r","* The current 2-hour candle is the one which closed at 09:59:59.999.\r","* The current 6-hour candle is the one which closed at 05:59:59.999.\r","* The current 24-hour candle is the one which closed at 23:59:59.999 of June 10th!\r","\r","... and so on.\r","\r","Let's say the trading system implements conditions that evaluate 30-minute and 1-hour candles.\r","\r","If a session is run at the 30-minutes time frame, all 30-minutes candles are evaluated. Also, all 1-hour candles are evaluated twice.\r","\r","However, if the session is run at the 1-hour time frame, only one out of two 30-minute candles are evaluated.\r","\r","And if the session is run at the 2-hour time frame, only one out of four 30-minute candles and one out of two 1-hour candles are evaluated.\r","\r","This means that running the session (for this particular trading system) at the 30-minute time frame has higher probabilities of conditions evaluating 30-minute candles to be ```true``` during the session.\r","\r","{% include callout.html type=\"success\" content=\"In other words, when running the session on time frames higher than the time frame on which decisions are made, chances are the bot will eventually skip candles on which conditions would have evaluated true, potentially skipping trading opportunities.\" %}\r","\r","The above is true for all types of trading sessions.\r","\r","{{include.heading}}## Backtesting Vs. Live Sessions\r","\r","In a backtesting session, the collection of candles evaluated is determined by the time frame selected to better simulate what would happen if the live trading session was run in the same time frame.\r","\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Time Frame* on the menu to access the configuration.\r","\r","```js\r","{\r","\"value\": \"01-min\"\r","}\r","```\r","\r","* ```value``` is the setting for the time frame. You may use any of the values below.\r","\r","Available options at the sub-hour level are:\r","\r","```json\r","01-min\r","02-min\r","03-min\r","04-min\r","05-min\r","10-min\r","15-min\r","20-min\r","30-min\r","45-min\r","```\r","\r","Available options at larger time frames are:\r","\r","```json\r","01-hs\r","02-hs\r","03-hs\r","04-hs\r","06-hs\r","08-hs\r","12-hs\r","24-hs\r","```\r","\r"]},{"type":"Slippage","definition":"The slippage is an assumption on the difference between the simulated rate and the actual fill rate of an order, most relevant in the context of backtesting and paper-trading sessions. The parameter is a tool to make simulations more realistic.","content":["\r","\r","In the context of forward testing and live trading sessions, slippage does not affect the actual transactions. However, the parameter is taken into account when creating simulation layers, which are also available during forward testing and live trading.\r","\r","Slippage is factored both in the session reports and in the graphic representation of each trade provided by the simulation trades product of the trading bot.\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Slippage* on the menu to access the configuration.\r","\r","```json\r","{\r","\"positionRate\": 0.1,\r","\"stopLoss\": 0.2,\r","\"takeProfit\": 0.3\r","}\r","```\r","\r","* ```positionRate``` is the slippage value to be applied to the rate of the take position order, expressed as a percentage (*i.e.:* 0.1 means 0.1%).\r","\r","* ```stopLoss``` is the slippage value to be applied to the rate of the stop order, expressed as a percentage (*i.e.:* 0.2 means 0.2%).\r","\r","* ```takeProfit``` is the slippage value to be applied to the rate of the take profit order, expressed as a percentage (*i.e.:* 0.3 means 0.3%).\r","\r","The number you enter is applied as a percentage of the price of the order and added or subtracted from the price depending on the circumstances, always working against you. For instance, ```\"positionRate\": 0.1``` means the position will be set at a price 0.1% higher or lower depending on which of the assets in the pair is your base asset. \r","\r","{% include note.html content=\"If the slippage parameter is left empty or detached both from your session and your trading system, slippage is not computed during simulations.\"%}\r","\r"]},{"type":"Fee Structure","definition":"The fee structure is a parameter fundamental to the calculation of fees, both in testing and live trading sessions.","content":["\r","\r","Exchange fees are a crucial part of trading. A strategy may work like a charm when you leave fees out of the equation but would lead you to bankruptcy in a live trading situation.\r","\r","Exchanges don't usually report the amount charged in fees on each transaction, thus, the system calculates fees and subtract them from balances. Learn more about the handling of [fees](suite-trading-engine-order-specific.html#fees-paid).\r","\r","{% include important.html content=\"The accuracy of the internal account-keeping depends on this parameter. Make sure you obtain the correct fee structure from the exchange corresponding to the tier of your account.\" %}\r","\r","To illustrate how fees affect your bottom line, take a look at the image below.\r","\r","[](https://user-images.githubusercontent.com/13994516/63636432-8d8cdf80-c66f-11e9-86a3-480d157d8126.gif)\r","\r","The trade hits the take profit target above the Position Rate level, however, due to fees, the trade has a negative 0.32% ROI.\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Fee Structure* on the menu to access the configuration.\r","\r","```json\r","{\r","\"maker\": 0.15,\r","\"taker\": 0.25\r","}\r","```\r","\r","* ```maker``` is the setting for the fee the exchange charges when an order adds liquidity to the market, such as with limit orders.\r","\r","* ```taker``` is the setting for the fee the exchange charges when an order takes liquidity from the market, such as with market or instant orders.\r","\r","{% include note.html content=\"Check the fees structure in your exchange, carefully looking into the tier you fall in to feed accurate assumptions to your backtesting and paper trading sessions.\" %}\r","\r","{% include note.html content=\"If the fee structure parameter is left empty or detached both from your session and your trading system, fees are not computed during simulations.\" %}\r","\r","{% include important.html content=\"Remember that, for the time being, and until the new execution engine is released, all orders placed by the trading bot are *market orders*, thus, the *taker* fee applies in all cases.\" %}\r","\r"]},{"type":"Snapshots","definition":"Snapshots are CSV files output by the trading bot listing every trade in a backtesting session. The snapshots parameter determines whether snapshots shall be produced, and how.","content":["\r","\r","Learn more about [snapshots](suite-snapshots.html) and check the configuration file to control if and how snapshots are produced.\r","\r"],"folderName":"network","adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Slippage* on the menu to access the configuration.\r","\r","```json\r","{ \r"," \"strategy\": true,\r"," \"position\": true\r","}\r","```\r","\r","* ```strategy``` determines whether to take a snapshot at the trigger on event or not; possible values are ```true``` or ```false```.\r","\r","* ```position``` determines whether to take a snapshot at the take position event or not; possible values are ```true``` or ```false```.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Heartbeats","definition":"During a trading session, the backend communicates with the front end via heartbeats to inform the frontend about the status of the session. The parameter controls what information is made available to the user through the frontend.","content":["\r","\r","This parameter affects how you see the progress of the trading session below the trading bot instance node on the design space.\r","\r"],"folderName":"network","adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Slippage* on the menu to access the configuration.\r","\r","```json\r","{ \r"," \"date\": true,\r"," \"candleIndex\": false\r","}\r","```\r","\r","* ```date``` determines whether the date is shown in the progress notice below the trading process instance node; possible values are ```true``` or ```false```.\r","\r","* ```candleIndex``` determines whether the index of the candle is shown in the progress notice below the trading process instance node; possible values are ```true``` or ```false```.\r","\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"User Defined Parameters","definition":"Users may define parameters to be used within the trading system during the trading session.","content":["\r","\r","Parameters defined in the configuration file of these node become available to trading systems using the following path: ```sessionParameters.userDefinedParameters.config.parameterName```.\r","\r","These parameters may be useful, for example, when you wish to use a *constant* multiple times across several nodes in the definition of a strategy. Instead of feeding a constant value to all formulas involved, you may feed the parameter instead. This gives you the added benefit of being able to change the value of such a constant in a single point.\r","\r"],"folderName":"network","adding":["\r","\r","To add a parameter that may be missing, select *Add Missing Params* on the parameters node menu. \r","\r"],"configuring":["\r","\r","Select *Configure Slippage* on the menu to access the configuration.\r","\r","```json\r","{ \r"," \"param1Name\": \"A text string value example\",\r"," \"param2Name\": 0\r","}\r","```\r","\r","* ```param1Name``` is an example of a name. You may change the names of the parameters as required. Values including text strings go between quotation marks, while numeric values, without. You may define as many parameters as you wish; simply separate them with a comma to keep a valid JSON format for the configuration file.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Time Frames Filter","definition":"The time frame filters node allows control over which time frames are to be calculated by each indicator bot instance running on the data mining operation.","content":["\r","\r","Limiting the number of time frames calculated by any given indicator to the few that may be required by a particular trading system has a significant positive impact on performance: it reduces the load on the CPU, the memory requirements, and the requirements of storage space, in proportion with the time frames you remove.\r","\r","When a time frames filter is set up, a ```Time.Frames.json``` file is created by the indicator process in the corresponding output folder. This file is read by others—such as the charting system—to get the information regarding which time frames are available and which are not, to avoid reporting errors.\r","\r","{% include important.html content=\"Before applying a time frames filter or changing the configuration, that is, changing which time frames are produced and which are not, it is highly recommended to delete the data corresponding to the affected indicator, to avoid inconsistencies in the data that may later cause confusion.\" %}\r","\r","{% include note.html content=\"When no time frames filter is defined, the bot processes all time frames by default.\" %}\r","\r"],"folderName":"network","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"dailyTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\r","\"marketTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\"]\r","}\r","```\r","\r","* ```dailyTimeFrames``` features the time frames corresponding to the *daily files* type of data structure; in practical terms, the time frames below one hour.\r","\r","* ```marketTimeFrames``` features the time frames corresponding to the *market files* type of data structure; in practical terms, the time frames of one hour and above.\r","\r","{% include tip.html content=\"Remove the time frames you are not interested in, making sure the JSON file is still valid.\" %}\r","\r"]},{"type":"Paper Trading Session","definition":"A paper trading session is a trading mode by which the trading bot instance reads a live market data feed, applies the rules defined in the associated trading system, and generates a trading simulation.","content":["\r","\r","A paper trading session node must reference a trading system to gain access to the trading logic to be applied during the session. Other considerations framing the session come from the set of parameters attached to it.\r","\r"],"folderName":"network","adding":["\r","\r","To add a paper trading session, select *Add Paper Trading Session* on the trading process instance node menu. When a session is added, it is created with the full set of parameters.\r","\r","{% include note.html content=\"After adding a session node, make sure you establish a reference to the trading system you want it to work with.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Session* on the menu to access the configuration.\r","\r","```json\r","{\r","\"folderName\": \"Session-Name\"\r","}\r","```\r","\r","* ```folderName``` allows you to set a significant name to the folder in which the data products—and logs—generated by the session are stored. If left blank, the system names the folders with the session id. This may be handy when you intend to consult the raw data generated by the session, as, otherwise, the folder would be hard to identify.\r","\r"],"starting":["\r","\r","Before you start a paper trading session, the corresponding task needs to be running, as it is the task that puts the trading bot instance to run. Once the trading bot instance is running, select *Run* on the menu to start the session.\r","\r","To stop a backtesting session, select *Stop* on the menu.\r","\r"]},{"type":"Forward Testing Session","definition":"A forward testing session is a trading mode by which the trading bot instance performs live trading with a user-defined fraction of the available capital.","content":["\r","\r","A forward testing session node must reference a trading system to gain access to the trading logic to be applied during the session. Other considerations framing the session come from the set of parameters attached to it.\r","\r","{% include important.html content=\"Running a live session requires the setup of a key reference at the market reference. It also requires a live data feed, meaning that the corresponding sensor bot, along with all indicators used by the referenced trading system, must be up and running. Finally, a live session also requires at least 48 hours of historic market data. Bear in mind that the trading system may require even more historic market data to properly analyze the market.\" %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a forward testing session, select *Add Forward Testing Session* on the trading process instance node menu. When a session is added, it is created with the full set of parameters.\r","\r","{% include note.html content=\"After adding a session node, make sure you establish a reference to the trading system you want it to work with.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Session* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"folderName\": \"Session-Name\",\r","\"balancePercentage\": 1\r","}\r","```\r","\r","* ```folderName``` allows you to set a significant name to the folder in which the data products—and logs—generated by the session are stored. If left blank, the system names the folders with the session id. This may be handy when you intend to consult the raw data generated by the session, as, otherwise, the folder would be hard to identify.\r","\r","* ```balancePercentage``` is a number defining the percentage of the initialBalance specified in the base aset configuration that will be used for trading. For instance, ```\"balancePercentage\": 1``` means that 1% of your balance will be made available. Just like the ```initialBalance``` is scaled down, the ```minimumBalance``` and ```maximumBalance``` are also scaled down accordingly (see base asset).\r","\r","Let's draw a quick example:\r","\r","Your base asset is USDT and your initialBalance is USDT 10,000.\r","\r","If you set up your forward-testing session with \"balancePercentage\": \"1\", then USDT 10,000 * 1% = USDT 100. This is the balance that will be available to your forward-testing session.\r","\r","{% include important.html content=\"You need to take this into account at the time of defining your positionSize formula. If the formula is a constant, you may easily run out of balance, as only a fraction of the balance will be available for the strategy to use. It may be a good idea to set up your positionSize as a function of your available balance instead.\" %}\r","\r"],"starting":["\r","\r","Before you start a forward testing session, the corresponding task needs to be running, as it is the task that puts the trading bot instance to run. Once the trading bot instance is running, select *Run* on the menu to start the session.\r","\r","To stop a backtesting session, select *Stop* on the menu.\r","\r"]},{"type":"Key Reference","definition":"The key reference is a reference to an exchange account key as defined in a specific user account, in a specific exchange, on the Crypto Ecosystem hierarchy.","content":["\r","\r","Usually, exchanges require autentication via your exchange account key for monetary transactions only. However, some exchanges may require autentication in other contexts as well, for instance, to retrieve information above a certain quota, or to retrieve raw trades data instead of OHLCV data.\r","\r","For those reasons, exchange key references are available both in the context of data mining and trading operations, and are always attached to the corresponding task.\r","\r","Forward testing and live trading sessions always require setting up key references, as that is the kind of scenario in which the user must validate with the exchange.\r","\r","In all cases, the key reference node must reference a valid exchange account key from an account with the exchange, as defined in the Crypto Ecosystem hierarchy.\r","\r","{% include important.html content=\"Most exchanges do not allow the same exchange account key to be used with multiple processes querying the exchange API. This means that if you are trading with multiple trading systems or multiple sessions on the same exchange, each session requires different exchange account keys.\" %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a key reference, select *Add Key Reference* on the task node menu.\r","\r","{% include note.html content=\"Remember to establish a reference with a valid exchange account key after creating the key reference.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Live Trading Session","definition":"A live trading session is a trading mode by which the trading bot instance reads a live market data feed, applies the rules as defined in the associated trading system, places the corresponding orders at the associated exchange, and stores the defined data products.","content":["\r","\r","A live trading session node must reference a trading system to gain access to the trading logic to be applied during the session. Other considerations framing the session come from the set of parameters attached to it.\r","\r","{% include important.html content=\"Running a live session requires the setup of a key reference at the market reference. It also requires a live data feed, meaning that the corresponding sensor bot, along with all indicators used by the referenced trading system, must be up and running. Finally, a live session also requires at least 48 hours of historic market data. Bear in mind that the trading system may require even more historic market data to properly analyze the market.\" %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a live trading session, select *Add Live Trading Session* on the trading process instance node menu. When a session is added, it is created with the full set of parameters.\r","\r","{% include note.html content=\"After adding a session node, make sure you establish a reference to the trading system you want it to work with.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Session* on the menu to access the configuration.\r","\r","```json\r","{\r","\"folderName\": \"Session-Name\"\r","}\r","```\r","\r","* ```folderName``` allows you to set a significant name to the folder in which the data products—and logs—generated by the session are stored. If left blank, the system names the folders with the session id. This may be handy when you intend to consult the raw data generated by the session, as, otherwise, the folder would be hard to identify.\r","\r"],"starting":["\r","\r","Before you start a live trading session, the corresponding task needs to be running, as it is the task that puts the trading bot instance to run. Once the trading bot instance is running, select *Run* on the menu to start the session.\r","\r","To stop a backtesting session, select *Stop* on the menu.\r","\r"]},{"type":"Sensor Bot Instance","definition":"A sensor bot instance is a reference to a sensor bot as defined in a data mine. The instance of the bot runs the defined processes and generates the defined data products.","content":["\r","\r","{{site.data.concepts.sensor_bot}}\r","\r","The sensor bot instance holds no definitions as to what the bot does. Instead, its process instance references a process definition in the corresponding data mine. That is how the sensor bot instance obtains the information regarding what it needs to do once it is run.\r","\r"],"folderName":"network","adding":["\r","\r","To add a sensor bot instance, select *Add Sensor Bot Instance* on the task node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Sensor Bot Instance* on the menu to access the configuration.\r","\r","```json\r"," {\r"," \"startDate\": \"2020-01-01\"\r"," }\r","```\r","\r","* ```startDate``` is the *desired starting date* of the data product the sensor bot instance builds, in the ```YYYY-MM-DD``` format. The sensor bot instance queries its data source for data starting on the configured ```startDate```.\r","\r"," * The actual date in which the dataset starts depends on external factors: A. The market may start at a later date. B. The exchange may limit how far in the past data may be retrieved. In both cases, the sensor bot automatically discovers the date closest to the *desired starting date* that is possible to start with, and proceeds accordingly.\r","\r"," * In the case the ```startDate``` is changed after the sensor bot has started building a data product, either for an earlier or later date, the sensor re-evaluates the feasibility of starting at the new date. The actual date may or may not change; regardless, the sensor bot discards the existing data product and starts over from the newly discovered date. In other words, if the ```startDate``` is changed, the sensor bot starts over.\r"," \r"," * Notice that the above starts a chain reaction among all indicator bots that have a data dependency with the sensor bot's output dataset. Also, if the actual date ends up changing, all indicators that determine the starting date of the market by looking at the date discovered by the sensor bot have to discard their existing data products and start over from the new date.\r","\r","\r"],"starting":["\r","\r","You do not start or stop a sensor bot instance directly. Instead, you start or stop the corresponding task.\r","\r"]},{"type":"Indicator Bot Instance","definition":"An indicator bot instance is a reference to an indicator bot as defined in a data mine. The instance of the bot runs the defined processes and generates the defined data products.","content":["\r","\r","{{site.data.concepts.indicator_bot}}\r","\r","The indicator bot instance holds no definitions as to what the bot does. Instead, its processes instances reference the process definitions in the corresponding data mine. That is how the indicator bot instance obtains the information of what it needs to do once it is run.\r","\r"],"folderName":"network","adding":["\r","\r","To add an indicator bot instance, select *Add Indicator Bot Instance* on the task node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","You do not start or stop an indicator bot instance directly. Instead, you start or stop the corresponding task.\r","\r"]},{"type":"Data Mine","definition":"A data mine is a hierarchy that contains definitions of bots, including the trading bot, sensors, indicators, and even plotters. These definitions make up the actual programs of such bots—the source code.","content":["\r","\r","In a way, data mines are catalogs of bots that anyone may create. This hierarchy provides all the tools required to create sensors, indicators, and plotters, with minimal coding required.\r","\r","Because the hierarchy provides definitions, it does not intervene in the execution of bots. Instead, the definitions in data mines are instantiated from the network hierarchy by bot instances. Bot instances and process instances are the ones running the code according to the definitions in the corresponding data mine.\r","\r","{% include important.html content=\"Changes made to data mines shipping with the system may not be saved at the workspace level. If you wish to modify those hierarchies and use them in such modified versions, you need to clone them and modify the clone instead. To do this successfully, you need to learn more about [backups](suite-backups.html) and [clones](suite-clones.html).\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a data mine, select *Add Data Mine* on the workspace node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Data Mine* on the menu to access the configuration.\r","\r","```json\r","{\r","\"codeName\": \"Supermine\"\r","}\r","```\r","\r","* ```codeName``` is the name of the data mine as used within the code of the system.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Mine"},{"type":"Sensor Bot","definition":"A sensor bot is an algorithm that extracts raw data from external sources (i.e.: exchanges, Twitter, etc.) and stores it in a dataset that other bots may consume.","content":["\r","\r","The sensor bot node holds all definitions required for a sensor bot to function. Definitions are split between the definition of processes and products. A sensor's processes is an algorithm that obtains data from a third pary and produces an output for other bots to consume. Part of that output is the data products the bot creates.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a sensor bot, select *Add Sensor Bot* on the data mine node menu. A sensor bot is created along with the basic structure of nodes required to define it.\r","\r"],"configuring":["\r","\r","Select *Configure Bot* on the menu to access the configuration.\r","\r","```json\r","{\r","\"codeName\": \"Super\",\r","\"repo\": \"Super-Sensor-Bot\"\r","}\r","```\r","\r","* ```codeName``` is the name of the bot as used within the code of the system.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Process Definition","definition":"The process definition node groups all definitions required for a process to function. The Multi-Period-Market Process deals with time frames of one hour and above. The Multi-Period-Daily Process deals with time frames of 45 minutes and below.","content":["\r","\r","As hinted above, most bots—in particular indicators—have two different processes. The reason is that different data structures need to be handled in different manners. The Multi-Period-Daily process handles *daily files*, while the Multi-Period-Market process handles *market files*.\r","\r","The Multi-Period-Market process deals with time frames of one hour and above. Because these time frames produce relatively small numbers of records, the process builds one single file per time frame spanning the whole market history—hence the name Multi-Period-*Market*.\r","\r","On the other hand, the Multi-Period-Daily process deals with time frames below one hour. These time frames produce huge numbers of records, therefore, the corresponding data must be fragmented in multiple files. The Multi-Period-Daily process builds one file per day for each time frame—hence the name Multi-Period-*Daily*.\r","\r","{% include note.html content=\"The way in which datasets are structured by each of the processes is determined by the corresponding dataset definitions.\" %}\r","\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a process definition, select *Add Process Definition* on the bot's menu. A process definition node is created along with the basic structure of nodes comprising the definition.\r","\r"],"configuring":["\r","\r","Select *Configure Process* on the menu to access the configuration.\r","\r","**Multi-Period-Market:**\r","\r","```json\r"," {\r"," \"codeName\": \"Multi-Period-Market\",\r"," \"normalWaitTime\": 0,\r"," \"retryWaitTime\": 10000,\r"," \"framework\": {\r"," \"name\": \"Multi-Period-Market\"\r"," }\r"," }\r","```\r","\r","**Multi-Period-Daily:**\r","\r","```json\r"," {\r"," \"codeName\": \"Multi-Period-Daily\",\r"," \"normalWaitTime\": 0,\r"," \"retryWaitTime\": 10000,\r"," \"framework\": {\r"," \"name\": \"Multi-Period-Daily\"\r"," }\r"," }\r","```\r","\r","* ```codeName``` is the name of the process as used within the code of the system.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Process Output","definition":"The process output groups the definitions of which datasets are impacted by the process, that is, which datasets the process builds or takes a part in building.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a process output node, select *Add Missing Items* on the process definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Process Dependencies","definition":"Process dependencies are references to various data structures on which the process depends to function.","content":["\r","\r","While processes run autonomously, most processes participate in a value-adding chain by which a process produces a data product that other processes may consume as an input to be processed further. This means that bots—while autonomous in their particular jobs—do depend both on other bots and on the data other bots produce.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a process dependencies node, select *Add Missing Items* on the process definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Status Dependency","definition":"Status dependencies are references to a status report that define which process the process establishing the reference depends on.","content":["\r","\r","The reference is established to acquire the information relative to what the target process is doing. For example, by reading a status report a process may learn when was the last time the referenced process ran, and what was the last file processed.\r","\r","The status report referenced may belong to the same process— which is called a self-reference. In such a case, the process is learning what it did the last time it ran. Also, the status report referenced may belong to another process—another bot. In that case, the dependency may be of the Market Starting Point or Market Ending Point types.\r","\r","* **Self Reference** is mandatory, as a process needs to read its own status report every time it wakes up.\r","\r","* **Market Starting Point** is a status dependency existing on Multi-Period-Daily processes so that the process establishing the reference learns the datetime of the start of the market. Usually, the reference is established with the sensor's Historic-OHLCVs process status report. Multi-Period-Market processes do not have this type of status dependency as the date of the start of the market is implied in their dataset (a single file with all market data).\r","\r","* **Market Ending Point** is a status dependency existing both in Multi-Period-Market and Multi-Period-Daily processes so that the process establishing the reference knows the datetime of the end of the market.\r","\r","[](https://user-images.githubusercontent.com/13994516/68991956-dfa36280-0864-11ea-87ec-f0e4e3b7bf0f.gif)\r","\r","The image above shows a case of a self-reference status dependency as well as a market ending point status dependency.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a status dependency, select *Add Status Dependency* on the process dependencies node menu.\r","\r","{% include tip.html content=\"Remember that a status dependency must be configured, and must establish a reference to the appropriate status report.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Status Dependency* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"mainUtility\": \"Self Reference|Market Starting Point|Market Ending Point\"\r","}\r","```\r","\r","* ```mainUtility``` determines the type of status dependency, with possible values being ```Self Reference```, ```Market Starting Point```, or ```Market Ending Point```.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Status Report","definition":"Status reports serve as temporal annotations that bots read every time they run to know what was done in the previous cycle and what the state of affairs is at present. Status reports are dynamic, and they change constantly, with updates after every cycle of the associated process.","content":["\r","\r","Bots do not run continuously. Instead, they run in cycles. A cycle usually lasts until there is no more data to process, and once they finish, they shut down until the next cycle is due. A status report is a file every bot writes at the end of each cycle with information about the last run, including the datetime of the run and the last record processed.\r","\r","A status report may be consumed by the same bot producing it, or by other bots.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a status report, select *Add Missing Items* on the process definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Execution Started Event","definition":"The execution started event is the event that triggers the execution of a process. It usually references the execution finished event of another process on which the process depends on.","content":["\r","\r","These references determine when a process is due for another run. By listening to the execution finished event of the process it depends on, it may wake up just in time to process the new batch of data the dependency has just delivered.\r","\r","Bots form a sort of multi-branched execution sequence with an indeterminate number of dependencies. Every time the bot further down the tree of dependencies finishes a cycle, it triggers the execution of multiple bots listening to its execution finished event.\r","\r","In the context of a trading process instance running a trading session on the network hierarchy, the execution started event may be used to force the trading process to run only after the last indicator bot dependency finishes its job. This guarantees that all dependencies are up to date and that the trading bot will evaluate the information corresponding to the same candles for all indicators used by the trading system.\r","\r","Not setting up this event on a trading session may result in eventual data inconsistencies, as—in theory—the trading bot may run with some indicators up to date and some slightly delayed.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add an execution started event, select *Add Missing Items* on the process definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r","{% include tip.html content=\"Remember that an execution started event must establish a reference to the appropriate execution finished event.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Execution Finished Event","definition":"The execution finished event is the event that processes trigger once they have finished an execution cycle. The event is broadcasted to whoever wants to listen, so that other bots may know when the process has finished its execution cycle.","content":["\r","\r","The execution finished event is responsible for triggering the execution of every process that depends on the data a bot produces. If bot Alice depends on bot Bob, Alice listens to the execution finished event of Bob so that it may start a new execution cycle as soon as Bob finishes its cycle. Alice listens to Bob's execution finished event by establishing a reference from its execution started event.\r","\r","[](https://user-images.githubusercontent.com/13994516/68993254-39605880-0876-11ea-9ee7-9f49976bd2dc.gif)\r","\r","The image above shows a reference established from the execution started event of a process to the execution finished event of another process.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add an execution finished event, select *Add Missing Items* on the process definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Output Dataset Folder","definition":"An output dataset folder is an organizational device used to create arrangements of output datasets, particularly useful when the bot has many products.","content":["\r","\r","In cases in which a single bot has many different products, output dataset folders may help organize the outputs referencing each product, making their management easier. Folders may be nested like folders in the file system.\r","\r","The use of output dataset folders is optional, as product definitions may also exist outside of folders.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Product Definition Folder","definition":"A product definition folder is an organizational device used to create arrangements of product definitions, particularly useful when the bot has many products.","content":["\r","\r","In cases in which a single bot has many different products, product definitions folders may help organize those products, making their management easier. Folders may be nested like folders in the file system.\r","\r","The use of product definition folders is optional, as product definitions may also exist outside of folders.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Product Definition","definition":"The product definition node holds all definitions that make up a product, including how the product is calculated and the datasets the product is comprised of.","content":["\r","\r","A bot may feature multiple products, thus, there may be multiple product definitions. Three main aspects need to be defined in terms of products: the characteristics of the dataset, the composition of each record, and the way records are calculated.\r","\r","{% include note.html content=\"A product definition usually references a plotter module, which provides a graphic representation of the underlying dataset\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a product definition, select *Add Product Definition* on the bot's node menu. A product definition is created along with the basic structure of nodes required to make up a product.\r","\r"],"configuring":["\r","\r","Select *Configure Product* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"codeName\": \"Product-Name\",\r"," \"singularVariableName\": \"productName\",\r"," \"pluralVariableName\": \"productNames\"\r","}\r","```\r","\r","* ```codeName``` is the name of the product as it is used within the bot's code.\r","\r","* ```singularVariableName``` is the singular form of the name of the variable representing the product, as is used on strategies (*i.e.:* ```bollingerChannel.direction```, where *bollingerChannel* is the name of the product as defined in its configuration and *direction* is the name of the property.\r","\r","* ```pluralVariableName``` is the plural form of the variable.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Dataset Definition","definition":"A dataset definition contains a configuration file that defines many aspects of the dataset. There are two types of dataset definitions: Multi-Period-Market and Multi-Period-Daily.","content":["\r","\r","A good part of what makes datasets easy to consume by other bots is the fact that they are standardized in terms of their structure. It is that structure that is specified in the dataset definitions.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a dataset definition, select *Add Dataset Definition* on the bot's node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Definition* on the menu to access the configuration.\r","\r","**Multi-Period-Market:**\r","\r","```json\r","{\r"," \"codeName\": \"Multi-Period-Market\",\r"," \"type\": \"Market Files\",\r"," \"validTimeFrames\": [ \"24-hs\", \"12-hs\", \"08-hs\", \"06-hs\", \"04-hs\", \"03-hs\", \"02-hs\", \"01-hs\" ],\r"," \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period\",\r"," \"fileName\": \"Data.json\",\r"," \"timeFrames\": {\r"," \"filePath\": \"\",\r"," \"fileName\": \"\"\r"," }\r","}\r","```\r","\r","**Multi-Period-Daily:**\r","\r","```json\r","{\r"," \"codeName\": \"Multi-Period-Daily\",\r"," \"type\": \"Daily Files\",\r"," \"validTimeFrames\": [ \"45-min\", \"40-min\", \"30-min\", \"20-min\", \"15-min\", \"10-min\", \"05-min\", \"04-min\", \"03-min\", \"02-min\", \"01-min\" ],\r"," \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset/@Period/@Year/@Month/@Day\",\r"," \"fileName\": \"Data.json\",\r"," \"dataRange\": {\r"," \"filePath\": \"@Exchange/@BaseAsset-@QuotedAsset/@DataMine/@Bot/Output/@Product/@Dataset\",\r"," \"fileName\": \"Data.Range.json\"\r"," },\r"," \"timeFrames\": {\r"," \"filePath\": \"\",\r"," \"fileName\": \"\"\r"," }\r","}\r","```\r","\r","\r","* ```codeName``` is the name of the dataset as used within the code.\r","\r","* ```type``` refers to the type of dataset; possible values are ```Market Files``` and ```Daily Files```.\r","\r","* ```validTimeFrames``` refers to the time frames handled by the dataset.\r","\r","* ```filePath``` sets the path on which files are stored; the proper name of the data mine, the bot and the product need to be entered.\r","\r","* ```fileName``` sets the name of the files that constitute the dataset.\r","\r","* ```timeFrames``` sets the name and path of the file indicating which time frames shall be filtered when the users sets a time frames filter.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Indicator Bot","definition":"An indicator bot is an algorithm that processes information that other bots have generated, and produces elaborate datasets for others to consume.","content":["\r","\r","The indicator bot node holds all definitions required for an indicator bot to function. Definitions are split between the definition of processes and products. Processes are algorithms that go through an input dataset, perform certain calculations, and produce an output. Products are the outcome of the work produced by these algorithms, in the form of ellaborate data sets.\r","\r","Most of the behavior expected from an indicator bot is defined by the structure of nodes in the hierarchy and the references among the nodes within these definitions. As such, you do not need to code any of the functions that make up the infrastructure functionality. Dependencies, outputs, data structures, execution sequences, and several other problems are handled by the definitions embodied in the structure of nodes that make up an indicator, and are configured in the visual environment of the design space. Coding is limited to the actual calculation and data building procedures.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add an indicator bot, select *Add Indicator Bot* on the data mine node menu. An indicator bot is created along with the basic structure of nodes required to define it.\r","\r"],"configuring":["\r","\r","Select *Configure Bot* on the menu to access the configuration.\r","\r","```json\r","{\r","\"codeName\": \"Superbot\"\r","}\r","```\r","\r","* ```codeName``` is the name of the bot as used within the code of the system.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Output Dataset","definition":"The output dataset is a reference to a dataset definition. By establishing such reference, the process acquires the definitions as of how the dataset is to be constructed.","content":["\r","\r","There are other effects of establishing a reference from the output dataset to a product dataset definition. Upon execution, every time a process finishes a processing cycle, it triggers an event that may be consumed by other entities. This event indicates that the datasets impacted by the process have been updated.\r","\r","An example of other entities that may be listening to such events is that of plotters. Plotters read datasets and create graphical representations of this data over the charts. Charts are constantly updating the information in the form of candles and indicators in realtime, synchronized with the data being extracted from the exchange by the sensor bot. That kind of automatism is possible thanks to the events that processes trigger every time an execution cycle is finished, signaling to everyone listening that new data is available on each of the impacted datasets.\r","\r","[](https://user-images.githubusercontent.com/13994516/68976798-f01cf400-07f6-11ea-9ffb-198b5853a220.gif)\r","\r","The image above shows the typical references from output datasets to datasets definitions.\r","\r","{% include note.html content=\"An output dataset must reference a dataset definition.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","Output datasets may be added in bulk, for all defined products, or one by one.\r","\r","To add a single {{ title | downcase }} node, select *Add {{ title }}* on the process output menu. \r","\r","{% include tip.html content=\"Remember that an output dataset must reference a valid dataset definition. Make sure you establish the reference after creating the output dataset.\" %}\r","\r","If you have defined multiple products, each with their dataset definitions, and wish to create all corresponding output datasets in bulk, select *Add All Output Datasets\" on the process output menu. The system maps the product definition folder structure with output dataset folders, creates all required output datasets, and establishes the references with the corresponding dataset definitions, with a single click of the button.\r","\r","{% include note.html content=\"Make sure each product has properly defined dataset definitions before creating output datasets in bulk. You may always delete the output datasets and re-create them at will.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Dependency","definition":"Data dependencies are references established with dataset definitions of other bots, determining which datasets the process establishing the reference uses as input.","content":["\r","\r","Most bots consume data other bots have produced. Because bots need the data as input for their calculations, processes establish a data dependency with the dataset definitions of other bots. The reference provides the process with all the information needed to decode the dataset, enabling it to perform the required calculations.\r","\r","[](https://user-images.githubusercontent.com/13994516/68993034-7840df00-0873-11ea-804d-d24e88ce25f7.gif)\r","\r","The image above shows data dependencies in one bot referencing dataset definitions of another bot.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a single data dependency, select *Add Data Dependency* on the process dependencies, bot data dependencies, or data dependency folder node menus.\r","\r","{% include tip.html content=\"Remember that a data dependency must establish a reference to the appropriate dataset definition. When adding data dependencies manually, you also need to manually establish the reference.\" %}\r","\r","In cases in which multiple data dependencies must be established, you may use the option to create data dependencies in bulk:\r","\r","* The *Add All Data Dependencies* option on the data mine data dependencies node menu adds a bot data dependency for each bot in the data mine, and a data dependency for each dataset definition or each product of each bot. You may use this option after manually adding a data mine data dependencies node and manually establishing the reference with the desired data mine, or after adding all data mine data dependencies, by which the references with data mines are established automatically.\r","\r","It is unlikely that a bot requires numerous data dependencies, thus, the most common scenario is setting up individual data dependencies and establishing references manually. However, if your bot requires multiple data dependencies, the bulk features may be quite useful, as you may create all data dependencies for any given data mine, and simply delete those that are not required.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Record Definition","definition":"The record definition is where indicators define how many properties, what properties and in which order those properties will be made available in each record.","content":["\r","\r","Bots store data in the form of arrays of records, in a minimized plain text file and the standard JSON format, although not as objects with named properties, but as arrays.\r","\r","{% include image-ext.html file='https://user-images.githubusercontent.com/13994516/68998023-303eae00-08ad-11ea-9baa-ddea801c7d6d.png' url='yes' max-width='100' caption='Typical dataset file showing records as arrays.' %}\r","\r","The choice of plain text for storage of large volumes of information has benefits in terms of not requiring any sophisticated technology to store and serve the data (*i.e.:* no database is required).\r","\r","Best practice indicates that there needs to be a balance between the amount of data that is stored and calculations that may be performed at runtime.\r","\r","Storing objects with named properties in the JSON format would be inappropriate as labels would repeat over and over, creating a ridiculous amount of unnecessary information. However, storing arrays in the JSON standard facilitates the handling of files in the context of JavaScript and Node.JS.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a record definition node, select *Add Record Definition* on the product definition node menu. A record definition node is created along with the first record property.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Record Property","definition":"A record property is a piece of information that may be stored as part of the dataset or made available as a calculated property.","content":["\r","\r","Records may have as many properties as required. \r","\r","{% include important.html content=\"The order in which record properties are defined around the parent record definition node is the order in which they are stored in the actual record.\" %}\r","\r","{% include tip.html content=\"The first two records are usually the *begin* and *end* records, featuring the corresponding datetimes that indicate when the record starts and ends.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a record property, select *Add Record Property* on the bot's node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Property* on the menu to access the configuration.\r","\r","```js\r","{\r"," \"codeName\": \"record-name\",\r"," \"isString\": false,\r"," \"isCalculated\": true\r","}\r","```\r","\r","* ```codeName``` is the name of the record as it is used in the bot's code. \r","\r","* ```isString``` determines if the field is a text string or if, in turn, is a numeric field. Dates are stored in the *epoch* format, which is numeric. The reason why this configuration is important is that fields that are strings need to be stored between \"double quotes\".\r","\r","* ```isCalculated``` determines if the field is stored in the dataset or if, instead, is calculated at a later stage. A value *true* means that the record is not stored. In the case ```isCaculated``` is not defined in the configuration, it is assumed to be false.\r","\r","[](https://user-images.githubusercontent.com/13994516/69139160-3ce72000-0ac0-11ea-9566-a259c9ea6194.gif)\r","\r","The image above shows a record definition with four record properties.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Formula","definition":"A formula is a mathematical expression intended to determine a numerical value to be applied dynamically to a certain property.","content":["\r","\r","In the context of the trading engine, formulas are used to create user defined statistics.\r","\r","Formulas may use indicators and object properties made available by the trading engine. They must evaluate to a number.\r","\r","{% include note.html content=\"To learn how to write formulas, see [syntax overview](suite-syntax-overview.html).\" %}\r","\r"],"folderName":"trading_engine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Announcement Formula"},{"type":"Calculations Procedure","definition":"The calculations procedure processes information to be fed to calculated properties. Calculated properties are not stored in the data set; instead, they are calculated in real-time as the data is consumed by others.","content":["\r","\r","Bots store data in the minimized array format as a strategy to build the lightest possible datasets. For the same reason, a bot may choose not to store easily calculable information.\r","\r","For example, imagine an indicator that stores buy and sell volumes... does it *need* to store the total volume? Given that it is so easy to calculate, the answer is *probably* not. It is up to the developer to decide, but it is certainly not required.\r","\r","{% include note.html content=\"The calculations procedure is used to calculate properties that the developer chooses not to store in the dataset.\" %}\r","\r","{% include note.html content=\"To fully understand the role of the calculations procedure, please refer to the [data mining workflow](suite-data-mining-workflow.html) page.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a calculations procedure, select *Add Missing Items* on the product definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Procedure Initialization","definition":"The procedure initialization is used to initialize variables used by the procedure loop.","content":["\r","\r","This is an example of a procedure loop code snippet, in particular, the code that initializes the array used in the calculation of the Popular SMAs product of the Simple Moving Average (SMA) indicator.\r","\r","```js\r","/* Initialization Code. */\r","variable.last200 = []\r","```\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a procedure initialization, select *Add Procedure Initialization* on the corresponding procedure node menu. A procedure initialization node is created along with the corresponding JavaScript node.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Procedure Loop","definition":"The procedure loop holds the JavaScript code that reads an input, processes the information, and generates an output recursively.","content":["\r","\r","{% include note.html content=\"Please refer to the [coding references](suite-coding-the-indicator-logic.html) page to learn how to code the indicator's logic.\" %}\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a procedure loop, select *Add Procedure loop* on the corresponding procedure node menu. A procedure loop node is created along with the corresponding JavaScript node.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Building Procedure","definition":"The data building procedure processes information to be fed to properties that are stored in the output dataset.","content":["\r","\r","This procedure holds the core logic of the bot, as it features the code that performs the calculations required to produce the new data set. The code is split between a procedure initialization and a procedure loop.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a data buildings procedure, select *Add Missing Items* on the product definition node menu. Items that may be missing are created along with the basic structure of nodes required to define them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Bot","definition":"Based on datasets exposed as products by other bots (counting sensors, indicators and even other trading bots), a trading bot applies the trading logic defined on a trading system to, on one side, generate a complete trading simulation (outputting datasets that include trades, the action of strategies, validation of conditions, etc.), and on the other side, manage the execution of orders when on a forward testing or live trading session.","content":["\r","\r","Trading bots are complex pieces of software. The system does not yet encourage the creation of further trading bots, as it is not currently possible to create them with minimal coding. However, developers are free to clone the existing trading bot and improve it as they see fit.\r","\r"],"folderName":"data_mine","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Plotter","definition":"A plotter is a device used to produce a graphic representation of datasets generated by bots.","content":["\r","\r","Plotters usually have a one-to-one relationship with bots, as they are often created as a customized solution. However, in practice, there is no constraint to creating any number of plotters for a single bot or a single plotter for multiple bots.\r","\r","The overall workflow of a plotter, while reading a dataset, consists in:\r","\r","* Applying a set of rules to identify certain data points;\r","\r","* Use those points to form lines and polygons;\r","\r","* Apply graphical styles to those lines and polygons.\r","\r","Those actions are performed recursively for each record, and the graphics are plotted on the charts in real-time as data is processed.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a plotter, select *Add Plotter* on the data mine node menu. An indicator bot is created along with the basic structure of nodes required to define it.\r","\r"],"configuring":["\r","\r","Select *Configure Plotter* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"codeName\": \"Plotter-Name\"\r","}\r","```\r","\r","* ```codeName``` is the name of the plotter as it is used within the bot's code.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading System","definition":"A trading system is a framework handling the low-level logic that serves to structure the processes and methods used to implement and deploy trading strategies.","content":["\r","\r","In practical terms, a trading system is a hierarchical arrangement organizing the actionable aspects of your investment plan. The hierarchy contains definitions regarding any number of trading strategies, all operating on the same market and sharing the same initial capital allocation.\r","\r","You use a trading system to define strategies following the Superalgos Protocol, splitting strategies into four stages: trigger, open, manage, and close.\r","\r","The concept of describing strategies in stages is fundamental to the methodical aspect of the trading system, as it provides a framework to run every strategy with the same framework, which contributes to developing scalable trading systems that may grow to any number of strategies.\r","\r","When a trading system features more than one strategy, the first strategy has precedence over the second, the second over the third, and so on. This means that strategies are evaluated in a sequence. When a given strategy is triggered-on, the remaining strategies in the queue are no longer evaluated until the strategy triggers off. In other words, when multiple strategies are deployed within a single trading system, only one strategy may trade at any given moment, and precedence is given by the order around the trading system node.\r","\r","As a corollary to the above, if you wish strategies to operate in different markets, or you wish strategies to be able to take positions simultaneously, then you must set up those strategies in different trading systems.\r","\r","{% include important.html content=\"Changes made to trading systems shipping with Superalgos may not be saved at the workspace level. If you wish to modify those hierarchies and use them in such modified versions, you need to clone them and modify the clone instead.\" %}\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a trading system, select *Add Trading System* on the workspace node menu. \r","\r","{% include tip.html content=\"You may work with as many trading systems as you wish\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Strategy","definition":"A trading strategy is a set of actions occurring in stages, designed to achieve a specific goal within a broader plan, via taking and managing positions.","content":["\r","\r","The definition of a strategy may be analyzed in three sections:\r","\r","{% include callout.html type=\"success\" content=\"A strategy is a set of actions occurring in stages\" %}\r","\r","Strategies are defined in the following stages:\r","\r","* Trigger Stage\r","* Open Stage\r","* Manage Stage\r","* Close Stage\r","\r","These stages are played in a sequence: once a strategy is *triggered* it looks to *open* a position; once a position is open, it is time to *manage* it as the trade develops; and once a stop or take profit target is hit, it is time to *close* the position.\r","\r","While stages are played in a sequence, upon execution there are overlaps. That is, a stage doesn't need to be closed for the next stage to be opened. The framework sets a clear separation of the concepts embodied in each stage to facilitate the process of defining and developing a trading system. But the truth is that, both at the conceptual level and during execution, the lines between stages are rather blurry.\r","\r","{% include callout.html type=\"success\" content=\"designed to achieve a specific goal within a broader plan\" %}\r","\r","Your investment plan or trading career may have any number of goals *(e.g.: accumulating a certain asset, diversifying on a basket of coins, annual profit targets, etc.)*. If you attempt to achieve more than one goal with a single strategy, you will sooner or later run into problems. It may be doable, but the strategy would certainly be more complex than is necessary or desirable. In any case, the logical thing to do is to analyze each goal separately so that you may design (at least) one clear, straightforward strategy for each goal.\r","\r","One of the edges granted by trading automation is the capacity to develop and deploy an unlimited number of strategies. At the same time, Superalgos allows the administration of complexity by breaking down and structuring concepts in small units: a trading system contains strategies, which contain stages, which contain specific definitions. \r","\r","Understanding that keeping things simple is important will help you develop a robust and extensible arsenal of bots. Simplicity is the key to sustainability.\r","\r","In other words, the infrastructure provided by Superalgos enables the hyperspecialization of strategies. Do not aim to trade in all sorts of market situations with the same strategy. Instead, develop a strategy for each market situation you wish to trade.\r","\r","{% include callout.html type=\"success\" content=\"via taking and managing positions\" %}\r","\r","The definition of strategy points to the concept of a *position*. A position is a process that exchanges the base asset for the quoted asset and that—after some time, as the position develops and targets are hit—exchanges back the quoted asset for the base asset. \r","\r","The framework implemented in the Superalgos Protocol is optimized to work with such a concept.\r","\r","However, Superalgos is flexible enough to allow you to override this hard interpretation of the concept of *a position*. For example, you may design market-making strategies, a strategy to balance portfolios, or develop all sorts of ideas that don't necessarily fit in that part of the definition.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a strategy, select *Add Strategy* on the trading system node menu. The strategy node is created along with the rest of the basic structure of nodes required to define each of the strategy stages and their events.\r","\r","{% include tip.html content=\"You may work with as many strategies as you wish. \" %}\r","\r","{% include important.html content=\"Strategies within the same trading system work in the same market, have the same base asset, and —most importantly—share the same capital. This means that only one strategy in the trading system may be triggered at any one point and that no other strategy in the trading system may be triggered until the first one is triggered off. If you wish to have more than one strategy trading at the same time, then those strategies must be put in separate trading systems. \" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trigger Stage","definition":"The trigger stage deals with monitoring the market in search of trading opportunities with the corresponding strategy.","content":["\r","\r","A trading system may have multiple strategies designed for the same market.\r","\r","An important aspect of trading systems is that they are allocated a certain amount of capital (see the base asset parameter of the trading session). As a consequence, strategies within a trading system share a certain capital allocation. \r","\r","The logic behind the concept of the trigger stage assumes that different strategies within a trading system may be specialized for trading in different market situations. The trigger stage in each strategy is, therefore, the mechanism by which any particular strategy within the trading system may be selected to trade, given any particular market situation.\r","\r","The triggering-on of a strategy effectively blocks the selection of any other strategy in the trading system and reserves the whole capital allocation for the one strategy selected, until the strategy is triggered-off.\r","\r","Therefore, if certain strategies are meant to trade under the same market situations and open trades concurrently, then those strategies should be deployed in separate trading systems.\r","\r","Once a strategy is triggered, the strategy may decide—or not—to take a position. If a position is taken, then the rest of the stages eventually become active.\r","\r","However, the strategy may also be triggered off without taking a position. When a strategy is triggered off, the trading system goes back to monitoring the trigger-on definitions for all strategies, and capital is released to be used by whatever strategy is triggered-on next.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a trigger stage node, select *Add Missing Stages* on the strategy node menu. All stages that may be missing are created along with the rest of the basic structure of nodes required to define each of them and their events.\r","\r","{% include note.html content=\"Only one trigger stage may exist in each strategy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trigger On Event","definition":"The trigger-on event defines the set of rules that need to be met for the corresponding strategy to be triggered on. A strategy that is triggered may use all the capital available to the trading system, and prevents other strategies in the system from triggering.","content":["\r","\r","In conceptual terms, the trigger-on event is the mechanism you use to define the specific situations in which you would consider trading with the corresponding strategy. Think of the trigger-on event as the definition of the scenario in which the trading idea behind the strategy should be carefully considered.\r","\r","Once a strategy is triggered-on, the system starts evaluating the take position event. In conceptual terms, it means that the system has been alerted that the trading idea behind the corresponding trading strategy has produced a signal and that it should carefully monitor the market for the opportunity to take a position.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a trigger-on event node, select *Add Missing Events* on the trigger stage node menu. All events that may be missing are created along with the rest of the basic structure of nodes required to define each of them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trigger Off Event","definition":"The trigger-off event defines the situation in which the corresponding strategy shall be triggered-off. A strategy that is triggered-off releases the capital in reserve and makes it available to other strategies in the trading system.","content":["\r","\r","In conceptual terms, the trigger-off event is the mechanism you use to define the situation in which the corresponding strategy should stop considering the trading opportunity signaled by the trigger-on event. That is, you use the trigger off event to describe the scenario for the invalidation of the trading idea behind the strategy.\r","\r","Once a strategy is triggered-on, only two possible scenarios may follow. Either the take position event is triggered, thus, taking a position, or the trigger-off event is triggered first.\r","\r","In the first scenario, the strategy remains *on* until the position is closed. As the position is closed, the strategy is triggered-off. In the second scenario, the strategy is triggered-off immediately.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a trigger-off event node, select *Add Missing Events* on the trigger stage node menu. All events that may be missing are created along with the rest of the basic structure of nodes required to define each of them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Take Position Event","definition":"The take position event defines the situation that needs to be met to take a position.","content":["\r","\r","The trigger-on event merely selects a strategy to be considered for trading under the current market situation. The actual decision to enter a position may require more specific conditions to be met. For that reason, the take position event is a separate entity from the trigger-on event.\r","\r","Therefore, the take position event is defined with its own set of situations and conditions.\r","\r","Once the take position event is triggered, the decision to take a position has been made and there is nothing else to consider in that regard. Therefore, the runtime evaluation of the trading system shifts from the trigger stage to the open stage. \r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a take position event node, select *Add Missing Events* on the trigger stage node menu. All events that may be missing are created along with the rest of the basic structure of nodes required to define each of them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Open Stage","definition":"The open stage deals with the definitions that make up the logic to enter a position, including the target rate and size, and order execution.","content":["\r","\r","The open stage comes into play once the take position event is triggered. \r","Conceptually, the open stage deals with the details concerning how the position shall be opened once the decision to take a position has been made. That is, the open stage does not participate in the process of deciding whether a position should be open or not.\r","\r","To take a position, several definitions are required. In particular, those concerning targets, such as the rate and size of the position, and the logic of the execution strategy, that is, how many of which orders shall be placed at the exchange—and when—to enter the position.\r","\r","The open stage closes as soon as one of the following events happen:\r","\r","* the target size gets filled,\r","\r","* the close stage event is triggered,\r","\r","* the take profit or stop loss targets are hit.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add an open stage node, select *Add Missing Stages* on the strategy node menu. All stages that may be missing are created along with the rest of the basic structure of nodes required to define each of them and their events.\r","\r","{% include note.html content=\"Only one open stage may exist in each strategy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Close Stage Event","definition":"The close stage event defines the set of rules that need to be met for the corresponding stage to be closed.","content":["\r","\r","Both the open and close stages are closed once the target size is filled. \r","\r","However, Superalgos allows an extra level of control so that the user may choose to close either stage given specific market situations. Such is the intent of the close stage event.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Initial Targets","definition":"The initial targets node holds the most basic definitions about the position to be taken: the target rate and the target size.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Managed Stop Loss","definition":"The managed stop loss node features the definition of the phases that make up the management of the stop loss target as the position develops.","content":["\r","\r","A stop loss target is a crucial element of a trading strategy, as it is the device in charge of preserving capital. Used wisely, the management of the stop loss may also play the role of protecting unrealized profits. \r","\r","The system for managing the stop loss provided by Superalgos is highly flexible. It may start as simple as a constant value at a certain rate, but may switch to a trailing stop as soon as the price moves away from the target rate by a certain percentage, or when a certain market situation arises.\r","\r","In fact, the formula may change as many times as required, as you may set up unlimited phases, and switch back and forth as required using predefined events to make the switch.\r","\r","{% include note.html content=\"The above example of a constant stop loss followed by a trailing stop is merely an example of a typical setup. The formulas you use to determine the rate of the target on each phase may be anything you choose, thus, you may achieve whatever behavior you imagine and can describe mathematically.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a stop node, select *Add Missing Items* on the manage stage node menu. All items that may be missing are created along with the rest of the basic structure of nodes required to define each of them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Phase","definition":"The management of take profit and stop loss targets is done in phases. Phase 1 sets the initial targets, either for the managed stop loss or the managed take profit, and becomes active as soon as the first order is placed. Subsequent phases allows switching to different formulas given certain market situations.","content":["\r","\r","The default management of phases is sequential, meaning that phase 2 comes after phase 1, phase 3 comes after phase 2, and so on. \r","\r","To switch from one phase to the next phase in the sequence, the next phase event is used. When the situation described in the next phase event validates ```true```, the switch occurs and the next phase becomes the active phase.\r","\r","However, management does not need to happen sequentially. By using the move to phase event instead of the next phase event, the system may activate any other phase and not just the one next in the sequence.\r","\r","Both events may be used at the same time, and whichever event is triggered first takes precedence.\r","\r","{% include note.html content=\"Notice that stop loss and take profit phases are independent and defined separately from each other, each below the corresponding managed stop loss and managed take profit nodes.\" %}\r","\r","{% include note.html content=\"The value of the target set for a phase is expressed by a formula. Learn more about [formulas](suite-situations-conditions-formulas.html) and how to write them.\" %}\r","\r","{% include tip.html content=\"This explanation about phase 1 may be extended to any other phase, as they all work similarly, and it applies both for managed stop loss phases and managed take profit phases.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a new phase, select *Add Phase* on the stop or take-profit node menu. A new phase is added along with the basic structure of nodes required to define each of them and their events.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Next Phase Event","definition":"The next phase event determines when there should be a switch of phases to the next phase in a predefined sequence.","content":["\r","\r","The management of a position is —by default—done in sequential phases, each phase with its formula. To move from one phase to the next, a situation you define must be validated. \r","\r","When that happens, the next phase event is triggered, the current phase is abandoned, and the next phase is activated. From that instant on, the system evaluates the formula corresponding to the next phase.\r","\r","The sequence of phases may be as long as the number of phases you choose to add and define. There may be unlimited numbers of phases.\r","\r","{% include note.html content=\"Events are triggered by situations, which are defined by conditions. Both are explained in the situations, conditions, and formulas page.\" %}\r","\r","{% include tip.html content=\"To set up a next phase event, add the node and define the situation that should trigger the event.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a next phase event, select *Add Next Phase Event* on the corresponding phase node menu. The event is added along with the basic structure of nodes to define it.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Move To Phase Event","definition":"The move to phase event determines when there should be a switch of phases from the current phase to an arbitrary phase determined by a reference.","content":["\r","\r","While phases are defined in a sequence and you may choose to manage the position by shifting from one phase to the next in the sequence, the move to phase event offers an alternative.\r","\r","With the move to phase event, you may arbitrarily decide which will be the next phase. To do that, you must establish a reference from the move to phase event, to the phase that should be activated once the event is triggered.\r","\r","Any number of move-to-phase events may be set up for each and every phase, allowing complete flexibility on how the position is managed. This feature allows setting up versatile position-management algorithms that may switch to different formulas back and forth, or in any configuration imaginable.\r","\r","{% include note.html content=\"A move-to-phase event must reference a phase node. When the situation in the move-to-phase event evaluates ```true``` the management shifts to the referenced phase.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a move-to-phase event, select *Add Move to Phase Event* on the corresponding phase node menu. The event is added along with the basic structure of nodes to define it.\r","\r","{% include note.html content=\"Remember to establish a reference with the phase you wish to activate once the situation associated with the event validates true.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Managed Take Profit","definition":"The managed take profit node features the definition of the phases that make up the management of the take profit target as the position develops.","content":["\r","\r","A take profit target bears an important role in your strategy, as it plays a crucial role in determining the risk/reward ratio of the trading opportunity that materialized, and upon which your strategy acted to take a position.\r","\r","The foremost goal of trading is to increase your capital, and how you set your initial take profit target and manage it afterward determines how much you may increase your capital given a favorable price action.\r","\r","{% include note.html content=\"The system provides the same functionality for managing the take profit target as explained for the managed stop loss target, so please make sure you go through that section too. \" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a take profit node, select *Add Missing Items* on the manage stage node menu. All items that may be missing are created along with the rest of the basic structure of nodes required to define each of them.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Target Size In Base Asset","definition":"Target size in base asset is used to define the size of the position, denominating it in the base asset.","content":["\r","\r","The system supports defining the size of the position in either asset involved in the market: the base asset, or the quoted asset, as per the exchange listing of the market. \r","\r","The target size may be defined in one of the two assets only, to avoid inconsistencies. \r","\r","The target size is the maximum size the position may achieve. That is, the definition of the target size is used as a cap for the total size of orders that may be placed during the open stage.\r","\r","If you prefer to define the size of the position denominated in the base asset, then use this node and delete the target size in quoted asset node.\r","\r","{% include important.html content=\"Only one target size definition may exist at a time.\" %}\r","\r","Even though the definition of the target size is denominated in one of the two assets in the market, the system keeps track of accounts for both assets. That is, performance metrics such as profit loss, ROI, hit ratio, or the annualized rate of return are calculated both based on the base asset and the quoted asset. In fact, metrics are also calculated in a consolidated manner, taking into account both assets at the same time. \r","\r","All of this information is made available for multiple contexts, for instance, for each position or the whole episode, through the data structure of the trading engine.\r","\r","When tracking the results of your trading operation, make sure you refer to the set of accounts that make sense for your trading system. This will all become clearer once you read about the trading engine and the layer managers available on the charts.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Target Size In Quoted Asset","definition":"Target size in quoted asset is used to define the size of the position, denominating it in the quoted asset.","content":["\r","\r","If you prefer to define the size of the position denominated in the quoted asset, then use this node and delete the target size in base asset node.\r","\r","{% include important.html content=\"Make sure you read the definition of the target size in base asset node to get the proper context for this definition.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Target Rate","definition":"The target rate is a reference rate that, in combination with the placement of managed stop loss and managed take profit targets, is used to determine whether the targets have been hit.","content":["\r","\r","The system needs to determine when the managed stop loss and managed take profit targets have been hit. To do this, the system observes how the user places the targets in relation to the target rate.\r","\r","*For example:*\r","\r","If the phase 1 managed stop loss target is placed below the target rate and the phase 1 managed take profit target above it, the system assumes that:\r","\r","* the stop loss target is hit when the current rate is equal to or smaller than the managed stop loss value;\r","\r","* the stop loss target is hit when the current rate is equal to or greater than the managed take profit value;\r","\r","The reversed example is true, as well.\r","\r","This is how the system uses the target rate internally.\r","\r","Additionally, defining a target rate at the level of the stage may be of use so that you may retrieve the value from formulas while setting the rate of limit orders.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Order Rate","definition":"The order rate node defines the rate of limit orders.","content":["\r","\r","Because the purpose of limit orders is to have control over the rate at which the order is executed, the definition of the order rate is required for all limit orders.\r","\r","{% include note.html content=\"Please, read about [limit orders](suite-strategies-open-execution.html#limit-buy-order) to complement the information in this definition.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Open Execution","definition":"The open execution node groups all execution algorithms involved in the process of opening a position.","content":["\r","\r","One of the crucial elements that make up trading intelligence is the capacity to control every aspect of order execution, as the execution itself entails strategic elements that directly affect performance. \r","\r","Superalgos' trading engine is designed as a generic infrastructure that allows building execution logic from the ground up, with as much simplicity or complexity as may be required.\r","\r","The trading system splits the definitions of the execution logic by trading strategy. That is, each strategy in a trading system may have its execution logic. \r","\r","The next layer of control comes in the form of execution algorithms. Each strategy may have as many algorithms as required, and each algorithm may have as many instructions as required.\r","\r","This model allows the granular control of orders with which you may build algorithms that may interact with other algorithms, and so on.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Execution Algorithm","definition":"An execution algorithm is a set of instructions used to place and manage orders at the exchange.","content":["\r","\r","Any given strategy may have simple or very complex execution requirements. To deal with complexity, Superalgos allows users to set up as many execution algorithms as required.\r","\r","Then, the logic in each algorithm may remain simple, while the combined work of multiple algorithms may deal with the required complexity.\r","\r","Each algorithm may be assigned a fraction of the target size (see the configuration section), thus, the extent of each algorithm's involvement in the execution is defined by this parameter.\r","\r","An execution algorithm is a set of instructions in the sense that the orders defined in each algorithm are themselves the instructions. That is, an execution algorithm is a set of predefined orders which may be created or canceled given specific market situations.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{\r"," \"percentageOfStageTargetSize\": 100 \r","}\r","```\r","\r","* ```percentageOfStageTargetSize``` is the definition of how much of the target size of the whole stage will be handled by the one specific execution algorithm, expressed as a percentage of the total target size. Posible values are real numbers between ```0``` and ```100```, including the extremes. If you set the value to ```0```, the algorithm will not be executed.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Buy Order","definition":"A market buy order is an instruction sent to the exchange to buy the base asset, for immediate execution at current market prices.","content":["\r","\r","Traders usually use market orders when the priority is the certainty of execution over the rate of execution. Depending on the size of the order and the liquidity of the particular market/exchange, market orders may experience more or less slippage.\r","\r","###### Market Orders' Rate\r","\r","Users have no control over the rate at which a market order is filled. The exchange fills the order with available bids/asks at the time of execution.\r","\r","{% include tip.html content=\"The information below this banner is valid for all types of orders.\" %}\r","\r","###### Order Size\r","\r","As explained in the definition of the execution algorithm, each algorithm is allocated a percentage of the target size defined under the initial targets node.\r","\r","*The simplified logic for non-coders:*\r","\r","```algorithmSize = targetSize * percentageOfStageTargetSize / 100```\r","\r","*The actual code:*\r","\r","```js\r","let algorithmSizeInBaseAsset = tradingEngineStage.stageBaseAsset.targetSize.value * executionAlgorithm.config.percentageOfStageTargetSize / 100\r","\r","let algorithmSizeInQuotedAsset = tradingEngineStage.stageQuotedAsset.targetSize.value * executionAlgorithm.config.percentageOfStageTargetSize / 100\r","```\r","\r","Similarly, the size of an order is defined as a percentage of the size that the particular algorithm is allowed to execute *(see the configuration)*. \r","\r","*The simplified logic for non-coders:*\r","\r","```orderSize = algorithmSize * percentageOfAlgorithmSize / 100```\r","\r","*The actual code:*\r","\r","```js\r","tradingEngineOrder.orderBaseAsset.size.value = algorithmSizeInBaseAsset * tradingSystemOrder.config.percentageOfAlgorithmSize / 100\r","```\r","\r","Because each execution algorithm may define multiple orders, the typical scenario is that all orders defined within an algorithm add up to 100% of the size allocated to the algorithm. \r","\r","However, it is up to the user how to manage this setting, as different hacks may be found to achieve different behaviors.\r","\r","{% include callout.html type=\"success\" content=\"If orders defined add up to more than 100% of the size allocated to the algorithm, the trading engine does not enforce a cap.\" %}\r","\r","Pretty much like the user may decide to define the size of orders within an algorithm above or below the 100% mark, the same is true when defining multiple algorithms. In other words, the user may choose to set up algorithms whose combined sizes amount to more or less than 100%.\r","\r","In cases in which the combined sizes amount to less than 100%, the target size would be partially filled at best. On the other hand, in cases in which the combined sizes amount to more than 100%, then the orders and/or algorithms would compete with each other.\r","\r","{% include callout.html type=\"success\" content=\"The one validation the trading engine does is to enforce the target size defined under the initial targets node. The target size is treated as a hard cap, so that no position may ever be sized larger than the target.\" %}\r","\r","If the order size as defined would cause the target size to be breached, then the order size is lowered to match the hard cap.\r","\r","*The simplified logic for non-coders:*\r","\r","```js\r","if ( targetSize + sizePlaced > targetSize )\r"," { orderSize = targetSize - sizePlaced }\r","```\r","\r","*The actual code:*\r","\r","```js\r","if (\r"," tradingEngineOrder.orderBaseAsset.size.value + tradingEngineStage.stageBaseAsset.sizePlaced.value >\r"," tradingEngineStage.stageBaseAsset.targetSize.value\r"," ) {\r"," tradingEngineOrder.orderBaseAsset.size.value = tradingEngineStage.stageBaseAsset.targetSize.value - tradingEngineStage.stageBaseAsset.sizePlaced.value\r"," }\r","```\r","\r","{% include note.html content=\"See the order's configuration to learn how to set up the order size.\" %}\r","\r","###### Placing and Filling of Orders\r","\r","The trading engine keeps track of the amounts placed and the amounts filled based on the feedback obtained from the exchange, and makes the information available in the size placed and size filled nodes. The nodes are present in multiple contexts, such as the particular stage (open and close) or the particular order type, and are denominated both in the base asset and quoted asset. You may learn more about how to track the size placed and size filled on the trading engine pages.\r","\r","###### Closing of Orders\r","\r","Orders may be closed upon the occurrence of the following two events:\r","\r","* The exchange reports the order was filled. In such a case, the trading engine closes the order.\r","\r","* The cancel order event is triggered. This is an event the user may configure with the typical set up of situations and conditions.\r","\r","###### Spawning Multiple Orders\r","\r","All of the available types of orders may be configured so that multiple orders may be spawned, one after the other, through the same order definition.\r","\r","This allows, for example, setting an order for 1% of the size allocated to the algorithm, and have the trading engine spawn one order per execution cycle until the 100% mark is reached. Such a feature may allow many more hacks and is yet another tool that—combined with the rest—enables a great deal of control over orders execution.\r","\r","A new instance of an order may be spawned only under the following context:\r","\r","* The previous instance of the order is closed. That is, two instances of the same order may not exist at the same time.\r","\r","* The size filled at the level of the execution algorithm is within the limit established in the algorithm's configuration.\r","\r","* The size filled at the level of the stage must be within the target size defined under the initial targets node.\r","\r","{% include note.html content=\"See the order's configuration to learn how to configure the parameter affecting this behavior.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{\r"," \"percentageOfAlgorithmSize\": 100, \r"," \"spawnMultipleOrders\": false \r","}\r","```\r","\r","* ```percentageOfAlgorithmSize``` is the definition of how much of the size handled by the algorithm shall be allocated to this particular order. Posible values are real numbers between ```0``` and ```100```, including the extremes. If you set the value to ```0```, the order will not be executed.\r","\r","* ```spawnMultipleOrders``` is the parameter that indicates whether additional spawned orders are allowed (```true```) or not (```false```).\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Sell Order","definition":"A market sell order is an instruction sent to the exchange to sell the base asset, for immediate execution at current market prices.","content":["\r","\r","{% include tip.html content=\"Please read the definition of [market buy order](suite-strategies-open.html#market-buy-order) for relevant information about how orders in general—and market orders in particular—work. \" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{\r"," \"percentageOfAlgorithmSize\": 100, \r"," \"spawnMultipleOrders\": false \r","}\r","```\r","\r","* ```percentageOfAlgorithmSize``` is the definition of how much of the size handled by the algorithm shall be allocated to this particular order. Posible values are real numbers between ```0``` and ```100```, including the extremes. If you set the value to ```0```, the order will not be executed.\r","\r","* ```spawnMultipleOrders``` is the parameter that indicates whether additional spawned orders are allowed (```true```) or not (```false```).\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Limit Buy Order","definition":"A limit buy order is an instruction sent to the exchange to buy the base asset, for execution at a specific rate or better.","content":["\r","\r","Traders usually use limit orders when the priority is the rate of execution over the certainty of execution. Limit orders are much more efficient than market orders in terms of rate, particularly for larger sizes which—when executed as market orders—may suffer considerable slippage filled as fast as possible with the order book of the particular instant.\r","\r","Also, many exchanges regard limit orders as market makers, that is, orders that bring liquidity to the market, and, therefore, may charge relatively better fees.\r","\r","###### Limit Orders' Rate\r","\r","Superalgos users must define the rate at wish they wish the order to be filled. The exchange is responsible for not filling the order unless it can match it with bids/asks at the rate set by the user, or at a better rate.\r","\r","Small discrepancies between the actual rate and the order rate are to be expected, as not all exchanges handle decimals and other conversions involving, for example, fees, in the same manner.\r","\r","{% include note.html content=\"Limit orders must define a rate using the appropriate child node, otherwise, the target rate defined as an initial target is used. If no rate is defined at all, the system stops with an error upon execution. The configuration of the order deals with the size. \" %}\r","\r","{% include tip.html content=\"Please read the definition of [market buy order](suite-strategies-open.html#market-buy-order) for relevant information about how orders in general work, in particular, the section about Order Size, Filling of Orders, Closing of Orders, and Spawning Multiple Orders. \" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{\r"," \"percentageOfAlgorithmSize\": 100, \r"," \"spawnMultipleOrders\": false \r","}\r","```\r","\r","* ```percentageOfAlgorithmSize``` is the definition of how much of the size handled by the algorithm shall be allocated to this particular order. Posible values are real numbers between ```0``` and ```100```, including the extremes. If you set the value to ```0```, the order will not be executed.\r","\r","* ```spawnMultipleOrders``` is the parameter that indicates whether additional spawned orders are allowed (```true```) or not (```false```).\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Limit Sell Order","definition":"A limit sell order is an instruction sent to the exchange to sell the base asset, for execution at a specific rate or better.","content":["\r","\r","{% include tip.html content=\"Please read the definition of [limit buy order](suite-strategies-open.html#limit-buy-order) for relevant information about how limit orders work. Also, please read the definition of [market buy order](suite-strategies-open.html#market-buy-order) for relevant information about how orders in general work, in particular, the section about Order Size, Filling of Orders, Closing of Orders, and Spawning Multiple Orders. \" %}\r","\r","\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{\r"," \"percentageOfAlgorithmSize\": 100, \r"," \"spawnMultipleOrders\": false \r","}\r","```\r","\r","* ```percentageOfAlgorithmSize``` is the definition of how much of the size handled by the algorithm shall be allocated to this particular order. Posible values are real numbers between ```0``` and ```100```, including the extremes. If you set the value to ```0```, the order will not be executed.\r","\r","* ```spawnMultipleOrders``` is the parameter that indicates whether additional spawned orders are allowed (```true```) or not (```false```).\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Create Order Event","definition":"The create order event controls the placement of orders.","content":["\r","\r","Even though the decision to take a position may have been made, the user may still decide to exert additional control over the placement of orders. Such is the intent of the create order event.\r","\r","An order defined in an execution algorithm will be executed only if the event evaluates ```true```.\r","\r","If you wish orders to be placed as defined immediately after the take position event has been triggered, the use the statement ```true``` your only create order event condition.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Cancel Order Event","definition":"The cancel order event makes cancelling limit orders possible.","content":["\r","\r","The cancel order event defines the market situations in which a limit order shall be canceled. When the event is triggered, the order is closed, even when the order may have been partially filled. In such a case, the size filled remains as is, and all accounts are computed accordingly, with the partial fill.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Simulated Exchange Events","definition":"The simulated exchange event node allows to override the parameters set at the level of the trading session on a per order basis to determine how each order shall be simulated.","content":["\r","\r","The offspring nodes under simulated exchange events allow setting order-specific parameters for the size filled, actual rate, and fees paid, so that each order may be simulated in a specific manner.\r","\r","If either of the offspring nodes is not present or is undefined, then the parameters configured at the level of the trading session are factored in by default.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Simulated Partial Fill","definition":"The simulated partial fill parameter allows simulating the partial fill of orders.","content":["\r","\r","Upon each execution, the simulation verifies if the current candle intersects the rate set for the order. If it does, it uses the value in this parameter as a factor to determine and keep track of what percentage of the order is filled.\r","\r","The same process repeats for each subsequent candle, until the order is filled.\r","\r","When the parameter is not present or undefined, the simulation assumes the order is filled as soon as the rate is hit.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{ \r"," \"fillProbability\": 1\r","}\r","```\r","\r","* ```fillProbability``` indicates the probability of an order getting filled upon each tag of the price. Values may range from ```0``` to ```1```. The value ```0``` indicates that there are 0% chances of the order getting filled. With such a setting, the order will never get filled in the simulation. The value ```1``` indicates that there is a 100% probability of the order getting filled. With such a setting, the order is filled upon the first tag of the price. A value of ```0.5``` indicates a 50% probability, thus, it takes two tags of the price for the order to fill completely with such a setting.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Simulated Actual Rate","definition":"The simulated actual rate node allows setting a specific rate value for the simulation of each order, overriding the slippage parameter of the trading session.","content":["\r","\r","The slippage parameter of the trading session allows setting a blanket slippage for all orders in the trading system. The simulated actual rate node allows control on a per-order basis, so each order may be simulated with a specific rate. \r","\r","{% include note.html content=\"If the node is not present or the parameter is undefined, the slippage parameter set up for the trading session is used.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Simulated Fees Paid","definition":"The simulated fees paid node allows setting a specific fee for the simulation of each order, overriding the fee structure parameter of the trading session.","content":["\r","\r","The fee structure parameter of the trading session allows setting a blanket fee structure (maker and taker) for all orders in the trading system. The simulated fees paid node allows control on a per-order basis, so each order may be simulated with a specific fee. \r","\r","{% include note.html content=\"If the node is not present or the parameter is undefined, the fee structure parameter set up for the trading session is used.\" %}\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add Missing Items* on the parent node menu. \r","\r"],"configuring":["\r","\r","To configure the {{ title | downcase }} node, select *Configure* on the menu. \r","\r","```json\r","{ \r","\"percentage\": 0.1\r","}\r","```\r","\r","* ```percentage``` is the percentage to be applied to calculate the fees for the specific order.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Manage Stage","definition":"The manage stage deals with the setting and management of stop loss and take profit targets, both to protect your capital and to increase the efficiency of your trading system.","content":["\r","\r","The first and foremost rule of trading is to preserve capital and its main goal is to increase it.\r","\r","Conceptually, a position is not an instantaneous event, but an event which has an opening, a period of maturation, and a closing. The management of the position happens throughout the process.\r","\r","The concept of managing the position refers to the fact that the formulas that determine the take profit and stop loss targets may change as the position develops. A typical situation in which you may want to change your original take profit and stop loss formulas is when the position seems to be developing well in your favor.\r","\r","It may be in your best interest to manage the stop loss, moving the target in the direction that would help protect unrealized profits. It may also be in your interest to move the take profit target to extract a larger profit than originally expected. Or you may wish to set up a mechanism that closes the trade as soon as a certain market situation materializes.\r","\r","The management of take profit and stop loss is done independently of each other, in phases. Therefore, each concept has its own set of management phases.\r","\r","Each phase has its formula to describe the corresponding target. Users may define situations in which the current phase shall be abandoned and a different phase—with its formula—shall be implemented. \r","\r","Keep in mind that the position is in constant development, so there may be as many phases as you deem appropriate for your particular strategy.\r","\r","The idea of managing targets in phases derives from the notion that big market moves tend to provide clues as to what may come up next. For instance, rallies may accelerate as more traders join the move. Recognizable patterns may emerge. Signs of exhaustion may be identified.\r","\r","All of these considerations may feed the dynamic analysis performed in each phase as the position develops.\r","\r","Upon execution, the system verifies if the current candle has tagged either of the targets. If—or when—it does, the close stage kicks in and closing execution begins.\r","\r","{% include callout.html type=\"success\" content=\"It is crucial to understand that Superalgos does not place orders to close a position until the stop loss or take profit targets are hit. That is, stop loss and take profit are not orders sitting at the exchange waiting to be filled at a certain rate. Instead, Superalgos keeps track of targets internally, and places the orders at the exchange during the execution cycle in which it detects either of the targets has been hit.\" %}\r","\r","This behavior has advantages and disadvantages, but it was designed as is because the former outweigh the latter.\r","\r","By not placing stop or take profit orders at the exchange, Superalgos keeps your targets—and the underlying strategy—secret. This guarantees that such a crucial piece of information may not be used against you by the exchange itself or any third party that may have access to privileged information.\r","\r","On the other hand, not placing a stop order in advance may occasionally cause relatively more slippage, for instance, in cases of massive flash market moves. \r","\r","That said, the default behavior of the system may be hacked to avoid the eventual risk of excessive slippage: set your stop loss and take profit targets tighter than intended.\r","\r"],"folderName":"trading_system","starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"adding":["\r","\r","To add a manage stage node, select *Add Missing Stages* on the strategy node menu. All stages that may be missing are created along with the rest of the basic structure of nodes required to define each of them and their events.\r","\r","{% include note.html content=\"Only one manage stage may exist in each strategy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Close Stage","definition":"The close stage deals with the definitions that make up the logic to close a position, including the target rate and size, and order execution.","content":["\r","\r","The close stage is opened when either the stop loss or take profit targets are hit. \r","\r","In a way, the close stage is virtually a mirror of the open stage, as the same definitions are required to close a position. There are a few logical differences, though.\r","\r","For example, in the open stage, you probably defined the target size as a function of the capital allocated to the trading system. In the close stage, you will likely want to define the target size as a function of the size filled, that is, the amount of the orders placed that was filled during the open stage.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a close stage node, select *Add Missing Stages* on the strategy node menu. All stages that may be missing are created along with the rest of the basic structure of nodes required to define each of them and their events.\r","\r","{% include note.html content=\"Only one close stage may exist in each strategy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Close Execution","definition":"The close execution node groups all execution algorithms involved in the process of closing a position.","content":["\r","\r","The close execution section of the close stage works similarly to the open execution in the open stage. Please refer to the explanations of the open stage for the details.\r","\r"],"folderName":"trading_system","adding":["\r","\r","To add a close execution node, select *Add Close Execution* on the open stage node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Social Bots"},{"type":"Telegram Bot"},{"type":"Announcement"},{"type":"Announcement Condition"},{"type":"Crypto Ecosystem","definition":"The crypto ecosystem is a hierarchy that contains definitions about third-parties, including exchanges and their markets, as well as accounts of users with those third parties.","content":["\r","\r","There is only one crypto ecosystem hierarchy. You will use it to define which exchanges and which markets you wish to work with, as well as the details of your accounts with those exchanges. \r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Super Actions"},{"type":"Signals Providers"},{"type":"Signals Provider"},{"type":"Crypto Exchanges","definition":"The crypto exchanges node groups definitions of the different exchanges the user may interact with.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add a crypto exchanges node, select *Add Crypto Exchanges* on the crypto ecosystem node menu. \r","\r","{% include note.html content=\"Only one crypto exchanges node may exist on the hierarchy.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Crypto Exchange","definition":"A crypto exchange node holds the definitions of assets and markets in a specific exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add a crypto exchange, select *Add Crypto Exchange* on the crypto exchanges node menu. The crypto exchange node is created along with the rest of the basic structure of nodes required to define assets, markets and user accounts.\r","\r"],"configuring":["\r","\r","Select *Configure Crypto Exchange* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"codeName\": \"binance\",\r"," \"API\": [\r"," {\r"," \"method\": \"fetchTrades\",\r"," \"fetchType\": \"by Id\",\r"," \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\r"," \"firstId\": \"f\"\r"," }\r"," ]\r","}\r","```\r","\r","* ```codeName``` is the name of the exchange as handled in the code of the system. \r","\r","* ```API``` holds a series of definitions used only in the case in which the sensor bot fetches trades (using the Historic-Trades process) instead of the OHLCV process that fetches one-minute candles and is the current default. In such a case, finding the right set of parameters to work with a specific exchange may be challenging, nd involves understanding how the exchanges API and the CCXT Library API work. In other words, there is no hard rule as of what each of the values should be. Determining each of this values requires exploring the exchange's API documentation, as well as the documentation of the CCXT Library.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Assets","definition":"The exchange assets node groups the definitions of assets.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add an exchange assets node, select *Add Exchange Assets* on the crypto exchanges node menu. The exchange assets node is created along with a first asset.\r","\r","{% include note.html content=\"Only one exchange assets node may exist on each exchange.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Exchange Assets* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"addMissingAssets\": { \"quotedAsset\": \"BTC\"} \r","}\r","```\r","\r","* ```addMissingAssets``` acts as a filter to determine which assets of a (potentially long) list of assets listed at the exchange will be added when the *Add Missing Assets* option in the menu is used. Because many exchanges do not offer a list of assets, the system fetches assets from actual markets (pairs) listed at the exchange. You may add missing assets filtered by the ```quotedAsset``` or by the ```baseAsset```. For example, the above configuration would add all assets listed in markets in which BTC is the quoted asset.\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Asset","definition":"An asset node is the definition of an asset listed at the corresponding exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add an asset, select *Add Asset* on the exchange assets node menu. \r","\r","To add assets in bulk, select *Add Missing Assets* on the exchange assets node menu. Beware that the exchange may handle hundreds of assets. Before using this option you may want to implement a filter using the exchange assets configuration.\r","\r","{% include /crypto_ecosystem/exchange-assets.md heading=\"\" icon=\"no\" adding=\"\" configuring=\"#####\" starting=\"\" content=\"no\" definition=\"no\" table=\"\" more=\"yes\"%}\r","\r"],"configuring":["\r","\r","Select *Configure Asset* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"codeName\": \"BTC\"\r","}\r","```\r","\r","* ```codeName``` is the ticker of the asset as listed by the exchange (*i.e.:* BTC, BTH, ETH, LTC, BNB, USDT, USD, etc.)\r","\r","{% include note.html content=\"When a configured asset is within the system's icon catalog, the standard asset icon is replaced with the logotype of the corresponding asset.\" %}\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Markets","definition":"The exchange markets node groups the definitions of markets.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add an exchange markets node, select *Add Exchange Markets* on the crypto exchange node menu. The exchange markets node is created along with the basic structure of nodes to define the first market.\r","\r","{% include note.html content=\"Only one exchange assets node may exist on each exchange.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market","definition":"A market is the definition of a pair of assets (i.e.: BTC-USDT) listed as a market in the corresponding exchange.","content":["\r","\r","{% include important.html content=\"Only markets that are effectively listed on the exchange may be configured and used with the system. Check with the exchange and make sure you understand what tickers they are using, which is the base asset and which the quoted asset on the listed markets.\" %}\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add a market, select *Add Market* on the exchange markets node menu. The market node is created along with the basic structure of nodes used to define the market. This option does not generate the super actions required to install and uninstall markets.\r","\r","To add markets in bulk, select *Add Missing Markets* on the exchange markets node menu. This option adds all markets listed at the exchange that may result from the combination of assets listed under the exchange assets node, along with the required super actions to intall those markets.\r","\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Accounts","definition":"The exchange accounts node groups the different accounts the user may have with the corresponding exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add an exchange accounts node, select *Add Exchange Account* on the crypto exchange node menu. The exchange account node is created along with the basic structure of nodes used to define keys and user assets with the exchange.\r","\r","{% include note.html content=\"Only one exchange accounts node may exist on each exchange.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"User Account","definition":"A user account represents a single account with the corresponding exchange, holding the definitions of user assets, including keys and balances.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add a user account, select *Add User Account* on the exchange accounts node menu. The user account node is created along with the basic structure of nodes used to define keys and user assets with the exchange.\r","\r","{% include tip.html content=\"You may add and administer as many user accounts as you wish.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"User Assets","definition":"The user assets node groups the assets the user has at the exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add user assets node, select *Add User Assets* on the user account node menu. The user assets node is created along with the first exchange account asset.\r","\r","{% include note.html content=\"Only one user assets node may exist under a user account.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"User Keys","definition":"The user keys node groups the various exchange account keys the user may have under the corresponding account with the exchange.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add user keys node, select *Add User Keys* on the user account node menu. The user keys node is created along with the first exchange account key.\r","\r","{% include note.html content=\"Only one user keys node may exist under a user account.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Account Asset","definition":"The exchange account asset represents a single asset the user has at the exchange.","content":["\r","\r","The exchange account asset is a reference to an asset defined under the exchange assets node.\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add an exchange account asset node, select *Add Asset* on the user assets node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with an asset defined under the exchange assets node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Account Key","definition":"The exchange account key holds the definition of the key name and secret provided by the corresponding exchange to access the user account via the exchange API.","content":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"folderName":"crypto_ecosystem","adding":["\r","\r","To add an exchange account key, select *Add Key* on the user keys node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Key* on the menu to access the configuration.\r","\r","```json\r","{ \r","\"codeName\": \"Paste your exchange API name or label here\",\r","\"secret\": \"Paste your exchange API secret key here.\"\r","}\r","```\r","\r","* ```codeName``` is the name or label of your key, as supplied by the exchange.\r","\r","* ```secret``` is the *secret key* as supplied by the exchange.\r","\r","{% include warning.html content=\"To keep your exchange keys safe, never share data structures you may download from the system, as downloads contain all information in the data structure, including personal information such as exchange keys. Use the share option on the menu instead. The share option strips sensitive information and outputs a file that is safe for sharing.\" %}\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Charting Space","definition":"The charting space is the hierarchy that governs the configuration of the charts, and the bidimensional space on which charts are drawn.","content":["\r","\r","Think of the charting space as a huge drawing board. You may have lots of information plotted on different parts of the space and use a viewport to look into that space.\r","\r","There is only one charting space hierarchy, thus all charts are configured here. As is common throughout the system, different concepts and elements of the charts such as scales, data layers and so on, are represented by nodes in the hierarchy. The system allows great flexibility on how to visualize information over the charts by adding, configuring, and arranging these nodes.\r","\r"],"folderName":"charting_space","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"charts":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Dashboard","definition":"A dashboard is a collection of time machines, each containing any number of charts.","content":["\r","\r","The concept of the dashboard allows having multiple charts configured all at once, so that you may consult different exchanges, different markets, different time frames, or different technical studies on demand, simply by moving around and zooming in or out. You may put charts side by side, or even superimpose them to study market flows, search for arbitrage opportunities, or simply keep them in sight when you analyze particular market situations.\r","\r","At the moment, the functionality of a dashboard is trivial: grouping time machines. However, in the future, it will offer various features to enhance the user experience.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a dashboard, select *Add Dashboard* on the Charting Space node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"charts":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Time Machine","definition":"A time machine synchronizes multiple timeline charts over the same timeline. Timeline charts within a time machine may have different rate scales or time frame scales, but their time scale will always match.","content":["\r","\r","Think of a time machine as an aide that helps you keep any number of pieces of information synchronized on the same time scale. Every data structure that you set up within the same time machine, will always be synchronized in time. Put in other words, the open and closing datetime of each dataset will always be aligned on the vertical axis.\r","\r","On the other hand, when you arrange charts on different time machines, they are completely independent of one another.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a time machine, select *Add Time Machine* on the Dashboard node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"charts":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Viewport","definition":"The viewport is a window through which you may look into the charting space.","content":["\r","\r","The viewport offers an opening into the visual environment in which you may see, analyze and go over every piece of data involved in the process of trading cryptocurrencies:\r","\r","* Live and historic market data;\r","* Data crunched in the form of indicators;\r","* The specific effects of the rules you will program into your strategies, and how strategies behave during testing and live trading sessions.\r","\r","At this point, the system supports one viewport only. In the future, different viewports may give you direct access to different parts of the charting space.\r","\r","{% include note.html content=\"The information that is out of focus, that is, out of the viewport, is not read nor rendered graphically, thus, does not consume resources.\" %}\r","\r"],"folderName":"charting_space","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"charts":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Time Scale","definition":"The time scale controls the scale of the horizontal axis, that is, the timeline of the corresponding time machine, and of all of the timeline charts within it.","content":["\r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Scale Minimum and Maximum Values\r","\r","A time scale has a minimum and a maximum value. The minimum value is the value at the left border of the chart. The maximum, is the value at the right border of the chart.\r","\r","In technical terms, the minimum and maximum scale values are constantly changing as, whenever you pan across the charts, you are directly affecting the minimum and maximum scale values. That said, the actual scale doesn't change when panning across a chart.\r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Automatic Scale\r","\r","The system features an automatic adjustment of the scale, which is turned on by default in our shared workspaces. The scale may be automatic in its minimum value, in its maximum value, or both. \r","\r","When the scale is automatic in the minimum value, the scale is adjusted so that the chart shows all data from the beginning of the market. Panning the charts under such setting has the effect of compressing and decompressing the data against the left border of the chart.\r","\r","When the scale is automatic in the maximum value, the scale is adjusted so that the chart shows all data until the end of the market. In such case, panning the charts has the effect of compressing and decompressing the data against the right border of the chart.\r","\r","When the scale is automatic in both the minimum and maximum value, the scale is adjusted so that the chart shows the whole market. In such case, when you click and drag to pan the charts, the settings turns back to manual on both ends of the chart.\r","\r","{% include note.html content=\"Having the time scale set to automatic by default helps finding the data as soon as it starts being processed the first time you run the Masters bot instances.\" %}\r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Manual Scale\r","\r","The scale features a manual mode. When in manual mode the scale does not change, even if the minimum and maximum values change while panning through a chart. This is the natural state of the time scale. \r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a time scale, select *Add Time Scale* on the time machine node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Rate Scale* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"fromDate\": \"2019-05-02T20:07:50.872Z\",\r"," \"toDate\": \"2019-05-22T20:28:21.515Z\",\r"," \"autoMinScale\": false,\r"," \"autoMaxScale\": false\r","}\r","```\r","\r","* ```minValue``` is a date in the Epoch time format that represents the value of the scale at the left border of the chart.\r","\r","* ```maxValue``` is a date in the Epoch time format that represents the value of the scale at the right border of the chart.\r","\r","* ```autoMinScale``` sets the mode of the scale for the minimum value; ```true``` sets the value to automatic, ```false``` sets the value to manual. \r","\r","* ```autoMaxScale``` sets the mode of the scale for the maximum value; ```true``` sets the value to automatic, ```false``` sets the value to manual. \r","\r","{% include note.html content=\"The ```minValue``` and ```maxValue``` may be entered via the design space and the charts. Both input methods are synchronized and the resulting values are stored in the node.\" %}\r","\r"],"charts":["\r","\r","{{include.charts}}# Automatic Scale\r","\r","**1. To change the automatic scale settings**, place the mouse pointer over the corresponding time box, press the Shift key and slowly scroll the wheel of the mouse. The action cycles through different possible scale automation settings. Notice a tiny green triangle to the sides of the time scale icon. \r","\r","* A triangle pointing right means that the maximum value of the scale is automatic. \r","\r","* A triangle pointing left means that the minimum value of the scale is automatic.\r","\r","* Both triangles present at the same time means that both minimum and maximum values are automatic.\r","\r","* No triangle means that both minimum and maximum values are in manual mode.\r","\r","{% include image.html file='interface/time-scale-00.gif' url='yes' max-width='100' caption='Pay attention to the effects of the different setting for the automatic and manual time scales.' %}\r","\r","{{include.charts}}# Manual Scale\r","\r","**2. To adjust the scale**, make sure either or both minimum and maximum values are in manual mode. Place the mouse pointer over the time box and scroll the wheel of the mouse. The scale will increase or decrease accordingly, depending on which values are set to manual.\r","\r","{% include image.html file='interface/time-scale-01.gif' url='yes' max-width='100' caption='When the scale is set to manual, scrolling the mouse wheel on top of the time scale box changes the scale.' %}\r","\r","Notice that, while changing the scale, a number is displayed replacing the actual datetime. This is a reference value of the scale, that may serve for comparison purposes, with scales in other charts.\r","\r","{% include note.html content=\"This action has no effect when both minimum and maximum values are set to automatic mode.\" %}\r","\r"]},{"type":"Rate Scale","definition":"The rate scale controls the scale of the vertical axis, that is, the scale of the quoted asset, either of the time machine or of the timeline chart, depending on where the node is located.","content":["\r","\r","Rate scales may exist both at the level of a time machine and at the level of a timeline chart, each affecting the corresponding concept.\r","\r","When set at the level of the time machine, the scale settings affect all charts within the time machine. When set at the level of the timeline chart, the settings override the rate scale at the time machine level. This allows having multiple charts on the same time machine, each with a different rate scale.\r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Scale Minimum and Maximum Values\r","\r","A rate scale has a minimum and a maximum value. The minimum value is the value at bottom of the chart. The maximum, is the value at the top of the chart.\r","\r","In technical terms, the minimum and maximum scale values are constantly changing as, whenever you pan across the charts, you are directly affecting the minimum and maximum scale values. That said, the actual scale may change dynamically or not, depending on the scale-automation settings.\r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Automatic Scale\r","\r","The system features an automatic adjustment of the scale, which is turned on by default in our shared workspaces. The scale may be automatic in its minimum value, in its maximum value, or both. \r","\r","When the scale is automatic in the minimum value, the scale is adjusted so that no piece of information in the span of the chart ever remains below the bottom of the chart. As a result, the lowest data point aligns with the bottom of the chart.\r","\r","When the scale is automatic in the maximum value, the scale is adjusted so that no piece of information in the span of the chart ever remains above the top of the chart. As a result, the highest data point aligns with the top of the chart.\r","\r","The scale may be automated on either, or both minimum and maximum values at the same time. In the later case, no data point in the span of the chart ever remains out of the visible area of the chart, as the lowest data point aligns with the bottom of the chart and the highest aligns with the top.\r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Manual Scale\r","\r","The system also features a manual mode. When in manual mode the scale does not change, even if the minimum and maximum values change while panning across a chart. This design feature allows comparing different periods using the same scale, which may be valuable in many cases. \r","\r","{% if include.heading == \"more\" %}##{% else %}{{include.heading}}{% endif %}### Scale Offset\r","\r","The offset is a feature of the rate scale by which the scale may be shifted upwards or downwards. As a result, charts aligned on the vertical axis—synchronized in datetime by a shared time machine—may be put one above the other. In technical terms, what happens is that the scale is shifted upwards or downwards.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a rate scale, select *Add Rate Scale* on the time machine or the timeline chart node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Rate Scale* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"minValue\": 388.60416666666424,\r"," \"maxValue\": 9715.104166666664,\r"," \"autoMinScale\": true,\r"," \"autoMaxScale\": true\r","}\r","```\r","\r","* ```minValue``` is a numerical value that represents the value of the scale at the bottom of the chart.\r","\r","* ```maxValue``` is a numerical value that represents the value of the scale at the top of the chart.\r","\r","* ```autoMinScale``` sets the mode of the scale for the minimum value; ```true``` sets the value to automatic, ```false``` sets the value to manual. \r","\r","* ```autoMaxScale``` sets the mode of the scale for the maximum value; ```true``` sets the value to automatic, ```false``` sets the value to manual. \r","\r","{% include note.html content=\"The ```minValue``` and ```maxValue``` may be entered via the design space and the charts. Both input methods are synchronized and the resulting values are stored in the node.\" %}\r","\r"],"charts":["\r","\r","{{include.charts}}# Automatic Scale\r","\r","**1. To change the automatic scale settings**, place the mouse pointer over the corresponding time machine or timeline chart rate box, press the Shift key and slowly scroll the wheel of the mouse. The action cycles through different possible scale automation settings. Notice a tiny green triangle below and/or above the rate scale icon. \r","\r","* A triangle pointing up means that the maximum value of the scale is automatic. \r","\r","* A triangle pointing down means that the minimum value of the scale is automatic.\r","\r","* Both triangles present at the same time means that both minimum and maximum values are automatic.\r","\r","* No triangle means that both minimum and maximum values are in manual mode.\r","\r","{% include image.html file='interface/rate-scale-00.gif' url='yes' max-width='100' caption='Pay attention to the effects of the different setting for the automatic and manual time scales.' %}\r","\r","{{include.charts}}# Manual Scale\r","\r","**2. To adjust the scale**, make sure either or both minimum and maximum values are in manual mode. Place the mouse pointer over the corresponding time machine or timeline chart rate box and scroll the wheel of the mouse. The scale will increase or decrease accordingly, depending on which values are set to manual.\r","\r","{% include image.html file='interface/rate-scale-01.gif' url='yes' max-width='100' caption='When the scale is set to manual, scrolling the mouse wheel on top of the rate scale box changes the scale.' %}\r","\r","Notice that, while changing the scale, a number is displayed replacing the actual rate. This is a reference value of the scale, that may serve for comparison purposes, with scales in other charts.\r","\r","{% include note.html content=\"This action has no effect when both minimum and maximum values are set to automatic mode.\" %}\r","\r","{{include.charts}}# Scale Offset\r","\r","**3. To shift or offset a timeline chart on the vertical axis**, place the mouse pointer on the rate box, left-click and drag upwards or downwards, as desired. The timeline chart will shift in the specified direction while the remaining charts stay in the same position.\r","\r","{% include image.html file='interface/rate-scale-02.gif' url='yes' max-width='100' caption='To control the offset between timeline charts, right-click on the rate box and drag upwards or downwards.' %}\r","\r","{% include note.html content=\"Setting an offset in a timeline chart only makes sense in the context of a time machine with multiple charts. That is, if you are browsing a single chart, an offset behaves the same as moving the single chart up or down.\" %}\r","\r","\r"]},{"type":"Time Frame Scale","definition":"The time frame scale controls the time frame setting, that is, the period represented by each candle, either of the time machine or of the timeline chart, depending on where the node is located.","content":["\r","\r","When the time frame scale is set at the level of the time machine, the scale setting affects all charts within the time machine. When set at the level of the timeline chart, the setting overrides the time frame scale at the time machine level. This allows comparing charts in different time frames, but still synchronized at the datetime level.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a time frame scale, select *Add Time Frame Scale* on the time machine or the timeline chart node menu.\r","\r"],"configuring":["\r","\r","Select *Configure Frame Scale* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"value\":\"06-hs\"\r","}\r","```\r","\r","* ```value``` can be any of the time frames supported by the system:\r","\r"," * ```01-min```, ```02-min```, ```03-min```, ```04-min```, ```05-min```, ```10-min```, ```15-min```, ```20-min```, ```30-min```, ```40-min```, and ```45-min```.\r","\r"," * ```01-hs```, ```02-hs```, ```03-hs```, ```04-hs```, ```06-hs```, ```08-hs```, ```12-hs```, and ```24-hs```.\r","\r"," {% include note.html content=\"The values entered via the design space and the charts are synchronized and stored in the node.\" %}\r","\r"],"charts":["\r","\r","**1. To set a time frame value**, place the mouse pointer over the corresponding time machine or timeline chart time frame box and scroll the mouse wheel.\r","\r","{% include image.html file='interface/time-frame-scale-00.gif' url='yes' max-width='100' caption='To set a time frame, scroll the wheel of the mouse over the time frame scale box.' %}\r","\r"]},{"type":"Timeline Chart","definition":"The timeline chart represents a chart within a time machine, which may have independent rate and time frame scales, as well as particular layers.","content":["\r","\r","In other words, a timeline chart—often referred simply as *chart*—is a set of information to be displayed over a timeline. The information may include candles—the main and foremost resource—as well as any other indicator, study or—in general—data products that may be available.\r","\r","You may add as many charts as you wish. Charts within the same time machine are synchronized in the y-axis, that is, in the datetime dimension. Charts in different time machines are independent of each other concerning the datetime. In either case, you may also add rate scales and time frame scales at the timeline charts level.\r","\r","The information that each timeline chart makes available on the screen is given by the layers set up in the corresponding layer manager.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a timeline chart, select *Add Timeline Chart* on the preferred time machine node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"charts":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Layer Manager","definition":"The layer manager determines which layers will be visible on the corresponding timeline chart.","content":["\r","\r","In other words, you use the layer manager node to configure which data products you wish to be made available for visualization purposes on the charts, in particular, on a specific timeline chart to which the layer manager node is attached to.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a layer manager, select *Add Layer Manager* on the preferred timeline chart node menu.\r","\r"],"configuring":["\r","Select *Configure Layer Manager* in the menu to access the configuration.\r","\r","```json\r","{\r"," \"visibleLayers\": 3,\r"," \"panelLocation\": {\r"," \"upOrDown\": \"up\",\r"," \"leftOrRight\": \"left\"\r"," },\r"," \"label2FontSize\": 12\r","}\r","```\r","\r","* ```visibleLayers``` keeps track of how many layers the managers is rolled to, that is, how many layers it is displaying.\r","\r","* ```panelLocation``` keeps track of the position of the panel relative to the four screen corners.\r","\r","* ```label2FontSize``` allows adjusting the font size of the second-order label of each layer, displaying the name of the exchange and market.\r","\r"],"charts":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Layer","definition":"A layer represents a reference to a data product in the data storage node of the network hierarchy. Conceptually, it means that a certain data product, which exists in a certain location on the network, holds the data to be rendered on the charts.","content":["\r","\r","To set up a layer, you need to establish a reference with the data product of your choice.\r","\r"],"folderName":"charting_space","adding":["\r","\r","To add a layer, select *Add Layer* on the layer manager node menu. \r","\r","{% include note.html content=\"After adding a layer node, make sure you establish a reference to the corresponding data product in the data storage node of the network hierarchy.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure Layer* on the menu to access the configuration.\r","\r","```json\r","{\r"," \"status\":\"on\", \r"," \"showPanels\":true\r","}\r","```\r","\r","* ```status``` may be *on* or *off* and refers to the layer being visible or not on the charts.\r","\r","* ```showPanels``` may be *true* or *false*; *true* shows the plotter panel that may be associated with the data product as per the plotter module definitions; *false* makes panels invisible.\r","\r"],"charts":["\r","\r","To turn layers on and off, simply click on the layer in the corresponding products panel.\r","\r","To turn on and off a layer panel, click the panel button on the bottom-left corner of the layer.\r","\r"]},{"type":"Bot Layers"},{"type":"Layer Folder"},{"type":"Data Storage","definition":"The data storage node holds the definitions as to what data is stored in the corresponding network node.","content":["\r","\r","Bot instances running on the data mining and trading sections of a network node produce data products that need to be stored somewhere, specifically. The data storage node and its chain of offspring determine which data is to be stored where; that is, in what network node.\r","\r","Like with the data mining section and the sections referring to trading operations (testing and production environments), the data storage section is too organized by exchange, market, and data or trading mines. See the [sorting of tasks](suite-sorting-of-tasks.html) page for the details.\r","\r","The storage of data is split between [data mines data](suite-data-mines-data.html) and [trading mines data](suite-trading-mines-data.html). This is to facilitate the management of data storage definitions in [trading farms](suite-fundamental-trading-farms-concepts.html), on which data mining operations may be separate from trading operations.\r","\r","The data stored on each node of the network may be accessed by others, including the charting system, to visualize information via plotters defined in data mines, by trading systems to make trading decisions, and even by third-party systems. The information regarding trading mine data is explained in length in the [trading engine](suite-trading-engine.html) section of the documentation.\r","\r","The setup of data storage definitions is done automatically when the [install market](suite-how-to-install-a-new-market.html) function under the exchange markets node of the Crypto Ecosystem hierarchy is used. However, when data mining or trading tasks are created manually, the data storage definitions must be created manually as well, using the tools available in each of the data structures below this node.\r","\r","{% include node-deletion-warning.html %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a data storage, select *Add Data Storage* on the network node menu. \r","\r","{% include note.html content=\"Only one data storage node may exist on each network node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Mine Tasks","definition":"The data mine tasks node is an organizational device that groups tasks corresponding to the referenced data mine.","content":["\r","\r","The data mine tasks node must reference the definition of a data mine. The node may spawn tasks for each bot in the data mine.\r","\r"],"folderName":"network","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. This action adds the node but does not establish a reference with any data mine.\r","\r","The smarter use of the node involves using the *Add Missing Data Mine Tasks* option on the parent node menu. This action creates a data mine tasks node for each data mine in the workspace, establishing a reference with the corresponding data mines. This is the first step in the direction of quickly setting up tasks for each bot in a given data mine.\r","\r","{% include note.html content=\"See the task node definition and the *Adding a Task Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","Select *Run All Task Managers* or *Stop All Task Managers* on the menu to start and stop all tasks under this node.\r","\r"]},{"type":"Trading Mine Tasks","definition":"The trading mine tasks node is an organizational device that groups tasks corresponding to the referenced trading mine.","content":["\r","\r","The market trading tasks node must reference the definition of a data mine. The node may spawn tasks for each bot in the data mine.\r","\r"],"folderName":"network","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. This action adds the node but does not establish a reference with any data mine.\r","\r","The smarter use of the node involves using the *Add Missing market trading tasks* option on the parent node menu. This action creates a market trading tasks node for each data mine in the workspace, establishing a reference with the corresponding data mines. This is the first step in the direction of quickly setting up tasks for each bot in a given data mine.\r","\r","{% include note.html content=\"See the task node definition and the *Adding a Task Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","Select *Run All Task Managers* or *Stop All Task Managers* on the menu to start and stop all tasks under this node.\r","\r"]},{"type":"Market Data Tasks","definition":"A market data tasks node groups data mining tasks operating in a specific market.","content":["\r","\r","The market data tasks node must reference a market defined in the Crypto Ecosystem hierarchy.\r","\r","This node may spawn individual data products or may deploy data products in bulk organized by data mine and by bots. See the data products node for the details.\r","\r"],"folderName":"network","adding":["\r","\r","To add a market data tasks node, select *Add Market Data* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with a market defined in the Crypto Ecosystem hierarchy after adding the node.\" %}\r","\r","You may also add market data tasks nodes in bulk for all markets that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Markets* on the parent node menu. A market data tasks node is created for each defined market, each with the corresponding reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","Select *Run All Data Mine Tasks* or *Stop All Data Mine Tasks* on the menu to start and stop all tasks under this node.\r","\r"]},{"type":"Market Trading Tasks","definition":"A market trading tasks node groups trading tasks operating in a specific market.","content":["\r","\r","The market trading tasks node must reference a market defined in the Crypto Ecosystem hierarchy.\r","\r","This node may spawn individual data products or may deploy data products in bulk organized by data mine and by bots. See the data products node for the details.\r","\r"],"folderName":"network","adding":["\r","\r","To add a market trading tasks node, select *Add Market Data* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with a market defined in the Crypto Ecosystem hierarchy after adding the node.\" %}\r","\r","You may also add market trading tasks nodes in bulk for all markets that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Markets* on the parent node menu. A market trading tasks node is created for each defined market, each with the corresponding reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","Select *Run All Trading Mine Tasks* or *Stop All Trading Mine Tasks* on the menu to start and stop all tasks under this node.\r","\r"]},{"type":"Exchange Data Tasks","definition":"The exchange data tasks node organizes data mining tasks by exchange. That is, each exchange installed in the system has an exchange data tasks node grouping all market data tasks corresponding to the said exchange.","content":["\r","\r","The exchange data tasks node must reference the exchange of choice. This reference constraints the rest of the definitions to the context of the said exchange.\r","\r","When representing an exchange featured in the system's icons library, the standard exchange data tasks icon is replaced by the exchange's logo.\r","\r"],"folderName":"network","adding":["\r","\r","To add a specific {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference to the desired exchange in the Crypto Ecosystem hierarchy.\" %}\r","\r","You may also add exchange data tasks node in bulk for all exchanges that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Exchanges* on the parent node menu. An exchange data tasks node is created for each defined exchange, each with the corresponding reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","Select *Run All Market Data Tasks* or *Stop All Market Data Tasks* on the menu to start and stop all tasks under this node.\r","\r"]},{"type":"Exchange Trading Tasks","definition":"The exchange trading tasks node organizes trading tasks by exchange. That is, each exchange installed in the system has an exchange trading tasks node grouping all market trading tasks corresponding to the said exchange.","content":["\r","\r","The exchange trading tasks node must reference the exchange of choice. This reference constraints the rest of the definitions to the context of the said exchange.\r","\r","When representing an exchange featured in the system's icons library, the standard exchange trading tasks icon is replaced by the exchange's logo.\r","\r"],"folderName":"network","adding":["\r","\r","To add a specific {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference to the desired exchange in the Crypto Ecosystem hierarchy.\" %}\r","\r","You may also add exchange trading tasks node in bulk for all exchanges that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Exchanges* on the parent node menu. An exchange trading tasks node is created for each defined exchange, each with the corresponding reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","Select *Run All Market Trading Tasks* or *Stop All Market Trading Tasks* on the menu to start and stop all tasks under this node.\r","\r"]},{"type":"Data Mining","definition":"Data mining is the activity of processing data. You need to process data to feed charts, and so that your trading systems may make decisions based on quality information.","content":["\r","\r","Having access to quality information is a crucial element of trading. For that reason, Superalgos strives to give users full control over how, where, and when data is processed. You will use this section of the network hierarchy to exert that control.\r","\r","Data mining is done through tasks running instances of sensor and indicator bots. The data structure under this node allows organizing the data mining operation by exchange, market, and data mine.\r","\r","The setup of the data mining operation may be done using the *Install Market* function of the market you wish to install as defined in the Crypto Ecosystem hierarchy under the exchange markets node. Learn more about this function on the [how to install a new market](suite-how-to-install-a-new-market.html) page.\r","\r","You may also set up data mining tasks by using the different functions in this section of the hierarchy, starting with the options in the menu of this node. This route offers finer control over what tasks you set up, and how. \r","\r","{% include node-deletion-warning.html %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Testing Environment","definition":"The testing environment node organizes trading sessions involving testing of trading systems.","content":["\r","\r","Thorough and comprehensive testing of strategies is at the core of successful trading. Superalgos strives to put you in control of the testing process providing you with flexible tools to fit your criteria.\r","\r","Depending on how you use the system, how many markets and exchanges you work with, the number of trading systems you use, or the way you choose to test your strategies, you may find yourself with a large number of testing sessions. As explained in the [sorting of tasks](suite-sorting-of-tasks.html) page, the testing environment helps you organize large numbers of tasks sorting them by exchange, market, and trading mine.\r","\r","Superalgos handles two types of simulated tests: backtesting and paper trading. Backtesting involves testing over historic data, while paper trading is about testing on a live data stream, but without placing orders at the exchange.\r","\r","Trading sessions are controlled by a number of parameters that determine how the session is run. The built-in parameters provide great control and flexibility as to how to handle data sets and how to produce the resulting simulations.\r","\r","{% include note.html content=\"Please, read on and study the workings of the chain of nodes under the testing environment node. The investment of time is well worth it, as you will learn how to make the most out of the strategy-testing features built-in Superalgos.\" %}\r","\r","{% include node-deletion-warning.html %}\r","\r"],"folderName":"network","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Production Environment","definition":"The production environment node organizes trading sessions involving live trading.","content":["\r","\r","Superalgos aims to provide a flexible and robust trading bots deployment toolbox.\r","\r","With Superalgos, you may deploy as many trading bots as you wish and have them running on a single computer or in as many machines as you wish, in a [trading farm](suite-fundamental-trading-farms-concepts.html) type of setup. To help with the management of large numbers of live trading sessions, the system helps you with [sorting tasks](suite-sorting-of-tasks.html) by exchange, market, and trading mine.\r","\r","The production environment works pretty much in the same way as the testing environment, save for two important differences:\r","\r","* The production environment runs forward testing and live trading sessions, instead of backtesting and paper trading sessions.\r","\r","* These two types of sessions involve monetary transactions at the exchange, thus require the set up of a key reference to authenticate your account with the exchange.\r","\r","{% include note.html content=\"If you are familiar with the testing environment, there isn't much more to learn to understand the production environment. If you are not familiar with either, please refer to the [tesing environment](suite-testing-evironment.html) page for the details.\" %}\r","\r","{% include node-deletion-warning.html %}\r","\r"],"folderName":"network","adding":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Data Products","definition":"The exchange data products node organizes data mines data by exchange. That is, each exchange installed in the system has an exchange data products node grouping all market data products nodes corresponding to the said exchange.","content":["\r","\r","The exchange data products node must reference the exchange of choice. This reference constraints the rest of the definitions to the context of the said exchange.\r","\r","When representing an exchange featured in the system's icons library, the standard exchange data tasks icon is replaced by the exchange's logo.\r","\r"],"folderName":"network","adding":["\r","\r","To add a specific {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference to the desired exchange in the Crypto Ecosystem hierarchy.\" %}\r","\r","You may also add exchange data products nodes in bulk for all exchanges that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Exchanges* on the parent node menu. An exchange data products node is created for each defined exchange, each with the corresponding reference.\r","\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Mines Data","definition":"Session independent data refers to data generated by sensors and indicators, not related to trading sessions.","content":["\r","\r","As explained in the [sorting of tasks](suite-sorting-of-tasks.html) page, data mines data is sorted by exchange, market, and the corresponding data mine, sensor or indicator bot, and bot product. That is, most of the nodes in this section of the hierarchy play an organizational role.\r","\r","Many of them require references to the nodes that delimit the context for which the data is applicable. For example, the market data products node must reference one of the installed markets, in particular, the market on which the data mining operation is run. These references help other entities understand the context to which the data belongs to.\r","\r","Whenever you create data mining tasks manually from within the Network hierarchy (as opposed to using the [install market](suite-how-to-install-a-new-market.html) function under the exchange markets node of the Crypto Ecosystem hierarchy), you need to create the proper definitions for the storage of data mines data.\r","\r"],"folderName":"network","adding":["\r","\r","To add a session-independent data node, select *Add Session-independent Data* on the network node menu. \r","\r","{% include note.html content=\"Only one session-independent data node may exist on each data storage node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Exchange Trading Products","definition":"The exchange trading products node organizes trading mines data by exchange. That is, each exchange installed in the system has an exchange trading products node grouping all session references corresponding to the said exchange.","content":["\r","\r","The exchange trading products node must reference the exchange of choice. This reference constraints the rest of the definitions to the context of the said exchange.\r","\r","When representing an exchange featured in the system's icons library, the standard exchange trading products icon is replaced by the exchange's logo.\r","\r"],"folderName":"network","adding":["\r","\r","To add a specific {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference to the desired exchange in the Crypto Ecosystem hierarchy.\" %}\r","\r","You may also add exchange trading products nodes in bulk for all exchanges that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Exchanges* on the trading mines data node menu. An exchange trading products node is created for each defined exchange, each with the corresponding reference.\r","\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Mines Data","definition":"Session-based data refers to data that is generated as a consequence of running a trading session, that is, data the trading bot instance generates while running backtesting, paper trading, forward testing, or live trading sessions.","content":["\r","\r","As explained in the [sorting of tasks](suite-sorting-of-tasks.html) page, trading mines data is sorted by exchange, market, the corresponding trading session, and the corresponding trading mine, trading bot, and bot product. That is, most of the nodes in this section of the hierarchy play an organizational role.\r","\r","Many of them require references to the nodes that delimit the context for which the data is applicable. For example, the exchange trading products node must reference one of the installed exchanges, in particular, the exchange on which the trading operation is run. These references help other entities understand the context to which the data belongs to.\r","\r","Whenever you create trading tasks manually from within the Network hierarchy (as opposed to using the [install market](suite-how-to-install-a-new-market.html) function under the exchange markets node of the Crypto Ecosystem hierarchy), you need to create the proper definitions for the storage of trading mines data.\r","\r"],"folderName":"network","adding":["\r","\r","To add a session-based data node, select *Add Session-based Data* on the network node menu. \r","\r","{% include note.html content=\"Only one session-based data node may exist on each data storage node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Session Reference","definition":"A session reference establishes which session is the one which shall store data in the current location.","content":["\r","\r","A such, the session reference node must establish a reference with a trading session. Also, its offspring nodes determine precisely which data products are stored.\r","\r"],"folderName":"network","adding":["\r","\r","To add a session reference node, select *Add Session Reference* on the network node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with a trading session after adding the node.\" %}\r","\r","You may also add session reference nodes in bulk for all sessions defined in the same network that are not yet defined. To do that, select *Add Missing Sessions* on the exchange trading products node menu. A session reference node is created for each defined trading session in the node, each with the corresponding reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Data Products","definition":"A market data products node represents the group of data products generated in a specific market.","content":["\r","\r","The market data products node must reference a market defined in the Crypto Ecosystem hierarchy.\r","\r","This node may spawn individual data products or may deploy data products in bulk organized by data mine and by bots. See the data products node for the details.\r","\r"],"folderName":"network","adding":["\r","\r","To add a market data products node, select *Add Market Data* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with a market defined in the Crypto Ecosystem hierarchy after adding the node.\" %}\r","\r","You may also add market data products nodes in bulk for all markets that may have been previously defined in the Crypto Ecosystem hierarchy. To do that, select *Add Missing Markets* on the parent node menu. A market data products node is created for each defined market, each with the corresponding reference.\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Market Trading Products","definition":"A market trading products node features the group of data products generated by the referenced session in a specific market.","content":["\r","\r","The market trading products node must reference a market defined in the Crypto Ecosystem hierarchy.\r","\r","This node may spawn individual data products or may deploy data products in bulk organized by trading mine and by trading bots. See the data products node for the details.\r","\r"],"folderName":"network","adding":["\r","\r","To add a market trading products node, select *Add Market Trading Data* on the parent node menu. \r","\r","{% include note.html content=\"Remember to establish a reference with a market defined in the Crypto Ecosystem hierarchy after adding the node.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Product","definition":"A data product represents the collection of datasets generated by the instance of a bot as defined in the corresponding data mine or trading mine.","content":["\r","\r","Data products exist in the context of trading mines data and data mines data nodes. In the first case, a data product is the collection of datasets generated by an instance of a trading bot as defined in a trading mine, running a trading session. In the latter case, it is the collection of datasets generated by either a sensor bot or an indicator bot instance, as defined in a data mine, and running a data mining task.\r","\r","A data product node must reference a product definition in the corresponding bot.\r","\r","{% include important.html content=\"Data products may only be stored on the same network node on which the task—data mining or trading—runs.\" %}\r","\r"],"folderName":"network","adding":["\r","\r","To add a single data product, select *Add Data Product* on the market trading products, market data products, bot products, or data products folder node menus. \r","\r","{% include note.html content=\"Remember to establish a reference with a product definition of the corresponding bot in the corresponding data or trading mine.\" %}\r","\r","In cases in which multiple data products must be added, you may use the option to create data products in bulk.\r","\r","Select the *Add All Data Products* option on the data or trading mine products node menu. This adds a bot products node for each bot in the data or trading mine, and a data product for each product definition of each bot. \r","\r","You may use this option after manually adding a data or trading mine products node and manually establishing the reference with the desired data mine, or after adding all data or trading mine data products, by which the references with data or trading mines are established automatically.\r","\r","{% include tip.html content=\"If adding data products in bulk results in adding data products that are not required, you may easily delete those.\" %}\r","\r"],"configuring":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Mine Products","definition":"Data mine products are references established with data mines to facilitate establishing data product references with multiple products in the given data mine.","content":["\r","\r","The node may be used as an organizational device, simply to arrange bot products. However, the smart use of the node involves automating the deployment of multiple data products.\r","\r","The use of the {{ title | downcase }} node is optional, as data products may also exist outside of {{ title | downcase }} nodes.\r","\r"],"folderName":"network","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. This action adds the node but does not establish a reference with any data mine. \r","\r","The smarter use of the node involves using the *Add All Data Mine Products* option on the parent node menu. This action creates a data mine products node for each data mine in the workspace, establishing a reference with the corresponding data mines. This is the first step in the direction of quickly setting up multiple data products when needed.\r","\r","{% include note.html content=\"See the data product node definition and the *Adding a Data Product Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Trading Mine Products","definition":"Trading mine products are references established with trading mines to facilitate establishing data product references with multiple products in the given mine.","content":["\r","\r","At this point, Superalgos ships with a single trading mine, featuring a single *low frequency* trading bot. However, developers may create their own trading bots or fork the existing one. \r","\r","The node may be used as an organizational device, simply to arrange bot products. However, the smart use of the node involves automating the deployment of multiple data products.\r","\r","The use of the {{ title | downcase }} node is optional, as data products may also exist outside of {{ title | downcase }} nodes.\r","\r"],"folderName":"network","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. This action adds the node but does not establish a reference with any trading mine. \r","\r","The smarter use of the node involves using the *Add All Trading Mine Products* option on the parent node menu. This action creates a trading mine products node for each trading mine in the workspace, establishing a reference with the corresponding trading mines. This is the first step in the direction of quickly setting up multiple data products when needed.\r","\r","{% include note.html content=\"See the data product node definition and the *Adding a Data Product Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Bot Products","definition":"A bot products node is an organizational device used to arrange data products corresponding to a specific bot.","content":["\r","\r","The device exists as an offspring of a data or trading mine products node, and does not require a reference to a bot in the given data or trading mine. \r","\r","The use of the {{ title | downcase }} node is optional, as data products may also exist outside of {{ title | downcase }}.\r","\r"],"folderName":"network","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu.\r","\r","The bot products node may also be created automatically. When created using the *Add All Data Products* option on the data mine products node, the node inherits the label of the corresponding bot in the corresponding data mine. \r","\r","{% include note.html content=\"See the data product node definition and the *Adding a Data Product Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Product Folder","definition":"A data product folder node is an organizational device used to map the arrangement of product definition folders as may exist in the bot definition of the corresponding data or trading mine.","content":["\r","\r","The use of the {{ title | downcase }} node is optional, as data products may also exist outside of {{ title | downcase }}s.\r","\r"],"folderName":"network","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. \r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Tutorial"},{"type":"Tutorial Topic"},{"type":"Tutorial Step"},{"type":"Data Mine Data Dependencies","definition":"Data mine data dependencies are references established with entire data mines to facilitate establishing data dependencies with multiple datasets in the given data mine.","content":["\r","\r","The node may be used as an organizational device, simply to arrange bot data dependencies. However, the smart use of the node involves automating the deployment of multiple data dependencies and their references.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add a {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. This action adds the node but does not establish a reference with any data mine. \r","\r","The smarter use of the node involves using the *Add All Data Mine Dependencies* option on the parent node menu. This action creates a data mine data dependencies node for each data mine in the workspace, establishing a reference with the corresponding data mines. This is the first step in the direction of quickly setting up multiple data dependencies when needed.\r","\r","{% include note.html content=\"See the data dependency node definition and the *Adding a Data Dependecy Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Bot Data Dependencies","definition":"A bot data dependencies node is an organizational device used to arrange data dependencies corresponding to a specific bot.","content":["\r","\r","The device exists as an offspring of a data mine data dependencies node, and does not require a reference to a bot in the given data mine. \r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu. When adding a bot data dependency in this manner, the node does not inherit any particular label. In fact, it may even host data dependencies pointing to other data mines.\r","\r","The bot data dependencies node may also be created automatically. When created using the *Add All Data Dependencies* option on the data mine data dependencies node, the node inherits the label of the corresponding bot in the corresponding data mine. \r","\r","{% include note.html content=\"See the data dependency node definition and the *Adding a Data Dependecy Node* section for all the details.\" %}\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]},{"type":"Data Dependency Folder","definition":"A data dependency folder node is an organizational device used to map the arrangement of product definition folders of a given bot.","content":["\r","\r","The use of product data dependency folders is optional, as data dependencies may also exist outside of folders.\r","\r"],"folderName":"data_mine","adding":["\r","\r","To add the {{ title | downcase }} node, select *Add {{ title }}* on the parent node menu.\r","\r","The {{ title | downcase }} node may be added automatically when using the *Add All Data Dependencies* option on the data mine data dependencies node menu.\r","\r"],"configuring":["\r","\r","Select *Configure* on the menu to access the configuration.\r","\r","```json\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","```\r","\r"],"starting":["\r","\r","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r","\r"]}]
\ No newline at end of file
diff --git a/TaskServer/Commons.js b/TaskServer/Commons.js
index 050791f24..7e32f50cb 100644
--- a/TaskServer/Commons.js
+++ b/TaskServer/Commons.js
@@ -99,6 +99,9 @@
if (botNode === undefined) {
botNode = global.FIND_NODE_IN_NODE_MESH(outputDatasetNode, 'Trading Bot')
}
+ if (botNode === undefined) {
+ botNode = global.FIND_NODE_IN_NODE_MESH(outputDatasetNode, 'Learning Bot')
+ }
if (botNode === undefined) {
logger.write(MODULE_NAME, "[ERROR] start -> Product Definition not attached to a Bot. Product Definition = ");
callBackFunction(global.DEFAULT_FAIL_RESPONSE);
@@ -115,9 +118,18 @@
if (dataMineNode === undefined) {
let tradingMineNode = global.FIND_NODE_IN_NODE_MESH(outputDatasetNode, 'Trading Mine')
if (tradingMineNode === undefined) {
- logger.write(MODULE_NAME, "[ERROR] start -> Bot not attached to a Data Mine or a Trading Mine.");
- callBackFunction(global.DEFAULT_FAIL_RESPONSE);
- return
+ let learningMineNode = global.FIND_NODE_IN_NODE_MESH(outputDatasetNode, 'Learning Mine')
+ if (learningMineNode === undefined) {
+ logger.write(MODULE_NAME, "[ERROR] start -> Bot not attached to a Data Mine, Trading Mine or Learning Mine.");
+ callBackFunction(global.DEFAULT_FAIL_RESPONSE);
+ return
+ } else {
+ if (tradingMineNode.config.codeName === undefined) {
+ logger.write(MODULE_NAME, "[ERROR] start -> Learning Mine witn no codeName defined.");
+ callBackFunction(global.DEFAULT_FAIL_RESPONSE);
+ return
+ }
+ }
} else {
if (tradingMineNode.config.codeName === undefined) {
logger.write(MODULE_NAME, "[ERROR] start -> Trading Mine witn no codeName defined.");
@@ -380,12 +392,6 @@
let product = {}
product[variableName] = {}
- /* Here is how we know if we are processing Yesterday. */
- let positionedAtYesterday = false
- if (processingDailyFiles) {
- positionedAtYesterday = (record.current.end < currentDay.valueOf())
- }
-
/* This is Loop Code */
try {
eval(dataBuildingProcedure.loop.javascriptCode.code)
@@ -423,9 +429,9 @@
results.push(product[variableName]);
}
- /* While we are positioned at Yesterday, we keep updating this data structure. */
+ /* At the last instant of yesterday, we update the yesterday object. */
if (processingDailyFiles) {
- if (positionedAtYesterday) {
+ if (record.current.end + 1 === currentDay.valueOf()) {
yesterday.variable = JSON.parse(JSON.stringify(variable))
}
}
diff --git a/TaskServer/DataDependencies.js b/TaskServer/DataDependencies.js
index 54eb5916d..bc6cbf79e 100644
--- a/TaskServer/DataDependencies.js
+++ b/TaskServer/DataDependencies.js
@@ -36,7 +36,7 @@
thisObject.nodeArray = global.FILTER_OUT_NODES_WITHOUT_REFERENCE_PARENT_FROM_NODE_ARRAY(thisObject.nodeArray)
} else {
- logger.write(MODULE_NAME, "[ERROR] initialize -> onInitilized -> It is not possible to not have process dependencies, which means not data dependencies.");
+ logger.write(MODULE_NAME, "[ERROR] initialize -> onInitilized -> It is not possible not to have process dependencies, which means not data dependencies.");
callBackFunction(global.DEFAULT_OK_RESPONSE)
return
}
@@ -65,7 +65,7 @@
let skipCount = 0
/*
- The current nodeArray that we have includes all the dependencies daclared in the Data Mine / Trading Mine
+ The current nodeArray that we have includes all the dependencies daclared in the Data Mine | Trading Mine | Learning Mine
process dependencies, minus the ones without reference parent, meaning that references Data Mines that are
not present at the workspace. From all the remaining dependencies there will be others that we need to
filter out, and they are the ones which the user does not have a data product anywhere on the network where
diff --git a/TaskServer/DebugLog.js b/TaskServer/DebugLog.js
index a1ef69a37..91b318fe7 100644
--- a/TaskServer/DebugLog.js
+++ b/TaskServer/DebugLog.js
@@ -80,10 +80,14 @@ exports.newDebugLog = function newDebugLog() {
let filePath = thisObject.bot.filePathRoot + "/Logs/" + thisObject.bot.process + "/"
- if (thisObject.bot.SESSION !== undefined) {
- filePath = filePath + thisObject.bot.SESSION.folderName + "/" + executionDatetime;
+ if (thisObject.bot.TRADING_SESSION !== undefined) {
+ filePath = filePath + thisObject.bot.TRADING_SESSION.folderName + "/" + executionDatetime;
} else {
- filePath = filePath + executionDatetime;
+ if (thisObject.bot.LEARNING_SESSION !== undefined) {
+ filePath = filePath + thisObject.bot.LEARNING_SESSION.folderName + "/" + executionDatetime;
+ } else {
+ filePath = filePath + executionDatetime;
+ }
}
if (thisObject.bot.debug.year !== undefined) {
diff --git a/TaskServer/IndicatorOutput.js b/TaskServer/IndicatorOutput.js
index d7f258b6b..cc585a1db 100644
--- a/TaskServer/IndicatorOutput.js
+++ b/TaskServer/IndicatorOutput.js
@@ -40,8 +40,6 @@
try {
- if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] start -> Entering function."); }
-
let products = {}
let mainDependency = {}
let processingDailyFiles
diff --git a/TaskServer/Session.js b/TaskServer/LearningSession.js
similarity index 65%
rename from TaskServer/Session.js
rename to TaskServer/LearningSession.js
index 582500864..6a7953b65 100644
--- a/TaskServer/Session.js
+++ b/TaskServer/LearningSession.js
@@ -1,6 +1,6 @@
-exports.newSession = function newSession(bot, parentLogger) {
+exports.newLearningSession = function newLearningSession(bot, parentLogger) {
- const MODULE_NAME = "Session"
+ const MODULE_NAME = "Learning Session"
const FULL_LOG = true;
let thisObject = {
@@ -15,16 +15,16 @@
function initialize(pProcessConfig, callBackFunction) {
try {
/* Initialize this info so that everything is logged propeerly */
- bot.SESSION = {
+ bot.LEARNING_SESSION = {
name: bot.processNode.session.name,
id: bot.processNode.session.id
}
/* Set the folderName for early logging */
if (bot.processNode.session.config.folderName === undefined) {
- bot.SESSION.folderName = bot.processNode.session.type.replace(' ', '-').replace(' ', '-') + '-' + bot.SESSION.id
+ bot.LEARNING_SESSION.folderName = bot.processNode.session.type.replace(' ', '-').replace(' ', '-') + '-' + bot.LEARNING_SESSION.id
} else {
- bot.SESSION.folderName = bot.processNode.session.type.replace(' ', '-').replace(' ', '-') + '-' + bot.processNode.session.config.folderName
+ bot.LEARNING_SESSION.folderName = bot.processNode.session.type.replace(' ', '-').replace(' ', '-') + '-' + bot.processNode.session.config.folderName
}
/* Check if there is a session */
@@ -38,10 +38,10 @@
bot.sessionKey = bot.processNode.session.name + '-' + bot.processNode.session.type + '-' + bot.processNode.session.id
global.SESSION_MAP.set(bot.sessionKey, bot.sessionKey)
- global.EVENT_SERVER_CLIENT.listenToEvent(bot.sessionKey, 'Session Status', undefined, bot.sessionKey, undefined, onSessionStatus)
- global.EVENT_SERVER_CLIENT.listenToEvent(bot.sessionKey, 'Run Session', undefined, bot.sessionKey, undefined, onSessionRun)
- global.EVENT_SERVER_CLIENT.listenToEvent(bot.sessionKey, 'Stop Session', undefined, bot.sessionKey, undefined, onSessionStop)
- global.EVENT_SERVER_CLIENT.listenToEvent(bot.sessionKey, 'Resume Session', undefined, bot.sessionKey, undefined, onSessionResume)
+ global.EVENT_SERVER_CLIENT.listenToEvent(bot.sessionKey, 'Learning Session Status', undefined, bot.sessionKey, undefined, onSessionStatus)
+ global.EVENT_SERVER_CLIENT.listenToEvent(bot.sessionKey, 'Run Learning Session', undefined, bot.sessionKey, undefined, onSessionRun)
+ global.EVENT_SERVER_CLIENT.listenToEvent(bot.sessionKey, 'Stop Learning Session', undefined, bot.sessionKey, undefined, onSessionStop)
+ global.EVENT_SERVER_CLIENT.listenToEvent(bot.sessionKey, 'Resume Learning Session', undefined, bot.sessionKey, undefined, onSessionResume)
/* Connect this here so that it is accesible from other places */
bot.sessionError = sessionError
@@ -57,12 +57,12 @@
function onSessionStatus() {
if (bot.SESSION_STATUS === 'Running') {
let event = {
- status: 'Session Runnning'
+ status: 'Learning Session Runnning'
}
global.EVENT_SERVER_CLIENT.raiseEvent(bot.sessionKey, 'Status Response', event)
} else {
let event = {
- status: 'Not Session Runnning'
+ status: 'Learning Session Not Runnning'
}
global.EVENT_SERVER_CLIENT.raiseEvent(bot.sessionKey, 'Status Response', event)
}
@@ -79,11 +79,11 @@
/* We are going to run the Definition comming at the event. */
bot.TRADING_SYSTEM = JSON.parse(message.event.tradingSystem)
bot.TRADING_ENGINE = JSON.parse(message.event.tradingEngine)
- bot.SESSION = JSON.parse(message.event.session)
+ bot.LEARNING_SESSION = JSON.parse(message.event.session)
bot.DEPENDENCY_FILTER = JSON.parse(message.event.dependencyFilter)
bot.RESUME = false
bot.FIRST_EXECUTION = true
- bot.SESSION.stop = stopSession // stop function
+ bot.LEARNING_SESSION.stop = stopSession // stop function
setUpSessionFolderName()
@@ -93,7 +93,7 @@
socialBotsModule.initialize()
let allGood
- switch (bot.SESSION.type) {
+ switch (bot.LEARNING_SESSION.type) {
case 'Backtesting Session': {
allGood = startBackTesting(message)
break
@@ -119,7 +119,7 @@
if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, '[IMPORTANT] onSessionRun -> Stopping the Session now. ') }
}
- socialBotsModule.sendMessage(bot.SESSION.type + " '" + bot.SESSION.name + "' is starting.")
+ socialBotsModule.sendMessage(bot.LEARNING_SESSION.type + " '" + bot.LEARNING_SESSION.name + "' is starting.")
} catch (err) {
parentLogger.write(MODULE_NAME, "[ERROR] initialize -> onSessionRun -> err = " + err.stack);
}
@@ -131,7 +131,7 @@
function onSessionResume(message) {
try {
- if (bot.SESSION.stop === undefined) {
+ if (bot.LEARNING_SESSION.stop === undefined) {
parentLogger.write(MODULE_NAME, "[WARN] onSessionResume -> Event received to resume the Session that have never be ran before. ")
return
}
@@ -145,7 +145,7 @@
bot.RESUME = true
bot.STOP_SESSION = false
- socialBotsModule.sendMessage(bot.SESSION.type + " '" + bot.SESSION.name + "' is resuming.")
+ socialBotsModule.sendMessage(bot.LEARNING_SESSION.type + " '" + bot.LEARNING_SESSION.name + "' is resuming.")
} catch (err) {
parentLogger.write(MODULE_NAME, "[ERROR] initialize -> onSessionResume -> err = " + err.stack);
}
@@ -153,11 +153,11 @@
function stopSession(commandOrigin) {
- socialBotsModule.sendMessage(bot.SESSION.type + " '" + bot.SESSION.name + "' is stopping " + commandOrigin)
+ socialBotsModule.sendMessage(bot.LEARNING_SESSION.type + " '" + bot.LEARNING_SESSION.name + "' is stopping " + commandOrigin)
socialBotsModule.finalize()
bot.STOP_SESSION = true
if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, '[IMPORTANT] stopSession -> Stopping the Session now. ') }
- sessionInfo(bot.SESSION, commandOrigin)
+ sessionInfo(bot.LEARNING_SESSION, commandOrigin)
}
function setUpSessionFolderName() {
@@ -167,12 +167,12 @@
Set the folderName for logging, reports, context and data output
*/
let config
- if (bot.SESSION.config !== undefined) {
- config = bot.SESSION.config
+ if (bot.LEARNING_SESSION.config !== undefined) {
+ config = bot.LEARNING_SESSION.config
if (config.folderName === undefined) {
- bot.SESSION.folderName = bot.processNode.session.type.replace(' ', '-').replace(' ', '-') + '-' + bot.SESSION.id
+ bot.LEARNING_SESSION.folderName = bot.processNode.session.type.replace(' ', '-').replace(' ', '-') + '-' + bot.LEARNING_SESSION.id
} else {
- bot.SESSION.folderName = bot.processNode.session.type.replace(' ', '-').replace(' ', '-') + '-' + bot.processNode.session.config.folderName
+ bot.LEARNING_SESSION.folderName = bot.processNode.session.type.replace(' ', '-').replace(' ', '-') + '-' + bot.processNode.session.config.folderName
}
}
}
@@ -183,16 +183,16 @@
non critical is missing, we complete it with a default value.
*/
- if (bot.SESSION.parameters === undefined) {
+ if (bot.LEARNING_SESSION.learningParameters === undefined) {
let errorMessage = "Session Node with no Parameters."
parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
- bot.sessionError(bot.SESSION, errorMessage)
+ bot.sessionError(bot.LEARNING_SESSION, errorMessage)
return false
}
/* Time Range */
- if (bot.SESSION.parameters.timeRange === undefined) { // if the Time Range is missing we create a default one.
- bot.SESSION.parameters.timeRange = {
+ if (bot.LEARNING_SESSION.learningParameters.timeRange === undefined) { // if the Time Range is missing we create a default one.
+ bot.LEARNING_SESSION.learningParameters.timeRange = {
name: 'Missing Time Range',
type: 'Time Range',
config: {
@@ -202,18 +202,18 @@
}
} else {
/* Check that we received valid dates */
- if (bot.SESSION.type === 'Backtesting Session') {
- if (isNaN(new Date(bot.SESSION.parameters.timeRange.config.initialDatetime)).valueOf()) {
+ if (bot.LEARNING_SESSION.type === 'Backtesting Session') {
+ if (isNaN(new Date(bot.LEARNING_SESSION.learningParameters.timeRange.config.initialDatetime)).valueOf()) {
let errorMessage = "sessionParameters.timeRange.config.initialDatetime is not a valid date."
parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
- bot.sessionError(bot.SESSION.parameters, errorMessage)
+ bot.sessionError(bot.LEARNING_SESSION.learningParameters, errorMessage)
return false
}
}
- if (isNaN(new Date(bot.SESSION.parameters.timeRange.config.finalDatetime)).valueOf()) {
+ if (isNaN(new Date(bot.LEARNING_SESSION.learningParameters.timeRange.config.finalDatetime)).valueOf()) {
let errorMessage = "sessionParameters.timeRange.config.initialDatetime is not a valid date."
parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
- bot.sessionError(bot.SESSION.parameters, errorMessage)
+ bot.sessionError(bot.LEARNING_SESSION.learningParameters, errorMessage)
return false
}
}
@@ -222,7 +222,7 @@
let today = (new Date()).valueOf()
let aYearAgo = today - global.ONE_YEAR_IN_MILISECONDS
let aYearFromNow = today + global.ONE_YEAR_IN_MILISECONDS
- switch (bot.SESSION.type) {
+ switch (bot.LEARNING_SESSION.type) {
case 'Backtesting Session': {
useDefaultDatetimes(aYearAgo, today)
break
@@ -248,103 +248,103 @@
*/
/* Initial Datetime */
- if (bot.SESSION.type === 'Backtesting Session') {
- if (bot.SESSION.parameters.timeRange.config.initialDatetime === undefined) {
- bot.SESSION.parameters.timeRange.config.initialDatetime = initialDefault
+ if (bot.LEARNING_SESSION.type === 'Backtesting Session') {
+ if (bot.LEARNING_SESSION.learningParameters.timeRange.config.initialDatetime === undefined) {
+ bot.LEARNING_SESSION.learningParameters.timeRange.config.initialDatetime = initialDefault
} else {
- bot.SESSION.parameters.timeRange.config.initialDatetime = (new Date(bot.SESSION.parameters.timeRange.config.initialDatetime)).valueOf()
+ bot.LEARNING_SESSION.learningParameters.timeRange.config.initialDatetime = (new Date(bot.LEARNING_SESSION.learningParameters.timeRange.config.initialDatetime)).valueOf()
}
} else {
/* Non backtest session can start from the past only if explicitly configured that way */
- if (bot.SESSION.parameters.timeRange.config.initialDatetime === undefined || bot.SESSION.parameters.timeRange.config.allowStartingFromThePast !== true) {
- bot.SESSION.parameters.timeRange.config.initialDatetime = initialDefault
+ if (bot.LEARNING_SESSION.learningParameters.timeRange.config.initialDatetime === undefined || bot.LEARNING_SESSION.learningParameters.timeRange.config.allowStartingFromThePast !== true) {
+ bot.LEARNING_SESSION.learningParameters.timeRange.config.initialDatetime = initialDefault
} else {
- bot.SESSION.parameters.timeRange.config.initialDatetime = (new Date(bot.SESSION.parameters.timeRange.config.initialDatetime)).valueOf()
+ bot.LEARNING_SESSION.learningParameters.timeRange.config.initialDatetime = (new Date(bot.LEARNING_SESSION.learningParameters.timeRange.config.initialDatetime)).valueOf()
}
}
/* Final Datetime */
- if (bot.SESSION.parameters.timeRange.config.finalDatetime === undefined) {
- bot.SESSION.parameters.timeRange.config.finalDatetime = finalDefault
+ if (bot.LEARNING_SESSION.learningParameters.timeRange.config.finalDatetime === undefined) {
+ bot.LEARNING_SESSION.learningParameters.timeRange.config.finalDatetime = finalDefault
} else {
- bot.SESSION.parameters.timeRange.config.finalDatetime = (new Date(bot.SESSION.parameters.timeRange.config.finalDatetime)).valueOf()
+ bot.LEARNING_SESSION.learningParameters.timeRange.config.finalDatetime = (new Date(bot.LEARNING_SESSION.learningParameters.timeRange.config.finalDatetime)).valueOf()
}
}
/* Time Frame */
- if (bot.SESSION.parameters.timeFrame === undefined) {
+ if (bot.LEARNING_SESSION.learningParameters.timeFrame === undefined) {
let errorMessage = "Session Parameters Node with no Time Frame."
parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
- bot.sessionError(bot.SESSION.parameters, errorMessage)
+ bot.sessionError(bot.LEARNING_SESSION.learningParameters, errorMessage)
return false
}
- if (bot.SESSION.parameters.timeFrame.config.label === undefined) {
+ if (bot.LEARNING_SESSION.learningParameters.timeFrame.config.label === undefined) {
let errorMessage = "Session Parameters Node with no Time Frame Label configuration."
parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
- bot.sessionError(bot.SESSION.parameters.timeFrame, errorMessage)
+ bot.sessionError(bot.LEARNING_SESSION.learningParameters.timeFrame, errorMessage)
return false
}
- bot.SESSION.parameters.timeFrame.config.value = getTimeFrameFromLabel(bot.SESSION.parameters.timeFrame.config.label)
- if (bot.SESSION.parameters.timeFrame.config.value === undefined) {
+ bot.LEARNING_SESSION.learningParameters.timeFrame.config.value = getTimeFrameFromLabel(bot.LEARNING_SESSION.learningParameters.timeFrame.config.label)
+ if (bot.LEARNING_SESSION.learningParameters.timeFrame.config.value === undefined) {
let errorMessage = "Config error: label value not recognized. Try 01-min or 01-hs for example."
parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
- bot.sessionError(bot.SESSION.parameters.timeFrame, errorMessage)
+ bot.sessionError(bot.LEARNING_SESSION.learningParameters.timeFrame, errorMessage)
return false
}
/* Session Base Asset */
- if (bot.SESSION.parameters.sessionBaseAsset === undefined) {
+ if (bot.LEARNING_SESSION.learningParameters.sessionBaseAsset === undefined) {
let errorMessage = "Session Parameters Node with no Session Base Asset."
parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
- bot.sessionError(bot.SESSION.parameters, errorMessage)
+ bot.sessionError(bot.LEARNING_SESSION.learningParameters, errorMessage)
return false
}
- if (bot.SESSION.parameters.sessionBaseAsset.config.initialBalance === undefined) {
+ if (bot.LEARNING_SESSION.learningParameters.sessionBaseAsset.config.initialBalance === undefined) {
let errorMessage = "Session Parameters Session Base Asset with no initialBalance configuration."
parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
- bot.sessionError(bot.SESSION.parameters.sessionBaseAsset, errorMessage)
+ bot.sessionError(bot.LEARNING_SESSION.learningParameters.sessionBaseAsset, errorMessage)
return false
}
/* Session Quoted Asset */
- if (bot.SESSION.parameters.sessionQuotedAsset === undefined) {
+ if (bot.LEARNING_SESSION.learningParameters.sessionQuotedAsset === undefined) {
let errorMessage = "Session Parameters Node with no Session Quoted Asset."
parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
- bot.sessionError(bot.SESSION.parameters, errorMessage)
+ bot.sessionError(bot.LEARNING_SESSION.learningParameters, errorMessage)
return false
}
- if (bot.SESSION.parameters.sessionQuotedAsset.config.initialBalance === undefined) {
+ if (bot.LEARNING_SESSION.learningParameters.sessionQuotedAsset.config.initialBalance === undefined) {
let errorMessage = "Session Parameters Session Quoted Asset with no initialBalance configuration."
parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
- bot.sessionError(bot.SESSION.parameters.sessionQuotedAsset, errorMessage)
+ bot.sessionError(bot.LEARNING_SESSION.learningParameters.sessionQuotedAsset, errorMessage)
return false
}
/* Slippage */
- if (bot.SESSION.parameters.slippage === undefined) { // if the Slippage is missing we create a default one.
- bot.SESSION.parameters.slippage = {
+ if (bot.LEARNING_SESSION.learningParameters.slippage === undefined) { // if the Slippage is missing we create a default one.
+ bot.LEARNING_SESSION.learningParameters.slippage = {
name: 'Missing Slippage',
type: 'Slippage',
config: {
- positionRate: 0,
+ marketOrderRate: 0,
stopLoss: 0,
takeProfit: 0
}
}
}
- if (bot.SESSION.parameters.slippage.config.positionRate === undefined) { // if the positionRate is missing we create a default one.
- bot.SESSION.parameters.slippage.config.positionRate = 0
+ if (bot.LEARNING_SESSION.learningParameters.slippage.config.marketOrderRate === undefined) { // if the marketOrderRate is missing we create a default one.
+ bot.LEARNING_SESSION.learningParameters.slippage.config.marketOrderRate = 0
}
- if (bot.SESSION.parameters.slippage.config.stopLoss === undefined) { // if the stopLoss is missing we create a default one.
- bot.SESSION.parameters.slippage.config.stopLoss = 0
+ if (bot.LEARNING_SESSION.learningParameters.slippage.config.stopLoss === undefined) { // if the stopLoss is missing we create a default one.
+ bot.LEARNING_SESSION.learningParameters.slippage.config.stopLoss = 0
}
- if (bot.SESSION.parameters.slippage.config.takeProfit === undefined) { // if the takeProfit is missing we create a default one.
- bot.SESSION.parameters.slippage.config.takeProfit = 0
+ if (bot.LEARNING_SESSION.learningParameters.slippage.config.takeProfit === undefined) { // if the takeProfit is missing we create a default one.
+ bot.LEARNING_SESSION.learningParameters.slippage.config.takeProfit = 0
}
/* Fee Structure */
- if (bot.SESSION.parameters.feeStructure === undefined) { // if the Fee Structure is missing we create a default one.
- bot.SESSION.parameters.feeStructure = {
+ if (bot.LEARNING_SESSION.learningParameters.feeStructure === undefined) { // if the Fee Structure is missing we create a default one.
+ bot.LEARNING_SESSION.learningParameters.feeStructure = {
name: 'Missing Fee Structure',
type: 'Fee Structure',
config: {
@@ -353,11 +353,11 @@
}
}
}
- if (bot.SESSION.parameters.feeStructure.config.maker === undefined) { // if the maker is missing we create a default one.
- bot.SESSION.parameters.feeStructure.config.maker = 0
+ if (bot.LEARNING_SESSION.learningParameters.feeStructure.config.maker === undefined) { // if the maker is missing we create a default one.
+ bot.LEARNING_SESSION.learningParameters.feeStructure.config.maker = 0
}
- if (bot.SESSION.parameters.feeStructure.config.taker === undefined) { // if the taker is missing we create a default one.
- bot.SESSION.parameters.feeStructure.config.taker = 0
+ if (bot.LEARNING_SESSION.learningParameters.feeStructure.config.taker === undefined) { // if the taker is missing we create a default one.
+ bot.LEARNING_SESSION.learningParameters.feeStructure.config.taker = 0
}
return true
@@ -369,7 +369,9 @@
function startLiveTrading(message) {
if (bot.KEY === undefined || bot.SECRET === undefined) {
- if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, "[ERROR] initialize -> startLiveTrading -> Key 'codeName' or 'secret' not provided. Plese check that and try again."); }
+ let errorMessage = "Key 'codeName' or 'secret' not provided. Plese check that and try again."
+ if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, "[ERROR] initialize -> startLiveTrading -> " + errorMessage); }
+ bot.sessionError(bot.LEARNING_SESSION, errorMessage)
return false
}
return true
@@ -385,20 +387,20 @@
/* Reduce the balance */
let balancePercentage = 1 // This is the default value
- if (bot.SESSION.config.balancePercentage !== undefined) {
- balancePercentage = bot.SESSION.config.balancePercentage
+ if (bot.LEARNING_SESSION.config.balancePercentage !== undefined) {
+ balancePercentage = bot.LEARNING_SESSION.config.balancePercentage
}
- bot.SESSION.parameters.sessionBaseAsset.config.initialBalance = bot.SESSION.parameters.sessionBaseAsset.config.initialBalance * balancePercentage / 100
- bot.SESSION.parameters.sessionQuotedAsset.config.initialBalance = bot.SESSION.parameters.sessionQuotedAsset.config.initialBalance * balancePercentage / 100
+ bot.LEARNING_SESSION.learningParameters.sessionBaseAsset.config.initialBalance = bot.LEARNING_SESSION.learningParameters.sessionBaseAsset.config.initialBalance * balancePercentage / 100
+ bot.LEARNING_SESSION.learningParameters.sessionQuotedAsset.config.initialBalance = bot.LEARNING_SESSION.learningParameters.sessionQuotedAsset.config.initialBalance * balancePercentage / 100
- bot.SESSION.parameters.sessionBaseAsset.config.minimumBalance = bot.SESSION.parameters.sessionBaseAsset.config.minimumBalance * balancePercentage / 100
- bot.SESSION.parameters.sessionQuotedAsset.config.minimumBalance = bot.SESSION.parameters.sessionQuotedAsset.config.minimumBalance * balancePercentage / 100
+ bot.LEARNING_SESSION.learningParameters.sessionBaseAsset.config.minimumBalance = bot.LEARNING_SESSION.learningParameters.sessionBaseAsset.config.minimumBalance * balancePercentage / 100
+ bot.LEARNING_SESSION.learningParameters.sessionQuotedAsset.config.minimumBalance = bot.LEARNING_SESSION.learningParameters.sessionQuotedAsset.config.minimumBalance * balancePercentage / 100
- bot.SESSION.parameters.sessionBaseAsset.config.maximumBalance = bot.SESSION.parameters.sessionBaseAsset.config.maximumBalance * balancePercentage / 100
- bot.SESSION.parameters.sessionQuotedAsset.config.maximumBalance = bot.SESSION.parameters.sessionQuotedAsset.config.maximumBalance * balancePercentage / 100
+ bot.LEARNING_SESSION.learningParameters.sessionBaseAsset.config.maximumBalance = bot.LEARNING_SESSION.learningParameters.sessionBaseAsset.config.maximumBalance * balancePercentage / 100
+ bot.LEARNING_SESSION.learningParameters.sessionQuotedAsset.config.maximumBalance = bot.LEARNING_SESSION.learningParameters.sessionQuotedAsset.config.maximumBalance * balancePercentage / 100
- pProcessConfig.normalWaitTime = bot.SESSION.parameters.timeFrame.config.value
+ pProcessConfig.normalWaitTime = bot.LEARNING_SESSION.learningParameters.timeFrame.config.value
return true
}
diff --git a/TaskServer/LowFrequencyTrading/Announcements.js b/TaskServer/LowFrequencyTrading/Announcements.js
index 2c63c88d1..a5bff8a8f 100644
--- a/TaskServer/LowFrequencyTrading/Announcements.js
+++ b/TaskServer/LowFrequencyTrading/Announcements.js
@@ -21,7 +21,7 @@ exports.newAnnouncements = function newAnnouncements(bot, logger) {
function finalize() {
tradingSystem = undefined
tradingEngine = undefined
- bot.SESSION.messagesSent = undefined
+ bot.TRADING_SESSION.messagesSent = undefined
}
function makeAnnoucements(node) {
@@ -44,8 +44,8 @@ exports.newAnnouncements = function newAnnouncements(bot, logger) {
text = tradingSystem.formulas.get(announcement.formula.id)
}
- if (bot.SESSION.socialBots !== undefined) {
- bot.SESSION.socialBots.announce(text)
+ if (bot.TRADING_SESSION.socialBots !== undefined) {
+ bot.TRADING_SESSION.socialBots.announce(text)
tradingSystem.announcements.push([announcement.id, text])
} else {
tradingSystem.errors.push([announcement.id, 'Could not announce because session does not have Social Bots.'])
diff --git a/TaskServer/LowFrequencyTrading/OrdersCalculations.js b/TaskServer/LowFrequencyTrading/OrdersCalculations.js
new file mode 100644
index 000000000..94ffe42d3
--- /dev/null
+++ b/TaskServer/LowFrequencyTrading/OrdersCalculations.js
@@ -0,0 +1,316 @@
+exports.newOrdersCalculations = function newOrdersCalculations(bot, logger) {
+ /*
+ When we are live trading, we need to syncronize with the exchange.
+ */
+ const MODULE_NAME = 'Orders Calculations'
+
+ let thisObject = {
+ actualSizeCalculation: actualSizeCalculation,
+ actualRateCalculation: actualRateCalculation,
+ feesToBePaidCalculation: feesToBePaidCalculation,
+ amountReceivedCalculation: amountReceivedCalculation,
+ finapercentageFilledCalculationlize: percentageFilledCalculation,
+ feesPaidCalculation: feesPaidCalculation,
+ sizeFilledCalculation: sizeFilledCalculation,
+ initialize: initialize,
+ finalize: finalize
+ }
+
+ let tradingEngine
+ let tradingSystem
+ let sessionParameters
+
+ return thisObject
+
+ function initialize() {
+ sessionParameters = bot.TRADING_SESSION.tradingParameters
+ tradingEngine = bot.simulationState.tradingEngine
+ tradingSystem = bot.simulationState.tradingSystem
+ }
+
+ function finalize() {
+ sessionParameters = undefined
+ tradingEngine = undefined
+ tradingSystem = undefined
+ }
+
+ async function actualSizeCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage) {
+ /*
+ When we submit the order to the exchange, we do it specifying the order size
+ in Base Asset. It is mandatory to be in Base Asset as per CCXT Library API and
+ probably as per the Exchange API too.
+
+ The exchange might take that size or might change it a little
+ bit. For example, if it does not accept as many decimals as we are sending.
+
+ We have also seen that for Market Orders, the exchange usually does not take
+ the size requested exactly. Sometimes is a little bit less or even a little bit
+ more. For Limit orders it is usually the same.
+
+ If it happens that the size accepted (Actual Size) is different than the
+ size requested (Size), we need to make several adjustments so that the
+ accounting syncronizes with reality.
+ */
+
+ /* This calculation needs to happen only once, the first time the order is checked. */
+ if (tradingEngineOrder.orderBaseAsset.actualSize.value !== tradingEngineOrder.orderBaseAsset.actualSize.config.initialValue) { return }
+
+ /* We receive the actual size from the exchange at the order.amount field. */
+ tradingEngineOrder.orderBaseAsset.actualSize.value = order.amount
+
+ recalculateActualSize()
+ recalculateSizePlaced()
+
+ function recalculateActualSize() {
+ /*
+ We will recalculate the Quoted Asset Actual Size. This will also give to it an initial value.
+ In the next formula, we are unsing the rate of the order because we dont know yet the Actual Rate.
+ This rate might be replaced afteerwards for the Actual Rate when this is calculated again once
+ the Actual Rate is known.
+ */
+ tradingEngineOrder.orderQuotedAsset.actualSize.value = tradingEngineOrder.orderBaseAsset.actualSize.value * tradingEngineOrder.rate.value
+
+ tradingEngineOrder.orderBaseAsset.actualSize.value = global.PRECISE(tradingEngineOrder.orderBaseAsset.actualSize.value, 10)
+ tradingEngineOrder.orderQuotedAsset.actualSize.value = global.PRECISE(tradingEngineOrder.orderQuotedAsset.actualSize.value, 10)
+ }
+
+ function recalculateSizePlaced() {
+ /*
+ We will also recalculate the Size Placed that was previously calculated with the order Size,
+ and now we will do it with the order Actual Size.
+
+ We need to unaccount the previous size placed and correctly account
+ for the the new actual sizes we now know.
+ */
+ tradingEngineStage.stageBaseAsset.sizePlaced.value =
+ tradingEngineStage.stageBaseAsset.sizePlaced.value -
+ tradingEngineOrder.orderBaseAsset.size.value
+
+ tradingEngineStage.stageBaseAsset.sizePlaced.value =
+ tradingEngineStage.stageBaseAsset.sizePlaced.value +
+ tradingEngineOrder.orderBaseAsset.actualSize.value
+
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value =
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value -
+ tradingEngineOrder.orderQuotedAsset.size.value
+
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value =
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value +
+ tradingEngineOrder.orderQuotedAsset.actualSize.value
+
+ tradingEngineStage.stageBaseAsset.sizePlaced.value = global.PRECISE(tradingEngineStage.stageBaseAsset.sizePlaced.value, 10)
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value = global.PRECISE(tradingEngineStage.stageQuotedAsset.sizePlaced.value, 10)
+ }
+ }
+
+ async function actualRateCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage) {
+ /*
+ Actual Rate Calculation: Let's remember that the exchange may not take the rate
+ we send it with the order (in Limit orders) and for any reason change it a little bit.
+ For example we might have sent a rate with too many decimals and the exchange truncate
+ them. Another thing that might happen is that we send a rate that is matching orders already
+ at the order book. In this case we would get an actual rate not only different than the one
+ we sent, but also, better since the trading engine inside the exchange would match orders
+ with the first orders best by price.
+
+ In the case of Market Orders we don't even send a rate. For all those reason
+ we get and store the Actual Rate at which the order was filled.
+ */
+ if (order.average !== undefined) {
+ /*
+ We will use the average whenever is available. As of today it is not 100% clear when this is
+ available, but it seems sometimes it is not. In those cases we use the price.
+ */
+ tradingEngineOrder.orderStatistics.actualRate.value = order.average
+ } else {
+ /*
+ We use the order.price when the average is not available.
+ */
+ tradingEngineOrder.orderStatistics.actualRate.value = order.price
+ }
+
+ tradingEngineOrder.orderStatistics.actualRate.value = global.PRECISE(tradingEngineOrder.orderStatistics.actualRate.value, 10)
+
+ /*
+ If the Actual Rate happens to be exctly the same than the order rate, then there is
+ nothing else to do here. Otherwise there are adjustments to be made.
+ */
+ if (tradingEngineOrder.orderStatistics.actualRate.value === tradingEngineOrder.rate.value) { return }
+
+ let previousQuotedAssetActualSize = tradingEngineOrder.orderQuotedAsset.actualSize.value
+
+ recalculateActualSize()
+ recalculateSizePlaced()
+
+ function recalculateActualSize() {
+ if (tradingEngineOrder.orderStatistics.actualRate.value === tradingEngineOrder.rate.value) { return }
+ /*
+ Now we know the Actual Rate at which the order was filled. Since the actual rate
+ is not the same as the Rate we defined for the order, we need to syncronize
+ the Actual Order Size for Quoted Asset since it was calculated with the Order Size that we
+ now know it is not the one really used at the exchange. We will recalculate the
+ Actual Size in Quoted Asset and not in Base Asset, since the Actual Size in Base Asset
+ is the one we accepted by the exchange, so that is fixed, regardless of how we initially
+ got the Order Size in Base Asset, either from direct imput from the user or calculated
+ from the Order Size in Quoted Asset input it by the user. So here we go.
+ */
+ previousQuotedAssetActualSize = tradingEngineOrder.orderQuotedAsset.actualSize.value
+
+ tradingEngineOrder.orderQuotedAsset.actualSize.value =
+ tradingEngineOrder.orderBaseAsset.actualSize.value *
+ tradingEngineOrder.orderStatistics.actualRate.value
+
+ tradingEngineOrder.orderQuotedAsset.actualSize.value = global.PRECISE(tradingEngineOrder.orderQuotedAsset.actualSize.value, 10)
+
+ tradingSystem.warnings.push(
+ [
+ [tradingEngineOrder.orderQuotedAsset.actualSize.id, tradingEngineOrder.orderStatistics.actualRate.id],
+ 'Actual Size (' + previousQuotedAssetActualSize + ') recalculated (' + tradingEngineOrder.orderQuotedAsset.actualSize.value + ') because the Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ') is different than the Order Rate (' + tradingEngineOrder.rate.value + '))'
+ ]
+ )
+ }
+
+ function recalculateSizePlaced() {
+ let previousStageQuotedAssetSizePlaced = tradingEngineStage.stageQuotedAsset.sizePlaced.value
+ /*
+ Since we changed the Actual Size in Quoted Asset, we need to fix the Size Placed in Quoted Asset
+ that was previously calculated with the previous value of actualSize.
+ */
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value =
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value -
+ previousQuotedAssetActualSize
+
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value =
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value +
+ tradingEngineOrder.orderQuotedAsset.actualSize.value
+
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value = global.PRECISE(tradingEngineStage.stageQuotedAsset.sizePlaced.value, 10)
+
+ tradingSystem.warnings.push(
+ [
+ [tradingEngineStage.stageQuotedAsset.sizePlaced.id, tradingEngineOrder.orderStatistics.actualRate.id],
+ 'Size Placed (' + previousStageQuotedAssetSizePlaced + ') recalculated (' + tradingEngineStage.stageQuotedAsset.sizePlaced.value + ') because the Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ') is different than the Order Rate (' + tradingEngineOrder.rate.value + '))'
+ ]
+ )
+ }
+ }
+
+ async function feesToBePaidCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage) {
+ /*
+ The Fees To Be Paid are the fees that will be paid once the order is 100% Filled.
+ */
+ switch (tradingEngineOrder.type) {
+ case 'Market Order': {
+ await applyFeePercentage(
+ 'feesToBePaid',
+ tradingEngineOrder,
+ tradingSystemOrder,
+ sessionParameters.feeStructure.config.taker,
+ 100
+ )
+ break
+ }
+ case 'Limit Order': {
+ await applyFeePercentage(
+ 'feesToBePaid',
+ tradingEngineOrder,
+ tradingSystemOrder,
+ sessionParameters.feeStructure.config.maker,
+ 100
+ )
+ break
+ }
+ }
+ }
+
+ async function percentageFilledCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage) {
+ /*
+ Percentage Filled Calculation: The only relevant information we get from the exchange is the order.filled.
+ We know this field will go up until reaching the Actual Size. Once it reaches that number
+ the order will be 100% filled.
+ */
+ tradingEngineOrder.orderStatistics.percentageFilled.value = order.filled * 100 / tradingEngineOrder.orderBaseAsset.actualSize.value
+ tradingEngineOrder.orderStatistics.percentageFilled.value = global.PRECISE(tradingEngineOrder.orderStatistics.percentageFilled.value, 10)
+ }
+
+ async function feesPaidCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage) {
+ /*
+ Within the order information received from the exchange we can not see the fees paid so we need to
+ calculate them ourselves. Knwowing the Fees Paid is critical to later update the balances correctly,
+ since at every trade we will receive less than just the Actual Size. In fact we will receive the Actual
+ Size minus the Fees Paid.
+
+ The percentage at which the exchange will charge fees needs to be configured at the the Session Fees Parameters.
+ */
+ switch (tradingEngineOrder.type) {
+ case 'Market Order': {
+ await applyFeePercentage(
+ 'feesPaid',
+ tradingEngineOrder,
+ tradingSystemOrder,
+ sessionParameters.feeStructure.config.taker,
+ tradingEngineOrder.orderStatistics.percentageFilled.value
+ )
+ break
+ }
+ case 'Limit Order': {
+ await applyFeePercentage(
+ 'feesPaid',
+ tradingEngineOrder,
+ tradingSystemOrder,
+ sessionParameters.feeStructure.config.maker,
+ tradingEngineOrder.orderStatistics.percentageFilled.value
+ )
+ break
+ }
+ }
+ }
+
+ async function sizeFilledCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage) {
+ /*
+ CCXT returns order.filled with an amount denominated in Base Asset. We will
+ take it from there for our Order Base Asset. The amount in order.filled does
+ not reflect the Fees Paid, even if we are paying the fees in Base Asset.
+ */
+ tradingEngineOrder.orderBaseAsset.sizeFilled.value = order.filled
+ tradingEngineOrder.orderBaseAsset.sizeFilled.value = global.PRECISE(tradingEngineOrder.orderBaseAsset.sizeFilled.value, 10)
+ /*
+ For Quoted Asset, CCXT does not return any field with the size filled, so we
+ need to calculate that by ourselves.
+ */
+ tradingEngineOrder.orderQuotedAsset.sizeFilled.value =
+ tradingEngineOrder.orderQuotedAsset.actualSize.value * tradingEngineOrder.orderStatistics.percentageFilled.value / 100
+
+ tradingEngineOrder.orderQuotedAsset.sizeFilled.value = global.PRECISE(tradingEngineOrder.orderQuotedAsset.sizeFilled.value, 10)
+ }
+
+ async function amountReceivedCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage) {
+ /*
+ This calculation is for informational purposes, so that users do not have to calculate
+ it by themselves. The Amount Received out of the trade depends if we are Buying or Selling
+ the Base Asset. If we are Buying, then the Amount Receiced will be in Base Asset. If we
+ are selling then it will be in Quoted Asset.
+ */
+
+ switch (true) {
+ case tradingSystemOrder.type === 'Market Buy Order' || tradingSystemOrder.type === 'Limit Buy Order': {
+ /*
+ In this case the Amount Received is in Base Asset.
+ */
+ tradingEngineOrder.orderBaseAsset.amountReceived.value =
+ tradingEngineOrder.orderBaseAsset.sizeFilled.value -
+ tradingEngineOrder.orderBaseAsset.feesPaid.value
+ break
+ }
+ case tradingSystemOrder.type === 'Market Sell Order' || tradingSystemOrder.type === 'Limit Sell Order': {
+ /*
+ In this case the Amount Received is in Quoted Asset.
+ */
+ tradingEngineOrder.orderQuotedAsset.amountReceived.value =
+ tradingEngineOrder.orderQuotedAsset.sizeFilled.value -
+ tradingEngineOrder.orderQuotedAsset.feesPaid.value
+ break
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/TaskServer/LowFrequencyTrading/OrdersSimulations.js b/TaskServer/LowFrequencyTrading/OrdersSimulations.js
new file mode 100644
index 000000000..cf4fa5a20
--- /dev/null
+++ b/TaskServer/LowFrequencyTrading/OrdersSimulations.js
@@ -0,0 +1,433 @@
+exports.newOrdersSimulations = function newOrdersSimulations(bot, logger) {
+ /*
+ When we are backtesting or paper trading, we need to simulate what would have happened at the exchange.
+ */
+ const MODULE_NAME = 'Orders Simulations'
+
+ let thisObject = {
+ actualSizeSimulation: actualSizeSimulation,
+ actualRateSimulation: actualRateSimulation,
+ feesToBePaidSimulation: feesToBePaidSimulation,
+ amountReceivedSimulation: amountReceivedSimulation,
+ percentageFilledSimulation: percentageFilledSimulation,
+ feesPaidSimulation: feesPaidSimulation,
+ sizeFilledSimulation: sizeFilledSimulation,
+ initialize: initialize,
+ finalize: finalize
+ }
+
+ let tradingEngine
+ let tradingSystem
+ let sessionParameters
+
+ return thisObject
+
+ function initialize() {
+ sessionParameters = bot.TRADING_SESSION.tradingParameters
+ tradingEngine = bot.simulationState.tradingEngine
+ tradingSystem = bot.simulationState.tradingSystem
+ }
+
+ function finalize() {
+ sessionParameters = undefined
+ tradingEngine = undefined
+ tradingSystem = undefined
+ }
+
+ async function actualSizeSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage) {
+ /*
+ The Actual Size is the size the exchange accepts for the order,
+ regarless of the size sent in the request to the exchange.
+
+ While backtesting and paper trading, we do not really need to
+ simulate an Actual Size. We will just copy to that field the
+ size of the order.
+
+ This calculation needs to happen only once, so as to set these values.
+ */
+ if (tradingEngineOrder.orderBaseAsset.actualSize.value !== tradingEngineOrder.orderBaseAsset.actualSize.config.initialValue) { return }
+
+ tradingEngineOrder.orderBaseAsset.actualSize.value = tradingEngineOrder.orderBaseAsset.size.value
+ tradingEngineOrder.orderQuotedAsset.actualSize.value = tradingEngineOrder.orderQuotedAsset.size.value
+ }
+
+ function actualRateSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage) {
+ /* Actual Rate Simulation */
+ let previousQuotedAssetActualSize = tradingEngineOrder.orderQuotedAsset.actualSize.value
+
+ if (tradingEngineOrder.orderStatistics.actualRate.value === tradingEngineOrder.orderStatistics.actualRate.config.initialValue) {
+ /*
+ The default value for the Actual Rate is the rate of the order.
+ */
+ tradingEngineOrder.orderStatistics.actualRate.value = tradingEngineOrder.rate.value
+ }
+
+ basedOnSessionParameters()
+ basedOnTradingSystem()
+ considerBestMatchWithOrderBook()
+ recalculateActualSize()
+ recalculateSizePlaced()
+
+ function basedOnSessionParameters() {
+ /*
+ The default way to calculate the Actual Rate is to apply the Slippage defined
+ at the Session Parameters Definition. We are not going to apply the default if there
+ is a definition for this order on how to calculate the actual rate.
+ */
+ if (tradingSystemOrder.simulatedExchangeEvents !== undefined) {
+ if (tradingSystemOrder.simulatedExchangeEvents.simulatedActualRate !== undefined) {
+ return
+ }
+ }
+ switch (tradingEngineOrder.type) {
+ case 'Market Order': {
+
+ /* Actual Rate is simulated based on the Session Paremeters */
+ let slippageAmount = tradingEngineOrder.rate.value * sessionParameters.slippage.config.marketOrderRate / 100
+ if (slippageAmount !== 0) {
+ switch (tradingSystemOrder.type) {
+ case 'Market Sell Order': {
+ tradingEngineOrder.orderStatistics.actualRate.value = tradingEngineOrder.rate.value - slippageAmount
+ tradingEngineOrder.orderStatistics.actualRate.value = global.PRECISE(tradingEngineOrder.orderStatistics.actualRate.value, 10)
+
+ tradingSystem.warnings.push(
+ [
+ [sessionParameters.slippage.id, tradingEngineOrder.rate.id, tradingEngineOrder.orderStatistics.actualRate.id],
+ 'slippage.config.marketOrderRate Slippage Amount (' + slippageAmount + ') substracted from Order Rate (' + tradingEngineOrder.rate.value + ') to get the Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ')'
+ ]
+ )
+ break
+ }
+ case 'Market Buy Order': {
+ tradingEngineOrder.orderStatistics.actualRate.value = tradingEngineOrder.rate.value + slippageAmount
+ tradingEngineOrder.orderStatistics.actualRate.value = global.PRECISE(tradingEngineOrder.orderStatistics.actualRate.value, 10)
+
+ tradingSystem.warnings.push(
+ [
+ [sessionParameters.slippage.id, tradingEngineOrder.rate.id, tradingEngineOrder.orderStatistics.actualRate.id],
+ 'slippage.config.marketOrderRate Slippage Amount (' + slippageAmount + ') added to Order Rate (' + tradingEngineOrder.rate.value + ') to get the Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ')'
+ ]
+ )
+ break
+ }
+ }
+ }
+ break
+ }
+ case 'Limit Order': {
+ /* In Limit Orders the actual rate is the rate of the order, there is no slippage */
+ tradingEngineOrder.orderStatistics.actualRate.value = tradingEngineOrder.rate.value
+ break
+ }
+ }
+ }
+
+ function basedOnTradingSystem() {
+ /*
+ If the user specified a Formula to simulate the Actual Rate for this order,
+ we use that formula here. Note that if this Formula exists, this will override
+ the calculation based on Slippage.
+ */
+ if (tradingSystemOrder.simulatedExchangeEvents !== undefined) {
+ if (tradingSystemOrder.simulatedExchangeEvents.simulatedActualRate !== undefined) {
+ if (tradingSystemOrder.simulatedExchangeEvents.simulatedActualRate.formula !== undefined) {
+ /* Calculate this only once for this order */
+ if (tradingEngineOrder.orderStatistics.actualRate.value === tradingEngineOrder.orderStatistics.actualRate.config.initialValue) {
+ let newValue = tradingSystem.formulas.get(tradingSystemOrder.simulatedExchangeEvents.simulatedActualRate.formula.id)
+ newValue = global.PRECISE(newValue, 10)
+
+ tradingSystem.warnings.push(
+ [
+ tradingSystemOrder.simulatedExchangeEvents.simulatedActualRate.formula.id,
+ 'Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ') calculated with this Formula (' + newValue + ')'
+ ]
+ )
+ tradingEngineOrder.orderStatistics.actualRate.value = newValue
+ }
+ }
+ }
+ }
+ }
+
+ function considerBestMatchWithOrderBook() {
+ /*
+ Until here we have got the Actual Rate based on the formula definition or based on session parameters slippage.
+ The last check is about watching what happened in the market. Let's remember that the exchange will
+ fill the order with the best possible matches at it's order book. That means that if the rate
+ we set for the order was too low (for a sale order) or too hight (for a buy order), the actual rate
+ should be better than expected.
+
+ We don't know what it is at the order book, but whe know that the last candle includes trades that bounced between
+ the min an max of the candle. That could tell us the above the max and below the min, the order would be matched
+ with orders at the order book. For that reason, we do this:
+ */
+ switch (true) {
+ case tradingSystemOrder.type === 'Market Buy Order' || tradingSystemOrder.type === 'Limit Buy Order': {
+ if (tradingEngineOrder.orderStatistics.actualRate.value > tradingEngine.current.episode.candle.max.value) {
+ tradingSystem.warnings.push(
+ [
+ [tradingEngineOrder.orderStatistics.actualRate.id, tradingEngine.current.episode.candle.max.id],
+ 'Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ') too high. Changed to candle.max (' + tradingEngine.current.episode.candle.max.value + ')'
+ ]
+ )
+ tradingEngineOrder.orderStatistics.actualRate.value = tradingEngine.current.episode.candle.max.value
+ }
+ break
+ }
+ case tradingSystemOrder.type === 'Market Sell Order' || tradingSystemOrder.type === 'Limit Sell Order': {
+ if (tradingEngineOrder.orderStatistics.actualRate.value < tradingEngine.current.episode.candle.min.value) {
+ tradingSystem.warnings.push(
+ [
+ [tradingEngineOrder.orderStatistics.actualRate.id, tradingEngine.current.episode.candle.min.id],
+ 'Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ') too low. Changed to candle.min (' + tradingEngine.current.episode.candle.max.value + ')'
+ ]
+ )
+ tradingEngineOrder.orderStatistics.actualRate.value = tradingEngine.current.episode.candle.min.value
+ }
+ break
+ }
+ }
+ tradingEngineOrder.orderStatistics.actualRate.value = global.PRECISE(tradingEngineOrder.orderStatistics.actualRate.value, 10)
+ }
+
+ function recalculateActualSize() {
+ if (tradingEngineOrder.orderStatistics.actualRate.value === tradingEngineOrder.rate.value) { return }
+ /*
+ Now that we have an Actual Rate, we need to adjust the Actual Size in Quoted Asset, since
+ Base Asset is what the exchange accepts as input and give information at. Quotes Asset properties are always calculated.
+ */
+ tradingEngineOrder.orderQuotedAsset.actualSize.value =
+ tradingEngineOrder.orderBaseAsset.actualSize.value *
+ tradingEngineOrder.orderStatistics.actualRate.value
+
+ tradingEngineOrder.orderQuotedAsset.actualSize.value = global.PRECISE(tradingEngineOrder.orderQuotedAsset.actualSize.value, 10)
+
+ tradingSystem.warnings.push(
+ [
+ [tradingEngineOrder.orderQuotedAsset.actualSize.id, tradingEngineOrder.orderStatistics.actualRate.id],
+ 'Actual Size (' + previousQuotedAssetActualSize + ') recalculated (' + tradingEngineOrder.orderQuotedAsset.actualSize.value + ') because the Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ') is different than the Order Rate (' + tradingEngineOrder.rate.value + '))'
+ ]
+ )
+ }
+
+ function recalculateSizePlaced() {
+ if (tradingEngineOrder.orderStatistics.actualRate.value === tradingEngineOrder.rate.value) { return }
+ /*
+ Since the Actual Rate might have changed, we need to recalculate the Size Placed, where we accumulate all the Size Placed of
+ all orders of a Stage. For Base Asset there is nothing to do, since the Actual Rate does not have an inpact on it.
+
+ For Quoted Asset, we need to first unaccount what this same orded added before to Size Placed (with the precious Actual Size) and
+ account with the new Actual Size.
+ */
+ let previousStageQuotedAssetSizePlaced = tradingEngineStage.stageQuotedAsset.sizePlaced.value
+
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value =
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value -
+ previousQuotedAssetActualSize
+
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value =
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value +
+ tradingEngineOrder.orderQuotedAsset.actualSize.value
+
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value = global.PRECISE(tradingEngineStage.stageQuotedAsset.sizePlaced.value, 10)
+
+ tradingSystem.warnings.push(
+ [
+ [tradingEngineStage.stageQuotedAsset.sizePlaced.id, tradingEngineOrder.orderStatistics.actualRate.id],
+ 'Size Placed (' + previousStageQuotedAssetSizePlaced + ') recalculated (' + tradingEngineStage.stageQuotedAsset.sizePlaced.value + ') because the Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ') is different than the Order Rate (' + tradingEngineOrder.rate.value + '))'
+ ]
+ )
+ }
+ }
+
+ async function feesToBePaidSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage) {
+ /*
+ The Fees To Be Paid are the fees that will be paid once the order is 100% Filled.
+ */
+ switch (tradingEngineOrder.type) {
+ case 'Market Order': {
+ await applyFeePercentage(
+ 'feesToBePaid',
+ tradingEngineOrder,
+ tradingSystemOrder,
+ sessionParameters.feeStructure.config.taker,
+ 100
+ )
+ break
+ }
+ case 'Limit Order': {
+ await applyFeePercentage(
+ 'feesToBePaid',
+ tradingEngineOrder,
+ tradingSystemOrder,
+ sessionParameters.feeStructure.config.maker,
+ 100
+ )
+ break
+ }
+ }
+ }
+
+ function percentageFilledSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage) {
+ /*
+ When we are live, it is the exchange who knows which order was filled and in
+ which amount. Since we are backtesting here, we need to simulate what happens
+ at the exchange. We can not simulate that an order is filled if the candle we
+ see did not touch the order.
+
+ For limit buy orders we are going to check if the price was below the order actual rate, and
+ for limit sell orders we are going to check if the price was above the order actual rate.
+
+ If we have a partial filling defined specifically for this order,
+ we are going to use it to estimate how much of the order we will consider filled.
+ */
+ let orderWasHit
+ switch (tradingSystemOrder.type) {
+ case 'Limit Buy Order': {
+ if (tradingEngine.current.episode.candle.min.value <= tradingEngineOrder.orderStatistics.actualRate.value) {
+ orderWasHit = true
+ }
+ break
+ }
+ case 'Limit Sell Order': {
+ if (tradingEngine.current.episode.candle.max.value >= tradingEngineOrder.orderStatistics.actualRate.value) {
+ orderWasHit = true
+ }
+ break
+ }
+ case 'Market Buy Order': {
+ orderWasHit = true
+ break
+ }
+ case 'Market Sell Order': {
+ orderWasHit = true
+ break
+ }
+ }
+ if (orderWasHit === true) {
+ /*
+ Initially, we will assume that 100% of the order was filled. This might be overwritten
+ if there is a configuration for this order that details how much is must be considered
+ filled each time we check this.
+ */
+ tradingEngineOrder.orderStatistics.percentageFilled.value = 100
+
+ /* Based on the Trading System Definition */
+ if (tradingSystemOrder.simulatedExchangeEvents !== undefined) {
+ if (tradingSystemOrder.simulatedExchangeEvents.simulatedPartialFill !== undefined) {
+ if (tradingSystemOrder.simulatedExchangeEvents.simulatedPartialFill.config.fillProbability !== undefined) {
+
+ /* Percentage Filled */
+ let percentageFilled = tradingSystemOrder.simulatedExchangeEvents.simulatedPartialFill.config.fillProbability * 100
+ if (tradingEngineOrder.orderStatistics.percentageFilled.value + percentageFilled > 100) {
+ percentageFilled = 100 - tradingEngineOrder.orderStatistics.percentageFilled.value
+ }
+ tradingEngineOrder.orderStatistics.percentageFilled.value = tradingEngineOrder.orderStatistics.percentageFilled.value + percentageFilled
+ tradingEngineOrder.orderStatistics.percentageFilled.value = global.PRECISE(tradingEngineOrder.orderStatistics.percentageFilled.value, 10)
+ }
+ }
+ }
+ }
+ }
+
+ function feesPaidSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage) {
+ /*
+ The way the Fess Paid are calculated is as follows: From the order Actual Size we apply the % of fee,
+ that would give us the total fees for that order. To that we apply the % filled of the orders,
+ that give use the final result of the fees paid for the current % filled.
+
+ But before that, we will see if there is an specific definition on how to simulate the fees for
+ this order, or if there is not, we use the Fees Structure defined at the Session Parameters.
+ */
+
+ /* Based on the Trading System Definition */
+ if (tradingSystemOrder.simulatedExchangeEvents !== undefined) {
+ if (tradingSystemOrder.simulatedExchangeEvents.simulatedFeesPaid !== undefined) {
+ if (tradingSystemOrder.simulatedExchangeEvents.simulatedFeesPaid.config.percentage !== undefined) {
+ applyFeePercentage(
+ 'feesPaid',
+ tradingEngineOrder,
+ tradingSystemOrder,
+ tradingSystemOrder.simulatedExchangeEvents.simulatedFeesPaid.config.percentage,
+ tradingEngineOrder.orderStatistics.percentageFilled.value
+ )
+ return
+ }
+ }
+ }
+
+ /*
+ Another way to simulate the Fees Paid is by using the Session Paremeters configuration for Fees.
+ */
+ switch (tradingEngineOrder.type) {
+ case 'Market Order': {
+ applyFeePercentage(
+ 'feesPaid',
+ tradingEngineOrder,
+ tradingSystemOrder,
+ sessionParameters.feeStructure.config.taker,
+ tradingEngineOrder.orderStatistics.percentageFilled.value
+ )
+ break
+ }
+ case 'Limit Order': {
+ applyFeePercentage(
+ 'feesPaid',
+ tradingEngineOrder,
+ tradingSystemOrder,
+ sessionParameters.feeStructure.config.maker,
+ tradingEngineOrder.orderStatistics.percentageFilled.value
+ )
+ break
+ }
+ }
+ }
+
+ function sizeFilledSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage) {
+ /*
+ Size Filled is the amount of Base Asset or Quoted Asset that at the exchange matches
+ another counterparty order. We calculate this using the Percentage Filled we already simulated.
+ */
+
+ tradingEngineOrder.orderBaseAsset.sizeFilled.value =
+ tradingEngineOrder.orderBaseAsset.actualSize.value *
+ tradingEngineOrder.orderStatistics.percentageFilled.value / 100
+
+ tradingEngineOrder.orderQuotedAsset.sizeFilled.value =
+ tradingEngineOrder.orderQuotedAsset.actualSize.value *
+ tradingEngineOrder.orderStatistics.percentageFilled.value / 100
+
+ tradingEngineOrder.orderBaseAsset.sizeFilled.value = global.PRECISE(tradingEngineOrder.orderBaseAsset.sizeFilled.value, 10)
+ tradingEngineOrder.orderQuotedAsset.sizeFilled.value = global.PRECISE(tradingEngineOrder.orderQuotedAsset.sizeFilled.value, 10)
+ }
+
+ async function amountReceivedSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage) {
+ /*
+ This simulation is for informational purposes, so that users do not have to calculate
+ it by themselves. The Amount Received out of the trade depends if we are Buying or Selling
+ the Base Asset. If we are Buying, then the Amount Receiced will be in Base Asset. If we
+ are selling then it will be in Quoted Asset.
+ */
+
+ switch (true) {
+ case tradingSystemOrder.type === 'Market Buy Order' || tradingSystemOrder.type === 'Limit Buy Order': {
+ /*
+ In this case the Amount Received is in Base Asset.
+ */
+ tradingEngineOrder.orderBaseAsset.amountReceived.value =
+ tradingEngineOrder.orderBaseAsset.sizeFilled.value -
+ tradingEngineOrder.orderBaseAsset.feesPaid.value
+ break
+ }
+ case tradingSystemOrder.type === 'Market Sell Order' || tradingSystemOrder.type === 'Limit Sell Order': {
+ /*
+ In this case the Amount Received is in Quoted Asset.
+ */
+ tradingEngineOrder.orderQuotedAsset.amountReceived.value =
+ tradingEngineOrder.orderQuotedAsset.sizeFilled.value -
+ tradingEngineOrder.orderQuotedAsset.feesPaid.value
+ break
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/TaskServer/LowFrequencyTrading/Snapshots.js b/TaskServer/LowFrequencyTrading/Snapshots.js
index 6f1b02c5a..933d0f37c 100644
--- a/TaskServer/LowFrequencyTrading/Snapshots.js
+++ b/TaskServer/LowFrequencyTrading/Snapshots.js
@@ -45,7 +45,7 @@ exports.newSnapshots = function newSnapshots(bot, logger) {
function initialize() {
tradingEngine = bot.simulationState.tradingEngine
tradingSystem = bot.simulationState.tradingSystem
- sessionParameters = bot.SESSION.parameters
+ sessionParameters = bot.TRADING_SESSION.tradingParameters
}
function finalize() {
@@ -322,7 +322,7 @@ exports.newSnapshots = function newSnapshots(bot, logger) {
fileContent = "" + fileContent + "";
let fileName = pFileName + '.csv';
- let filePath = bot.filePathRoot + "/Output/" + bot.SESSION.folderName + "/" + SNAPSHOTS_FOLDER_NAME;
+ let filePath = bot.filePathRoot + "/Output/" + bot.TRADING_SESSION.folderName + "/" + SNAPSHOTS_FOLDER_NAME;
filePath += '/' + fileName
fileStorage.createTextFile(filePath, fileContent + '\n', onFileCreated);
diff --git a/TaskServer/LowFrequencyTrading/TradingEngine.js b/TaskServer/LowFrequencyTrading/TradingEngine.js
index b9dc6f889..b91ed2247 100644
--- a/TaskServer/LowFrequencyTrading/TradingEngine.js
+++ b/TaskServer/LowFrequencyTrading/TradingEngine.js
@@ -25,7 +25,7 @@ exports.newTradingEngine = function newTradingEngine(bot, logger) {
function initialize() {
tradingEngine = bot.simulationState.tradingEngine
- sessionParameters = bot.SESSION.parameters
+ sessionParameters = bot.TRADING_SESSION.tradingParameters
initializeNodeMap(tradingEngine)
@@ -66,6 +66,8 @@ exports.newTradingEngine = function newTradingEngine(bot, logger) {
function setCurrentCycle(cycle) {
tradingEngine.current.episode.cycle.value = cycle
+ tradingEngine.current.episode.cycle.lastBegin.value = tradingEngine.current.episode.cycle.begin.value
+ tradingEngine.current.episode.cycle.lastEnd.value = tradingEngine.current.episode.cycle.end.value
switch (cycle) {
case 'First': {
tradingEngine.current.episode.cycle.begin.value =
@@ -89,6 +91,17 @@ exports.newTradingEngine = function newTradingEngine(bot, logger) {
break
}
}
+ /*
+ We can not have the last begin or last end to be zero, because that would prevent
+ objects starting with lastBegin in zero to being saved on file. For that reason
+ we will do this:
+ */
+ if (tradingEngine.current.episode.cycle.lastBegin.value === 0) {
+ tradingEngine.current.episode.cycle.lastBegin.value = tradingEngine.current.episode.cycle.begin.value
+ }
+ if (tradingEngine.current.episode.cycle.lastEnd.value === 0) {
+ tradingEngine.current.episode.cycle.lastEnd.value = tradingEngine.current.episode.cycle.end.value
+ }
}
function cloneValues(originNode, destinationNode) {
diff --git a/TaskServer/LowFrequencyTrading/TradingEpisode.js b/TaskServer/LowFrequencyTrading/TradingEpisode.js
index 76bb7a8d3..05ea301c0 100644
--- a/TaskServer/LowFrequencyTrading/TradingEpisode.js
+++ b/TaskServer/LowFrequencyTrading/TradingEpisode.js
@@ -23,7 +23,7 @@ exports.newTradingEpisode = function newTradingEpisode(bot, logger, tradingEngin
function initialize() {
tradingSystem = bot.simulationState.tradingSystem
tradingEngine = bot.simulationState.tradingEngine
- sessionParameters = bot.SESSION.parameters
+ sessionParameters = bot.TRADING_SESSION.tradingParameters
}
function finalize() {
@@ -47,24 +47,27 @@ exports.newTradingEpisode = function newTradingEpisode(bot, logger, tradingEngin
/*
This function is called each time the simulation starts. That does not mean the Episode
must be opened there, since it might happen that it is looping at the end of the market
- or the task / session was restarted.
+ or the task / session was restarted. We will only execute if the episode was never opened before.
*/
- if (bot.FIRST_EXECUTION === true) {
- /* Getting the begin Balance from the session configuration */
- tradingEngine.current.episode.episodeBaseAsset.beginBalance.value = sessionParameters.sessionBaseAsset.config.initialBalance
- tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value = sessionParameters.sessionQuotedAsset.config.initialBalance
+ if (tradingEngine.current.episode.begin.value !== tradingEngine.current.episode.begin.config.initialValue) { return }
- /* The current balance is also the begin balance, that is how this starts. */
- tradingEngine.current.episode.episodeBaseAsset.balance.value = sessionParameters.sessionBaseAsset.config.initialBalance
- tradingEngine.current.episode.episodeQuotedAsset.balance.value = sessionParameters.sessionQuotedAsset.config.initialBalance
+ /* Starting begin and end */
+ tradingEngine.current.episode.begin.value = tradingEngine.current.episode.candle.begin.value
+ tradingEngine.current.episode.end.value = tradingEngine.current.episode.candle.end.value
- /* Recording the opening at the Trading Engine Data Structure */
- tradingEngine.current.episode.status.value = 'Open'
- tradingEngine.current.episode.serialNumber.value = 1
- tradingEngine.current.episode.identifier.value = global.UNIQUE_ID()
- tradingEngine.current.episode.begin.value = tradingEngine.current.episode.candle.begin.value
- tradingEngine.current.episode.beginRate.value = tradingEngine.current.episode.candle.close.value
- }
+ /* Getting the begin Balance from the session configuration */
+ tradingEngine.current.episode.episodeBaseAsset.beginBalance.value = sessionParameters.sessionBaseAsset.config.initialBalance
+ tradingEngine.current.episode.episodeQuotedAsset.beginBalance.value = sessionParameters.sessionQuotedAsset.config.initialBalance
+
+ /* The current balance is also the begin balance, that is how this starts. */
+ tradingEngine.current.episode.episodeBaseAsset.balance.value = sessionParameters.sessionBaseAsset.config.initialBalance
+ tradingEngine.current.episode.episodeQuotedAsset.balance.value = sessionParameters.sessionQuotedAsset.config.initialBalance
+
+ /* Recording the opening at the Trading Engine Data Structure */
+ tradingEngine.current.episode.status.value = 'Open'
+ tradingEngine.current.episode.serialNumber.value = 1
+ tradingEngine.current.episode.identifier.value = global.UNIQUE_ID()
+ tradingEngine.current.episode.beginRate.value = tradingEngine.current.episode.candle.close.value
}
function updateExitType(exitType) {
@@ -85,7 +88,7 @@ exports.newTradingEpisode = function newTradingEpisode(bot, logger, tradingEngin
function updateEnds() {
if (tradingEngine.current.episode.status.value === 'Open') {
- tradingEngine.current.episode.end.value = tradingEngine.current.episode.candle.end.value
+ tradingEngine.current.episode.end.value = tradingEngine.current.episode.end.value + sessionParameters.timeFrame.config.value
tradingEngine.current.episode.endRate.value = tradingEngine.current.episode.candle.close.value
tradingEngine.current.episode.episodeBaseAsset.endBalance.value = tradingEngine.current.episode.episodeBaseAsset.balance.value
tradingEngine.current.episode.episodeQuotedAsset.endBalance.value = tradingEngine.current.episode.episodeQuotedAsset.balance.value
@@ -160,7 +163,7 @@ exports.newTradingEpisode = function newTradingEpisode(bot, logger, tradingEngin
tradingEngine.current.episode.episodeBaseAsset.hitRatio.value = global.PRECISE(tradingEngine.current.episode.episodeBaseAsset.hitRatio.value, 10)
tradingEngine.current.episode.episodeQuotedAsset.hitRatio.value = global.PRECISE(tradingEngine.current.episode.episodeQuotedAsset.hitRatio.value, 10)
}
-
+
/*
Updating Annualized Rate Of Return
diff --git a/TaskServer/LowFrequencyTrading/TradingExecution.js b/TaskServer/LowFrequencyTrading/TradingExecution.js
index 7e6619ec3..b1e5e3e25 100644
--- a/TaskServer/LowFrequencyTrading/TradingExecution.js
+++ b/TaskServer/LowFrequencyTrading/TradingExecution.js
@@ -24,7 +24,7 @@ exports.newTradingExecution = function newTradingExecution(bot, logger, tradingE
function initialize() {
tradingSystem = bot.simulationState.tradingSystem
tradingEngine = bot.simulationState.tradingEngine
- sessionParameters = bot.SESSION.parameters
+ sessionParameters = bot.TRADING_SESSION.tradingParameters
tradingOrdersModule.initialize()
}
diff --git a/TaskServer/LowFrequencyTrading/TradingOrders.js b/TaskServer/LowFrequencyTrading/TradingOrders.js
index 76d1cabe0..2c432eb57 100644
--- a/TaskServer/LowFrequencyTrading/TradingOrders.js
+++ b/TaskServer/LowFrequencyTrading/TradingOrders.js
@@ -27,7 +27,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
function initialize() {
tradingSystem = bot.simulationState.tradingSystem
tradingEngine = bot.simulationState.tradingEngine
- sessionParameters = bot.SESSION.parameters
+ sessionParameters = bot.TRADING_SESSION.tradingParameters
exchangeAPIModule.initialize()
announcementsModule.initialize()
@@ -148,7 +148,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
if (tradingEngine.current.episode.cycle.value === 'Second') { continue }
/* Simulate Events that happens at the Exchange, if needed. */
- simulateExchangeEvents(tradingEngineStage, tradingSystemOrder, tradingEngineOrder)
+ simulateCheckExchangeEvents(tradingEngineStage, tradingSystemOrder, tradingEngineOrder)
/* Check Events that happens at the Exchange, if needed. */
let allGood = await checkExchangeEvents(tradingEngineStage, tradingSystemOrder, tradingEngineOrder)
@@ -159,7 +159,12 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
need to cancel it, since we could end up with inconsisten information at the accounting level.
*/
if (tradingSystemOrder.cancelOrderEvent !== undefined) {
- tradingSystem.warnings.push([tradingSystemOrder.cancelOrderEvent.id, 'Skipping Cancel Event Checking because cheking the order at the exchange failed.'])
+ tradingSystem.warnings.push(
+ [
+ tradingSystemOrder.cancelOrderEvent.id,
+ 'Skipping Cancel Event Checking because cheking the order at the exchange failed.'
+ ]
+ )
}
return
}
@@ -236,10 +241,16 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
if (tradingEngineOrder.orderBaseAsset.size === undefined) { badDefinitionUnhandledException(undefined, 'tradingEngineOrder.orderBaseAsset.size === undefined', tradingEngineOrder) }
if (tradingEngineOrder.orderBaseAsset.sizeFilled === undefined) { badDefinitionUnhandledException(undefined, 'tradingEngineOrder.orderBaseAsset.sizeFilled === undefined', tradingEngineOrder) }
if (tradingEngineOrder.orderBaseAsset.feesPaid === undefined) { badDefinitionUnhandledException(undefined, 'tradingEngineOrder.orderBaseAsset.feesPaid === undefined', tradingEngineOrder) }
+ if (tradingEngineOrder.orderBaseAsset.actualSize === undefined) { badDefinitionUnhandledException(undefined, 'tradingEngineOrder.orderBaseAsset.actualSize === undefined', tradingEngineOrder) }
+ if (tradingEngineOrder.orderBaseAsset.amountReceived === undefined) { badDefinitionUnhandledException(undefined, 'tradingEngineOrder.orderBaseAsset.amountReceived === undefined', tradingEngineOrder) }
+ if (tradingEngineOrder.orderBaseAsset.feesToBePaid === undefined) { badDefinitionUnhandledException(undefined, 'tradingEngineOrder.orderBaseAsset.feesToBePaid === undefined', tradingEngineOrder) }
if (tradingEngineOrder.orderQuotedAsset.size === undefined) { badDefinitionUnhandledException(undefined, 'tradingEngineOrder.orderQuotedAsset.size === undefined', tradingEngineOrder) }
if (tradingEngineOrder.orderQuotedAsset.sizeFilled === undefined) { badDefinitionUnhandledException(undefined, 'tradingEngineOrder.orderQuotedAsset.sizeFilled === undefined', tradingEngineOrder) }
if (tradingEngineOrder.orderQuotedAsset.feesPaid === undefined) { badDefinitionUnhandledException(undefined, 'tradingEngineOrder.orderQuotedAsset.feesPaid === undefined', tradingEngineOrder) }
+ if (tradingEngineOrder.orderQuotedAsset.actualSize === undefined) { badDefinitionUnhandledException(undefined, 'tradingEngineOrder.orderQuotedAsset.actualSize === undefined', tradingEngineOrder) }
+ if (tradingEngineOrder.orderQuotedAsset.amountReceived === undefined) { badDefinitionUnhandledException(undefined, 'tradingEngineOrder.orderQuotedAsset.amountReceived === undefined', tradingEngineOrder) }
+ if (tradingEngineOrder.orderQuotedAsset.feesToBePaid === undefined) { badDefinitionUnhandledException(undefined, 'tradingEngineOrder.orderQuotedAsset.feesToBePaid === undefined', tradingEngineOrder) }
}
async function tryToOpenOrder(tradingEngineStage, executionAlgorithm, tradingSystemOrder, tradingEngineOrder, situationName) {
@@ -248,15 +259,35 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
await calculateOrderSize()
/* Check Size: We are not going to create Orders which size is equal or less to zero. */
- if (tradingEngineOrder.orderBaseAsset.size.value <= 0 || tradingEngineOrder.orderQuotedAsset.size.value <= 0) {
- tradingSystem.warnings.push([tradingSystemOrder.id, 'Could not open this order because its size would be zero.'])
+ if (tradingEngineOrder.orderBaseAsset.size.value <= 0) {
+ tradingSystem.warnings.push(
+ [
+ [tradingEngineOrder.orderBaseAsset.size.id, tradingSystemOrder.id],
+ 'Could not open this order because its size is zero.'
+ ]
+ )
+ return
+ }
+
+ if (tradingEngineOrder.orderQuotedAsset.size.value <= 0) {
+ tradingSystem.warnings.push(
+ [
+ [tradingEngineOrder.orderQuotedAsset.size.id, tradingSystemOrder.id ],
+ 'Could not open this order because its size is zero.'
+ ]
+ )
return
}
/* Place Order at the Exchange, if needed. */
let result = await createOrderAtExchange(tradingSystemOrder, tradingEngineOrder)
if (result !== true) {
- tradingSystem.warnings.push([tradingSystemOrder.id, 'Could not open this order because something failed placing the order at the Exchange.'])
+ tradingSystem.warnings.push(
+ [
+ [tradingSystemOrder.id, tradingEngineOrder],
+ 'Could not open this order because something failed placing the order at the Exchange.'
+ ]
+ )
return
}
@@ -308,53 +339,133 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
}
async function calculateOrderSize() {
- /* Validate that this config exists */
- if (executionAlgorithm.config.percentageOfStageTargetSize === undefined) { badDefinitionUnhandledException(undefined, 'executionAlgorithm.config.percentageOfStageTargetSize === undefined', executionAlgorithm) }
- if (isNaN(executionAlgorithm.config.percentageOfStageTargetSize) === true) { badDefinitionUnhandledException(undefined, 'isNaN(executionAlgorithm.config.percentageOfStageTargetSize) === true', executionAlgorithm) }
+ let algorithmSizeInBaseAsset
+ let algorithmSizeInQuotedAsset
- let algorithmSizeInBaseAsset = tradingEngineStage.stageBaseAsset.targetSize.value * executionAlgorithm.config.percentageOfStageTargetSize / 100
- let algorithmSizeInQuotedAsset = tradingEngineStage.stageQuotedAsset.targetSize.value * executionAlgorithm.config.percentageOfStageTargetSize / 100
+ requiredConfigurationValidation()
+ notPassingTargetSizeValidation()
+ notNegativeBalanceValidation()
- /* Validate that this config exists */
- if (tradingSystemOrder.config.percentageOfAlgorithmSize === undefined) { badDefinitionUnhandledException(undefined, 'tradingSystemOrder.config.percentageOfAlgorithmSize === undefined', tradingSystemOrder) }
- if (isNaN(tradingSystemOrder.config.percentageOfAlgorithmSize) === true) { badDefinitionUnhandledException(undefined, 'isNaN(tradingSystemOrder.config.percentageOfAlgorithmSize) === true', tradingSystemOrder) }
-
- /*
- The Size calculation depends on how the user defined the size of the position.
- The user could have defined the size of the position in Base Asset or Quoted Asset.
- */
- switch (tradingEngineStage.stageDefinedIn.value) {
- case 'Base Asset': {
- /* Size in Base Asset */
- tradingEngineOrder.orderBaseAsset.size.value = algorithmSizeInBaseAsset * tradingSystemOrder.config.percentageOfAlgorithmSize / 100
-
- /* Check that the Size calculated would not surpass Stage Target Size */
- if (
- tradingEngineOrder.orderBaseAsset.size.value + tradingEngineStage.stageBaseAsset.sizePlaced.value >
- tradingEngineStage.stageBaseAsset.targetSize.value
- ) {
- tradingEngineOrder.orderBaseAsset.size.value = tradingEngineStage.stageBaseAsset.targetSize.value - tradingEngineStage.stageBaseAsset.sizePlaced.value
- }
-
- /* Size in Quoted Asset */
- tradingEngineOrder.orderQuotedAsset.size.value = tradingEngineOrder.orderBaseAsset.size.value * tradingEngineOrder.rate.value
- break
+ function requiredConfigurationValidation() {
+ /* Validate that this config exists */
+ if (executionAlgorithm.config.percentageOfStageTargetSize === undefined) {
+ badDefinitionUnhandledException(undefined, 'executionAlgorithm.config.percentageOfStageTargetSize === undefined', executionAlgorithm)
+ }
+ if (isNaN(executionAlgorithm.config.percentageOfStageTargetSize) === true) {
+ badDefinitionUnhandledException(undefined, 'isNaN(executionAlgorithm.config.percentageOfStageTargetSize) === true', executionAlgorithm)
}
- case 'Quoted Asset': {
- /* Size in Quoted Asset */
- tradingEngineOrder.orderQuotedAsset.size.value = algorithmSizeInQuotedAsset * tradingSystemOrder.config.percentageOfAlgorithmSize / 100
- /* Check that the Size calculated would not surpass Stage Target Size */
- if (
- tradingEngineOrder.orderQuotedAsset.size.value + tradingEngineStage.stageQuotedAsset.sizePlaced.value >
- tradingEngineStage.stageQuotedAsset.targetSize.value
- ) {
- tradingEngineOrder.orderQuotedAsset.size.value = tradingEngineStage.stageQuotedAsset.targetSize.value - tradingEngineStage.stageQuotedAsset.sizePlaced.value
+ algorithmSizeInBaseAsset = tradingEngineStage.stageBaseAsset.targetSize.value * executionAlgorithm.config.percentageOfStageTargetSize / 100
+ algorithmSizeInQuotedAsset = tradingEngineStage.stageQuotedAsset.targetSize.value * executionAlgorithm.config.percentageOfStageTargetSize / 100
+
+ /* Validate that this config exists */
+ if (tradingSystemOrder.config.percentageOfAlgorithmSize === undefined) {
+ badDefinitionUnhandledException(undefined, 'tradingSystemOrder.config.percentageOfAlgorithmSize === undefined', tradingSystemOrder)
+ }
+ if (isNaN(tradingSystemOrder.config.percentageOfAlgorithmSize) === true) {
+ badDefinitionUnhandledException(undefined, 'isNaN(tradingSystemOrder.config.percentageOfAlgorithmSize) === true', tradingSystemOrder)
+ }
+ }
+
+ function notPassingTargetSizeValidation() {
+ /*
+ The Size calculation depends on how the user defined the size of the position.
+ The user could have defined the size of the position in Base Asset or Quoted Asset.
+ */
+ switch (tradingEngineStage.stageDefinedIn.value) {
+ case 'Base Asset': {
+ /* Size in Base Asset */
+ tradingEngineOrder.orderBaseAsset.size.value = algorithmSizeInBaseAsset * tradingSystemOrder.config.percentageOfAlgorithmSize / 100
+ tradingEngineOrder.orderBaseAsset.size.value = global.PRECISE(tradingEngineOrder.orderBaseAsset.size.value, 10)
+
+ /* Check that the Size calculated would not surpass Stage Target Size */
+ if (
+ tradingEngineOrder.orderBaseAsset.size.value + tradingEngineStage.stageBaseAsset.sizePlaced.value >
+ tradingEngineStage.stageBaseAsset.targetSize.value
+ ) {
+ let previousValue = tradingEngineOrder.orderBaseAsset.size.value
+ tradingEngineOrder.orderBaseAsset.size.value =
+ tradingEngineStage.stageBaseAsset.targetSize.value -
+ tradingEngineStage.stageBaseAsset.sizePlaced.value
+
+ tradingSystem.warnings.push(
+ [
+ [tradingEngineStage.stageBaseAsset.targetSize.id, tradingEngineOrder.orderBaseAsset.size.id, tradingEngineStage.stageBaseAsset.sizePlaced.id],
+ 'Order size (' + previousValue + ') shrinked (' + tradingEngineOrder.orderBaseAsset.size.value + ') so that the Size Placed (' + tradingEngineStage.stageBaseAsset.sizePlaced.value + ') does not exceed the Target Size (' + tradingEngineStage.stageBaseAsset.targetSize.value + ') for the stage.'
+ ]
+ )
+ }
+
+ /* Size in Quoted Asset */
+ tradingEngineOrder.orderQuotedAsset.size.value = tradingEngineOrder.orderBaseAsset.size.value * tradingEngineOrder.rate.value
+ break
}
+ case 'Quoted Asset': {
+ /* Size in Quoted Asset */
+ tradingEngineOrder.orderQuotedAsset.size.value = algorithmSizeInQuotedAsset * tradingSystemOrder.config.percentageOfAlgorithmSize / 100
+ tradingEngineOrder.orderQuotedAsset.size.value = global.PRECISE(tradingEngineOrder.orderQuotedAsset.size.value, 10)
- /* Size in Base Asset */
- tradingEngineOrder.orderBaseAsset.size.value = tradingEngineOrder.orderQuotedAsset.size.value / tradingEngineOrder.rate.value
- break
+ /* Check that the Size calculated would not surpass Stage Target Size */
+ if (
+ tradingEngineOrder.orderQuotedAsset.size.value + tradingEngineStage.stageQuotedAsset.sizePlaced.value >
+ tradingEngineStage.stageQuotedAsset.targetSize.value
+ ) {
+ let previousValue = tradingEngineOrder.orderQuotedAsset.size.value
+ tradingEngineOrder.orderQuotedAsset.size.value =
+ tradingEngineStage.stageQuotedAsset.targetSize.value -
+ tradingEngineStage.stageQuotedAsset.sizePlaced.value
+
+ tradingSystem.warnings.push(
+ [
+ [tradingEngineStage.stageQuotedAsset.targetSize.id, tradingEngineOrder.orderQuotedAsset.size.id, tradingEngineStage.stageQuotedAsset.sizePlaced.id],
+ 'Order size (' + previousValue + ') shrinked (' + tradingEngineOrder.orderQuotedAsset.size.value + ') so that the Size Placed (' + tradingEngineStage.stageQuotedAsset.sizePlaced.value + ') does not exceed the Target Size (' + tradingEngineStage.stageQuotedAsset.targetSize.value + ') for the stage.'
+ ]
+ )
+ }
+
+ /* Size in Base Asset */
+ tradingEngineOrder.orderBaseAsset.size.value = tradingEngineOrder.orderQuotedAsset.size.value / tradingEngineOrder.rate.value
+
+ break
+ }
+ }
+ }
+
+ function notNegativeBalanceValidation() {
+ /* Check that the Size calculated would not leave a negative balance */
+ switch (true) {
+ case tradingSystemOrder.type === 'Market Buy Order' || tradingSystemOrder.type === 'Limit Buy Order': {
+ if (
+ tradingEngine.current.episode.episodeQuotedAsset.balance.value - tradingEngineOrder.orderQuotedAsset.size.value < 0
+ ) {
+ tradingSystem.warnings.push(
+ [
+ [tradingEngine.current.episode.episodeQuotedAsset.balance.id, tradingEngineOrder.orderQuotedAsset.size.id],
+ 'Order Size Quoted Asset (' + tradingEngineOrder.orderQuotedAsset.size.value + ') changed to Balance Quoted Asset (' + tradingEngine.current.episode.episodeQuotedAsset.balance.value + ') so that the Balance does not drop below zero.'
+ ]
+ )
+
+ tradingEngineOrder.orderQuotedAsset.size.value = tradingEngine.current.episode.episodeQuotedAsset.balance.value
+ tradingEngineOrder.orderBaseAsset.size.value = tradingEngineOrder.orderQuotedAsset.size.value / tradingEngineOrder.rate.value
+ }
+ break
+ }
+ case tradingSystemOrder.type === 'Market Sell Order' || tradingSystemOrder.type === 'Limit Sell Order': {
+ if (
+ tradingEngine.current.episode.episodeBaseAsset.balance.value - tradingEngineOrder.orderBaseAsset.size.value < 0
+ ) {
+ tradingSystem.warnings.push(
+ [
+ [tradingEngine.current.episode.episodeBaseAsset.balance.id, tradingEngineOrder.orderBaseAsset.size.id],
+ 'Order Size Base Asset (' + tradingEngineOrder.orderBaseAsset.size.value + ') changed to Balance Base Asset (' + tradingEngine.current.episode.episodeBaseAsset.balance.value + ') so that the Balance does not drop below zero.'
+ ]
+ )
+
+ tradingEngineOrder.orderBaseAsset.size.value = tradingEngine.current.episode.episodeBaseAsset.balance.value
+ tradingEngineOrder.orderQuotedAsset.size.value = tradingEngineOrder.orderBaseAsset.size.value * tradingEngineOrder.rate.value
+ }
+ break
+ }
}
}
@@ -365,7 +476,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
async function createOrderAtExchange(tradingSystemOrder, tradingEngineOrder) {
/* Filter by Session Type */
- switch (bot.SESSION.type) {
+ switch (bot.TRADING_SESSION.type) {
case 'Backtesting Session': {
return true
}
@@ -389,283 +500,10 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
}
}
- function simulateExchangeEvents(tradingEngineStage, tradingSystemOrder, tradingEngineOrder) {
-
- /* Filter by Session Type */
- switch (bot.SESSION.type) {
- case 'Backtesting Session': {
- break
- }
- case 'Live Trading Session': {
- return
- }
- case 'Fordward Testing Session': {
- return
- }
- case 'Paper Trading Session': {
- break
- }
- }
-
- let previousQuotedAssetSize = tradingEngineOrder.orderQuotedAsset.size.value
- let previousBaseAssetSizeFilled = tradingEngineOrder.orderBaseAsset.sizeFilled.value
- let previousQuotedAssetSizeFilled = tradingEngineOrder.orderQuotedAsset.sizeFilled.value
- let previousBaseAssetFeesPaid = tradingEngineOrder.orderBaseAsset.feesPaid.value
- let previousQuotedAssetFeesPaid = tradingEngineOrder.orderQuotedAsset.feesPaid.value
-
- actualRateSimulation()
- percentageFilledSimulation()
- feesPaidSimulation()
- sizeFilledSimulation()
-
- doTheAccounting(
- tradingEngineStage,
- tradingSystemOrder,
- tradingEngineOrder,
- previousBaseAssetSizeFilled,
- previousQuotedAssetSizeFilled,
- previousBaseAssetFeesPaid,
- previousQuotedAssetFeesPaid
- )
-
- /* If the Stage is Closing and this order is still open, we need to cancel it now */
- if (tradingEngineStage.status.value === 'Closing' && tradingEngineOrder.status.value !== 'Closed') {
- simulateCancelOrder(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, 'Closing Stage')
- }
-
- function actualRateSimulation() {
- /* Actual Rate Simulation */
- let calculatedBasedOnTradingSystem = false
-
- basedOnTradingSystem()
- basedOnSessionParameters()
- considerBestMatchWithOrderBook()
- recalculateQuotedAsset()
- recalculateSizePlaced()
-
- function basedOnTradingSystem() {
- /* Based on the Trading System Definition */
- if (tradingSystemOrder.simulatedExchangeEvents !== undefined) {
- if (tradingSystemOrder.simulatedExchangeEvents.simulatedActualRate !== undefined) {
- if (tradingSystemOrder.simulatedExchangeEvents.simulatedActualRate.formula !== undefined) {
- /* Calculate this only once for this order */
- if (tradingEngineOrder.orderStatistics.actualRate.value === tradingEngineOrder.orderStatistics.actualRate.config.initialValue) {
- tradingEngineOrder.orderStatistics.actualRate.value = tradingSystem.formulas.get(tradingSystemOrder.simulatedExchangeEvents.simulatedActualRate.formula.id)
- if (tradingEngineOrder.orderStatistics.actualRate.value !== undefined) {
- calculatedBasedOnTradingSystem = true
- }
- }
- }
- }
- }
- }
-
- function basedOnSessionParameters() {
- /* Based on the Session Parameters Definition */
- if (calculatedBasedOnTradingSystem === false) {
- switch (tradingEngineOrder.type) {
- case 'Market Order': {
- /* Actual Rate is simulated based on the Session Paremeters */
- let slippageAmount = tradingEngineOrder.rate.value * sessionParameters.slippage.config.positionRate / 100
- switch (tradingSystemOrder.type) {
- case 'Market Sell Order': {
- tradingEngineOrder.orderStatistics.actualRate.value = tradingEngineOrder.rate.value - slippageAmount
- break
- }
- case 'Market Buy Order': {
- tradingEngineOrder.orderStatistics.actualRate.value = tradingEngineOrder.rate.value + slippageAmount
- break
- }
- }
- break
- }
- case 'Limit Order': {
- /* In Limit Orders the actual rate is the rate of the order, there is no slippage */
- tradingEngineOrder.orderStatistics.actualRate.value = tradingEngineOrder.rate.value
- break
- }
- }
- }
- }
-
- function considerBestMatchWithOrderBook() {
- /*
- Until here we have got the rate based on the formula definition or based on session parameters slippage.
- THe last check is about watching what happened in the market. Let's remember that the exchange will
- fill the order with the best possible matches at it's order book. That means that if the rate
- we set for the order was too low (for a sale order) or too hight (for a buy order), the actual rate
- should be better than expected.
- */
- switch (true) {
- case tradingSystemOrder.type === 'Market Buy Order' || tradingSystemOrder.type === 'Limit Buy Order': {
- if (tradingEngineOrder.orderStatistics.actualRate.value > tradingEngine.current.episode.candle.max.value) {
- tradingEngineOrder.orderStatistics.actualRate.value = tradingEngine.current.episode.candle.max.value
- }
- break
- }
- case tradingSystemOrder.type === 'Market Sell Order' || tradingSystemOrder.type === 'Limit Sell Order': {
- if (tradingEngineOrder.orderStatistics.actualRate.value < tradingEngine.current.episode.candle.min.value) {
- tradingEngineOrder.orderStatistics.actualRate.value = tradingEngine.current.episode.candle.min.value
- }
- break
- }
- }
- tradingEngineOrder.orderStatistics.actualRate.value = global.PRECISE(tradingEngineOrder.orderStatistics.actualRate.value, 10)
- }
-
- function recalculateQuotedAsset() {
- /*
- Recalculate the Quouted Asset Size based on the newly calculated Actual Rate.
- */
- tradingEngineOrder.orderQuotedAsset.size.value = tradingEngineOrder.orderBaseAsset.size.value * tradingEngineOrder.orderStatistics.actualRate.value
- tradingEngineOrder.orderQuotedAsset.size.value = global.PRECISE(tradingEngineOrder.orderQuotedAsset.size.value, 10)
- }
-
- function recalculateSizePlaced() {
- /*
- Recaulculate the Size Placed Based on the newly calculated Quoted Asset Size.
- */
- tradingEngineStage.stageQuotedAsset.sizePlaced.value =
- tradingEngineStage.stageQuotedAsset.sizePlaced.value -
- previousQuotedAssetSize
-
- tradingEngineStage.stageQuotedAsset.sizePlaced.value =
- tradingEngineStage.stageQuotedAsset.sizePlaced.value +
- tradingEngineOrder.orderQuotedAsset.size.value
-
- tradingEngineStage.stageQuotedAsset.sizePlaced.value = global.PRECISE(tradingEngineStage.stageQuotedAsset.sizePlaced.value, 10)
- }
- }
-
- function percentageFilledSimulation() {
- /*
- Order Filling Simulation: the way we are going to handle this is the following.
- For buy orders we are going to check if the price was below the order rate, and
- for sell orders we are going to check if the price was above the order rate.
-
- If we have a partial filling defined we are going to use it to estimate how much
- of the order we will consider filled.
- */
- let orderWasHit
- switch (tradingSystemOrder.type) {
- case 'Limit Buy Order': {
- if (tradingEngine.current.episode.candle.min.value <= tradingEngineOrder.rate.value) {
- orderWasHit = true
- }
- break
- }
- case 'Limit Sell Order': {
- if (tradingEngine.current.episode.candle.max.value >= tradingEngineOrder.rate.value) {
- orderWasHit = true
- }
- break
- }
- case 'Market Buy Order': {
- orderWasHit = true
- break
- }
- case 'Market Sell Order': {
- orderWasHit = true
- break
- }
- }
- if (orderWasHit === true) {
- let calculatedBasedOnTradingSystem = false
-
- /* Based on the Trading System Definition */
- if (tradingSystemOrder.simulatedExchangeEvents !== undefined) {
- if (tradingSystemOrder.simulatedExchangeEvents.simulatedPartialFill !== undefined) {
- if (tradingSystemOrder.simulatedExchangeEvents.simulatedPartialFill.config.fillProbability !== undefined) {
-
- /* Percentage Filled */
- let percentageFilled = tradingSystemOrder.simulatedExchangeEvents.simulatedPartialFill.config.fillProbability * 100
- if (tradingEngineOrder.orderStatistics.percentageFilled.value + percentageFilled > 100) {
- percentageFilled = 100 - tradingEngineOrder.orderStatistics.percentageFilled.value
- }
- tradingEngineOrder.orderStatistics.percentageFilled.value = tradingEngineOrder.orderStatistics.percentageFilled.value + percentageFilled
- tradingEngineOrder.orderStatistics.percentageFilled.value = global.PRECISE(tradingEngineOrder.orderStatistics.percentageFilled.value, 10)
- calculatedBasedOnTradingSystem = true
- }
- }
- }
- /*
- If there is no definition for this at the trading system we will assume orders
- are 100% filled every single time.
- */
- if (calculatedBasedOnTradingSystem === false) {
- /* We will assume that 100% of the order was filled */
- tradingEngineOrder.orderStatistics.percentageFilled.value = 100
- }
- /* Check if we need to close the order */
- if (tradingEngineOrder.orderStatistics.percentageFilled.value === 100) {
-
- /* Close this Order */
- tradingEngineOrder.status.value = 'Closed'
- tradingEngineOrder.exitType.value = 'Filled'
-
- /* Initialize this */
- tradingEngine.current.episode.distanceToEvent.closeOrder.value = 1
-
- updateEndsWithCycle(tradingEngineOrder)
- tradingSystem.infos.push([tradingSystemOrder.id, 'percentageFilledSimulation -> Closing Order with Exit Type ' + tradingEngineOrder.exitType.value])
- }
- }
- }
-
- function feesPaidSimulation() {
- /*
- The way the Fess Paid are calculated is as follows: From the order size we apply the % of fee,
- that would give us the total fees for that order. To that we apply the % filled of the orders,
- that give use the final result of the fees paid for the current % filled.
-
- But before that, we will see if there is an specific definition on how to simulate the fees for
- this order, or if there is not, we use the fees session parameters definitions.
- */
-
- /* Based on the Trading System Definition */
- if (tradingSystemOrder.simulatedExchangeEvents !== undefined) {
- if (tradingSystemOrder.simulatedExchangeEvents.simulatedFeesPaid !== undefined) {
- if (tradingSystemOrder.simulatedExchangeEvents.simulatedFeesPaid.config.percentage !== undefined) {
- applyFeePercentage(tradingEngineOrder, tradingSystemOrder, tradingSystemOrder.simulatedExchangeEvents.simulatedFeesPaid.config.percentage)
- return
- }
- }
- }
-
- /*
- Another way to simulate the Fees Paid is by using the Session Paremeters configuration for Fees.
- */
- switch (tradingEngineOrder.type) {
- case 'Market Order': {
- applyFeePercentage(tradingEngineOrder, tradingSystemOrder, sessionParameters.feeStructure.config.taker)
- break
- }
- case 'Limit Order': {
- applyFeePercentage(tradingEngineOrder, tradingSystemOrder, sessionParameters.feeStructure.config.maker)
- break
- }
- }
- }
-
- function sizeFilledSimulation() {
- /* Size Filled */
- tradingEngineOrder.orderBaseAsset.sizeFilled.value =
- tradingEngineOrder.orderBaseAsset.size.value *
- tradingEngineOrder.orderStatistics.percentageFilled.value / 100
-
- tradingEngineOrder.orderQuotedAsset.sizeFilled.value =
- tradingEngineOrder.orderQuotedAsset.size.value *
- tradingEngineOrder.orderStatistics.percentageFilled.value / 100
-
- tradingEngineOrder.orderBaseAsset.sizeFilled.value = global.PRECISE(tradingEngineOrder.orderBaseAsset.sizeFilled.value, 10)
- tradingEngineOrder.orderQuotedAsset.sizeFilled.value = global.PRECISE(tradingEngineOrder.orderQuotedAsset.sizeFilled.value, 10)
- }
- }
-
async function checkExchangeEvents(tradingEngineStage, tradingSystemOrder, tradingEngineOrder) {
/* Filter by Session Type */
- switch (bot.SESSION.type) {
+ switch (bot.TRADING_SESSION.type) {
case 'Backtesting Session': {
return true
}
@@ -683,7 +521,12 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
let order = await exchangeAPIModule.getOrder(tradingSystemOrder, tradingEngineOrder)
if (order === undefined) {
- tradingSystem.warnings.push([tradingSystemOrder.id, 'Could not verify the status of this order at the exchange.'])
+ tradingSystem.warnings.push(
+ [
+ [tradingSystemOrder.id, tradingEngineOrder.id],
+ 'Could not verify the status of this order at the exchange.'
+ ]
+ )
return false
}
@@ -704,7 +547,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
await updateEndsWithCycle(tradingEngineOrder)
tradingSystem.infos.push([tradingSystemOrder.id, 'checkExchangeEvents -> Closing Order with Exit Type ' + tradingEngineOrder.exitType.value])
-
+
await syncWithExchange(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order)
return
}
@@ -767,20 +610,98 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
return true
}
- async function syncWithExchange(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order) {
+ function simulateCheckExchangeEvents(tradingEngineStage, tradingSystemOrder, tradingEngineOrder) {
+
+ /* Filter by Session Type */
+ switch (bot.TRADING_SESSION.type) {
+ case 'Backtesting Session': {
+ break
+ }
+ case 'Live Trading Session': {
+ return
+ }
+ case 'Fordward Testing Session': {
+ return
+ }
+ case 'Paper Trading Session': {
+ break
+ }
+ }
+
+ simulateSyncWithExchange(tradingEngineStage, tradingSystemOrder, tradingEngineOrder)
+
+ /* Check if we need to close the order */
+ if (tradingEngineOrder.orderStatistics.percentageFilled.value === 100) {
+
+ /* Close this Order */
+ tradingEngineOrder.status.value = 'Closed'
+ tradingEngineOrder.exitType.value = 'Filled'
+
+ /* Initialize this */
+ tradingEngine.current.episode.distanceToEvent.closeOrder.value = 1
+
+ updateEndsWithCycle(tradingEngineOrder)
+ tradingSystem.infos.push([tradingSystemOrder.id, 'percentageFilledSimulation -> Closing Order with Exit Type ' + tradingEngineOrder.exitType.value])
+ }
+
+ /* If the Stage is Closing and this order is still open, we need to cancel it now */
+ if (tradingEngineStage.status.value === 'Closing' && tradingEngineOrder.status.value !== 'Closed') {
+ simulateCancelOrder(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, 'Closing Stage')
+ }
+ }
+
+ function simulateSyncWithExchange(tradingEngineStage, tradingSystemOrder, tradingEngineOrder) {
- let previousBaseAssetSize = tradingEngineOrder.orderBaseAsset.size.value
- let previousQuotedAssetSize = tradingEngineOrder.orderQuotedAsset.size.value
let previousBaseAssetSizeFilled = tradingEngineOrder.orderBaseAsset.sizeFilled.value
let previousQuotedAssetSizeFilled = tradingEngineOrder.orderQuotedAsset.sizeFilled.value
let previousBaseAssetFeesPaid = tradingEngineOrder.orderBaseAsset.feesPaid.value
let previousQuotedAssetFeesPaid = tradingEngineOrder.orderQuotedAsset.feesPaid.value
- await actualSizeCalculation()
- await actualRateCalculation()
- await percentageFilledCalculation()
- await feesPaidCalculation()
- await sizeFilledCalculation()
+ const ORDERS_SIMULATIONS_MODULE = require('./OrdersSimulations.js')
+ let ordersSimulationsModule = ORDERS_SIMULATIONS_MODULE.newOrdersSimulations(bot, logger)
+ ordersSimulationsModule.initialize()
+
+ ordersSimulationsModule.actualSizeSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage)
+ ordersSimulationsModule.actualRateSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage)
+ ordersSimulationsModule.feesToBePaidSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage)
+ ordersSimulationsModule.percentageFilledSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage)
+ ordersSimulationsModule.feesPaidSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage)
+ ordersSimulationsModule.sizeFilledSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage)
+ ordersSimulationsModule.amountReceivedSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage)
+
+ ordersSimulationsModule.finalize()
+
+ doTheAccounting(
+ tradingEngineStage,
+ tradingSystemOrder,
+ tradingEngineOrder,
+ previousBaseAssetSizeFilled,
+ previousQuotedAssetSizeFilled,
+ previousBaseAssetFeesPaid,
+ previousQuotedAssetFeesPaid
+ )
+ }
+
+ async function syncWithExchange(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order) {
+
+ let previousBaseAssetSizeFilled = tradingEngineOrder.orderBaseAsset.sizeFilled.value
+ let previousQuotedAssetSizeFilled = tradingEngineOrder.orderQuotedAsset.sizeFilled.value
+ let previousBaseAssetFeesPaid = tradingEngineOrder.orderBaseAsset.feesPaid.value
+ let previousQuotedAssetFeesPaid = tradingEngineOrder.orderQuotedAsset.feesPaid.value
+
+ const ORDERS_CALCULATIONS_MODULE = require('./OrdersCalculations.js')
+ let ordersCalculationsModule = ORDERS_CALCULATIONS_MODULE.newOrdersCalculations(bot, logger)
+ ordersCalculationsModule.initialize()
+
+ await ordersCalculationsModule.actualSizeCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage)
+ await ordersCalculationsModule.actualRateCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage)
+ await ordersCalculationsModule.feesToBePaidCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage)
+ await ordersCalculationsModule.percentageFilledCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage)
+ await ordersCalculationsModule.feesPaidCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage)
+ await ordersCalculationsModule.sizeFilledCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage)
+ await ordersCalculationsModule.amountReceivedCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage)
+
+ ordersCalculationsModule.finalize()
await doTheAccounting(
tradingEngineStage,
@@ -791,155 +712,6 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
previousBaseAssetFeesPaid,
previousQuotedAssetFeesPaid
)
-
- return
-
- async function actualSizeCalculation() {
- /*
- When we submit the order to the exchange, we do it specifying the order size
- in Base Asset. The exchange might take that size or might change it a little
- bit if for example, if it does not accept as many decimals as we are sending.
- If we identify the situation in which the size accepted is different than the
- size we have accounted for, we need to make several adjustments so that the
- accounting syncronizes with reality.
- */
- if (tradingEngineOrder.orderBaseAsset.size.value === order.amount) { return }
- /*
- We will sync the Base Asset size, and recalculate the Quoted Asset size too.
- */
- tradingEngineOrder.orderBaseAsset.size.value = order.amount
- tradingEngineOrder.orderQuotedAsset.size.value = tradingEngineOrder.orderBaseAsset.size.value * tradingEngineOrder.rate.value
-
- tradingEngineOrder.orderBaseAsset.size.value = global.PRECISE(tradingEngineOrder.orderBaseAsset.size.value, 10)
- tradingEngineOrder.orderQuotedAsset.size.value = global.PRECISE(tradingEngineOrder.orderQuotedAsset.size.value, 10)
- /*
- Finaly we need to unaccount the previous size placed and correctly account
- for the the new sizes we now have.
- */
- tradingEngineStage.stageBaseAsset.sizePlaced.value =
- tradingEngineStage.stageBaseAsset.sizePlaced.value -
- previousBaseAssetSize
-
- tradingEngineStage.stageBaseAsset.sizePlaced.value =
- tradingEngineStage.stageBaseAsset.sizePlaced.value +
- tradingEngineOrder.orderBaseAsset.size.value
-
- tradingEngineStage.stageQuotedAsset.sizePlaced.value =
- tradingEngineStage.stageQuotedAsset.sizePlaced.value -
- previousQuotedAssetSize
-
- tradingEngineStage.stageQuotedAsset.sizePlaced.value =
- tradingEngineStage.stageQuotedAsset.sizePlaced.value +
- tradingEngineOrder.orderQuotedAsset.size.value
-
- tradingEngineStage.stageBaseAsset.sizePlaced.value = global.PRECISE(tradingEngineStage.stageBaseAsset.sizePlaced.value, 10)
- tradingEngineStage.stageQuotedAsset.sizePlaced.value = global.PRECISE(tradingEngineStage.stageQuotedAsset.sizePlaced.value, 10)
-
- previousBaseAssetSize = tradingEngineOrder.orderBaseAsset.size.value
- previousQuotedAssetSize = tradingEngineOrder.orderQuotedAsset.size.value
- }
-
- async function actualRateCalculation() {
- /*
- Actual Rate Calculation: Let's remember that the exchange may not take the rate
- we send it with the order (in Limit orders) and for any reason change it a little bit.
- For example we might have sent a rate with too many decimals and the exchange truncate
- them. Another thing that might happen is that we send a rate that is matching orders already
- at the order book. In this case we would get an actual rate not only different than the one
- we sent, but also, better since the trading engine inside the exchange would match out orders
- with the first orders best by price.
-
- In the case of Market Orders we don't even send a rate. For all those reason
- we get and store the Actual Rate at which the order was filled.
- */
- if (order.average !== undefined) {
- /*
- We will use the average whenever is available.
- */
- tradingEngineOrder.orderStatistics.actualRate.value = order.average
- } else {
- /*
- Otherwise we use the order.price.
- */
- tradingEngineOrder.orderStatistics.actualRate.value = order.price
- }
-
- tradingEngineOrder.orderStatistics.actualRate.value = global.PRECISE(tradingEngineOrder.orderStatistics.actualRate.value, 10)
-
- if (tradingEngineOrder.orderStatistics.actualRate.value === tradingEngineOrder.rate.value) { return }
- /*
- Now we know the Actual Rate at which the order was filled. Since the actual rate
- is not the same as the Rate we defined for the order, we need to syncronize
- the Order Size for Quoted Asset since it was calculated with the Order Size that we
- now know it is not the once really used at the exchange. We will recalculate the
- Order Size in Quoted Asset and not in Base Asset, since the Order Size in Base Asset
- is the one we sent to the exchange, so that is fixed, regardless of how we initially
- got the Order Size in Base Asset, eigher from direct imput from the user or calculated
- from the Order Size in Quoted Asset input it by the user. So here we go.
- */
- tradingEngineOrder.orderQuotedAsset.size.value = tradingEngineOrder.orderBaseAsset.size.value * tradingEngineOrder.orderStatistics.actualRate.value
- tradingEngineOrder.orderQuotedAsset.size.value = global.PRECISE(tradingEngineOrder.orderQuotedAsset.size.value, 10)
- /*
- Great, this up-to-date order size in Base Asset and the Actual Rate can now be used for example to calculate
- the orders fees in Quoted Assets, and it is perfectly accurate. The next problem
- we need to fix is that the sizePlaced for Quoted Asset that we already have calculated
- was based on the Order Rate, not the Actual Rate, so we need to fix that by anuncounting
- the previous size and accounting the new one, all this only for Quoted Asset.
- */
- tradingEngineStage.stageQuotedAsset.sizePlaced.value =
- tradingEngineStage.stageQuotedAsset.sizePlaced.value -
- previousQuotedAssetSize
-
- tradingEngineStage.stageQuotedAsset.sizePlaced.value =
- tradingEngineStage.stageQuotedAsset.sizePlaced.value +
- tradingEngineOrder.orderQuotedAsset.size.value
-
- tradingEngineStage.stageQuotedAsset.sizePlaced.value = global.PRECISE(tradingEngineStage.stageQuotedAsset.sizePlaced.value, 10)
- }
-
- async function percentageFilledCalculation() {
- /* Percentage Filled Calculation */
- tradingEngineOrder.orderStatistics.percentageFilled.value = order.filled * 100 / (order.filled + order.remaining)
- tradingEngineOrder.orderStatistics.percentageFilled.value = global.PRECISE(tradingEngineOrder.orderStatistics.percentageFilled.value, 10)
- }
-
- async function feesPaidCalculation() {
- /*
- The exchange fees are taken from the Base Asset or the Quoted Asset depending if we
- are buying or selling. Within the order information received we can not see the fees paid so we need to
- calculate them by ourselves. To do this it is needed to be used the Session Fees Parameters.
- */
- switch (tradingEngineOrder.type) {
- case 'Market Order': {
- await applyFeePercentage(tradingEngineOrder, tradingSystemOrder, sessionParameters.feeStructure.config.taker)
- break
- }
- case 'Limit Order': {
- await applyFeePercentage(tradingEngineOrder, tradingSystemOrder, sessionParameters.feeStructure.config.maker)
- break
- }
- }
- }
-
- async function sizeFilledCalculation() {
- /*
- CCXT returns order.filled with an amount denominated in Base Asset. We will
- take it from there for our Order Base Asset. The amount in order.filled does
- not account for the fees, which is exactly what we need in this case.
- */
- tradingEngineOrder.orderBaseAsset.sizeFilled.value = order.filled
- tradingEngineOrder.orderBaseAsset.sizeFilled.value = global.PRECISE(tradingEngineOrder.orderBaseAsset.sizeFilled.value, 10)
- /*
- For Quoted Asset, CCXT does not return any field with the size filled, so we
- need to calculate that by ourselves. Since we know the Size in Quoted Asset thet
- is already adjusted with the Actual Rate and the Percentage Filled, we will use all
- this in this formula to get the Size Filled in Quoted Asset.
- */
- tradingEngineOrder.orderQuotedAsset.sizeFilled.value =
- tradingEngineOrder.orderQuotedAsset.size.value * tradingEngineOrder.orderStatistics.percentageFilled.value / 100
-
- tradingEngineOrder.orderQuotedAsset.sizeFilled.value = global.PRECISE(tradingEngineOrder.orderQuotedAsset.sizeFilled.value, 10)
- }
}
async function doTheAccounting(
@@ -1003,41 +775,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
/* Balances Update */
switch (true) {
/*
- Let's remember that for Buy orders, the fees are paid in Base Asset. So we
- actually don't receive the whole Size Filled in Base Asset, but the Size
- Filled minus the Fees Paid. For the case of Quoted Asset, we actually
- need to susbstract the whole Size Filled from the balance.
- */
- case tradingSystemOrder.type === 'Market Buy Order' || tradingSystemOrder.type === 'Limit Buy Order': {
-
- /* Balance Base Asset: Undo the previous accounting */
- tradingEngine.current.episode.episodeBaseAsset.balance.value =
- tradingEngine.current.episode.episodeBaseAsset.balance.value -
- previousBaseAssetSizeFilled +
- previousBaseAssetFeesPaid
-
- /* Balance Base Asset: Account the current filling and fees */
- tradingEngine.current.episode.episodeBaseAsset.balance.value =
- tradingEngine.current.episode.episodeBaseAsset.balance.value +
- tradingEngineOrder.orderBaseAsset.sizeFilled.value -
- tradingEngineOrder.orderBaseAsset.feesPaid.value
-
- /* Balance Quoted Asset: Undo the previous accounting */
- tradingEngine.current.episode.episodeQuotedAsset.balance.value =
- tradingEngine.current.episode.episodeQuotedAsset.balance.value +
- previousQuotedAssetSizeFilled
-
- /* Balance Quoted Asset: Account the current filling and fees */
- tradingEngine.current.episode.episodeQuotedAsset.balance.value =
- tradingEngine.current.episode.episodeQuotedAsset.balance.value -
- tradingEngineOrder.orderQuotedAsset.sizeFilled.value
- break
- }
- /*
- For Sell orders, the fees are being paid in Quote Asset, so we never
- acutally receive the whole Filled Size in Quote Asset, but the Filled
- Size minus the Fees Paid. But we do expend the whole Filled Size in
- Base Asset.
+ For Sell orders, the fees are being paid in Quote Asset.
*/
case tradingSystemOrder.type === 'Market Sell Order' || tradingSystemOrder.type === 'Limit Sell Order': {
@@ -1064,6 +802,34 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
tradingEngineOrder.orderQuotedAsset.feesPaid.value
break
}
+ /*
+ Let's remember that for Buy orders, the fees are paid in Base Asset.
+ */
+ case tradingSystemOrder.type === 'Market Buy Order' || tradingSystemOrder.type === 'Limit Buy Order': {
+
+ /* Balance Base Asset: Undo the previous accounting */
+ tradingEngine.current.episode.episodeBaseAsset.balance.value =
+ tradingEngine.current.episode.episodeBaseAsset.balance.value -
+ previousBaseAssetSizeFilled +
+ previousBaseAssetFeesPaid
+
+ /* Balance Base Asset: Account the current filling and fees */
+ tradingEngine.current.episode.episodeBaseAsset.balance.value =
+ tradingEngine.current.episode.episodeBaseAsset.balance.value +
+ tradingEngineOrder.orderBaseAsset.sizeFilled.value -
+ tradingEngineOrder.orderBaseAsset.feesPaid.value
+
+ /* Balance Quoted Asset: Undo the previous accounting */
+ tradingEngine.current.episode.episodeQuotedAsset.balance.value =
+ tradingEngine.current.episode.episodeQuotedAsset.balance.value +
+ previousQuotedAssetSizeFilled
+
+ /* Balance Quoted Asset: Account the current filling and fees */
+ tradingEngine.current.episode.episodeQuotedAsset.balance.value =
+ tradingEngine.current.episode.episodeQuotedAsset.balance.value -
+ tradingEngineOrder.orderQuotedAsset.sizeFilled.value
+ break
+ }
}
tradingEngine.current.episode.episodeBaseAsset.balance.value = global.PRECISE(tradingEngine.current.episode.episodeBaseAsset.balance.value, 10)
tradingEngine.current.episode.episodeQuotedAsset.balance.value = global.PRECISE(tradingEngine.current.episode.episodeQuotedAsset.balance.value, 10)
@@ -1073,7 +839,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
function simulateCancelOrder(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, exitType) {
/* Filter by Session Type */
- switch (bot.SESSION.type) {
+ switch (bot.TRADING_SESSION.type) {
case 'Backtesting Session': {
break
}
@@ -1104,7 +870,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
async function exchangeCancelOrder(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, exitType) {
/* Filter by Session Type */
- switch (bot.SESSION.type) {
+ switch (bot.TRADING_SESSION.type) {
case 'Backtesting Session': {
return
}
@@ -1134,7 +900,12 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
let order = await exchangeAPIModule.getOrder(tradingSystemOrder, tradingEngineOrder)
if (order === undefined) {
- tradingSystem.warnings.push([tradingSystemOrder.id, 'Could not verify the status of this order at the exchange, and syncronize the accounting.'])
+ tradingSystem.warnings.push(
+ [
+ [tradingSystemOrder.id, tradingEngineOrder.id],
+ 'Could not verify the status of this order at the exchange, and syncronize the accounting.'
+ ]
+ )
return false
}
@@ -1164,15 +935,15 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
Size Placed accumulates for each asset, the order size placed at the exchange. A cancelation means that
only the part filled can be considered placed, so we need to substract from the stage size
the remainder. To achieve this with the information we currently have, we are going first
- to unaccount the order size, and the account only the sizeFilled + the feesPaid.
+ to unaccount the order actual size, and the account only the sizeFilled + the feesPaid.
*/
tradingEngineStage.stageBaseAsset.sizePlaced.value =
tradingEngineStage.stageBaseAsset.sizePlaced.value -
- tradingEngineOrder.orderBaseAsset.size.value
+ tradingEngineOrder.orderBaseAsset.actualSize.value
tradingEngineStage.stageQuotedAsset.sizePlaced.value =
tradingEngineStage.stageQuotedAsset.sizePlaced.value -
- tradingEngineOrder.orderQuotedAsset.size.value
+ tradingEngineOrder.orderQuotedAsset.actualSize.value
tradingEngineStage.stageBaseAsset.sizePlaced.value =
tradingEngineStage.stageBaseAsset.sizePlaced.value +
@@ -1186,32 +957,40 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
tradingEngineStage.stageQuotedAsset.sizePlaced.value = global.PRECISE(tradingEngineStage.stageQuotedAsset.sizePlaced.value, 10)
}
- async function applyFeePercentage(tradingEngineOrder, tradingSystemOrder, feePercentage) {
+ async function applyFeePercentage(feesNodePropertyName, tradingEngineOrder, tradingSystemOrder, feePercentage, percentageFilled) {
+ /*
+ The exchange fees are taken from the Base Asset or the Quoted Asset depending if we
+ are buying or selling.
+ */
+ let feesNode
+
switch (true) {
case tradingSystemOrder.type === 'Market Buy Order' || tradingSystemOrder.type === 'Limit Buy Order': {
/*
- In this case the fees are taken from the Base Asset you receive.
+ In this case the fees are taken from the Base Asset you receive as a result of the trade at the exchange.
*/
- tradingEngineOrder.orderBaseAsset.feesPaid.value =
- tradingEngineOrder.orderBaseAsset.size.value *
+ feesNode = tradingEngineOrder.orderBaseAsset[feesNodePropertyName]
+ feesNode.value =
+ tradingEngineOrder.orderBaseAsset.actualSize.value *
feePercentage / 100 *
- tradingEngineOrder.orderStatistics.percentageFilled.value / 100
+ percentageFilled / 100
break
}
case tradingSystemOrder.type === 'Market Sell Order' || tradingSystemOrder.type === 'Limit Sell Order': {
/*
- In this case the fees are taken from the Quoted Asset you receive.
+ In this case the fees are taken from the Quoted Asset you receive as a result of the trade at the exchange.
*/
- tradingEngineOrder.orderQuotedAsset.feesPaid.value =
- tradingEngineOrder.orderQuotedAsset.size.value *
+ feesNode = tradingEngineOrder.orderQuotedAsset[feesNodePropertyName]
+ feesNode.value =
+ tradingEngineOrder.orderQuotedAsset.actualSize.value *
feePercentage / 100 *
- tradingEngineOrder.orderStatistics.percentageFilled.value / 100
+ percentageFilled / 100
break
}
}
- tradingEngineOrder.orderBaseAsset.feesPaid.value = global.PRECISE(tradingEngineOrder.orderBaseAsset.feesPaid.value, 10)
- tradingEngineOrder.orderQuotedAsset.feesPaid.value = global.PRECISE(tradingEngineOrder.orderQuotedAsset.feesPaid.value, 10)
+ feesNode.value = global.PRECISE(feesNode.value, 10)
+ feesNode.value = global.PRECISE(feesNode.value, 10)
}
async function checkOrderEvent(event, order, executionAlgorithm, executionNode) {
diff --git a/TaskServer/LowFrequencyTrading/TradingOutput.js b/TaskServer/LowFrequencyTrading/TradingOutput.js
index 1f582d090..7cd76c81c 100644
--- a/TaskServer/LowFrequencyTrading/TradingOutput.js
+++ b/TaskServer/LowFrequencyTrading/TradingOutput.js
@@ -3,7 +3,7 @@ exports.newTradingOutput = function newTradingOutput(bot, logger, tradingEngineM
This module will load if necesary all the data outputs so that they can be appended with new
records if needed. After running the simulation, it will save all the data outputs.
*/
- const MODULE_NAME = 'Trading Bot'
+ const MODULE_NAME = 'Trading Output'
let thisObject = {
initialize: initialize,
@@ -133,7 +133,7 @@ exports.newTradingOutput = function newTradingOutput(bot, logger, tradingEngineM
if (dataset.config.type === 'Market Files') {
let fileName = 'Data.json'
- let filePath = bot.filePathRoot + '/Output/' + bot.SESSION.folderName + '/' + dataset.parentNode.config.codeName + '/' + dataset.config.codeName + '/' + timeFrameLabel
+ let filePath = bot.filePathRoot + '/Output/' + bot.TRADING_SESSION.folderName + '/' + dataset.parentNode.config.codeName + '/' + dataset.config.codeName + '/' + timeFrameLabel
await readOutputFile(fileName, filePath, dataset.parentNode.config.codeName)
}
@@ -149,7 +149,7 @@ exports.newTradingOutput = function newTradingOutput(bot, logger, tradingEngineM
let dateForPath = tradingProcessDate.getUTCFullYear() + '/' + utilities.pad(tradingProcessDate.getUTCMonth() + 1, 2) + '/' + utilities.pad(tradingProcessDate.getUTCDate(), 2);
let fileName = 'Data.json'
- let filePath = bot.filePathRoot + '/Output/' + bot.SESSION.folderName + '/' + dataset.parentNode.config.codeName + '/' + dataset.config.codeName + '/' + timeFrameLabel + "/" + dateForPath
+ let filePath = bot.filePathRoot + '/Output/' + bot.TRADING_SESSION.folderName + '/' + dataset.parentNode.config.codeName + '/' + dataset.config.codeName + '/' + timeFrameLabel + "/" + dateForPath
await readOutputFile(fileName, filePath, dataset.parentNode.config.codeName)
}
@@ -190,7 +190,7 @@ exports.newTradingOutput = function newTradingOutput(bot, logger, tradingEngineM
if (dataset.config.type === 'Market Files') {
let fileName = 'Data.json'
- let filePath = bot.filePathRoot + '/Output/' + bot.SESSION.folderName + '/' + dataset.parentNode.config.codeName + '/' + dataset.config.codeName + '/' + timeFrameLabel
+ let filePath = bot.filePathRoot + '/Output/' + bot.TRADING_SESSION.folderName + '/' + dataset.parentNode.config.codeName + '/' + dataset.config.codeName + '/' + timeFrameLabel
await writeOutputFile(fileName, filePath, dataset.parentNode.config.codeName)
}
@@ -206,7 +206,7 @@ exports.newTradingOutput = function newTradingOutput(bot, logger, tradingEngineM
let dateForPath = tradingProcessDate.getUTCFullYear() + '/' + utilities.pad(tradingProcessDate.getUTCMonth() + 1, 2) + '/' + utilities.pad(tradingProcessDate.getUTCDate(), 2);
let fileName = 'Data.json'
- let filePath = bot.filePathRoot + '/Output/' + bot.SESSION.folderName + '/' + dataset.parentNode.config.codeName + '/' + dataset.config.codeName + '/' + timeFrameLabel + "/" + dateForPath
+ let filePath = bot.filePathRoot + '/Output/' + bot.TRADING_SESSION.folderName + '/' + dataset.parentNode.config.codeName + '/' + dataset.config.codeName + '/' + timeFrameLabel + "/" + dateForPath
await writeOutputFile(fileName, filePath, dataset.parentNode.config.codeName)
}
diff --git a/TaskServer/LowFrequencyTrading/TradingPosition.js b/TaskServer/LowFrequencyTrading/TradingPosition.js
index bad18fabf..8c606d203 100644
--- a/TaskServer/LowFrequencyTrading/TradingPosition.js
+++ b/TaskServer/LowFrequencyTrading/TradingPosition.js
@@ -31,7 +31,7 @@ exports.newTradingPosition = function newTradingPosition(bot, logger, tradingEng
function initialize() {
tradingSystem = bot.simulationState.tradingSystem
tradingEngine = bot.simulationState.tradingEngine
- sessionParameters = bot.SESSION.parameters
+ sessionParameters = bot.TRADING_SESSION.tradingParameters
}
function finalize() {
@@ -51,11 +51,14 @@ exports.newTradingPosition = function newTradingPosition(bot, logger, tradingEng
function openPosition(situationName) {
+ /* Starting begin and end */
+ tradingEngine.current.position.begin.value = tradingEngine.current.episode.cycle.lastBegin.value
+ tradingEngine.current.position.end.value = tradingEngine.current.episode.cycle.lastEnd.value
+
/* Recording the opening at the Trading Engine Data Structure */
tradingEngine.current.position.status.value = 'Open'
tradingEngine.current.position.serialNumber.value = tradingEngine.current.episode.episodeCounters.positions.value + 1
tradingEngine.current.position.identifier.value = global.UNIQUE_ID()
- tradingEngine.current.position.begin.value = tradingEngine.current.episode.candle.end.value
tradingEngine.current.position.beginRate.value = tradingEngine.current.episode.candle.close.value
tradingEngine.current.position.positionBaseAsset.beginBalance.value = tradingEngine.current.episode.episodeBaseAsset.balance.value
tradingEngine.current.position.positionQuotedAsset.beginBalance.value = tradingEngine.current.episode.episodeQuotedAsset.balance.value
@@ -79,11 +82,20 @@ exports.newTradingPosition = function newTradingPosition(bot, logger, tradingEng
function closingPosition(exitType) {
tradingEngine.current.position.status.value = 'Closing'
tradingEngine.current.position.exitType.value = exitType
+
+ /*
+ By the time we figured out that the stop loss or take profit were hit, or
+ for whatever reason the position needs to be closed, the take profit and
+ stop loss values for the next candle have already been calculated. In order
+ to avoid being plotted, we will put them in zero.
+ */
+ tradingEngine.current.position.stopLoss.value = 0
+ tradingEngine.current.position.takeProfit.value = 0
}
function closePosition() {
tradingEngine.current.position.status.value = 'Closed'
- tradingEngine.current.position.end.value = tradingEngine.current.episode.candle.end.value
+ tradingEngine.current.position.end.value = tradingEngine.current.episode.cycle.lastEnd.value
tradingEngine.current.position.endRate.value = tradingEngine.current.episode.candle.close.value
tradingEngine.current.position.positionBaseAsset.endBalance.value = tradingEngine.current.episode.episodeBaseAsset.balance.value
tradingEngine.current.position.positionQuotedAsset.endBalance.value = tradingEngine.current.episode.episodeQuotedAsset.balance.value
@@ -94,28 +106,68 @@ exports.newTradingPosition = function newTradingPosition(bot, logger, tradingEng
tradingEngineModule.cloneValues(tradingEngine.current.position, tradingEngine.last.position)
cycleBasedStatistics()
-
+
/* Updating Hits & Fails */
if (tradingEngine.current.position.positionBaseAsset.profitLoss.value > 0) {
tradingEngine.current.episode.episodeBaseAsset.hits.value++
- }
+ }
if (tradingEngine.current.position.positionBaseAsset.profitLoss.value < 0) {
tradingEngine.current.episode.episodeBaseAsset.fails.value++
}
if (tradingEngine.current.position.positionQuotedAsset.profitLoss.value > 0) {
tradingEngine.current.episode.episodeQuotedAsset.hits.value++
- }
+ }
if (tradingEngine.current.position.positionQuotedAsset.profitLoss.value < 0) {
tradingEngine.current.episode.episodeQuotedAsset.fails.value++
}
}
function applyStopLossFormula(formulas, formulaId) {
+ updateStopLossTakeProfitFinalValue(tradingEngine.current.position.stopLoss)
tradingEngine.current.position.stopLoss.value = formulas.get(formulaId)
+ updateStopLossTakeProfitInitialValue(tradingEngine.current.position.stopLoss)
+ updateStopLossTakeProfitBeginEnd(tradingEngine.current.position.stopLoss)
}
function applyTakeProfitFormula(formulas, formulaId) {
+ updateStopLossTakeProfitFinalValue(tradingEngine.current.position.takeProfit)
tradingEngine.current.position.takeProfit.value = formulas.get(formulaId)
+ updateStopLossTakeProfitInitialValue(tradingEngine.current.position.takeProfit)
+ updateStopLossTakeProfitBeginEnd(tradingEngine.current.position.takeProfit)
+ }
+
+ function updateStopLossTakeProfitInitialValue(node) {
+ /*
+ We store the first Stop Loss or Take Profit value in a separate node.
+ To know if it is the first one we compare its current value to the initial value.
+ */
+ if (node.initialValue.value === node.initialValue.config.initialValue) {
+ node.initialValue.value = node.value
+ }
+ }
+
+ function updateStopLossTakeProfitFinalValue(node) {
+ /*
+ We set the final value just before calcualting the new value, since the new calculated
+ value is going to be discarded if the position is closed after it is calculated, but
+ during the same candle.
+ */
+ node.finalValue.value = node.value
+ }
+
+ function updateStopLossTakeProfitBeginEnd(node) {
+ /*
+ Both the Stop Loss and the Take Profit have their own Begin and End.
+ Ther reason for this is because they represent targets to be checked
+ at the next candle, so it does not apply that they share the begin and
+ end of the position itself.
+ */
+ node.begin.value =
+ tradingEngine.current.episode.candle.begin.value +
+ sessionParameters.timeFrame.config.value
+ node.end.value =
+ tradingEngine.current.episode.candle.end.value +
+ sessionParameters.timeFrame.config.value
}
function updateStopLoss(phase) {
@@ -253,7 +305,7 @@ exports.newTradingPosition = function newTradingPosition(bot, logger, tradingEng
function updateEnds() {
if (tradingEngine.current.position.status.value === 'Open') {
- tradingEngine.current.position.end.value = tradingEngine.current.episode.candle.end.value
+ tradingEngine.current.position.end.value = tradingEngine.current.position.end.value + sessionParameters.timeFrame.config.value
tradingEngine.current.position.endRate.value = tradingEngine.current.episode.candle.close.value
tradingEngine.current.position.positionBaseAsset.endBalance.value = tradingEngine.current.episode.episodeBaseAsset.balance.value
tradingEngine.current.position.positionQuotedAsset.endBalance.value = tradingEngine.current.episode.episodeQuotedAsset.balance.value
@@ -305,7 +357,7 @@ exports.newTradingPosition = function newTradingPosition(bot, logger, tradingEng
/* Hit Fail Calculation */
if (tradingEngine.current.position.positionBaseAsset.ROI.value > 0) {
tradingEngine.current.position.positionBaseAsset.hitFail.value = 'Hit'
- }
+ }
if (tradingEngine.current.position.positionBaseAsset.ROI.value < 0) {
tradingEngine.current.position.positionBaseAsset.hitFail.value = 'Fail'
}
@@ -314,7 +366,7 @@ exports.newTradingPosition = function newTradingPosition(bot, logger, tradingEng
}
if (tradingEngine.current.position.positionQuotedAsset.ROI.value > 0) {
tradingEngine.current.position.positionQuotedAsset.hitFail.value = 'Hit'
- }
+ }
if (tradingEngine.current.position.positionQuotedAsset.ROI.value < 0) {
tradingEngine.current.position.positionQuotedAsset.hitFail.value = 'Fail'
}
@@ -348,7 +400,7 @@ exports.newTradingPosition = function newTradingPosition(bot, logger, tradingEng
/* Hit Fail Calculation */
if (tradingEngine.current.position.positionStatistics.ROI.value > 0) {
tradingEngine.current.position.positionStatistics.hitFail.value = 'Hit'
- }
+ }
if (tradingEngine.current.position.positionStatistics.ROI.value < 0) {
tradingEngine.current.position.positionStatistics.hitFail.value = 'Fail'
}
diff --git a/TaskServer/LowFrequencyTrading/TradingProcess.js b/TaskServer/LowFrequencyTrading/TradingProcess.js
index bddb9883a..1032c04ea 100644
--- a/TaskServer/LowFrequencyTrading/TradingProcess.js
+++ b/TaskServer/LowFrequencyTrading/TradingProcess.js
@@ -103,7 +103,7 @@
This variable tell us which day we are standing at, specially while working
with Daily Files. From this Date is that we are going to load the Daily Files.
*/
- bot.simulationState.tradingEngine.current.episode.processDate.value = global.REMOVE_TIME(bot.SESSION.parameters.timeRange.config.initialDatetime).valueOf()
+ bot.simulationState.tradingEngine.current.episode.processDate.value = global.REMOVE_TIME(bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime).valueOf()
}
/*
@@ -119,7 +119,7 @@
await processSingleFiles()
if (await processMarketFiles() === false) {
- bot.sessionHeartBeat(undefined, undefined, 'Waiting for Data Mining to be run')
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Waiting for Data Mining to be run')
callBackFunction(global.DEFAULT_RETRY_RESPONSE)
return
}
@@ -141,17 +141,17 @@
With all the indicators data files loaded, we will build the chart object
data structure that will be used in user-defied conditions and formulas.
*/
- bot.sessionHeartBeat(undefined, undefined, 'Waking up')
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Waking up')
buildCharts(chart)
if (checkThereAreCandles(chart) === true) {
- bot.sessionHeartBeat(undefined, undefined, 'Running')
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Running')
await generateOutput(chart)
- bot.sessionHeartBeat(undefined, undefined, 'Saving')
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Saving')
await writeProcessFiles()
- bot.sessionHeartBeat(undefined, undefined, 'Sleeping')
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Sleeping')
} else {
- bot.sessionHeartBeat(undefined, undefined, 'Waiting for Data Mining to be up to date')
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Waiting for Data Mining to be up to date. No candles found at.')
callBackFunction(global.DEFAULT_RETRY_RESPONSE)
return
}
@@ -159,7 +159,7 @@
} else {
/* We are processing Daily Files */
do {
- global.EMIT_SESSION_STATUS(bot.SESSION_STATUS, bot.sessionKey)
+ global.EMIT_SESSION_STATUS(bot.TRADING_SESSION_STATUS, bot.TRADING_SESSIONKey)
/*
We update the Trading Process Date with the date calculated at the simulation.
We will use this date to load indicator and output files. After that we will
@@ -171,9 +171,9 @@
if (checkStopTaskGracefully() === false) { break }
if (checkStopProcessing() === false) { break }
- bot.sessionHeartBeat(undefined, undefined, 'Waking up')
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Waking up')
if (await processDailyFiles() === false) {
- bot.sessionHeartBeat(undefined, undefined, 'Waiting for Data Mining to be run')
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Waiting for Data Mining to be run')
callBackFunction(global.DEFAULT_RETRY_RESPONSE)
return
}
@@ -186,13 +186,13 @@
The process of generating the output includes the trading simulation.
*/
if (checkThereAreCandles(chart) === true) {
- bot.sessionHeartBeat(undefined, undefined, 'Running')
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Running')
await generateOutput(chart)
- bot.sessionHeartBeat(undefined, undefined, 'Saving')
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Saving')
await writeProcessFiles()
- bot.sessionHeartBeat(undefined, undefined, 'Sleeping')
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Sleeping')
} else {
- bot.sessionHeartBeat(undefined, undefined, 'Waiting for Data Mining to be up to date')
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Waiting for Data Mining to be up to date')
callBackFunction(global.DEFAULT_RETRY_RESPONSE)
return
}
@@ -219,7 +219,7 @@
callBackFunction(global.DEFAULT_OK_RESPONSE)
function checkThereAreCandles(chart) {
- let sessionParameters = bot.SESSION.parameters
+ let sessionParameters = bot.TRADING_SESSION.tradingParameters
let propertyName = 'at' + sessionParameters.timeFrame.config.label.replace('-', '')
let candles = chart[propertyName].candles
@@ -236,7 +236,7 @@
let statusReport;
/* We are going to use the start date as beging of market date. */
- contextVariables.dateBeginOfMarket = global.REMOVE_TIME(bot.SESSION.parameters.timeRange.config.initialDatetime)
+ contextVariables.dateBeginOfMarket = global.REMOVE_TIME(bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime)
/*
Here we get the status report from the bot who knows which is the end of the market.
*/
@@ -371,7 +371,7 @@
dataFiles = new Map();
- if (bot.SESSION.parameters.timeFrame.config.label === timeFrameLabel) {
+ if (bot.TRADING_SESSION.tradingParameters.timeFrame.config.label === timeFrameLabel) {
currentTimeFrame = global.marketFilesPeriods[n][0];
currentTimeFrameLabel = global.marketFilesPeriods[n][1];
}
@@ -384,7 +384,7 @@
}
if (dataDependenciesModule.isItADepenency(timeFrameLabel, datasetModule.node.parentNode.config.singularVariableName) !== true) {
- if (!(bot.SESSION.parameters.timeFrame.config.label === timeFrameLabel && datasetModule.node.parentNode.config.pluralVariableName === 'candles')) {
+ if (!(bot.TRADING_SESSION.tradingParameters.timeFrame.config.label === timeFrameLabel && datasetModule.node.parentNode.config.pluralVariableName === 'candles')) {
continue
}
}
@@ -431,8 +431,8 @@
let dataRecord = dataFile[i]
let begin = dataRecord[beginIndex]
let end = dataRecord[endIndex]
- if (end + timeFrame < bot.SESSION.parameters.timeRange.config.initialDatetime - 1) { continue } // /1 because we need the previous closed element
- if (begin > bot.SESSION.parameters.timeRange.config.finalDatetime) { continue }
+ if (end + timeFrame < bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime - 1) { continue } // /1 because we need the previous closed element
+ if (begin > bot.TRADING_SESSION.tradingParameters.timeRange.config.finalDatetime) { continue }
result.push(dataRecord)
}
return result
@@ -468,7 +468,7 @@
}
}
- if (bot.SESSION.parameters.timeFrame.config.label === timeFrameLabel) {
+ if (bot.TRADING_SESSION.tradingParameters.timeFrame.config.label === timeFrameLabel) {
currentTimeFrame = global.dailyFilePeriods[n][0];
currentTimeFrameLabel = global.dailyFilePeriods[n][1];
}
@@ -488,7 +488,7 @@
}
if (dataDependenciesModule.isItADepenency(timeFrameLabel, datasetModule.node.parentNode.config.singularVariableName) !== true) {
- if (!(bot.SESSION.parameters.timeFrame.config.label === timeFrameLabel && datasetModule.node.parentNode.config.pluralVariableName === 'candles')) {
+ if (!(bot.TRADING_SESSION.tradingParameters.timeFrame.config.label === timeFrameLabel && datasetModule.node.parentNode.config.pluralVariableName === 'candles')) {
continue
}
}
@@ -653,7 +653,7 @@
let fileContent = JSON.stringify(dataRange);
let fileName = '/Data.Range.json';
- let filePath = bot.filePathRoot + "/Output/" + bot.SESSION.folderName + "/" + productCodeName + "/" + 'Multi-Period-Daily' + fileName;
+ let filePath = bot.filePathRoot + "/Output/" + bot.TRADING_SESSION.folderName + "/" + productCodeName + "/" + 'Multi-Period-Daily' + fileName;
let response = await fileStorage.asyncCreateTextFile(filePath, fileContent + '\n')
@@ -692,7 +692,7 @@
let fileContent = JSON.stringify(timeFramesArray)
let fileName = '/Time.Frames.json';
- let filePath = bot.filePathRoot + "/Output/" + bot.SESSION.folderName + "/" + productCodeName + "/" + processType + fileName;
+ let filePath = bot.filePathRoot + "/Output/" + bot.TRADING_SESSION.folderName + "/" + productCodeName + "/" + processType + fileName;
let response = await fileStorage.asyncCreateTextFile(filePath, fileContent + '\n')
if (response.err.result !== global.DEFAULT_OK_RESPONSE.result) {
@@ -728,12 +728,12 @@
function checkIfSessionMustStop() {
- if (bot.SESSION.type === 'Backtesting Session') {
+ if (bot.TRADING_SESSION.type === 'Backtesting Session') {
/*
Backtests needs only one execution of this process to complete.
*/
if (FULL_LOG === true) { logger.write(MODULE_NAME, '[IMPORTANT] checkIfSessionMustStop -> Backtesting Session Finished. Stopping the Session now. ') }
- bot.SESSION.stop('Backtesting Session Finished.')
+ bot.TRADING_SESSION.stop('Backtesting Session Finished.')
}
}
}
diff --git a/TaskServer/LowFrequencyTrading/TradingRecords.js b/TaskServer/LowFrequencyTrading/TradingRecords.js
index f3de8553c..8777fc2b6 100644
--- a/TaskServer/LowFrequencyTrading/TradingRecords.js
+++ b/TaskServer/LowFrequencyTrading/TradingRecords.js
@@ -20,7 +20,7 @@ exports.newTradingRecords = function newTradingRecords(bot, logger) {
function initialize(pOutputDatasetsMap) {
tradingEngine = bot.simulationState.tradingEngine
tradingSystem = bot.simulationState.tradingSystem
- sessionParameters = bot.SESSION.parameters
+ sessionParameters = bot.TRADING_SESSION.tradingParameters
outputDatasetsMap = pOutputDatasetsMap // These are the files turned into arrays, stored in a Map by Product codeName.
}
@@ -143,16 +143,19 @@ exports.newTradingRecords = function newTradingRecords(bot, logger) {
the Root Node specifically for this property only.
*/
if (recordProperty.config.nodePath !== undefined) {
+ if (recordProperty.config.nodePath === "tradingEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderBaseAsset") {
+ let a = tradingEngine
+ }
try {
propertyRootNode = eval(recordProperty.config.nodePath)
} catch (err) {
- badDefinitionUnhandledException(err, 'Error Evaluation Record Property nodePath -> nodePath = ' + recordProperty.config.nodePath, product, recordProperty)
+ badDefinitionUnhandledException(err, 'Error Evaluating Record Property nodePath -> nodePath = ' + recordProperty.config.nodePath, product, recordProperty)
}
}
/*
The Target Node is the node from where we are going to exctract the value.
We will use the codeName of the Record Property to match it with
- the any of the properties of the Root Node to get the Target Node.
+ any of the properties of the Root Node to get the Target Node.
*/
let targetNode
try {
@@ -284,8 +287,31 @@ exports.newTradingRecords = function newTradingRecords(bot, logger) {
}
}
} else {
- /* When we are not dealing with objects, we add every record to the existing file. */
- outputDatasetArray.push(record)
+ /*
+ When we are not dealing with objects, we add every record to the existing file except
+ for the ones that are filtered out at the Product Definition.
+ */
+ if (product.config.codeName === "Trading-System-Errors") {
+ let a = 1
+ }
+ if (product.config.propertyNameThatDefinesStatus !== undefined && product.config.propertyValueThatPreventsSavingObject !== undefined) {
+ for (let j = 0; j < product.record.properties.length; j++) {
+ let recordProperty = product.record.properties[j]
+ if (recordProperty.config.codeName === product.config.propertyNameThatDefinesStatus) {
+ let propertyValue = record[j]
+
+ if (product.config.propertyValueThatPreventsSavingObject === "->Empty Array->" && propertyValue.length === 0) {
+ break
+ }
+ if (propertyValue !== product.config.propertyValueThatPreventsSavingObject) {
+ outputDatasetArray.push(record)
+ }
+ break
+ }
+ }
+ } else {
+ outputDatasetArray.push(record)
+ }
}
}
diff --git a/TaskServer/LowFrequencyTrading/TradingSimulation.js b/TaskServer/LowFrequencyTrading/TradingSimulation.js
index 186f2872e..3c262e76a 100644
--- a/TaskServer/LowFrequencyTrading/TradingSimulation.js
+++ b/TaskServer/LowFrequencyTrading/TradingSimulation.js
@@ -4,7 +4,7 @@ exports.newTradingSimulation = function newTradingSimulation(bot, logger, tradin
the execution at each loop cycle of the Trading System Protocol.
*/
const FULL_LOG = true
- const MODULE_NAME = 'Trading Simulation -> ' + bot.SESSION.name
+ const MODULE_NAME = 'Trading Simulation -> ' + bot.TRADING_SESSION.name
let thisObject = {
finalize: finalize,
@@ -28,7 +28,7 @@ exports.newTradingSimulation = function newTradingSimulation(bot, logger, tradin
let tradingSystem = bot.simulationState.tradingSystem
let tradingEngine = bot.simulationState.tradingEngine
- let sessionParameters = bot.SESSION.parameters
+ let sessionParameters = bot.TRADING_SESSION.tradingParameters
if (FULL_LOG === true) { logger.write(MODULE_NAME, '[INFO] runSimulation -> initialDatetime = ' + sessionParameters.timeRange.config.initialDatetime) }
if (FULL_LOG === true) { logger.write(MODULE_NAME, '[INFO] runSimulation -> finalDatetime = ' + sessionParameters.timeRange.config.finalDatetime) }
@@ -53,7 +53,6 @@ exports.newTradingSimulation = function newTradingSimulation(bot, logger, tradin
/* Variables needed for heartbeat functionality */
let heartBeatDate
let previousHeartBeatDate
- let firstLoopExecution = true
/*
Estimation of the Initial Candle to Process in this Run.
*/
@@ -72,8 +71,8 @@ exports.newTradingSimulation = function newTradingSimulation(bot, logger, tradin
This will happen when the sessionParameters.timeRange.config.initialDatetime is beyond the last candle available,
meaning that the dataSet needs to be updated with more up-to-date data.
*/
- bot.SESSION.stop('Data is not up-to-date enough. Please start the Masters Data Mining Operation.')
- if (FULL_LOG === true) { logger.write(MODULE_NAME, '[IMPORTANT] runSimulation -> Data is not up-to-date enough. Stopping the Session now. ' ) }
+ bot.TRADING_SESSION.stop('Data is not up-to-date enough. Please start the Masters Data Mining Operation.')
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, '[IMPORTANT] runSimulation -> Data is not up-to-date enough. Stopping the Session now. ') }
return
}
} else {
@@ -107,7 +106,7 @@ exports.newTradingSimulation = function newTradingSimulation(bot, logger, tradin
tradingEngine.current.episode.candle.index.value = i
/* This is the current candle the Simulation is working at. */
- let candle = candles[tradingEngine.current.episode.candle.index.value]
+ let candle = candles[tradingEngine.current.episode.candle.index.value]
if (FULL_LOG === true) { logger.write(MODULE_NAME, '[INFO] runSimulation -> loop -> Candle Begin @ ' + (new Date(candle.begin)).toLocaleString()) }
if (FULL_LOG === true) { logger.write(MODULE_NAME, '[INFO] runSimulation -> loop -> Candle End @ ' + (new Date(candle.end)).toLocaleString()) }
@@ -117,10 +116,8 @@ exports.newTradingSimulation = function newTradingSimulation(bot, logger, tradin
/* We emit a heart beat so that the UI can now where we are at the overal process.*/
heartBeat()
- if (firstLoopExecution === true) {
- tradingEpisodeModule.openEpisode()
- firstLoopExecution = false
- }
+ /* Opening the Episode, if needed. */
+ tradingEpisodeModule.openEpisode()
if (checkInitialDatetime() === false) {
if (FULL_LOG === true) { logger.write(MODULE_NAME, '[INFO] runSimulation -> loop -> Candle Before the Initia Date Time @ ' + (new Date(candle.begin)).toLocaleString()) }
@@ -213,16 +210,16 @@ exports.newTradingSimulation = function newTradingSimulation(bot, logger, tradin
if (checkFinalDatetime() === false) {
closeEpisode('Final Datetime Reached')
breakLoop = true
- bot.SESSION.stop('Final Datetime Reached')
- if (FULL_LOG === true) { logger.write(MODULE_NAME, '[IMPORTANT] runSimulation -> Final Datetime Reached. Stopping the Session now. ' ) }
+ bot.TRADING_SESSION.stop('Final Datetime Reached')
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, '[IMPORTANT] runSimulation -> Final Datetime Reached. Stopping the Session now. ') }
return
}
if (checkMinimunAndMaximunBalance() === false) {
closeEpisode('Min or Max Balance Reached')
breakLoop = true
- bot.SESSION.stop('Min or Max Balance Reached')
- if (FULL_LOG === true) { logger.write(MODULE_NAME, '[IMPORTANT] runSimulation -> Min or Max Balance Reached. Stopping the Session now. ' ) }
+ bot.TRADING_SESSION.stop('Min or Max Balance Reached')
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, '[IMPORTANT] runSimulation -> Min or Max Balance Reached. Stopping the Session now. ') }
return
}
}
@@ -279,7 +276,7 @@ exports.newTradingSimulation = function newTradingSimulation(bot, logger, tradin
let processingDate = heartBeatDate.getUTCFullYear() + '-' + utilities.pad(heartBeatDate.getUTCMonth() + 1, 2) + '-' + utilities.pad(heartBeatDate.getUTCDate(), 2)
- if (FULL_LOG === true) { logger.write(MODULE_NAME, '[INFO] runSimulation -> loop -> Simulation ' + bot.sessionKey + ' Loop # ' + tradingEngine.current.episode.candle.index.value + ' @ ' + processingDate) }
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, '[INFO] runSimulation -> loop -> Simulation ' + bot.TRADING_SESSIONKey + ' Loop # ' + tradingEngine.current.episode.candle.index.value + ' @ ' + processingDate) }
/* Logging to console and disk */
if (global.areEqualDates(currentDate, new Date()) === false) {
@@ -287,23 +284,23 @@ exports.newTradingSimulation = function newTradingSimulation(bot, logger, tradin
}
/* Date only hearbeat */
- if (sessionParameters.heartbeats.config.date === true && sessionParameters.heartbeats.config.candleIndex === false) {
+ if (sessionParameters.heartbeats.config.date === true && sessionParameters.heartbeats.config.candleIndex === false) {
hartbeatText = hartbeatText + currentDateString
bot.processHeartBeat(hartbeatText, percentage)
return
}
}
-
+
/*
When the Candle Index nees to be shown, then we can not send the hearbet
only when the dates changes, we have to send it for every candle.
It might also contain the date information.
*/
- if (sessionParameters.heartbeats.config.candleIndex === true ) {
- if (sessionParameters.heartbeats.config.date === true ) {
+ if (sessionParameters.heartbeats.config.candleIndex === true) {
+ if (sessionParameters.heartbeats.config.date === true) {
hartbeatText = hartbeatText + currentDateString
}
- hartbeatText = hartbeatText + ' Candle # ' + tradingEngine.current.episode.candle.index.value
+ hartbeatText = hartbeatText + ' Candle # ' + tradingEngine.current.episode.candle.index.value
bot.processHeartBeat(hartbeatText, percentage)
}
}
@@ -420,7 +417,7 @@ exports.newTradingSimulation = function newTradingSimulation(bot, logger, tradin
The second +1 is because we need to compare the next candle (remember that the loops allways avoid the
last candle of the dataset available.)
*/
- if (tradingEngine.current.episode.candle.index.value + 1 + 1 === candles.length ) {
+ if (tradingEngine.current.episode.candle.index.value + 1 + 1 === candles.length) {
/*
When processing daily files, we need a mechanism to turn from one day to the next one.
That mechanism is the one implemented here. If we detect that the next candle is the last candle of
diff --git a/TaskServer/LowFrequencyTrading/TradingStages.js b/TaskServer/LowFrequencyTrading/TradingStages.js
index b3465bf18..c62fd4b4c 100644
--- a/TaskServer/LowFrequencyTrading/TradingStages.js
+++ b/TaskServer/LowFrequencyTrading/TradingStages.js
@@ -47,7 +47,7 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
function initialize() {
tradingSystem = bot.simulationState.tradingSystem
tradingEngine = bot.simulationState.tradingEngine
- sessionParameters = bot.SESSION.parameters
+ sessionParameters = bot.TRADING_SESSION.tradingParameters
tradingStrategyModule.initialize()
tradingPositionModule.initialize()
@@ -160,7 +160,7 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
announcementsModule.makeAnnoucements(triggerStage.triggerOn)
announcementsModule.makeAnnoucements(triggerStage)
- if (bot.SESSION.type === 'Backtesting Session') {
+ if (bot.TRADING_SESSION.type === 'Backtesting Session') {
if (sessionParameters.snapshots !== undefined) {
if (sessionParameters.snapshots.config.strategy === true) {
snapshotsModule.strategyEntry()
@@ -245,7 +245,7 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
announcementsModule.makeAnnoucements(triggerStage.takePosition)
announcementsModule.makeAnnoucements(strategy.openStage)
- if (bot.SESSION.type === 'Backtesting Session') {
+ if (bot.TRADING_SESSION.type === 'Backtesting Session') {
if (sessionParameters.snapshots !== undefined) {
if (sessionParameters.snapshots.config.position === true) {
snapshotsModule.positionEntry()
@@ -393,6 +393,8 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
function runManageStage() {
+ if (tradingEngine.current.episode.cycle.value !== 'First') { return }
+
runWhenStatusIsOpening()
runWhenStatusIsOpen()
@@ -428,144 +430,110 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
/* Checking if Stop or Take Profit were hit */
checkStopLossOrTakeProfitWasHit()
}
- }
- function calculateStopLoss() {
- let strategy = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value]
- let manageStage = strategy.manageStage
- let phase
+ function calculateStopLoss() {
+ let strategy = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value]
+ let manageStage = strategy.manageStage
+ let phase
- if (manageStage !== undefined) {
- if (manageStage.managedStopLoss !== undefined) {
- phase = manageStage.managedStopLoss.phases[tradingEngine.current.position.stopLoss.stopLossPhase.value - 1]
- }
- }
-
- if (phase !== undefined) {
- if (phase.formula !== undefined) {
- let previousValue = tradingEngine.current.position.stopLoss.value
- tradingPositionModule.applyStopLossFormula(tradingSystem.formulas, phase.formula.id)
-
- if (tradingEngine.current.position.stopLoss.value !== previousValue) {
- announcementsModule.makeAnnoucements(phase)
+ if (manageStage !== undefined) {
+ if (manageStage.managedStopLoss !== undefined) {
+ phase = manageStage.managedStopLoss.phases[tradingEngine.current.position.stopLoss.stopLossPhase.value - 1]
}
}
- }
- }
- function calculateTakeProfit() {
- let strategy = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value]
- let manageStage = strategy.manageStage
- let phase
+ if (phase !== undefined) {
+ if (phase.formula !== undefined) {
+ let previousValue = tradingEngine.current.position.stopLoss.value
+ tradingPositionModule.applyStopLossFormula(tradingSystem.formulas, phase.formula.id)
- if (manageStage !== undefined) {
- if (manageStage.managedTakeProfit !== undefined) {
- phase = manageStage.managedTakeProfit.phases[tradingEngine.current.position.takeProfit.takeProfitPhase.value - 1]
- }
- }
-
- if (phase !== undefined) {
- if (phase.formula !== undefined) {
- let previousValue = tradingEngine.current.position.takeProfit.value
- tradingPositionModule.applyTakeProfitFormula(tradingSystem.formulas, phase.formula.id)
-
- if (tradingEngine.current.position.takeProfit.value !== previousValue) {
- announcementsModule.makeAnnoucements(phase)
- }
- }
- }
- }
-
- function calculateStopLossPosition() {
- /*
- The position of the Stop Loss (above or below the price) is needed in order to know
- later if the price hit the Stop Loss or not at every Simulation candle. When we get
- the first values of the simulation of the Stop Loss we check if it is above or below
- the Position Rate, and we assign the values Above or Below to it.
- */
- if (tradingEngine.current.position.stopLoss.stopLossPosition.value === tradingEngine.current.position.stopLoss.stopLossPosition.config.initialValue) {
- if (tradingEngine.current.position.stopLoss.value > tradingEngine.current.position.entryTargetRate.value) {
- tradingEngine.current.position.stopLoss.stopLossPosition.value = 'Above'
- } else {
- tradingEngine.current.position.stopLoss.stopLossPosition.value = 'Below'
- }
- }
- }
-
- function calculateTakeProfitPosition() {
- /*
- The position of the Take Profit (above or below the price) is needed in order to know
- later if the price hit the Take Profit or not at every Simulation candle. When we get
- the first values of the simulation of the Take Profits we check if it is above or below
- the Position Rates, and we assign the values Above or Below to it.
- */
- if (tradingEngine.current.position.takeProfit.takeProfitPosition.value === tradingEngine.current.position.takeProfit.takeProfitPosition.config.initialValue) {
- if (tradingEngine.current.position.takeProfit.value > tradingEngine.current.position.entryTargetRate.value) {
- tradingEngine.current.position.takeProfit.takeProfitPosition.value = 'Above'
- } else {
- tradingEngine.current.position.takeProfit.takeProfitPosition.value = 'Below'
- }
- }
- }
-
- function checkStopPhasesEvents() {
- let strategy = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value]
- let manageStage = strategy.manageStage
- let parentNode
- let phaseIndex
- let phase
- let stopLoss
-
- if (manageStage !== undefined) {
- if (manageStage.managedStopLoss !== undefined) {
- parentNode = manageStage
- phaseIndex = tradingEngine.current.position.stopLoss.stopLossPhase.value - 1
- stopLoss = manageStage.managedStopLoss
- phase = stopLoss.phases[phaseIndex]
- }
- }
-
- if (parentNode !== undefined) {
- if (phase === undefined) { return } // trying to jump to a phase that does not exists.
-
- /* Check the next Phase Event. */
- let nextPhaseEvent = phase.nextPhaseEvent
- if (nextPhaseEvent !== undefined) {
- for (let k = 0; k < nextPhaseEvent.situations.length; k++) {
- let situation = nextPhaseEvent.situations[k]
- let passed
- if (situation.conditions.length > 0) {
- passed = true
- }
-
- passed = tradingSystem.checkConditions(situation, passed)
-
- tradingSystem.values.push([situation.id, passed])
- if (passed) {
- tradingSystem.highlights.push(situation.id)
- tradingSystem.highlights.push(nextPhaseEvent.id)
- tradingSystem.highlights.push(phase.id)
- tradingSystem.highlights.push(stopLoss.id)
- tradingSystem.highlights.push(parentNode.id)
- tradingSystem.highlights.push(manageStage.id)
-
- tradingPositionModule.updateStopLoss(tradingEngine.current.position.stopLoss.stopLossPhase.value + 1)
-
- announcementsModule.makeAnnoucements(nextPhaseEvent)
-
- /* Reset this counter */
- tradingEngine.current.episode.distanceToEvent.nextPhase.value = 1
- return // only one event can pass at the time
+ if (tradingEngine.current.position.stopLoss.value !== previousValue) {
+ announcementsModule.makeAnnoucements(phase)
}
}
}
+ }
- /* Check the Move to Phase Events. */
- for (let n = 0; n < phase.moveToPhaseEvents.length; n++) {
- let moveToPhaseEvent = phase.moveToPhaseEvents[n]
- if (moveToPhaseEvent !== undefined) {
- for (let k = 0; k < moveToPhaseEvent.situations.length; k++) {
- let situation = moveToPhaseEvent.situations[k]
+ function calculateTakeProfit() {
+ let strategy = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value]
+ let manageStage = strategy.manageStage
+ let phase
+
+ if (manageStage !== undefined) {
+ if (manageStage.managedTakeProfit !== undefined) {
+ phase = manageStage.managedTakeProfit.phases[tradingEngine.current.position.takeProfit.takeProfitPhase.value - 1]
+ }
+ }
+
+ if (phase !== undefined) {
+ if (phase.formula !== undefined) {
+ let previousValue = tradingEngine.current.position.takeProfit.value
+ tradingPositionModule.applyTakeProfitFormula(tradingSystem.formulas, phase.formula.id)
+
+ if (tradingEngine.current.position.takeProfit.value !== previousValue) {
+ announcementsModule.makeAnnoucements(phase)
+ }
+ }
+ }
+ }
+
+ function calculateStopLossPosition() {
+ /*
+ The position of the Stop Loss (above or below the price) is needed in order to know
+ later if the price hit the Stop Loss or not at every Simulation candle. When we get
+ the first values of the simulation of the Stop Loss we check if it is above or below
+ the Position Rate, and we assign the values Above or Below to it.
+ */
+ if (tradingEngine.current.position.stopLoss.stopLossPosition.value === tradingEngine.current.position.stopLoss.stopLossPosition.config.initialValue) {
+ if (tradingEngine.current.position.stopLoss.value > tradingEngine.current.position.entryTargetRate.value) {
+ tradingEngine.current.position.stopLoss.stopLossPosition.value = 'Above'
+ } else {
+ tradingEngine.current.position.stopLoss.stopLossPosition.value = 'Below'
+ }
+ }
+ }
+
+ function calculateTakeProfitPosition() {
+ /*
+ The position of the Take Profit (above or below the price) is needed in order to know
+ later if the price hit the Take Profit or not at every Simulation candle. When we get
+ the first values of the simulation of the Take Profits we check if it is above or below
+ the Position Rates, and we assign the values Above or Below to it.
+ */
+ if (tradingEngine.current.position.takeProfit.takeProfitPosition.value === tradingEngine.current.position.takeProfit.takeProfitPosition.config.initialValue) {
+ if (tradingEngine.current.position.takeProfit.value > tradingEngine.current.position.entryTargetRate.value) {
+ tradingEngine.current.position.takeProfit.takeProfitPosition.value = 'Above'
+ } else {
+ tradingEngine.current.position.takeProfit.takeProfitPosition.value = 'Below'
+ }
+ }
+ }
+
+ function checkStopPhasesEvents() {
+ let strategy = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value]
+ let manageStage = strategy.manageStage
+ let parentNode
+ let phaseIndex
+ let phase
+ let stopLoss
+
+ if (manageStage !== undefined) {
+ if (manageStage.managedStopLoss !== undefined) {
+ parentNode = manageStage
+ phaseIndex = tradingEngine.current.position.stopLoss.stopLossPhase.value - 1
+ stopLoss = manageStage.managedStopLoss
+ phase = stopLoss.phases[phaseIndex]
+ }
+ }
+
+ if (parentNode !== undefined) {
+ if (phase === undefined) { return } // trying to jump to a phase that does not exists.
+
+ /* Check the next Phase Event. */
+ let nextPhaseEvent = phase.nextPhaseEvent
+ if (nextPhaseEvent !== undefined) {
+ for (let k = 0; k < nextPhaseEvent.situations.length; k++) {
+ let situation = nextPhaseEvent.situations[k]
let passed
if (situation.conditions.length > 0) {
passed = true
@@ -576,95 +544,95 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
tradingSystem.values.push([situation.id, passed])
if (passed) {
tradingSystem.highlights.push(situation.id)
- tradingSystem.highlights.push(moveToPhaseEvent.id)
+ tradingSystem.highlights.push(nextPhaseEvent.id)
tradingSystem.highlights.push(phase.id)
tradingSystem.highlights.push(stopLoss.id)
tradingSystem.highlights.push(parentNode.id)
tradingSystem.highlights.push(manageStage.id)
- let moveToPhase = moveToPhaseEvent.referenceParent
- if (moveToPhase !== undefined) {
- for (let q = 0; q < stopLoss.phases.length; q++) {
- if (stopLoss.phases[q].id === moveToPhase.id) {
- tradingPositionModule.updateStopLoss(q + 1)
- }
- }
- } else {
- tradingSystem.errors.push([moveToPhaseEvent.id, 'This Node needs to reference a Phase.'])
- continue
+ tradingPositionModule.updateStopLoss(tradingEngine.current.position.stopLoss.stopLossPhase.value + 1)
+
+ announcementsModule.makeAnnoucements(nextPhaseEvent)
+
+ /* Reset this counter */
+ tradingEngine.current.episode.distanceToEvent.nextPhase.value = 1
+ return // only one event can pass at the time
+ }
+ }
+ }
+
+ /* Check the Move to Phase Events. */
+ for (let n = 0; n < phase.moveToPhaseEvents.length; n++) {
+ let moveToPhaseEvent = phase.moveToPhaseEvents[n]
+ if (moveToPhaseEvent !== undefined) {
+ for (let k = 0; k < moveToPhaseEvent.situations.length; k++) {
+ let situation = moveToPhaseEvent.situations[k]
+ let passed
+ if (situation.conditions.length > 0) {
+ passed = true
}
- announcementsModule.makeAnnoucements(moveToPhaseEvent)
-
- /* Reset this counter */
- tradingEngine.current.episode.distanceToEvent.moveToPhase.value = 1
- return // only one event can pass at the time
+ passed = tradingSystem.checkConditions(situation, passed)
+
+ tradingSystem.values.push([situation.id, passed])
+ if (passed) {
+ tradingSystem.highlights.push(situation.id)
+ tradingSystem.highlights.push(moveToPhaseEvent.id)
+ tradingSystem.highlights.push(phase.id)
+ tradingSystem.highlights.push(stopLoss.id)
+ tradingSystem.highlights.push(parentNode.id)
+ tradingSystem.highlights.push(manageStage.id)
+
+ let moveToPhase = moveToPhaseEvent.referenceParent
+ if (moveToPhase !== undefined) {
+ for (let q = 0; q < stopLoss.phases.length; q++) {
+ if (stopLoss.phases[q].id === moveToPhase.id) {
+ tradingPositionModule.updateStopLoss(q + 1)
+ }
+ }
+ } else {
+ tradingSystem.errors.push([moveToPhaseEvent.id, 'This Node needs to reference a Phase.'])
+ continue
+ }
+
+ announcementsModule.makeAnnoucements(moveToPhaseEvent)
+
+ /* Reset this counter */
+ tradingEngine.current.episode.distanceToEvent.moveToPhase.value = 1
+ return // only one event can pass at the time
+ }
}
}
}
}
}
- }
- function checkTakeProfitPhaseEvents() {
- let strategy = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value]
- let openStage = strategy.openStage
- let manageStage = strategy.manageStage
- let parentNode
- let phaseIndex
- let phase
- let takeProfit
+ function checkTakeProfitPhaseEvents() {
+ let strategy = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value]
+ let openStage = strategy.openStage
+ let manageStage = strategy.manageStage
+ let parentNode
+ let phaseIndex
+ let phase
+ let takeProfit
- if (manageStage !== undefined) {
- if (manageStage.managedTakeProfit !== undefined) {
- parentNode = manageStage
- phaseIndex = tradingEngine.current.position.takeProfit.takeProfitPhase.value - 1
- takeProfit = manageStage.managedTakeProfit
- phase = takeProfit.phases[phaseIndex]
- }
- }
-
- if (parentNode !== undefined) {
- if (phase === undefined) { return } // trying to jump to a phase that does not exists.
-
- /* Check the next Phase Event. */
- let nextPhaseEvent = phase.nextPhaseEvent
- if (nextPhaseEvent !== undefined) {
- for (let k = 0; k < nextPhaseEvent.situations.length; k++) {
- let situation = nextPhaseEvent.situations[k]
- let passed
- if (situation.conditions.length > 0) {
- passed = true
- }
-
- passed = tradingSystem.checkConditions(situation, passed)
-
- tradingSystem.values.push([situation.id, passed])
- if (passed) {
- tradingSystem.highlights.push(situation.id)
- tradingSystem.highlights.push(nextPhaseEvent.id)
- tradingSystem.highlights.push(phase.id)
- tradingSystem.highlights.push(takeProfit.id)
- tradingSystem.highlights.push(parentNode.id)
- tradingSystem.highlights.push(manageStage.id)
-
- tradingPositionModule.updateTakeProfit(tradingEngine.current.position.takeProfit.takeProfitPhase.value + 1)
-
- announcementsModule.makeAnnoucements(nextPhaseEvent)
-
- /* Reset this counter */
- tradingEngine.current.episode.distanceToEvent.nextPhase.value = 1
- return // only one event can pass at the time
- }
+ if (manageStage !== undefined) {
+ if (manageStage.managedTakeProfit !== undefined) {
+ parentNode = manageStage
+ phaseIndex = tradingEngine.current.position.takeProfit.takeProfitPhase.value - 1
+ takeProfit = manageStage.managedTakeProfit
+ phase = takeProfit.phases[phaseIndex]
}
}
- /* Check the Move to Phase Events. */
- for (let n = 0; n < phase.moveToPhaseEvents.length; n++) {
- let moveToPhaseEvent = phase.moveToPhaseEvents[n]
- if (moveToPhaseEvent !== undefined) {
- for (let k = 0; k < moveToPhaseEvent.situations.length; k++) {
- let situation = moveToPhaseEvent.situations[k]
+ if (parentNode !== undefined) {
+ if (phase === undefined) { return } // trying to jump to a phase that does not exists.
+
+ /* Check the next Phase Event. */
+ let nextPhaseEvent = phase.nextPhaseEvent
+ if (nextPhaseEvent !== undefined) {
+ for (let k = 0; k < nextPhaseEvent.situations.length; k++) {
+ let situation = nextPhaseEvent.situations[k]
let passed
if (situation.conditions.length > 0) {
passed = true
@@ -675,84 +643,118 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
tradingSystem.values.push([situation.id, passed])
if (passed) {
tradingSystem.highlights.push(situation.id)
- tradingSystem.highlights.push(moveToPhaseEvent.id)
+ tradingSystem.highlights.push(nextPhaseEvent.id)
tradingSystem.highlights.push(phase.id)
tradingSystem.highlights.push(takeProfit.id)
tradingSystem.highlights.push(parentNode.id)
tradingSystem.highlights.push(manageStage.id)
- let moveToPhase = moveToPhaseEvent.referenceParent
- if (moveToPhase !== undefined) {
- for (let q = 0; q < takeProfit.phases.length; q++) {
- if (takeProfit.phases[q].id === moveToPhase.id) {
- tradingPositionModule.updateTakeProfit(q + 1)
- }
- }
- } else {
- tradingSystem.errors.push([moveToPhaseEvent.id, 'This Node needs to reference a Phase.'])
- continue
- }
+ tradingPositionModule.updateTakeProfit(tradingEngine.current.position.takeProfit.takeProfitPhase.value + 1)
- announcementsModule.makeAnnoucements(moveToPhaseEvent)
+ announcementsModule.makeAnnoucements(nextPhaseEvent)
/* Reset this counter */
- tradingEngine.current.episode.distanceToEvent.moveToPhase.value = 1
+ tradingEngine.current.episode.distanceToEvent.nextPhase.value = 1
return // only one event can pass at the time
}
}
}
+
+ /* Check the Move to Phase Events. */
+ for (let n = 0; n < phase.moveToPhaseEvents.length; n++) {
+ let moveToPhaseEvent = phase.moveToPhaseEvents[n]
+ if (moveToPhaseEvent !== undefined) {
+ for (let k = 0; k < moveToPhaseEvent.situations.length; k++) {
+ let situation = moveToPhaseEvent.situations[k]
+ let passed
+ if (situation.conditions.length > 0) {
+ passed = true
+ }
+
+ passed = tradingSystem.checkConditions(situation, passed)
+
+ tradingSystem.values.push([situation.id, passed])
+ if (passed) {
+ tradingSystem.highlights.push(situation.id)
+ tradingSystem.highlights.push(moveToPhaseEvent.id)
+ tradingSystem.highlights.push(phase.id)
+ tradingSystem.highlights.push(takeProfit.id)
+ tradingSystem.highlights.push(parentNode.id)
+ tradingSystem.highlights.push(manageStage.id)
+
+ let moveToPhase = moveToPhaseEvent.referenceParent
+ if (moveToPhase !== undefined) {
+ for (let q = 0; q < takeProfit.phases.length; q++) {
+ if (takeProfit.phases[q].id === moveToPhase.id) {
+ tradingPositionModule.updateTakeProfit(q + 1)
+ }
+ }
+ } else {
+ tradingSystem.errors.push([moveToPhaseEvent.id, 'This Node needs to reference a Phase.'])
+ continue
+ }
+
+ announcementsModule.makeAnnoucements(moveToPhaseEvent)
+
+ /* Reset this counter */
+ tradingEngine.current.episode.distanceToEvent.moveToPhase.value = 1
+ return // only one event can pass at the time
+ }
+ }
+ }
+ }
}
}
- }
- function checkStopLossOrTakeProfitWasHit() {
- {
- let strategy = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value]
- /*
- Checking what happened since the last execution. We need to know if the Stop Loss
- or our Take Profit were hit.
- */
+ function checkStopLossOrTakeProfitWasHit() {
+ {
+ let strategy = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value]
+ /*
+ Checking what happened since the last execution. We need to know if the Stop Loss
+ or our Take Profit were hit.
+ */
- /* Stop Loss condition: Here we verify if the Stop Loss was hitted or not. */
- if (
- (
- tradingEngine.current.position.stopLoss.stopLossPosition.value === 'Above' &&
- tradingEngine.current.episode.candle.max.value >= tradingEngine.current.position.stopLoss.value
- ) ||
- (
- tradingEngine.current.position.stopLoss.stopLossPosition.value === 'Below' &&
- tradingEngine.current.episode.candle.min.value <= tradingEngine.current.position.stopLoss.value
- )
- ) {
- logger.write(MODULE_NAME, '[INFO] checkStopLossOrTakeProfitWasHit -> Stop Loss was hit.')
+ /* Stop Loss condition: Here we verify if the Stop Loss was hitted or not. */
+ if (
+ (
+ tradingEngine.current.position.stopLoss.stopLossPosition.value === 'Above' &&
+ tradingEngine.current.episode.candle.max.value >= tradingEngine.current.position.stopLoss.value
+ ) ||
+ (
+ tradingEngine.current.position.stopLoss.stopLossPosition.value === 'Below' &&
+ tradingEngine.current.episode.candle.min.value <= tradingEngine.current.position.stopLoss.value
+ )
+ ) {
+ logger.write(MODULE_NAME, '[INFO] checkStopLossOrTakeProfitWasHit -> Stop Loss was hit.')
- tradingPositionModule.closingPosition('Stop Loss')
- changeStageStatus('Close Stage', 'Opening')
- changeStageStatus('Manage Stage', 'Closed')
- announcementsModule.makeAnnoucements(strategy.closeStage)
+ tradingPositionModule.closingPosition('Stop Loss')
+ changeStageStatus('Close Stage', 'Opening')
+ changeStageStatus('Manage Stage', 'Closed')
+ announcementsModule.makeAnnoucements(strategy.closeStage)
+ return
+ }
+
+ /* Take Profit condition: Here we verify if the Take Profit was hit or not. */
+ if (
+ (
+ tradingEngine.current.position.takeProfit.takeProfitPosition.value === 'Below' &&
+ tradingEngine.current.episode.candle.min.value <= tradingEngine.current.position.takeProfit.value
+ ) ||
+ (
+ tradingEngine.current.position.takeProfit.takeProfitPosition.value === 'Above' &&
+ tradingEngine.current.episode.candle.max.value >= tradingEngine.current.position.takeProfit.value
+ )
+ ) {
+ logger.write(MODULE_NAME, '[INFO] checkStopLossOrTakeProfitWasHit -> Take Profit was hit.')
+
+ tradingPositionModule.closingPosition('Take Profit')
+ changeStageStatus('Close Stage', 'Opening')
+ changeStageStatus('Manage Stage', 'Closed')
+ announcementsModule.makeAnnoucements(strategy.closeStage)
+ return
+ }
return
}
-
- /* Take Profit condition: Here we verify if the Take Profit was hit or not. */
- if (
- (
- tradingEngine.current.position.takeProfit.takeProfitPosition.value === 'Below' &&
- tradingEngine.current.episode.candle.min.value <= tradingEngine.current.position.takeProfit.value
- ) ||
- (
- tradingEngine.current.position.takeProfit.takeProfitPosition.value === 'Above' &&
- tradingEngine.current.episode.candle.max.value >= tradingEngine.current.position.takeProfit.value
- )
- ) {
- logger.write(MODULE_NAME, '[INFO] checkStopLossOrTakeProfitWasHit -> Take Profit was hit.')
-
- tradingPositionModule.closingPosition('Take Profit')
- changeStageStatus('Close Stage', 'Opening')
- changeStageStatus('Manage Stage', 'Closed')
- announcementsModule.makeAnnoucements(strategy.closeStage)
- return
- }
- return
}
}
}
@@ -786,12 +788,12 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
to be known before we start placing orders at the Close Stage.
*/
if (
- tradingEngine.current.strategyCloseStage.status.value === 'Open' &&
- (
- tradingEngine.current.strategyOpenStage.status.value === 'Closed' ||
- tradingEngine.current.strategyOpenStage.status.value == tradingEngine.current.strategyOpenStage.status.config.initialValue
- )
- ) {
+ tradingEngine.current.strategyCloseStage.status.value === 'Open' &&
+ (
+ tradingEngine.current.strategyOpenStage.status.value === 'Closed' ||
+ tradingEngine.current.strategyOpenStage.status.value == tradingEngine.current.strategyOpenStage.status.config.initialValue
+ )
+ ) {
/*
This will happen as long as the Close Stage is Open.
*/
@@ -854,7 +856,7 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
function closePositionAndStrategy() {
/* Taking Position Snapshot */
- if (bot.SESSION.type === 'Backtesting Session') {
+ if (bot.TRADING_SESSION.type === 'Backtesting Session') {
if (sessionParameters.snapshots !== undefined) {
if (sessionParameters.snapshots.config.position === true) {
snapshotsModule.positionExit()
@@ -863,7 +865,7 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
}
/* Taking Strategy Snapshot */
- if (bot.SESSION.type === 'Backtesting Session') {
+ if (bot.TRADING_SESSION.type === 'Backtesting Session') {
if (sessionParameters.snapshots !== undefined) {
if (sessionParameters.snapshots.config.strategy === true) {
snapshotsModule.strategyExit()
@@ -886,19 +888,28 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
function checkIfStageNeedsToBeClosed(tradingEngineStage, tradingSystemStage, stageName) {
/*
- The Stage is closed when the placedSize reaches the targetSize, and the fillSize
- + feesPaid reaches the placedSize. This depends on how the user defined the stage:
- either on Base Asset or Quoted Asset.
- This can happens at any time when we update the sizeFilled and the feesPaid values
- when we see at the exchange that orders were filled.
- Note that the comparison is made with a Rounding Factor in order to avoid rounding problems.
+ The Stage is closed when the fillSize + feesPaid reaches the targetSize.
+
+ The Target Size is defined by the end user either in Base Asset or Quoted Asset.
+ Whatever the user chooses defines also the way we check if the Target was met.
+ Why? Because the counterparty target is estimated with the Target Rate and it
+ is not syncronized with the reality we later learn when the exchange tell us the
+ actual rate each of the orders where executed at.
+
+ For the same reason that the user does not know exactly which is the rate the orders
+ will actually be filled, then we can not expect that the total filled will really
+ reach the target size, so we introduce a rounding factor so that when it is close
+ enough we will consider the target to have been reached.
*/
- const ROUNDING_ERROR_CORRECTION_FACTOR = 1.001
+ const ROUNDING_ERROR_CORRECTION_FACTOR = 1.001
switch (tradingEngineStage.stageDefinedIn.value) {
case 'Base Asset': {
if (
- tradingEngineStage.stageBaseAsset.sizeFilled.value * ROUNDING_ERROR_CORRECTION_FACTOR
+ (
+ tradingEngineStage.stageBaseAsset.sizeFilled.value
+ )
+ * ROUNDING_ERROR_CORRECTION_FACTOR
>=
tradingEngineStage.stageBaseAsset.targetSize.value
) {
@@ -910,7 +921,10 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
}
case 'Quoted Asset': {
if (
- tradingEngineStage.stageQuotedAsset.sizeFilled.value * ROUNDING_ERROR_CORRECTION_FACTOR
+ (
+ tradingEngineStage.stageQuotedAsset.sizeFilled.value
+ )
+ * ROUNDING_ERROR_CORRECTION_FACTOR
>=
tradingEngineStage.stageQuotedAsset.targetSize.value
) {
@@ -921,9 +935,11 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
break
}
}
+
function positionFilled() {
changeStageStatus(stageName, 'Closed', 'Position Size Filled')
}
+
function checkCloseStageEvent(tradingSystemStage) {
/* Check the Close Stage Event */
tradingSystem.evalConditions(tradingSystemStage, 'Close Stage Event')
@@ -990,35 +1006,50 @@ exports.newTradingStages = function newTradingStages(bot, logger, tradingEngineM
closeStage(stage)
}
+ /*
+ The way the begining and end of the Stages object works is as follows:
+ This object begins with the last cycle, that is the current cycle diplaced
+ backwards to the current candle. And it ends at the end of the last cycle.
+ During mantainance, we add the time frame of the candle, since we assume it
+ will survive the 2 cycles without the end being updated. If it closes,
+ then we update the end to the end of the last cycle, overrinding the
+ mantainance if needed. If we assume that in the same cycle there will be
+ no closing and opening of the same type of object, then there can be no
+ overlap.
+ */
function openStage(stage) {
/* Recording the opening at the Trading Engine Data Structure */
- stage.begin.value = tradingEngine.current.episode.cycle.begin.value
+ stage.begin.value = tradingEngine.current.episode.cycle.lastBegin.value
+ stage.end.value = tradingEngine.current.episode.cycle.lastEnd.value
stage.beginRate.value = tradingEngine.current.episode.candle.close.value
- stage.end.value = tradingEngine.current.episode.cycle.end.value
}
function closeStage(stage) {
/* Recording the closing at the Trading Engine Data Structure */
- stage.end.value = tradingEngine.current.episode.cycle.end.value
+ stage.end.value = tradingEngine.current.episode.cycle.lastEnd.value
stage.endRate.value = tradingEngine.current.episode.candle.close.value
}
}
function updateEnds() {
+ /*
+ Note that we can not use the cycle here because this is executed via mantain
+ which in turn is executed before the first cycle for this candle is set.
+ */
if (tradingEngine.current.strategyTriggerStage.status.value === 'Open') {
- tradingEngine.current.strategyTriggerStage.end.value = tradingEngine.current.episode.cycle.end.value
+ tradingEngine.current.strategyTriggerStage.end.value = tradingEngine.current.strategyTriggerStage.end.value + sessionParameters.timeFrame.config.value
tradingEngine.current.strategyTriggerStage.endRate.value = tradingEngine.current.episode.candle.close.value
}
if (tradingEngine.current.strategyOpenStage.status.value === 'Open') {
- tradingEngine.current.strategyOpenStage.end.value = tradingEngine.current.episode.cycle.end.value
+ tradingEngine.current.strategyOpenStage.end.value = tradingEngine.current.strategyOpenStage.end.value + sessionParameters.timeFrame.config.value
tradingEngine.current.strategyOpenStage.endRate.value = tradingEngine.current.episode.candle.close.value
}
if (tradingEngine.current.strategyManageStage.status.value === 'Open') {
- tradingEngine.current.strategyManageStage.end.value = tradingEngine.current.episode.cycle.end.value
+ tradingEngine.current.strategyManageStage.end.value = tradingEngine.current.strategyManageStage.end.value + sessionParameters.timeFrame.config.value
tradingEngine.current.strategyManageStage.endRate.value = tradingEngine.current.episode.candle.close.value
}
if (tradingEngine.current.strategyCloseStage.status.value === 'Open') {
- tradingEngine.current.strategyCloseStage.end.value = tradingEngine.current.episode.cycle.end.value
+ tradingEngine.current.strategyCloseStage.end.value = tradingEngine.current.strategyCloseStage.end.value + sessionParameters.timeFrame.config.value
tradingEngine.current.strategyCloseStage.endRate.value = tradingEngine.current.episode.candle.close.value
}
}
diff --git a/TaskServer/LowFrequencyTrading/TradingStrategy.js b/TaskServer/LowFrequencyTrading/TradingStrategy.js
index 5225f705d..fbd170845 100644
--- a/TaskServer/LowFrequencyTrading/TradingStrategy.js
+++ b/TaskServer/LowFrequencyTrading/TradingStrategy.js
@@ -13,15 +13,18 @@ exports.newTradingStrategy = function newTradingStrategy(bot, logger, tradingEng
}
let tradingEngine
+ let sessionParameters
return thisObject
function initialize() {
tradingEngine = bot.simulationState.tradingEngine
+ sessionParameters = bot.TRADING_SESSION.tradingParameters
}
function finalize() {
tradingEngine = undefined
+ sessionParameters = undefined
}
function mantain() {
@@ -34,11 +37,14 @@ exports.newTradingStrategy = function newTradingStrategy(bot, logger, tradingEng
}
function openStrategy(index, situationName, strategyName) {
+ /* Starting begin and end */
+ tradingEngine.current.strategy.begin.value = tradingEngine.current.episode.cycle.lastBegin.value
+ tradingEngine.current.strategy.end.value = tradingEngine.current.episode.cycle.lastEnd.value
+
+ /* Recording the opening at the Trading Engine Data Structure */
tradingEngine.current.strategy.status.value = 'Open'
tradingEngine.current.strategy.serialNumber.value = tradingEngine.current.episode.episodeCounters.strategies.value
tradingEngine.current.strategy.identifier.value = global.UNIQUE_ID()
- tradingEngine.current.strategy.begin.value = tradingEngine.current.episode.candle.end.value
- tradingEngine.current.strategy.end.value = tradingEngine.current.episode.candle.end.value
tradingEngine.current.strategy.beginRate.value = tradingEngine.current.episode.candle.min.value
tradingEngine.current.strategy.index.value = index
@@ -52,7 +58,7 @@ exports.newTradingStrategy = function newTradingStrategy(bot, logger, tradingEng
function closeStrategy(exitType) {
tradingEngine.current.strategy.status.value = 'Closed'
tradingEngine.current.strategy.exitType.value = exitType
- tradingEngine.current.strategy.end.value = tradingEngine.current.episode.candle.end.value
+ tradingEngine.current.strategy.end.value = tradingEngine.current.episode.cycle.lastEnd.value
tradingEngine.current.strategy.endRate.value = tradingEngine.current.episode.candle.min.value
/*
Now that the strategy is closed, it is the right time to move this strategy from current to last at the Trading Engine data structure.
@@ -62,7 +68,7 @@ exports.newTradingStrategy = function newTradingStrategy(bot, logger, tradingEng
function updateEnds() {
if (tradingEngine.current.strategy.status.value === 'Open') {
- tradingEngine.current.strategy.end.value = tradingEngine.current.episode.candle.end.value
+ tradingEngine.current.strategy.end.value = tradingEngine.current.strategy.end.value + sessionParameters.timeFrame.config.value
tradingEngine.current.strategy.endRate.value = tradingEngine.current.episode.candle.close.value
}
}
diff --git a/TaskServer/LowFrequencyTrading/TradingSystem.js b/TaskServer/LowFrequencyTrading/TradingSystem.js
index 2e3af7ee3..ddafc6f33 100644
--- a/TaskServer/LowFrequencyTrading/TradingSystem.js
+++ b/TaskServer/LowFrequencyTrading/TradingSystem.js
@@ -17,7 +17,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger, tradingEngineM
let tradingSystem
let tradingEngine
let sessionParameters
- let dynamicIndicators
+ let dynamicIndicators
const TRADING_STAGES_MODULE = require('./TradingStages.js')
let tradingStagesModule = TRADING_STAGES_MODULE.newTradingStages(bot, logger, tradingEngineModule)
@@ -28,7 +28,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger, tradingEngineM
function initialize() {
tradingSystem = bot.simulationState.tradingSystem
tradingEngine = bot.simulationState.tradingEngine
- sessionParameters = bot.SESSION.parameters
+ sessionParameters = bot.TRADING_SESSION.tradingParameters
tradingSystem.conditions = new Map()
tradingSystem.formulas = new Map()
@@ -131,8 +131,8 @@ exports.newTradingSystem = function newTradingSystem(bot, logger, tradingEngineM
for (let i = 0; i < tradingSystem.dynamicIndicators.indicatorFunctions.length; i++) {
let indicatorFunction = tradingSystem.dynamicIndicators.indicatorFunctions[i]
- if (indicatorFunction.formula === undefined) { return}
- if (indicatorFunction.config.codeName === undefined) { return}
+ if (indicatorFunction.formula === undefined) { return }
+ if (indicatorFunction.config.codeName === undefined) { return }
dynamicIndicators[indicatorFunction.config.codeName] = tradingSystem.formulas.get(indicatorFunction.formula.id)
}
}
@@ -257,15 +257,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger, tradingEngineM
will not be considered an error.
*/
value = false
-
- if (code.indexOf('previous') > -1 && err.message.indexOf('of undefined') > -1
- ) {
- /*
- We are not going to set an error for the casess we are using previous and the error is that the indicator is undefined.
- */
- } else {
- error = err.message
- }
+ error = err.message
}
tradingSystem.conditions.set(node.id, value)
@@ -297,15 +289,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger, tradingEngineM
will not be considered an error.
*/
value = 0
-
- if (node.code.indexOf('previous') > -1 && err.message.indexOf('of undefined') > -1
- ) {
- /*
- We are not going to set an error for the casess we are using previous and the error is that the indicator is undefined.
- */
- } else {
- error = err.message
- }
+ error = err.message
}
if (error !== undefined) {
diff --git a/TaskServer/ProcessOutput.js b/TaskServer/ProcessOutput.js
index 6075ee9e7..c4751f557 100644
--- a/TaskServer/ProcessOutput.js
+++ b/TaskServer/ProcessOutput.js
@@ -32,6 +32,9 @@
if (botNode === undefined) {
botNode = global.FIND_NODE_IN_NODE_MESH(outputDataset, 'Sensor Bot')
}
+ if (botNode === undefined) {
+ botNode = global.FIND_NODE_IN_NODE_MESH(outputDataset, 'Learning Bot')
+ }
/* Some validations to verify that everything is in place. */
if (outputDataset.referenceParent !== undefined) {
@@ -119,6 +122,9 @@
if (botNode === undefined) {
botNode = global.FIND_NODE_IN_NODE_MESH(outputDataset, 'Sensor Bot')
}
+ if (botNode === undefined) {
+ botNode = global.FIND_NODE_IN_NODE_MESH(outputDataset, 'Learning Bot')
+ }
/* Some validations to verify that everything is in place. */
if (outputDataset.referenceParent !== undefined) {
@@ -138,11 +144,11 @@
}
if (botNode.parentNode !== undefined) {
if (botNode.parentNode.config.codeName === undefined) {
- logger.write(MODULE_NAME, "[ERROR] raiseEvents -> codeName at Data Mine not defined. Data Mine = " + JSON.stringify(botNode.parentNode));
+ logger.write(MODULE_NAME, "[ERROR] raiseEvents -> codeName at Mine not defined. Mine = " + JSON.stringify(botNode.parentNode));
throw (global.DEFAULT_FAIL_RESPONSE);
}
} else {
- logger.write(MODULE_NAME, "[ERROR] raiseEvents -> Bot not attached to a Data Mine or Trading Mine. Bot = " + JSON.stringify(botNode));
+ logger.write(MODULE_NAME, "[ERROR] raiseEvents -> Bot not attached to a Data Mine | Trading Mine | Learning Mine. Bot = " + JSON.stringify(botNode));
throw (global.DEFAULT_FAIL_RESPONSE);
}
} else {
diff --git a/TaskServer/ReinforcementLearning/LearningBot.js b/TaskServer/ReinforcementLearning/LearningBot.js
new file mode 100644
index 000000000..ad887979f
--- /dev/null
+++ b/TaskServer/ReinforcementLearning/LearningBot.js
@@ -0,0 +1,685 @@
+exports.newLearningBot = function newLearningBot(bot, parentLogger) {
+
+ const MODULE_NAME = "Learning Bot";
+ const FULL_LOG = true;
+
+ const TRADING_PROCESS_MODULE = require(global.ROOT_DIR + '/LowFrequencyTrading/MachineLearningProcess.js');
+ const FILE_STORAGE = require('./FileStorage.js');
+ const SESSION = require(global.ROOT_DIR + 'TradingSession');
+
+ let fileStorage = FILE_STORAGE.newFileStorage(parentLogger);
+ let session = SESSION.newLearningSession(bot, parentLogger)
+
+ const DEBUG_MODULE = require(global.ROOT_DIR + 'DebugLog');
+ let logger; // We need this here in order for the loopHealth function to work and be able to rescue the loop when it gets in trouble.
+
+ let nextLoopTimeoutHandle;
+
+ let thisObject = {
+ initialize: initialize,
+ run: run
+ };
+
+ let processConfig;
+
+ return thisObject;
+
+ function initialize(pProcessConfig, callBackFunction) {
+ /* This function is exactly the same in the 3 modules representing the 2 different bot types loops. */
+ try {
+ processConfig = pProcessConfig;
+ if (bot.definedByUI === true) {
+ /* The code of the bot is defined at the UI. No need to load a file with the code. */
+ session.initialize(processConfig, callBackFunction)
+ }
+
+ } catch (err) {
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> err = " + err.stack);
+ callBackFunction(global.DEFAULT_FAIL_RESPONSE);
+ }
+ }
+
+ function run(callBackFunction) {
+ try {
+ /* Some initial values*/
+ let fixedTimeLoopIntervalHandle;
+ bot.STOP_SESSION = true;
+ if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, '[IMPORTANT] run -> Stopping the Session now. ') }
+
+ /* Heartbeats sent to the UI */
+ bot.processHeartBeat = processHeartBeat
+
+ loop();
+
+ function loop() {
+ try {
+ processHeartBeat(undefined, undefined, "Running...")
+ function pad(str, max) {
+ str = str.toString();
+ return str.length < max ? pad(" " + str, max) : str;
+ }
+
+ /* For each loop we want to create a new log file. */
+ if (logger !== undefined) {
+ logger.finalize()
+ }
+ logger = DEBUG_MODULE.newDebugLog();
+ global.LOGGER_MAP.set(MODULE_NAME, logger)
+ logger.bot = bot;
+ logger.initialize();
+
+ bot.loopCounter++;
+ bot.loopStartTime = new Date().valueOf();
+
+ let nextWaitTime;
+
+ /* We tell the UI that we are running. */
+ processHeartBeat(undefined, undefined, "Running...")
+
+ /* We define here all the modules that the rest of the infraestructure, including the bots themselves can consume. */
+ const UTILITIES = require(global.ROOT_DIR + 'CloudUtilities');
+ const STATUS_REPORT = require(global.ROOT_DIR + 'StatusReport');
+ const STATUS_DEPENDENCIES = require(global.ROOT_DIR + 'StatusDependencies');
+ const DATA_DEPENDENCIES = require(global.ROOT_DIR + 'DataDependencies');
+ const DATA_SET = require(global.ROOT_DIR + 'DataSet');
+ const PROCESS_EXECUTION_EVENTS = require(global.ROOT_DIR + 'ProcessExecutionEvents');
+ const PROCESS_OUTPUT = require(global.ROOT_DIR + 'ProcessOutput');
+
+ /* We define the datetime for the process that we are running now. This will be the official processing time for both the infraestructure and the bot. */
+ bot.processDatetime = new Date(); // This will be considered the process date and time, so as to have it consistenly all over the execution.
+
+ /* High level log entry */
+ console.log(new Date().toISOString() + " " + pad(bot.exchange, 20) + " " + pad(bot.market.baseAsset + '/' + bot.market.quotedAsset, 10) + " " + pad(bot.codeName, 30) + " " + pad(bot.process, 30)
+ + " Main Loop # " + pad(Number(bot.loopCounter), 8) + " " + bot.processNode.session.type + " " + bot.processNode.session.name)
+
+ /* Checking if we need to need to emit any event */
+ if (bot.SESSION_STATUS === 'Idle' && bot.STOP_SESSION === false) {
+ bot.SESSION_STATUS = 'Running'
+ }
+
+ if (bot.SESSION_STATUS === 'Running' && bot.STOP_SESSION === true) {
+ bot.SESSION_STATUS = 'Stopped'
+ }
+
+ global.EMIT_SESSION_STATUS (bot.SESSION_STATUS, bot.sessionKey)
+
+ /* Checking if we should process this loop or not.*/
+ if (bot.STOP_SESSION === true) {
+
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> Waiting for " + bot.processNode.session.type + " " + bot.processNode.session.name + " to be run."); }
+
+ console.log(new Date().toISOString() + " " + pad(bot.codeName, 20) + " " + pad(bot.process, 30)
+ + " Waiting for " + bot.processNode.session.type + " " + bot.processNode.session.name + " to be run. ");
+
+ nextWaitTime = 'Waiting for Session';
+ loopControl(nextWaitTime);
+ return
+ }
+
+ /* We will prepare first the infraestructure needed for the bot to run. There are 3 modules we need to sucessfullly initialize first. */
+
+ let processExecutionEvents
+ let userBot;
+ let processFramework;
+ let statusDependencies;
+ let dataDependencies;
+
+ initializeProcessExecutionEvents();
+
+ function initializeProcessExecutionEvents() {
+ try {
+ processExecutionEvents = PROCESS_EXECUTION_EVENTS.newProcessExecutionEvents(bot, logger)
+ processExecutionEvents.initialize(processConfig, onInizialized);
+
+ function onInizialized(err) {
+ try {
+ switch (err.result) {
+ case global.DEFAULT_OK_RESPONSE.result: {
+ logger.write(MODULE_NAME, "[INFO] run -> loop -> initializeProcessExecutionEvents -> onInizialized -> Execution finished well.");
+ startProcessExecutionEvents()
+ return;
+ }
+ case global.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time.
+ logger.write(MODULE_NAME, "[WARN] run -> loop -> initializeProcessExecutionEvents -> onInizialized -> Retry Later. Requesting Execution Retry.");
+ nextWaitTime = 'Retry';
+ loopControl(nextWaitTime);
+ return;
+ }
+ case global.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle.
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeProcessExecutionEvents -> onInizialized -> Operation Failed. Aborting the process.");
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ default: {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeProcessExecutionEvents -> onInizialized -> Unhandled err.result received. -> err.result = " + err.result);
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeProcessExecutionEvents -> onInizialized -> Unhandled err.result received. -> err = " + err.message);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeProcessExecutionEvents -> onInizialized -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeProcessExecutionEvents -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+
+ function startProcessExecutionEvents() {
+ try {
+ processExecutionEvents.start(onStarted);
+
+ function onStarted(err) {
+ try {
+ switch (err.result) {
+ case global.DEFAULT_OK_RESPONSE.result: {
+ logger.write(MODULE_NAME, "[INFO] run -> loop -> startProcessExecutionEvents -> onStarted -> Execution finished well.");
+
+ if (global.STOP_TASK_GRACEFULLY === true) {
+ loopControl()
+ return
+ }
+
+ initializeStatusDependencies();
+ return;
+ }
+ case global.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time.
+ logger.write(MODULE_NAME, "[WARN] run -> loop -> startProcessExecutionEvents -> onStarted -> Retry Later. Requesting Execution Retry.");
+ nextWaitTime = 'Retry';
+ loopControl(nextWaitTime);
+ return;
+ }
+ case global.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle.
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> startProcessExecutionEvents -> onStarted -> Operation Failed. Aborting the process.");
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ default: {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> startProcessExecutionEvents -> onStarted -> Unhandled err.result received. -> err.result = " + err.result);
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> startProcessExecutionEvents -> onStarted -> Unhandled err.result received. -> err = " + err.message);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> startProcessExecutionEvents -> onStarted -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> startProcessExecutionEvents -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+
+ function initializeStatusDependencies() {
+ try {
+ statusDependencies = STATUS_DEPENDENCIES.newStatusDependencies(bot, logger, STATUS_REPORT, UTILITIES, PROCESS_OUTPUT);
+ statusDependencies.initialize(onInizialized);
+
+ function onInizialized(err) {
+ try {
+ switch (err.result) {
+ case global.DEFAULT_OK_RESPONSE.result: {
+ logger.write(MODULE_NAME, "[INFO] run -> loop -> initializeStatusDependencies -> onInizialized -> Execution finished well.");
+ initializeDataDependencies();
+ return;
+ }
+ case global.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time.
+ logger.write(MODULE_NAME, "[WARN] run -> loop -> initializeStatusDependencies -> onInizialized -> Retry Later. Requesting Execution Retry.");
+ nextWaitTime = 'Retry';
+ loopControl(nextWaitTime);
+ return;
+ }
+ case global.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle.
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeStatusDependencies -> onInizialized -> Operation Failed. Aborting the process.");
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ default: {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeStatusDependencies -> onInizialized -> Unhandled err.result received. -> err.result = " + err.result);
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeStatusDependencies -> onInizialized -> Unhandled err.result received. -> err = " + err.message);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeStatusDependencies -> onInizialized -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeStatusDependencies -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+
+ function initializeDataDependencies() {
+ try {
+ dataDependencies = DATA_DEPENDENCIES.newDataDependencies(bot, logger, DATA_SET);
+ dataDependencies.initialize(onInizialized);
+
+ function onInizialized(err) {
+ try {
+ switch (err.result) {
+ case global.DEFAULT_OK_RESPONSE.result: {
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> initializeDataDependencies -> onInizialized -> Execution finished well."); }
+ switch (processConfig.framework.name) {
+ case 'Low-Frequency-Trading-Process': {
+ processFramework = TRADING_PROCESS_MODULE.newMachineLearningProcess(bot, logger, UTILITIES);
+ intitializeProcessFramework();
+ break;
+ }
+ default: {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeDataDependencies -> onInizialized -> Process Framework not Supported.");
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeDataDependencies -> onInizialized -> Process Framework Name = " + processConfig.framework.name);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ return;
+ }
+ case global.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time.
+ logger.write(MODULE_NAME, "[WARN] run -> loop -> initializeDataDependencies -> onInizialized -> Retry Later. Requesting Execution Retry.");
+ nextWaitTime = 'Retry';
+ loopControl(nextWaitTime);
+ return;
+ }
+ case global.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle.
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeDataDependencies -> onInizialized -> Operation Failed. Aborting the process.");
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ default: {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeDataDependencies -> onInizialized -> Unhandled err.result received. -> err.result = " + err.result);
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeDataDependencies -> onInizialized -> Unhandled err.result received. -> err = " + err.message);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeDataDependencies -> onInizialized -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> initializeDataDependencies -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+
+ function intitializeProcessFramework() {
+ try {
+ processFramework.initialize(processConfig, statusDependencies, dataDependencies, onInizialized);
+
+ function onInizialized(err) {
+ try {
+ switch (err.result) {
+ case global.DEFAULT_OK_RESPONSE.result: {
+ logger.write(MODULE_NAME, "[INFO] run -> loop -> intitializeProcessFramework -> onInizialized -> Execution finished well.");
+ startProcessFramework();
+ return;
+ }
+ case global.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time.
+ logger.write(MODULE_NAME, "[WARN] run -> loop -> intitializeProcessFramework -> onInizialized -> Retry Later. Requesting Execution Retry.");
+ nextWaitTime = 'Retry';
+ loopControl(nextWaitTime);
+ return;
+ }
+ case global.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle.
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> intitializeProcessFramework -> onInizialized -> Operation Failed. Aborting the process.");
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ case global.CUSTOM_OK_RESPONSE.result: {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> intitializeProcessFramework -> onInizialized > Unhandled custom response received. -> err = " + err.message);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ default: {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> intitializeProcessFramework -> onInizialized -> Unhandled err.result received. -> err.result = " + err.result);
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> intitializeProcessFramework -> onInizialized -> Unhandled err.result received. -> err = " + err.message);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> intitializeProcessFramework -> onInizialized -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> intitializeProcessFramework -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+
+ function startProcessFramework() {
+ try {
+ processFramework.start(onFinished);
+
+ function onFinished(err) {
+ try {
+ processFramework.finalize()
+ processFramework = undefined
+ dataDependencies.finalize()
+ dataDependencies = undefined
+ statusDependencies.finalize()
+ statusDependencies = undefined
+
+ switch (err.result) {
+ case global.DEFAULT_OK_RESPONSE.result: {
+ logger.write(MODULE_NAME, "[INFO] run -> loop -> startProcessFramework -> onFinished -> Execution finished well.");
+ nextWaitTime = 'Normal';
+ finishProcessExecutionEvents()
+ return;
+ }
+ case global.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time.
+ logger.write(MODULE_NAME, "[WARN] run -> loop -> startProcessFramework -> onFinished -> Retry Later. Requesting Execution Retry.");
+ nextWaitTime = 'Retry';
+ loopControl(nextWaitTime);
+ return;
+ }
+ case global.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle.
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> startProcessFramework -> onFinished -> Operation Failed. Aborting the process.");
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ case global.CUSTOM_OK_RESPONSE.result: {
+
+ switch (err.message) {
+ case "Dependency does not exist.": {
+ logger.write(MODULE_NAME, "[WARN] run -> loop -> startProcessFramework -> onFinished -> Dependency does not exist. This Loop will go to sleep.");
+ nextWaitTime = 'Sleep';
+ loopControl(nextWaitTime);
+ return;
+ }
+ case "Dependency not ready.": {
+ logger.write(MODULE_NAME, "[WARN] run -> loop -> startProcessFramework -> onFinished -> Dependency not ready. This Loop will go to sleep.");
+ nextWaitTime = 'Sleep';
+ loopControl(nextWaitTime);
+ return;
+ }
+ default: {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> startProcessFramework -> onFinished -> Unhandled custom response received. -> err = " + err.message);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ }
+ default: {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> startProcessFramework -> onFinished -> Unhandled err.result received. -> err.result = " + err.result);
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> startProcessFramework -> onFinished -> Unhandled err.result received. -> err = " + err.message);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> startProcessFramework -> onFinished -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> startProcessFramework -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+
+ function finishProcessExecutionEvents() {
+ try {
+ processExecutionEvents.finish(onFinished);
+
+ function onFinished(err) {
+ try {
+ processExecutionEvents.finalize()
+ processExecutionEvents = undefined
+
+ switch (err.result) {
+ case global.DEFAULT_OK_RESPONSE.result: {
+ logger.write(MODULE_NAME, "[INFO] run -> loop -> finishProcessExecutionEvents -> onFinished -> Execution finished well.");
+ nextWaitTime = 'Normal';
+ loopControl(nextWaitTime);
+ return;
+ }
+ case global.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time.
+ logger.write(MODULE_NAME, "[WARN] run -> loop -> finishProcessExecutionEvents -> onFinished -> Retry Later. Requesting Execution Retry.");
+ nextWaitTime = 'Retry';
+ loopControl(nextWaitTime);
+ return;
+ }
+ case global.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle.
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> finishProcessExecutionEvents -> onFinished -> Operation Failed. Aborting the process.");
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ default: {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> finishProcessExecutionEvents -> onFinished -> Unhandled err.result received. -> err.result = " + err.result);
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> finishProcessExecutionEvents -> onFinished -> Unhandled err.result received. -> err = " + err.message);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> finishProcessExecutionEvents -> onFinished -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> finishProcessExecutionEvents -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+
+ function loopControl(nextWaitTime) {
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> nextWaitTime = " + nextWaitTime); }
+
+ /* We show we reached the end of the loop. */
+ processHeartBeat(undefined, undefined, "Running...")
+
+ /* Here we check if we must stop the loop gracefully. */
+ shallWeStop(onStop, onContinue);
+
+ function onStop() {
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> onStop -> Stopping the Loop Gracefully. See you next time!"); }
+
+ if (global.WRITE_LOGS_TO_FILES === 'true') {
+ logger.persist();
+ }
+
+ global.EVENT_SERVER_CLIENT.raiseEvent(bot.sessionKey, 'Stopped')
+ processStopped()
+ return;
+ }
+
+ function onContinue() {
+ /* Indicator bots are going to be executed after a configured period of time after the last execution ended. This is to avoid overlapping executions. */
+ switch (nextWaitTime) {
+ case 'Waiting for Session': {
+ let waitTime = processConfig.sessionRunWaitTime
+ nextLoopTimeoutHandle = setTimeout(loop, waitTime);
+ let waitingTime = waitTime / 1000 / 60
+ let label = 'minute/s'
+ if (waitingTime < 1) {
+ waitingTime = waitTime / 1000
+ label = 'seconds'
+ }
+ processHeartBeat(undefined, undefined, "Waiting " + waitingTime + " " + label + " for " + bot.processNode.session.type + " " + bot.processNode.session.name + " to be run. ")
+ logger.persist();
+ }
+ break
+ case 'Normal': {
+ let waitTime
+ if (processConfig.waitsForExecutionFinishedEvent === true) {
+ waitTime = 0
+ } else {
+ switch (bot.LEARNING_SESSION.type) {
+ case 'Live Trading Session': {
+ waitTime = bot.LEARNING_SESSION.learningParameters.timeFrame.config.value
+ break
+ }
+ case 'Fordward Tessting Session': {
+ waitTime = bot.LEARNING_SESSION.learningParameters.timeFrame.config.value
+ break
+ }
+ case 'Paper Trading Session': {
+ waitTime = bot.LEARNING_SESSION.learningParameters.timeFrame.config.value
+ break
+ }
+ case 'Backtesting Session': {
+ waitTime = 0
+ break
+ }
+ }
+ }
+
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (waitTime / 1000 / 60) + " minute/s."); }
+ nextLoopTimeoutHandle = setTimeout(loop, waitTime);
+ let waitingTime = waitTime / 1000 / 60
+ let label = 'minute/s'
+ if (waitingTime < 1) {
+ waitingTime = waitTime / 1000
+ label = 'seconds'
+ }
+ processHeartBeat(undefined, undefined, "Waiting " + waitingTime + " " + label + " for next execution.")
+ logger.persist();
+ }
+ break;
+ case 'Retry': {
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (processConfig.retryWaitTime / 1000) + " seconds."); }
+ nextLoopTimeoutHandle = setTimeout(loop, processConfig.retryWaitTime);
+ processHeartBeat(undefined, undefined, "Trying to recover from some problem. Waiting " + processConfig.retryWaitTime / 1000 + " seconds for next execution.")
+ logger.persist();
+ }
+ break;
+ case 'Sleep': {
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (processConfig.sleepWaitTime / 60000) + " minutes."); }
+ nextLoopTimeoutHandle = setTimeout(loop, processConfig.sleepWaitTime);
+ processHeartBeat(undefined, undefined, "Waiting " + processConfig.sleepWaitTime / 60000 + " minutes for next execution.")
+ logger.persist();
+ }
+ break;
+ case 'Coma': {
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (processConfig.comaWaitTime / 3600000) + " hours."); }
+ nextLoopTimeoutHandle = setTimeout(loop, processConfig.comaWaitTime);
+ processHeartBeat(undefined, undefined, "Waiting " + processConfig.comaWaitTime / 3600000 + " hours for next execution.")
+ logger.persist();
+ }
+ break;
+ }
+ }
+ }
+
+ function shallWeStop(stopCallBack, continueCallBack) {
+ try {
+ /* IMPORTANT: This function is exactly the same on the 3 modules. */
+ if (!global.STOP_TASK_GRACEFULLY) {
+ continueCallBack();
+ } else {
+ stopCallBack();
+ }
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] run -> loop -> shallWeStop -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+
+ } catch (err) {
+ parentLogger.write(MODULE_NAME, "[ERROR] run -> loop -> err = " + err.stack);
+ global.unexpectedError = err.message
+ processStopped()
+ return
+ }
+ }
+
+ function processHeartBeat(processingDate, percentage, status) {
+ let event = {
+ seconds: (new Date()).getSeconds(),
+ processingDate: processingDate,
+ percentage: percentage,
+ status: status
+ }
+ global.EVENT_SERVER_CLIENT.raiseEvent(bot.processKey, 'Heartbeat', event)
+ }
+
+ function processStopped() {
+ if (global.unexpectedError !== undefined) {
+ global.PROCESS_ERROR(bot.processKey, undefined, "An unexpected error caused the Process to stop.")
+ } else {
+ global.EVENT_SERVER_CLIENT.raiseEvent(bot.processKey, 'Stopped')
+ }
+ sessionStopped()
+ logger.persist();
+ clearInterval(fixedTimeLoopIntervalHandle);
+ clearTimeout(nextLoopTimeoutHandle);
+ if (global.unexpectedError !== undefined) {
+ callBackFunction(global.DEFAULT_FAIL_RESPONSE)
+ } else {
+ callBackFunction(global.DEFAULT_OK_RESPONSE)
+ }
+ }
+
+ function sessionStopped() {
+ if (bot.SESSION_STATUS === 'Running') {
+ global.EVENT_SERVER_CLIENT.raiseEvent(bot.sessionKey, 'Stopped')
+ bot.SESSION_STATUS = 'Stopped'
+ }
+ }
+
+ } catch (err) {
+ parentLogger.write(MODULE_NAME, "[ERROR] run -> err = " + err.stack);
+ clearInterval(fixedTimeLoopIntervalHandle);
+ clearTimeout(nextLoopTimeoutHandle);
+ callBackFunction(global.DEFAULT_FAIL_RESPONSE);
+ }
+ }
+};
diff --git a/TaskServer/ReinforcementLearning/LearningProcess.js b/TaskServer/ReinforcementLearning/LearningProcess.js
new file mode 100644
index 000000000..9cb44f672
--- /dev/null
+++ b/TaskServer/ReinforcementLearning/LearningProcess.js
@@ -0,0 +1,786 @@
+exports.newLearningProcess = function newLearningProcess(bot, logger, UTILITIES) {
+ /*
+ This Module will load all the process data dependencies from files and send them downstream.
+ After execution, will save the time range and status report of the process.
+ */
+ const FULL_LOG = true;
+ const MODULE_NAME = "Learning Process";
+ const GMT_SECONDS = ':00.000 GMT+0000';
+
+ thisObject = {
+ initialize: initialize,
+ finalize: finalize,
+ start: start
+ };
+
+ let utilities = UTILITIES.newCloudUtilities(logger);
+
+ let statusDependencies;
+ let dataDependenciesModule;
+ let dataFiles = new Map();
+ let multiPeriodDataFiles = new Map();
+
+ const FILE_STORAGE = require('../FileStorage.js');
+ let fileStorage = FILE_STORAGE.newFileStorage(logger);
+
+ const MARKOV_DECISION_PROCESS_MODULE = require('./MarkovDecisionProcess.js')
+ let markovDecisionProcessModule = MARKOV_DECISION_PROCESS_MODULE.newMarkovDecisionProcess(bot, logger)
+
+ let ALGORITHM_MODULE = require("./Algorithm")
+ let algorithmModule = ALGORITHM_MODULE.newTradingOutput(bot, logger, markovDecisionProcessModule, UTILITIES, FILE_STORAGE)
+
+ let processConfig;
+
+ return thisObject;
+
+ function initialize(pProcessConfig, pStatusDependencies, pDataDependencies, callBackFunction) {
+ try {
+ logger.fileName = MODULE_NAME
+ logger.initialize()
+
+ statusDependencies = pStatusDependencies
+ dataDependenciesModule = pDataDependencies
+ processConfig = pProcessConfig
+
+ algorithmModule.initialize()
+
+ callBackFunction(global.DEFAULT_OK_RESPONSE)
+
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] initialize -> err = " + err.stack);
+ callBackFunction(global.DEFAULT_FAIL_RESPONSE);
+ }
+ }
+
+ function finalize() {
+
+ markovDecisionProcessModule.finalize()
+ markovDecisionProcessModule = undefined
+
+ algorithmModule.finalize()
+ algorithmModule = undefined
+
+ dataFiles = undefined
+ multiPeriodDataFiles = undefined
+ statusDependencies = undefined
+ dataDependenciesModule = undefined
+ fileStorage = undefined
+ processConfig = undefined
+ thisObject = undefined
+ }
+
+ async function start(callBackFunction) {
+ try {
+ let currentTimeFrame
+ let currentTimeFrameLabel
+
+ /* Context Variables */
+ let contextVariables = {
+ lastFile: undefined, // Datetime of the last file files sucessfully produced by this process.
+ dateBeginOfMarket: undefined, // Datetime of the first trade file in the whole market history.
+ dateEndOfMarket: undefined // Datetime of the last file available to be used as an input of this process.
+ };
+
+ getContextVariables()
+
+ if (bot.FIRST_EXECUTION === true && bot.RESUME === false) {
+ /*
+ Here is where the Trading Engine and Trading Systems received are moved to the simulation state.
+ */
+ bot.simulationState.tradingEngine = bot.TRADING_ENGINE
+ bot.simulationState.tradingSystem = bot.TRADING_SYSTEM
+ }
+
+ /* We set up the Trading Engine Module. */
+ markovDecisionProcessModule.initialize()
+
+ /* Initializing the Trading Process Date */
+ if (bot.FIRST_EXECUTION === true && bot.RESUME === false) {
+ /*
+ This funcion is going to be called many times by the Trading Bot Loop.
+ Only during the first execution and when the User is not resuming the execution
+ of a stopped session / task; we are going to initialize the Process Date Time.
+ This variable tell us which day we are standing at, specially while working
+ with Daily Files. From this Date is that we are going to load the Daily Files.
+ */
+ bot.simulationState.tradingEngine.current.episode.processDate.value = global.REMOVE_TIME(bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime).valueOf()
+ }
+
+ /*
+ This is the Date that is going to be used across the execution of this Trading Process.
+ We need this because it has a different life cycle than the processData stored at the
+ Trading Engine data structure. This date has to remain the same during the whole execution
+ of the Trading Process until the end, inclusind the writting of Data Ranges and Status Reports.
+ The processDate of the Trading Engine data structure on the other hand can be changed during
+ the simulation loop, once we discover that all candles from a certain date have benn processed.
+ Here is the point where we sync one and the other.
+ */
+ let LearningProcessDate = global.REMOVE_TIME(bot.simulationState.tradingEngine.current.episode.processDate.value)
+ await processSingleFiles()
+
+ if (await processMarketFiles() === false) {
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Waiting for Data Mining to be run')
+ callBackFunction(global.DEFAULT_RETRY_RESPONSE)
+ return
+ }
+ /*
+ This is the Data Structure used at the Simulation with all indicator data.
+ We start creating it right here.
+ */
+ let chart = {}
+ /*
+ Here we check if we need to get Daily Files or not. As an optimization, when
+ we are running on a Time Frame of 1hs or above, we are not going to load
+ dependencies on Daily Files. The way we recognize that is by checking if
+ we alreaady set a value to currentTimeFrame. We are also not going to loop
+ through days if we are processing market files.
+ */
+ if (currentTimeFrame) {
+ /* We are processing Market Files */
+ /*
+ With all the indicators data files loaded, we will build the chart object
+ data structure that will be used in user-defied conditions and formulas.
+ */
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Waking up')
+ buildCharts(chart)
+
+ if (checkThereAreCandles(chart) === true) {
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Running')
+ await generateOutput(chart)
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Saving')
+ await writeProcessFiles()
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Sleeping')
+ } else {
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Waiting for Data Mining to be up to date. No candles found at.')
+ callBackFunction(global.DEFAULT_RETRY_RESPONSE)
+ return
+ }
+
+ } else {
+ /* We are processing Daily Files */
+ do {
+ global.EMIT_SESSION_STATUS(bot.TRADING_SESSION_STATUS, bot.TRADING_SESSIONKey)
+ /*
+ We update the Trading Process Date with the date calculated at the simulation.
+ We will use this date to load indicator and output files. After that we will
+ use it to save Output Files and later the Data Ranges. This is the point where
+ the date calculated by the Simulation is applied at the Trading Process Level.
+ */
+ LearningProcessDate = global.REMOVE_TIME(bot.simulationState.tradingEngine.current.episode.processDate.value)
+
+ if (checkStopTaskGracefully() === false) { break }
+ if (checkStopProcessing() === false) { break }
+
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Waking up')
+ if (await processDailyFiles() === false) {
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Waiting for Data Mining to be run')
+ callBackFunction(global.DEFAULT_RETRY_RESPONSE)
+ return
+ }
+ /*
+ With all the indicators data files loaded, we will build the chart object
+ data structure that will be used in user-defied conditions and formulas.
+ */
+ buildCharts(chart)
+ /*
+ The process of generating the output includes the trading simulation.
+ */
+ if (checkThereAreCandles(chart) === true) {
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Running')
+ await generateOutput(chart)
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Saving')
+ await writeProcessFiles()
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Sleeping')
+ } else {
+ bot.TRADING_SESSIONHeartBeat(undefined, undefined, 'Waiting for Data Mining to be up to date')
+ callBackFunction(global.DEFAULT_RETRY_RESPONSE)
+ return
+ }
+ /*
+ If for any reason the session was stopped, we will break this loop and exit the process.
+ */
+ if (bot.STOP_SESSION === true) { break }
+ /*
+ When we get to the end of the market, we need to break this process loop in order
+ to let time pass, new information be collected from the exchange, new data built
+ into indicators, and eventually a new execution of this process.
+ */
+ if (checkStopHeadOfTheMarket() === false) { break }
+
+ }
+ while (true)
+ }
+
+ checkIfSessionMustStop()
+ /*
+ Everything worked as expected. We return an OK code and wait for
+ the Bot Loop to call us again later.
+ */
+ callBackFunction(global.DEFAULT_OK_RESPONSE)
+
+ function checkThereAreCandles(chart) {
+ let sessionParameters = bot.TRADING_SESSION.tradingParameters
+ let propertyName = 'at' + sessionParameters.timeFrame.config.label.replace('-', '')
+ let candles = chart[propertyName].candles
+
+ if (candles.length === 0) {
+ return false
+ } else {
+ return true
+ }
+ }
+
+ function getContextVariables() {
+ try {
+ let thisReport;
+ let statusReport;
+
+ /* We are going to use the start date as beging of market date. */
+ contextVariables.dateBeginOfMarket = global.REMOVE_TIME(bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime)
+ /*
+ Here we get the status report from the bot who knows which is the end of the market.
+ */
+ statusReport = statusDependencies.reportsByMainUtility.get("Market Ending Point")
+
+ if (statusReport === undefined) { // This means the status report does not exist, that could happen for instance at the begining of a month.
+ logger.write(MODULE_NAME, "[WARN] start -> getContextVariables -> Status Report does not exist. Retrying Later. ");
+ callBackFunction(global.DEFAULT_RETRY_RESPONSE);
+ return
+ }
+
+ if (statusReport.status === "Status Report is corrupt.") {
+ logger.write(MODULE_NAME, "[ERROR] start -> getContextVariables -> Can not continue because dependecy Status Report is corrupt. ");
+ callBackFunction(global.DEFAULT_RETRY_RESPONSE);
+ return
+ }
+
+ thisReport = statusReport.file;
+
+ if (thisReport.lastFile === undefined) {
+ logger.write(MODULE_NAME, "[WARN] start -> getContextVariables -> Undefined Last File. -> thisReport = " + JSON.stringify(thisReport));
+
+ let customOK = {
+ result: global.CUSTOM_OK_RESPONSE.result,
+ message: "Dependency not ready."
+ }
+ logger.write(MODULE_NAME, "[WARN] start -> getContextVariables -> customOK = " + customOK.message);
+ callBackFunction(customOK);
+ return
+ }
+
+ contextVariables.dateEndOfMarket = new Date(thisReport.lastFile.valueOf());
+
+ /* Finally we get our own Status Report. */
+ statusReport = statusDependencies.reportsByMainUtility.get("Self Reference")
+
+ if (statusReport === undefined) { // This means the status report does not exist, that could happen for instance at the begining of a month.
+ logger.write(MODULE_NAME, "[WARN] start -> getContextVariables -> Status Report does not exist. Retrying Later. ");
+ callBackFunction(global.DEFAULT_RETRY_RESPONSE);
+ return
+ }
+
+ if (statusReport.status === "Status Report is corrupt.") {
+ logger.write(MODULE_NAME, "[ERROR] start -> getContextVariables -> Can not continue because self dependecy Status Report is corrupt. Aborting Process.");
+ callBackFunction(global.DEFAULT_FAIL_RESPONSE);
+ return
+ }
+
+ thisReport = statusReport.file;
+ bot.simulationState = thisReport.simulationState;
+ if (bot.simulationState === undefined) { bot.simulationState = {} } // This should happen only when there is no status report
+
+ if (thisReport.lastFile !== undefined) {
+ if (bot.RESUME !== true) {
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] start -> getContextVariables -> Starting from the begining because bot has just started and resume execution was true."); }
+ startFromBegining();
+ return
+ }
+ contextVariables.lastFile = new Date(thisReport.lastFile);
+ return
+
+ } else {
+ /*
+ We are here becuse either:
+ 1. There is no status report
+ 2. There is no Last File (this happens on Market Files)
+ */
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] start -> getContextVariables -> Starting from the begining of the market because own status report not found or lastFile was undefined."); }
+ startFromBegining();
+ return
+ }
+
+ function startFromBegining() {
+ contextVariables.lastFile = new Date(contextVariables.dateBeginOfMarket.getUTCFullYear() + "-" + (contextVariables.dateBeginOfMarket.getUTCMonth() + 1) + "-" + contextVariables.dateBeginOfMarket.getUTCDate() + " " + "00:00" + GMT_SECONDS);
+
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] start -> getContextVariables -> startFromBegining -> contextVariables.lastFile = " + contextVariables.lastFile); }
+ }
+
+ } catch (err) {
+ logger.write(MODULE_NAME, "[ERROR] start -> getContextVariables -> err = " + err.stack);
+ if (err.message === "Cannot read property 'file' of undefined") {
+ logger.write(MODULE_NAME, "[HINT] start -> getContextVariables -> Check the bot configuration to see if all of its statusDependencies declarations are correct. ");
+ logger.write(MODULE_NAME, "[HINT] start -> getContextVariables -> Dependencies loaded -> keys = " + JSON.stringify(statusDependencies.keys));
+ }
+ callBackFunction(global.DEFAULT_FAIL_RESPONSE);
+ }
+ }
+
+ async function processSingleFiles() {
+ dataFiles = new Map();
+
+ for (let dependencyIndex = 0; dependencyIndex < dataDependenciesModule.nodeArray.length; dependencyIndex++) {
+ let dependency = dataDependenciesModule.nodeArray[dependencyIndex];
+ let datasetModule = dataDependenciesModule.dataSetsModulesArray[dependencyIndex];
+
+ if (datasetModule.node.config.codeName !== "Single-File") {
+ continue
+ }
+
+ if (dataDependenciesModule.isItADepenency('atAnyTimeFrame', datasetModule.node.parentNode.config.singularVariableName) !== true) {
+ continue
+ }
+
+ let fileName = "Data.json";
+ let filePath = datasetModule.node.parentNode.config.codeName + '/' + datasetModule.node.config.codeName;
+
+ /* We cut the async calls via callBacks at this point, so as to have a clearer code upstream */
+ let response = await asyncGetDatasetFile(datasetModule, filePath, fileName)
+
+ if (response.err.result !== global.DEFAULT_OK_RESPONSE.result) {
+ throw (response.err)
+ }
+
+ let dataFile = JSON.parse(response.text);
+ dataFiles.set(dependency.id, dataFile);
+ }
+
+ let mapKey = "Single Files"
+ multiPeriodDataFiles.set(mapKey, dataFiles)
+ }
+
+ async function processMarketFiles() {
+ /*
+ We do market files first since if the simulation is run on daily files, there will
+ be a loop to get each of those files and we do not need that loop to reload market files.
+
+ We will iterate through all posible timeFrames.
+ */
+ for (let n = 0; n < global.marketFilesPeriods.length; n++) {
+ const timeFrame = global.marketFilesPeriods[n][0];
+ const timeFrameLabel = global.marketFilesPeriods[n][1];
+
+ dataFiles = new Map();
+
+ if (bot.TRADING_SESSION.tradingParameters.timeFrame.config.label === timeFrameLabel) {
+ currentTimeFrame = global.marketFilesPeriods[n][0];
+ currentTimeFrameLabel = global.marketFilesPeriods[n][1];
+ }
+ for (let dependencyIndex = 0; dependencyIndex < dataDependenciesModule.nodeArray.length; dependencyIndex++) {
+ let dependency = dataDependenciesModule.nodeArray[dependencyIndex];
+ let datasetModule = dataDependenciesModule.dataSetsModulesArray[dependencyIndex];
+
+ if (dependency.referenceParent.config.codeName !== "Multi-Period-Market") {
+ continue
+ }
+
+ if (dataDependenciesModule.isItADepenency(timeFrameLabel, datasetModule.node.parentNode.config.singularVariableName) !== true) {
+ if (!(bot.TRADING_SESSION.tradingParameters.timeFrame.config.label === timeFrameLabel && datasetModule.node.parentNode.config.pluralVariableName === 'candles')) {
+ continue
+ }
+ }
+
+ let fileName = "Data.json";
+ let filePath = dependency.referenceParent.parentNode.config.codeName + '/' + dependency.referenceParent.config.codeName + "/" + timeFrameLabel;
+
+ /* We cut the async calls via callBacks at this point, so as to have a clearer code upstream */
+ let response = await asyncGetDatasetFile(datasetModule, filePath, fileName)
+
+ if (response.err.message === 'File does not exist.') {
+ return false
+ }
+
+ if (response.err.result !== global.DEFAULT_OK_RESPONSE.result) {
+ throw (response.err)
+ }
+
+ let dataFile = JSON.parse(response.text);
+ let trimmedDataFile = trimDataFile(dataFile, datasetModule.node.parentNode.record)
+ dataFiles.set(dependency.id, trimmedDataFile);
+
+ function trimDataFile(dataFile, recordDefinition) {
+ /*
+ Here we will discard all the records in a file that are outside of the current time range.
+ We will include the las element previous to the begining of the time range. This is needed
+ because during the simulation, the current period is not the open one, but the previous to
+ the open, and if we do not include the previous to the initial datetime there will be no
+ current objects at the begining of the simulation for many time frames.
+ */
+ let beginIndex
+ let endIndex
+ let result = []
+ for (let i = 0; i < recordDefinition.properties.length; i++) {
+ let property = recordDefinition.properties[i]
+ if (property.config.codeName === 'begin') {
+ beginIndex = i
+ }
+ if (property.config.codeName === 'end') {
+ endIndex = i
+ }
+ }
+ for (let i = 0; i < dataFile.length; i++) {
+ let dataRecord = dataFile[i]
+ let begin = dataRecord[beginIndex]
+ let end = dataRecord[endIndex]
+ if (end + timeFrame < bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime - 1) { continue } // /1 because we need the previous closed element
+ if (begin > bot.TRADING_SESSION.tradingParameters.timeRange.config.finalDatetime) { continue }
+ result.push(dataRecord)
+ }
+ return result
+ }
+ }
+
+ let mapKey = global.marketFilesPeriods[n][1];
+ multiPeriodDataFiles.set(mapKey, dataFiles)
+ }
+ return true
+ }
+
+ async function processDailyFiles() {
+ /* Telling the world we are alive and doing well and which date we are processing right now. */
+ let processingDateString = LearningProcessDate.getUTCFullYear() + '-' + utilities.pad(LearningProcessDate.getUTCMonth() + 1, 2) + '-' + utilities.pad(LearningProcessDate.getUTCDate(), 2);
+ bot.processHeartBeat(processingDateString, undefined, "Running...")
+
+ /*
+ We will iterate through all posible timeFrames.
+ */
+ for (let n = 0; n < global.dailyFilePeriods.length; n++) {
+ const timeFrame = global.dailyFilePeriods[n][0];
+ const timeFrameLabel = global.dailyFilePeriods[n][1];
+
+ if (processConfig.framework.validtimeFrames !== undefined) {
+ let validPeriod = false;
+ for (let i = 0; i < processConfig.framework.validtimeFrames.length; i++) {
+ let period = processConfig.framework.validtimeFrames[i];
+ if (period === timeFrameLabel) { validPeriod = true }
+ }
+ if (validPeriod === false) {
+ continue
+ }
+ }
+
+ if (bot.TRADING_SESSION.tradingParameters.timeFrame.config.label === timeFrameLabel) {
+ currentTimeFrame = global.dailyFilePeriods[n][0];
+ currentTimeFrameLabel = global.dailyFilePeriods[n][1];
+ }
+
+ dataFiles = new Map();
+
+ /*
+ We will iterate through all dependencies, in order to load the
+ files that later will end up at the chart data structure.
+ */
+ for (let dependencyIndex = 0; dependencyIndex < dataDependenciesModule.nodeArray.length; dependencyIndex++) {
+ let dependency = dataDependenciesModule.nodeArray[dependencyIndex];
+ let datasetModule = dataDependenciesModule.dataSetsModulesArray[dependencyIndex];
+
+ if (dependency.referenceParent.config.codeName !== "Multi-Period-Daily") {
+ continue
+ }
+
+ if (dataDependenciesModule.isItADepenency(timeFrameLabel, datasetModule.node.parentNode.config.singularVariableName) !== true) {
+ if (!(bot.TRADING_SESSION.tradingParameters.timeFrame.config.label === timeFrameLabel && datasetModule.node.parentNode.config.pluralVariableName === 'candles')) {
+ continue
+ }
+ }
+
+ let dateForPath = LearningProcessDate.getUTCFullYear() + '/' + utilities.pad(LearningProcessDate.getUTCMonth() + 1, 2) + '/' + utilities.pad(LearningProcessDate.getUTCDate(), 2);
+ let filePath
+ if (dependency.referenceParent.config.codeName === "Multi-Period-Daily") {
+ filePath = dependency.referenceParent.parentNode.config.codeName + '/' + dependency.referenceParent.config.codeName + "/" + timeFrameLabel + "/" + dateForPath;
+ } else {
+ filePath = dependency.referenceParent.parentNode.config.codeName + '/' + dependency.referenceParent.config.codeName + "/" + dateForPath;
+ }
+ let fileName = "Data.json";
+
+ /* We cut the async calls via callBacks at this point, so as to have a clearer code upstream */
+ let response = await asyncGetDatasetFile(datasetModule, filePath, fileName)
+
+ if (response.err.message === 'File does not exist.') {
+ return false
+ }
+ if (response.err.result !== global.DEFAULT_OK_RESPONSE.result) {
+ throw (response.err)
+ }
+
+ let dataFile = JSON.parse(response.text);
+ dataFiles.set(dependency.id, dataFile);
+ }
+
+ let mapKey = global.dailyFilePeriods[n][1];
+ multiPeriodDataFiles.set(mapKey, dataFiles)
+ }
+ return true
+ }
+
+ function checkStopHeadOfTheMarket() {
+ /*
+ We need to check if we have reached the head of the market in order to know
+ when to break the Daily Files Process loop and give time for a new candles /
+ indicators to be built and continue the processing once this process is called
+ again.
+ */
+ if (bot.simulationState.tradingEngine.current.episode.headOfTheMarket.value === true) {
+ return false
+ }
+ }
+
+ function checkStopTaskGracefully() {
+ /* Validation that we dont need to stop. */
+ if (global.STOP_TASK_GRACEFULLY === true) {
+ return false
+ }
+ }
+
+ function checkStopProcessing() {
+ /* Validation that we dont need to stop. */
+ if (bot.STOP_SESSION === true) {
+ return false
+ }
+ }
+
+ function buildCharts(chart) {
+ const COMMONS = require('../Commons.js')
+ let commons = COMMONS.newCommons(bot, logger, UTILITIES, FILE_STORAGE)
+
+ let mainDependency = {}
+
+ /* The first phase here is about checking that we have everything we need at the definition level. */
+ let dataDependencies = global.NODE_BRANCH_TO_ARRAY(bot.processNode.referenceParent.processDependencies, 'Data Dependency')
+ /*
+ We will filter ourt declared dependencies that are not present in the workspace.
+ This will allow the user to have less Data Mines loaded at the workspace
+ that the ones that a Trading Mine depends on.
+ */
+ dataDependencies = global.FILTER_OUT_NODES_WITHOUT_REFERENCE_PARENT_FROM_NODE_ARRAY(dataDependencies)
+
+ if (commons.validateDataDependencies(dataDependencies, callBackFunction) !== true) { return }
+
+ let outputDatasets = global.NODE_BRANCH_TO_ARRAY(bot.processNode.referenceParent.processOutput, 'Output Dataset')
+ if (commons.validateOutputDatasets(outputDatasets, callBackFunction) !== true) { return }
+
+ /* The second phase is about transforming the inputs into a format that can be used to apply the user defined code. */
+ for (let j = 0; j < global.marketFilesPeriods.length; j++) {
+ let timeFrameLabel = marketFilesPeriods[j][1]
+ let dataFiles = multiPeriodDataFiles.get(timeFrameLabel)
+ let products = {}
+
+ if (dataFiles !== undefined) {
+ commons.inflateDatafiles(dataFiles, dataDependencies, products, mainDependency, currentTimeFrame)
+
+ let propertyName = 'at' + timeFrameLabel.replace('-', '')
+ chart[propertyName] = products
+ }
+ }
+
+ for (let j = 0; j < global.dailyFilePeriods.length; j++) {
+ let timeFrameLabel = global.dailyFilePeriods[j][1]
+ let dataFiles = multiPeriodDataFiles.get(timeFrameLabel)
+ let products = {}
+
+ if (dataFiles !== undefined) {
+ commons.inflateDatafiles(dataFiles, dataDependencies, products, mainDependency, currentTimeFrame)
+
+ let propertyName = 'at' + timeFrameLabel.replace('-', '')
+ chart[propertyName] = products
+ }
+ }
+
+ /* Single Files */
+ let dataFiles = multiPeriodDataFiles.get('Single Files')
+ let products = {}
+
+ if (dataFiles !== undefined) {
+ commons.inflateDatafiles(dataFiles, dataDependencies, products, mainDependency, currentTimeFrame)
+
+ let propertyName = 'atAnyTimeFrame'
+ chart[propertyName] = products
+ }
+ }
+
+ async function generateOutput(chart) {
+ await algorithmModule.start(
+ chart,
+ currentTimeFrame,
+ currentTimeFrameLabel,
+ LearningProcessDate
+ )
+
+ /*
+ From here on, all other loops executions wont be the first execution and also
+ we will consider that it is not resuming a previous execution as well.
+ */
+ bot.FIRST_EXECUTION = false
+ bot.RESUME = false
+ }
+
+ async function writeProcessFiles() {
+ let outputDatasets = global.NODE_BRANCH_TO_ARRAY(bot.processNode.referenceParent.processOutput, 'Output Dataset')
+
+ await writeTimeFramesFiles(currentTimeFrame, currentTimeFrameLabel)
+ await writeDataRanges()
+
+ if (currentTimeFrame > global.dailyFilePeriods[0][0]) {
+ await writeMarketStatusReport(currentTimeFrameLabel)
+ } else {
+ await writeDailyStatusReport(currentTimeFrameLabel)
+ }
+
+ async function writeDataRanges() {
+ for (
+ let outputDatasetIndex = 0;
+ outputDatasetIndex < outputDatasets.length;
+ outputDatasetIndex++
+ ) {
+ let productCodeName = outputDatasets[outputDatasetIndex].referenceParent.parentNode.config.codeName;
+ await writeDataRange(productCodeName);
+ }
+
+ async function writeDataRange(productCodeName) {
+ let dataRange = {
+ begin: contextVariables.dateBeginOfMarket.valueOf(),
+ end: LearningProcessDate.valueOf() + global.ONE_DAY_IN_MILISECONDS
+ }
+
+ let fileContent = JSON.stringify(dataRange);
+ let fileName = '/Data.Range.json';
+ let filePath = bot.filePathRoot + "/Output/" + bot.TRADING_SESSION.folderName + "/" + productCodeName + "/" + 'Multi-Period-Daily' + fileName;
+
+ let response = await fileStorage.asyncCreateTextFile(filePath, fileContent + '\n')
+
+ if (response.err.result !== global.DEFAULT_OK_RESPONSE.result) {
+ throw (response.err)
+ }
+
+ /*
+ Raise the event that the Data Range was Updated.
+ */
+ let key = bot.dataMine + "-" + bot.codeName + "-" + productCodeName + "-" + bot.exchange + "-" + bot.market.baseAsset + '/' + bot.market.quotedAsset
+ let event = {
+ dateRange: dataRange
+ }
+
+ global.EVENT_SERVER_CLIENT.raiseEvent(key, 'Data Range Updated', event)
+ }
+ }
+
+ async function writeTimeFramesFiles(currentTimeFrame, currentTimeFrameLabel) {
+
+ for (
+ let outputDatasetIndex = 0;
+ outputDatasetIndex < outputDatasets.length;
+ outputDatasetIndex++
+ ) {
+ let productCodeName = outputDatasets[outputDatasetIndex].referenceParent.parentNode.config.codeName;
+ await writeTimeFramesFile(currentTimeFrameLabel, productCodeName, 'Multi-Period-Daily')
+ await writeTimeFramesFile(currentTimeFrameLabel, productCodeName, 'Multi-Period-Market')
+
+ async function writeTimeFramesFile(currentTimeFrameLabel, productCodeName, processType) {
+
+ let timeFramesArray = []
+ timeFramesArray.push(currentTimeFrameLabel)
+
+ let fileContent = JSON.stringify(timeFramesArray)
+ let fileName = '/Time.Frames.json';
+
+ let filePath = bot.filePathRoot + "/Output/" + bot.TRADING_SESSION.folderName + "/" + productCodeName + "/" + processType + fileName;
+
+ let response = await fileStorage.asyncCreateTextFile(filePath, fileContent + '\n')
+ if (response.err.result !== global.DEFAULT_OK_RESPONSE.result) {
+ throw (response.err)
+ }
+ }
+ }
+ }
+
+ async function writeDailyStatusReport(currentTimeFrameLabel) {
+ let reportKey = bot.dataMine + "-" + bot.codeName + "-" + bot.processNode.referenceParent.config.codeName
+ let thisReport = statusDependencies.statusReports.get(reportKey)
+
+ thisReport.file.lastExecution = bot.currentDaytime
+ thisReport.file.lastFile = LearningProcessDate
+ thisReport.file.simulationState = bot.simulationState
+ thisReport.file.timeFrames = currentTimeFrameLabel
+ await thisReport.asyncSave()
+ }
+
+ async function writeMarketStatusReport(currentTimeFrameLabel) {
+ let reportKey = bot.dataMine + "-" + bot.codeName + "-" + bot.processNode.referenceParent.config.codeName
+ let thisReport = statusDependencies.statusReports.get(reportKey);
+
+ thisReport.file.lastExecution = bot.processDatetime
+ thisReport.file.simulationState = bot.simulationState
+ thisReport.file.timeFrames = currentTimeFrameLabel
+
+ logger.newInternalLoop(bot.codeName, bot.process, LearningProcessDate)
+ await thisReport.asyncSave()
+ }
+ }
+
+ function checkIfSessionMustStop() {
+
+ if (bot.TRADING_SESSION.type === 'Backtesting Session') {
+ /*
+ Backtests needs only one execution of this process to complete.
+ */
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, '[IMPORTANT] checkIfSessionMustStop -> Backtesting Session Finished. Stopping the Session now. ') }
+ bot.TRADING_SESSION.stop('Backtesting Session Finished.')
+ }
+ }
+ }
+ catch (err) {
+ /* An unhandled exception occured. in this case we return Fail and log the stack. */
+ if (err.stack) {
+ logger.write(MODULE_NAME, "[ERROR] start -> Unhandled Exception. Will Abort this process. err = " + err.stack);
+ callBackFunction(global.DEFAULT_FAIL_RESPONSE);
+ return
+ }
+
+ /* Some expected file was not found. We will return a RETRY code and move on. */
+ if ((err.result === "Fail Because" && err.message === "File does not exist.") || err.code === 'The specified key does not exist.') {
+ logger.write(MODULE_NAME, "[ERROR] File not Found. Will Retry the Process Loop.")
+ callBackFunction(global.DEFAULT_RETRY_RESPONSE);
+ return
+ }
+
+ /* Some other handled exception occured. We return Fail and move on. */
+ if (err.result !== global.DEFAULT_OK_RESPONSE.result) {
+ logger.write(MODULE_NAME, "[ERROR] start -> Handled Exception. Will Abort this process. err = " + err.message);
+ callBackFunction(global.DEFAULT_FAIL_RESPONSE);
+ return
+ }
+ }
+ }
+
+ function pad(str, max) {
+ str = str.toString();
+ return str.length < max ? pad(" " + str, max) : str;
+ }
+
+ async function asyncGetDatasetFile(datasetModule, filePath, fileName) {
+
+ let promise = new Promise((resolve, reject) => {
+
+ datasetModule.getTextFile(filePath, fileName, onFileReceived);
+ function onFileReceived(err, text) {
+
+ let response = {
+ err: err,
+ text: text
+ }
+ resolve(response)
+ }
+ });
+
+ return promise
+ }
+}
diff --git a/TaskServer/ReinforcementLearning/MarkovDecisionProcess.js b/TaskServer/ReinforcementLearning/MarkovDecisionProcess.js
new file mode 100644
index 000000000..ca46398dc
--- /dev/null
+++ b/TaskServer/ReinforcementLearning/MarkovDecisionProcess.js
@@ -0,0 +1,218 @@
+exports.newMarkovDecisionProcess = function newMarkovDecisionProcess(bot, logger) {
+ /*
+ We call the Trading Engine to the data structure that is needed in order to exevute the
+ trading protocol with the specific rules defined at the Trading System.
+ */
+ const MODULE_NAME = 'Markov Decision Process'
+ let thisObject = {
+ mantain: mantain,
+ reset: reset,
+ getNodeById: getNodeById,
+ cloneValues: cloneValues,
+ setCurrentCandle: setCurrentCandle,
+ setCurrentCycle: setCurrentCycle,
+ initializeNode: initializeNode,
+ initialize: initialize,
+ finalize: finalize
+ }
+
+ let tradingEngine
+ let sessionParameters
+ let nodesMap = new Map()
+
+ return thisObject
+
+ function initialize() {
+
+ tradingEngine = bot.simulationState.tradingEngine
+ sessionParameters = bot.LEARNING_SESSION.learningParameters
+
+ initializeNodeMap(tradingEngine)
+
+ if (bot.FIRST_EXECUTION === true) {
+ /*
+ Here we will go through all the nodes in the Trading Engine hiriarchy and
+ apply the initial value to the value property when needed
+ */
+ initializeNode(tradingEngine)
+ }
+ }
+
+ function finalize() {
+ tradingEngine = undefined
+ sessionParameters = undefined
+ nodesMap = undefined
+ }
+
+ function mantain() {
+ }
+
+ function reset() {
+
+ }
+
+ function getNodeById(NodeId) {
+ return nodesMap.get(NodeId)
+ }
+
+ function setCurrentCandle(candle) {
+ tradingEngine.current.episode.candle.begin.value = candle.begin
+ tradingEngine.current.episode.candle.end.value = candle.end
+ tradingEngine.current.episode.candle.open.value = candle.open
+ tradingEngine.current.episode.candle.close.value = candle.close
+ tradingEngine.current.episode.candle.min.value = candle.min
+ tradingEngine.current.episode.candle.max.value = candle.max
+ }
+
+ function setCurrentCycle(cycle) {
+ tradingEngine.current.episode.cycle.value = cycle
+ tradingEngine.current.episode.cycle.lastBegin.value = tradingEngine.current.episode.cycle.begin.value
+ tradingEngine.current.episode.cycle.lastEnd.value = tradingEngine.current.episode.cycle.end.value
+ switch (cycle) {
+ case 'First': {
+ tradingEngine.current.episode.cycle.begin.value =
+ tradingEngine.current.episode.candle.begin.value +
+ sessionParameters.timeFrame.config.value
+ tradingEngine.current.episode.cycle.end.value =
+ tradingEngine.current.episode.candle.begin.value +
+ sessionParameters.timeFrame.config.value +
+ sessionParameters.timeFrame.config.value / 2 - 1
+ break
+ }
+ case 'Second': {
+ tradingEngine.current.episode.cycle.begin.value =
+ tradingEngine.current.episode.candle.begin.value +
+ sessionParameters.timeFrame.config.value +
+ sessionParameters.timeFrame.config.value / 2
+ tradingEngine.current.episode.cycle.end.value =
+ tradingEngine.current.episode.candle.begin.value +
+ sessionParameters.timeFrame.config.value +
+ sessionParameters.timeFrame.config.value * 4 / 4 - 1
+ break
+ }
+ }
+ }
+
+ function cloneValues(originNode, destinationNode) {
+ if (originNode === undefined) { return }
+ if (destinationNode === undefined) { return }
+
+ /* Here copy the node value */
+ destinationNode.value = originNode.value
+
+ /* Now we go down through all the children of the origin node, assuming the destination node has the same children structure*/
+ let nodeDefinition = global.APP_SCHEMA_MAP.get(originNode.type)
+ if (nodeDefinition === undefined) { return }
+
+ if (nodeDefinition.properties !== undefined) {
+ let previousPropertyName // Since there are cases where there are many properties with the same name,because they can hold nodes of different types but only one at the time, we have to avoind counting each property of those as individual children.
+ for (let i = 0; i < nodeDefinition.properties.length; i++) {
+ let property = nodeDefinition.properties[i]
+
+ switch (property.type) {
+ case 'node': {
+ if (property.name !== previousPropertyName) {
+ if (originNode[property.name] !== undefined && destinationNode[property.name] !== undefined) {
+ cloneValues(originNode[property.name], destinationNode[property.name])
+ }
+ previousPropertyName = property.name
+ }
+ break
+ }
+ case 'array': {
+ if (originNode[property.name] !== undefined && destinationNode[property.name] !== undefined) {
+ let originNodePropertyArray = originNode[property.name]
+ let destinationNodePropertyArray = destinationNode[property.name]
+ for (let m = 0; m < originNodePropertyArray.length; m++) {
+ cloneValues(originNodePropertyArray[m], destinationNodePropertyArray[m])
+ }
+ }
+ break
+ }
+ }
+ }
+ }
+ }
+
+ function initializeNodeMap(node) {
+ if (node === undefined) { return }
+ /* Add to Node Map */
+ nodesMap.set(node.id, node)
+
+ /* Now we go down through all this node children */
+ let nodeDefinition = global.APP_SCHEMA_MAP.get(node.type)
+ if (nodeDefinition === undefined) { return }
+
+ if (nodeDefinition.properties !== undefined) {
+ let previousPropertyName // Since there are cases where there are many properties with the same name,because they can hold nodes of different types but only one at the time, we have to avoind counting each property of those as individual children.
+ for (let i = 0; i < nodeDefinition.properties.length; i++) {
+ let property = nodeDefinition.properties[i]
+
+ switch (property.type) {
+ case 'node': {
+ if (property.name !== previousPropertyName) {
+ if (node[property.name] !== undefined) {
+ initializeNodeMap(node[property.name])
+ }
+ previousPropertyName = property.name
+ }
+ break
+ }
+ case 'array': {
+ if (node[property.name] !== undefined) {
+ let nodePropertyArray = node[property.name]
+ for (let m = 0; m < nodePropertyArray.length; m++) {
+ initializeNodeMap(nodePropertyArray[m])
+ }
+ }
+ break
+ }
+ }
+ }
+ }
+ }
+
+ function initializeNode(node) {
+ if (node === undefined) { return }
+
+ /* Here we initialize the node value */
+ if (node.config !== undefined) {
+ if (node.config.initialValue !== undefined) {
+ node.value = node.config.initialValue
+ }
+ }
+
+ /* Now we go down through all this node children */
+ let nodeDefinition = global.APP_SCHEMA_MAP.get(node.type)
+ if (nodeDefinition === undefined) { return }
+
+ if (nodeDefinition.properties !== undefined) {
+ let previousPropertyName // Since there are cases where there are many properties with the same name,because they can hold nodes of different types but only one at the time, we have to avoind counting each property of those as individual children.
+ for (let i = 0; i < nodeDefinition.properties.length; i++) {
+ let property = nodeDefinition.properties[i]
+
+ switch (property.type) {
+ case 'node': {
+ if (property.name !== previousPropertyName) {
+ if (node[property.name] !== undefined) {
+ initializeNode(node[property.name])
+ }
+ previousPropertyName = property.name
+ }
+ break
+ }
+ case 'array': {
+ if (node[property.name] !== undefined) {
+ let nodePropertyArray = node[property.name]
+ for (let m = 0; m < nodePropertyArray.length; m++) {
+ initializeNode(nodePropertyArray[m])
+ }
+ }
+ break
+ }
+ }
+ }
+ }
+ }
+}
+
diff --git a/TaskServer/Root.js b/TaskServer/Root.js
index 10ac254d5..198f15944 100644
--- a/TaskServer/Root.js
+++ b/TaskServer/Root.js
@@ -266,6 +266,10 @@
runTradingBot(botConfig, processConfig);
break;
}
+ case 'Learning Bot': {
+ runLearningBot(botConfig, processConfig);
+ break;
+ }
default: {
console.log(logDisplace + "Root : [ERROR] start -> bootingBot -> Unexpected bot type. -> botConfig.type = " + botConfig.type);
}
@@ -296,6 +300,10 @@
runTradingBot(botConfig, processConfig);
break;
}
+ case 'Learning Bot': {
+ runLearningBot(botConfig, processConfig);
+ break;
+ }
default: {
console.log(logDisplace + "Root : [ERROR] start -> bootingBot -> Unexpected bot type. -> botConfig.type = " + botConfig.type);
}
@@ -339,6 +347,10 @@
runTradingBot(botConfig, processConfig);
break;
}
+ case 'Learning Bot': {
+ runLearningBot(botConfig, processConfig);
+ break;
+ }
default: {
console.log(logDisplace + "Root : [ERROR] start -> bootingBot -> Unexpected bot type. -> botConfig.type = " + botConfig.type);
}
@@ -540,6 +552,71 @@
setTimeout(exitProcessInstance, WAIT_TIME_FOR_ALL_PROCESS_INSTANCES_TO_START)
}
}
+
+ function runLearningBot(pBotConfig, pProcessConfig) {
+
+ global.TOTAL_PROCESS_INSTANCES_CREATED++
+
+ try {
+ const DEBUG_MODULE = require(global.ROOT_DIR + 'DebugLog');
+ let logger;
+
+ logger = DEBUG_MODULE.newDebugLog();
+ global.LOGGER_MAP.set('runLearningBot', logger)
+ logger.bot = pBotConfig;
+
+ if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] start -> bootingBot -> runLearningBot -> Entering function."); }
+
+ let learningBot = TRADING_BOT_MODULE.newLearningBot(pBotConfig, logger);
+ learningBot.initialize(pProcessConfig, onInitializeReady);
+
+ function onInitializeReady(err) {
+
+ if (err.result === global.DEFAULT_OK_RESPONSE.result) {
+
+ learningBot.run(whenRunFinishes);
+
+ function whenRunFinishes(err) {
+
+ pBotConfig.loopCounter = 0;
+
+ let botId;
+
+ botId = pBotConfig.dataMine + "." + pBotConfig.codeName + "." + pBotConfig.process;
+
+ if (err.result === global.DEFAULT_OK_RESPONSE.result) {
+
+ logger.write(MODULE_NAME, "[INFO] start -> bootingBot -> runLearningBot -> onInitializeReady -> whenStartFinishes -> Bot execution finished sucessfully.");
+ logger.write(MODULE_NAME, "[INFO] start -> bootingBot -> runLearningBot -> onInitializeReady -> whenStartFinishes -> Bot Id = " + botId);
+
+ logger.persist();
+
+ } else {
+
+ logger.write(MODULE_NAME, "[ERROR] start -> bootingBot -> runLearningBot -> onInitializeReady -> whenStartFinishes -> err = " + err.message);
+ logger.write(MODULE_NAME, "[ERROR] start -> bootingBot -> runLearningBot -> onInitializeReady -> whenStartFinishes -> Execution will be stopped. ");
+ logger.write(MODULE_NAME, "[ERROR] start -> bootingBot -> runLearningBot -> onInitializeReady -> whenStartFinishes -> Bye.");
+ logger.write(MODULE_NAME, "[ERROR] start -> bootingBot -> runLearningBot -> onInitializeReady -> whenStartFinishes -> Bot Id = " + botId);
+ console.log(logDisplace + "Root : [ERROR] start -> bootingBot -> runLearningBot -> onInitializeReady -> whenStartFinishes -> Bot execution finished with errors. Please check the logs.");
+ logger.persist();
+ }
+ setTimeout(exitProcessInstance, WAIT_TIME_FOR_ALL_PROCESS_INSTANCES_TO_START)
+ }
+
+ } else {
+ logger.write(MODULE_NAME, "[ERROR] start -> bootingBot -> runLearningBot -> onInitializeReady -> err = " + err.message);
+ logger.write(MODULE_NAME, "[ERROR] start -> bootingBot -> runLearningBot -> onInitializeReady -> Failed to initialize the bot. ");
+ console.log(logDisplace + "Root : [ERROR] start -> bootingBot -> runLearningBot -> onInitializeReady -> err = " + err.message);
+ logger.persist();
+ setTimeout(exitProcessInstance, WAIT_TIME_FOR_ALL_PROCESS_INSTANCES_TO_START)
+ }
+ }
+ }
+ catch (err) {
+ console.log(logDisplace + "Root : [ERROR] start -> bootingBot -> runLearningBot -> err = " + err.stack);
+ setTimeout(exitProcessInstance, WAIT_TIME_FOR_ALL_PROCESS_INSTANCES_TO_START)
+ }
+ }
}
catch (err) {
console.log(logDisplace + "Root : [ERROR] start -> bootingBot -> err = " + err.stack);
diff --git a/TaskServer/SocialBots.js b/TaskServer/SocialBots.js
index 9ae190727..4676a912f 100644
--- a/TaskServer/SocialBots.js
+++ b/TaskServer/SocialBots.js
@@ -13,10 +13,10 @@ exports.newSocialBots = function newSocialBots(bot, logger) {
return thisObject
function initialize() {
- if (bot.SESSION.socialBots !== undefined) {
- if (bot.SESSION.socialBots.bots !== undefined) {
- for (let i = 0; i < bot.SESSION.socialBots.bots.length; i++) {
- let socialBot = bot.SESSION.socialBots.bots[i]
+ if (bot.TRADING_SESSION.socialBots !== undefined) {
+ if (bot.TRADING_SESSION.socialBots.bots !== undefined) {
+ for (let i = 0; i < bot.TRADING_SESSION.socialBots.bots.length; i++) {
+ let socialBot = bot.TRADING_SESSION.socialBots.bots[i]
if (socialBot.type === "Telegram Bot") {
let config = socialBot.config
socialBot.botInstance = TELEGRAM_BOT_MODULE.newTelegramBot(bot, logger)
@@ -26,9 +26,9 @@ exports.newSocialBots = function newSocialBots(bot, logger) {
}
function announce(text) {
- if (bot.SESSION.socialBots.bots !== undefined) {
- for (let i = 0; i < bot.SESSION.socialBots.bots.length; i++) {
- let socialBot = bot.SESSION.socialBots.bots[i]
+ if (bot.TRADING_SESSION.socialBots.bots !== undefined) {
+ for (let i = 0; i < bot.TRADING_SESSION.socialBots.bots.length; i++) {
+ let socialBot = bot.TRADING_SESSION.socialBots.bots[i]
try {
if (socialBot.type === "Telegram Bot") {
socialBot.botInstance.telegramAPI.sendMessage(socialBot.botInstance.chatId, text).catch(err => logger.write(MODULE_NAME, "[WARN] initialize -> initializeSocialBots -> announce -> Telegram API error -> err = " + err))
@@ -40,15 +40,15 @@ exports.newSocialBots = function newSocialBots(bot, logger) {
}
}
- bot.SESSION.socialBots.announce = announce
+ bot.TRADING_SESSION.socialBots.announce = announce
}
}
function finalize() {
- if (bot.SESSION.socialBots === undefined) { return }
- if (bot.SESSION.socialBots.bots !== undefined) {
- for (let i = 0; i < bot.SESSION.socialBots.bots.length; i++) {
- let socialBot = bot.SESSION.socialBots.bots[i]
+ if (bot.TRADING_SESSION.socialBots === undefined) { return }
+ if (bot.TRADING_SESSION.socialBots.bots !== undefined) {
+ for (let i = 0; i < bot.TRADING_SESSION.socialBots.bots.length; i++) {
+ let socialBot = bot.TRADING_SESSION.socialBots.bots[i]
if (socialBot.type === "Telegram Bot") {
socialBot.botInstance.finalize()
}
@@ -57,10 +57,10 @@ exports.newSocialBots = function newSocialBots(bot, logger) {
}
function sendMessage(message) {
- if (bot.SESSION.socialBots !== undefined) {
- if (bot.SESSION.socialBots.bots !== undefined) {
- for (let i = 0; i < bot.SESSION.socialBots.bots.length; i++) {
- let socialBot = bot.SESSION.socialBots.bots[i]
+ if (bot.TRADING_SESSION.socialBots !== undefined) {
+ if (bot.TRADING_SESSION.socialBots.bots !== undefined) {
+ for (let i = 0; i < bot.TRADING_SESSION.socialBots.bots.length; i++) {
+ let socialBot = bot.TRADING_SESSION.socialBots.bots[i]
if (socialBot.type === "Telegram Bot") {
socialBot.botInstance.sendMessage(message)
}
diff --git a/TaskServer/StatusReport.js b/TaskServer/StatusReport.js
index 21089be6d..2a7699e55 100644
--- a/TaskServer/StatusReport.js
+++ b/TaskServer/StatusReport.js
@@ -100,8 +100,12 @@
}
}
- if (bot.SESSION !== undefined && statusDependencyNode.bottype === "Trading Bot") {
- sessionPath = bot.SESSION.folderName + "/"
+ if (bot.TRADING_SESSION !== undefined && statusDependencyNode.bottype === "Trading Bot") {
+ sessionPath = bot.TRADING_SESSION.folderName + "/"
+ }
+
+ if (bot.LEARNING_SESSION !== undefined && statusDependencyNode.bottype === "Learning Bot") {
+ sessionPath = bot.LEARNING_SESSION.folderName + "/"
}
/* Now we will see where do we need to fetch this status report from. */
@@ -264,7 +268,7 @@
On the contraty, if we are running a Sensor bot or an Indicator bot, we might, if necesary, use a previous version of a Status Report since
there will be no big impact, just some reprocessing.
*/
- if (bot.SESSION !== undefined) {
+ if (bot.TRADING_SESSION !== undefined || bot.LEARNING_SESSION !== undefined) {
canUserPrevious = false
} else {
canUserPrevious = true
diff --git a/TaskServer/TelegramBot.js b/TaskServer/TelegramBot.js
index 9e2383ed1..79b7c5212 100644
--- a/TaskServer/TelegramBot.js
+++ b/TaskServer/TelegramBot.js
@@ -23,7 +23,7 @@ exports.newTelegramBot = function newTelegramBot(bot, logger) {
thisObject.telegramBot = new Telegraf(botToken)
thisObject.telegramBot.start((ctx) => ctx.reply('Hi! I am the Telegram Bot that will tell you what happens with your trading session.'))
thisObject.telegramBot.help((ctx) => ctx.reply('I can stop the session if you type STOP.'))
- thisObject.telegramBot.hears('STOP', (ctx) => bot.SESSION.stop(' by STOP command at Telegram.'))
+ thisObject.telegramBot.hears('STOP', (ctx) => bot.TRADING_SESSION.stop(' by STOP command at Telegram.'))
thisObject.telegramBot.launch()
const Telegram = require('telegraf/telegram')
diff --git a/TaskServer/TradingBot.js b/TaskServer/TradingBot.js
index c5a5d05cb..064a3a3c2 100644
--- a/TaskServer/TradingBot.js
+++ b/TaskServer/TradingBot.js
@@ -5,10 +5,10 @@
const TRADING_PROCESS_MODULE = require(global.ROOT_DIR + '/LowFrequencyTrading/TradingProcess.js');
const FILE_STORAGE = require('./FileStorage.js');
- const SESSION = require(global.ROOT_DIR + 'Session');
+ const SESSION = require(global.ROOT_DIR + 'TradingSession');
let fileStorage = FILE_STORAGE.newFileStorage(parentLogger);
- let session = SESSION.newSession(bot, parentLogger)
+ let session = SESSION.newTradingSession(bot, parentLogger)
const DEBUG_MODULE = require(global.ROOT_DIR + 'DebugLog');
let logger; // We need this here in order for the loopHealth function to work and be able to rescue the loop when it gets in trouble.
@@ -93,15 +93,15 @@
+ " Main Loop # " + pad(Number(bot.loopCounter), 8) + " " + bot.processNode.session.type + " " + bot.processNode.session.name)
/* Checking if we need to need to emit any event */
- if (bot.SESSION_STATUS === 'Idle' && bot.STOP_SESSION === false) {
- bot.SESSION_STATUS = 'Running'
+ if (bot.TRADING_SESSION_STATUS === 'Idle' && bot.STOP_SESSION === false) {
+ bot.TRADING_SESSION_STATUS = 'Running'
}
- if (bot.SESSION_STATUS === 'Running' && bot.STOP_SESSION === true) {
- bot.SESSION_STATUS = 'Stopped'
+ if (bot.TRADING_SESSION_STATUS === 'Running' && bot.STOP_SESSION === true) {
+ bot.TRADING_SESSION_STATUS = 'Stopped'
}
- global.EMIT_SESSION_STATUS (bot.SESSION_STATUS, bot.sessionKey)
+ global.EMIT_SESSION_STATUS (bot.TRADING_SESSION_STATUS, bot.TRADING_SESSIONKey)
/* Checking if we should process this loop or not.*/
if (bot.STOP_SESSION === true) {
@@ -534,7 +534,7 @@
logger.persist();
}
- global.EVENT_SERVER_CLIENT.raiseEvent(bot.sessionKey, 'Stopped')
+ global.EVENT_SERVER_CLIENT.raiseEvent(bot.TRADING_SESSIONKey, 'Stopped')
processStopped()
return;
}
@@ -560,17 +560,17 @@
if (processConfig.waitsForExecutionFinishedEvent === true) {
waitTime = 0
} else {
- switch (bot.SESSION.type) {
+ switch (bot.TRADING_SESSION.type) {
case 'Live Trading Session': {
- waitTime = bot.SESSION.parameters.timeFrame.config.value
+ waitTime = bot.TRADING_SESSION.tradingParameters.timeFrame.config.value
break
}
case 'Fordward Tessting Session': {
- waitTime = bot.SESSION.parameters.timeFrame.config.value
+ waitTime = bot.TRADING_SESSION.tradingParameters.timeFrame.config.value
break
}
case 'Paper Trading Session': {
- waitTime = bot.SESSION.parameters.timeFrame.config.value
+ waitTime = bot.TRADING_SESSION.tradingParameters.timeFrame.config.value
break
}
case 'Backtesting Session': {
@@ -669,9 +669,9 @@
}
function sessionStopped() {
- if (bot.SESSION_STATUS === 'Running') {
- global.EVENT_SERVER_CLIENT.raiseEvent(bot.sessionKey, 'Stopped')
- bot.SESSION_STATUS = 'Stopped'
+ if (bot.TRADING_SESSION_STATUS === 'Running') {
+ global.EVENT_SERVER_CLIENT.raiseEvent(bot.TRADING_SESSIONKey, 'Stopped')
+ bot.TRADING_SESSION_STATUS = 'Stopped'
}
}
diff --git a/TaskServer/TradingSession.js b/TaskServer/TradingSession.js
new file mode 100644
index 000000000..5999d48dd
--- /dev/null
+++ b/TaskServer/TradingSession.js
@@ -0,0 +1,519 @@
+exports.newTradingSession = function newTradingSession(bot, parentLogger) {
+
+ const MODULE_NAME = "Trading Session"
+ const FULL_LOG = true;
+
+ let thisObject = {
+ initialize: initialize
+ }
+
+ const SOCIAL_BOTS_MODULE = require('./SocialBots.js')
+ let socialBotsModule = SOCIAL_BOTS_MODULE.newSocialBots(bot, parentLogger)
+
+ return thisObject;
+
+ function initialize(pProcessConfig, callBackFunction) {
+ try {
+ /* Initialize this info so that everything is logged propeerly */
+ bot.TRADING_SESSION = {
+ name: bot.processNode.session.name,
+ id: bot.processNode.session.id
+ }
+
+ /* Set the folderName for early logging */
+ if (bot.processNode.session.config.folderName === undefined) {
+ bot.TRADING_SESSION.folderName = bot.processNode.session.type.replace(' ', '-').replace(' ', '-') + '-' + bot.TRADING_SESSION.id
+ } else {
+ bot.TRADING_SESSION.folderName = bot.processNode.session.type.replace(' ', '-').replace(' ', '-') + '-' + bot.processNode.session.config.folderName
+ }
+
+ /* Check if there is a session */
+ if (bot.processNode.session === undefined) {
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> Cannot run without a Session.");
+ callBackFunction(global.DEFAULT_FAIL_RESPONSE);
+ return;
+ }
+
+ /* Listen to event to start or stop the session. */
+ bot.TRADING_SESSIONKey = bot.processNode.session.name + '-' + bot.processNode.session.type + '-' + bot.processNode.session.id
+ global.SESSION_MAP.set(bot.TRADING_SESSIONKey, bot.TRADING_SESSIONKey)
+
+ global.EVENT_SERVER_CLIENT.listenToEvent(bot.TRADING_SESSIONKey, 'Trading Session Status', undefined, bot.TRADING_SESSIONKey, undefined, onSessionStatus)
+ global.EVENT_SERVER_CLIENT.listenToEvent(bot.TRADING_SESSIONKey, 'Run Trading Session', undefined, bot.TRADING_SESSIONKey, undefined, onSessionRun)
+ global.EVENT_SERVER_CLIENT.listenToEvent(bot.TRADING_SESSIONKey, 'Stop Trading Session', undefined, bot.TRADING_SESSIONKey, undefined, onSessionStop)
+ global.EVENT_SERVER_CLIENT.listenToEvent(bot.TRADING_SESSIONKey, 'Resume Trading Session', undefined, bot.TRADING_SESSIONKey, undefined, onSessionResume)
+
+ /* Connect this here so that it is accesible from other places */
+ bot.TRADING_SESSIONError = sessionError
+ bot.TRADING_SESSIONWarning = sessionWarning
+ bot.TRADING_SESSIONInfo = sessionInfo
+
+ /* Heartbeats sent to the UI */
+ bot.TRADING_SESSIONHeartBeat = sessionHeartBeat
+
+ callBackFunction(global.DEFAULT_OK_RESPONSE)
+ return
+
+ function onSessionStatus() {
+ if (bot.TRADING_SESSION_STATUS === 'Running') {
+ let event = {
+ status: 'Trading Session Runnning'
+ }
+ global.EVENT_SERVER_CLIENT.raiseEvent(bot.TRADING_SESSIONKey, 'Status Response', event)
+ } else {
+ let event = {
+ status: 'Trading Session Not Runnning'
+ }
+ global.EVENT_SERVER_CLIENT.raiseEvent(bot.TRADING_SESSIONKey, 'Status Response', event)
+ }
+ }
+
+ function onSessionRun(message) {
+ try {
+ /* This happens when the UI is reloaded, the session was running and tries to run it again. */
+ if (bot.TRADING_SESSION_STATUS === 'Idle' || bot.TRADING_SESSION_STATUS === 'Running') {
+ parentLogger.write(MODULE_NAME, "[WARN] onSessionRun -> Event received to run the Session while it was already running. ")
+ return
+ }
+
+ /* We are going to run the Definition comming at the event. */
+ bot.TRADING_SYSTEM = JSON.parse(message.event.tradingSystem)
+ bot.TRADING_ENGINE = JSON.parse(message.event.tradingEngine)
+ bot.TRADING_SESSION = JSON.parse(message.event.session)
+ bot.DEPENDENCY_FILTER = JSON.parse(message.event.dependencyFilter)
+ bot.RESUME = false
+ bot.FIRST_EXECUTION = true
+ bot.TRADING_SESSION.stop = stopSession // stop function
+
+ setUpSessionFolderName()
+
+ /* We validate all parameters received and complete some that might be missing if needed. */
+ if (checkParemeters() === false) { return }
+
+ socialBotsModule.initialize()
+
+ let allGood
+ switch (bot.TRADING_SESSION.type) {
+ case 'Backtesting Session': {
+ allGood = startBackTesting(message)
+ break
+ }
+ case 'Live Trading Session': {
+ allGood = startLiveTrading(message)
+ break
+ }
+ case 'Fordward Testing Session': {
+ allGood = startFordwardTesting(message)
+ break
+ }
+ case 'Paper Trading Session': {
+ allGood = startPaperTrading(message)
+ break
+ }
+ }
+ if (allGood === true) {
+ bot.TRADING_SESSION_STATUS = 'Idle'
+ bot.STOP_SESSION = false
+ } else {
+ bot.STOP_SESSION = true
+ if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, '[IMPORTANT] onSessionRun -> Stopping the Session now. ') }
+ }
+
+ socialBotsModule.sendMessage(bot.TRADING_SESSION.type + " '" + bot.TRADING_SESSION.name + "' is starting.")
+ } catch (err) {
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> onSessionRun -> err = " + err.stack);
+ }
+ }
+
+ function onSessionStop() {
+ stopSession('Session Stopped From the User Interface.')
+ }
+
+ function onSessionResume(message) {
+ try {
+ if (bot.TRADING_SESSION.stop === undefined) {
+ parentLogger.write(MODULE_NAME, "[WARN] onSessionResume -> Event received to resume the Session that have never be ran before. ")
+ return
+ }
+
+ /* This happens when the UI is reloaded, the session was running and tries to run it again. */
+ if (bot.TRADING_SESSION_STATUS === 'Idle' || bot.TRADING_SESSION_STATUS === 'Running') {
+ parentLogger.write(MODULE_NAME, "[WARN] onSessionResume -> Event received to resume the Session while it was already running. ")
+ return
+ }
+
+ bot.RESUME = true
+ bot.STOP_SESSION = false
+
+ socialBotsModule.sendMessage(bot.TRADING_SESSION.type + " '" + bot.TRADING_SESSION.name + "' is resuming.")
+ } catch (err) {
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> onSessionResume -> err = " + err.stack);
+ }
+ }
+
+ function stopSession(commandOrigin) {
+
+ socialBotsModule.sendMessage(bot.TRADING_SESSION.type + " '" + bot.TRADING_SESSION.name + "' is stopping " + commandOrigin)
+ socialBotsModule.finalize()
+ bot.STOP_SESSION = true
+ if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, '[IMPORTANT] stopSession -> Stopping the Session now. ') }
+ sessionInfo(bot.TRADING_SESSION, commandOrigin)
+ }
+
+ function setUpSessionFolderName() {
+ /*
+ The session object is overwritten when the session is run. For that reason we
+ need to setup again the folder name at the Session level.
+ Set the folderName for logging, reports, context and data output
+ */
+ let config
+ if (bot.TRADING_SESSION.config !== undefined) {
+ config = bot.TRADING_SESSION.config
+ if (config.folderName === undefined) {
+ bot.TRADING_SESSION.folderName = bot.processNode.session.type.replace(' ', '-').replace(' ', '-') + '-' + bot.TRADING_SESSION.id
+ } else {
+ bot.TRADING_SESSION.folderName = bot.processNode.session.type.replace(' ', '-').replace(' ', '-') + '-' + bot.processNode.session.config.folderName
+ }
+ }
+ }
+
+ function checkParemeters() {
+ /*
+ Here we check all the Session Parameters received. If something critical is missing we abort returning false. If something
+ non critical is missing, we complete it with a default value.
+ */
+
+ if (bot.TRADING_SESSION.tradingParameters === undefined) {
+ let errorMessage = "Session Node with no Parameters."
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
+ bot.TRADING_SESSIONError(bot.TRADING_SESSION, errorMessage)
+ return false
+ }
+
+ /* Time Range */
+ if (bot.TRADING_SESSION.tradingParameters.timeRange === undefined) { // if the Time Range is missing we create a default one.
+ bot.TRADING_SESSION.tradingParameters.timeRange = {
+ name: 'Missing Time Range',
+ type: 'Time Range',
+ config: {
+ initialDatetime: (new Date()).valueOf(),
+ finalDatetime: (new Date()).valueOf() + global.ONE_YEAR_IN_MILISECONDS
+ }
+ }
+ } else {
+ /* Check that we received valid dates */
+ if (bot.TRADING_SESSION.type === 'Backtesting Session') {
+ if (isNaN(new Date(bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime)).valueOf()) {
+ let errorMessage = "sessionParameters.timeRange.config.initialDatetime is not a valid date."
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
+ bot.TRADING_SESSIONError(bot.TRADING_SESSION.tradingParameters, errorMessage)
+ return false
+ }
+ }
+ if (isNaN(new Date(bot.TRADING_SESSION.tradingParameters.timeRange.config.finalDatetime)).valueOf()) {
+ let errorMessage = "sessionParameters.timeRange.config.initialDatetime is not a valid date."
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
+ bot.TRADING_SESSIONError(bot.TRADING_SESSION.tradingParameters, errorMessage)
+ return false
+ }
+ }
+
+ /* Session Type Forced Values */
+ let today = (new Date()).valueOf()
+ let aYearAgo = today - global.ONE_YEAR_IN_MILISECONDS
+ let aYearFromNow = today + global.ONE_YEAR_IN_MILISECONDS
+ switch (bot.TRADING_SESSION.type) {
+ case 'Backtesting Session': {
+ useDefaultDatetimes(aYearAgo, today)
+ break
+ }
+ case 'Live Trading Session': {
+ useDefaultDatetimes(today, aYearFromNow)
+ break
+ }
+ case 'Fordward Testing Session': {
+ useDefaultDatetimes(today, aYearFromNow)
+ break
+ }
+ case 'Paper Trading Session': {
+ useDefaultDatetimes(today, aYearFromNow)
+ break
+ }
+ }
+
+ function useDefaultDatetimes(initialDefault, finalDefault) {
+ /*
+ Note that inside the system, we are going to deal with these
+ dates in their numeric value representation.
+ */
+
+ /* Initial Datetime */
+ if (bot.TRADING_SESSION.type === 'Backtesting Session') {
+ if (bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime === undefined) {
+ bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime = initialDefault
+ } else {
+ bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime = (new Date(bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime)).valueOf()
+ }
+ } else {
+ /* Non backtest session can start from the past only if explicitly configured that way */
+ if (bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime === undefined || bot.TRADING_SESSION.tradingParameters.timeRange.config.allowStartingFromThePast !== true) {
+ bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime = initialDefault
+ } else {
+ bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime = (new Date(bot.TRADING_SESSION.tradingParameters.timeRange.config.initialDatetime)).valueOf()
+ }
+ }
+
+ /* Final Datetime */
+ if (bot.TRADING_SESSION.tradingParameters.timeRange.config.finalDatetime === undefined) {
+ bot.TRADING_SESSION.tradingParameters.timeRange.config.finalDatetime = finalDefault
+ } else {
+ bot.TRADING_SESSION.tradingParameters.timeRange.config.finalDatetime = (new Date(bot.TRADING_SESSION.tradingParameters.timeRange.config.finalDatetime)).valueOf()
+ }
+ }
+
+ /* Time Frame */
+ if (bot.TRADING_SESSION.tradingParameters.timeFrame === undefined) {
+ let errorMessage = "Session Parameters Node with no Time Frame."
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
+ bot.TRADING_SESSIONError(bot.TRADING_SESSION.tradingParameters, errorMessage)
+ return false
+ }
+ if (bot.TRADING_SESSION.tradingParameters.timeFrame.config.label === undefined) {
+ let errorMessage = "Session Parameters Node with no Time Frame Label configuration."
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
+ bot.TRADING_SESSIONError(bot.TRADING_SESSION.tradingParameters.timeFrame, errorMessage)
+ return false
+ }
+ bot.TRADING_SESSION.tradingParameters.timeFrame.config.value = getTimeFrameFromLabel(bot.TRADING_SESSION.tradingParameters.timeFrame.config.label)
+ if (bot.TRADING_SESSION.tradingParameters.timeFrame.config.value === undefined) {
+ let errorMessage = "Config error: label value not recognized. Try 01-min or 01-hs for example."
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
+ bot.TRADING_SESSIONError(bot.TRADING_SESSION.tradingParameters.timeFrame, errorMessage)
+ return false
+ }
+
+ /* Session Base Asset */
+ if (bot.TRADING_SESSION.tradingParameters.sessionBaseAsset === undefined) {
+ let errorMessage = "Session Parameters Node with no Session Base Asset."
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
+ bot.TRADING_SESSIONError(bot.TRADING_SESSION.tradingParameters, errorMessage)
+ return false
+ }
+ if (bot.TRADING_SESSION.tradingParameters.sessionBaseAsset.config.initialBalance === undefined) {
+ let errorMessage = "Session Parameters Session Base Asset with no initialBalance configuration."
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
+ bot.TRADING_SESSIONError(bot.TRADING_SESSION.tradingParameters.sessionBaseAsset, errorMessage)
+ return false
+ }
+
+ /* Session Quoted Asset */
+ if (bot.TRADING_SESSION.tradingParameters.sessionQuotedAsset === undefined) {
+ let errorMessage = "Session Parameters Node with no Session Quoted Asset."
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
+ bot.TRADING_SESSIONError(bot.TRADING_SESSION.tradingParameters, errorMessage)
+ return false
+ }
+ if (bot.TRADING_SESSION.tradingParameters.sessionQuotedAsset.config.initialBalance === undefined) {
+ let errorMessage = "Session Parameters Session Quoted Asset with no initialBalance configuration."
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage)
+ bot.TRADING_SESSIONError(bot.TRADING_SESSION.tradingParameters.sessionQuotedAsset, errorMessage)
+ return false
+ }
+
+ /* Slippage */
+ if (bot.TRADING_SESSION.tradingParameters.slippage === undefined) { // if the Slippage is missing we create a default one.
+ bot.TRADING_SESSION.tradingParameters.slippage = {
+ name: 'Missing Slippage',
+ type: 'Slippage',
+ config: {
+ marketOrderRate: 0,
+ stopLoss: 0,
+ takeProfit: 0
+ }
+ }
+ }
+ if (bot.TRADING_SESSION.tradingParameters.slippage.config.marketOrderRate === undefined) { // if the marketOrderRate is missing we create a default one.
+ bot.TRADING_SESSION.tradingParameters.slippage.config.marketOrderRate = 0
+ }
+ if (bot.TRADING_SESSION.tradingParameters.slippage.config.stopLoss === undefined) { // if the stopLoss is missing we create a default one.
+ bot.TRADING_SESSION.tradingParameters.slippage.config.stopLoss = 0
+ }
+ if (bot.TRADING_SESSION.tradingParameters.slippage.config.takeProfit === undefined) { // if the takeProfit is missing we create a default one.
+ bot.TRADING_SESSION.tradingParameters.slippage.config.takeProfit = 0
+ }
+
+ /* Fee Structure */
+ if (bot.TRADING_SESSION.tradingParameters.feeStructure === undefined) { // if the Fee Structure is missing we create a default one.
+ bot.TRADING_SESSION.tradingParameters.feeStructure = {
+ name: 'Missing Fee Structure',
+ type: 'Fee Structure',
+ config: {
+ maker: 0,
+ taker: 0
+ }
+ }
+ }
+ if (bot.TRADING_SESSION.tradingParameters.feeStructure.config.maker === undefined) { // if the maker is missing we create a default one.
+ bot.TRADING_SESSION.tradingParameters.feeStructure.config.maker = 0
+ }
+ if (bot.TRADING_SESSION.tradingParameters.feeStructure.config.taker === undefined) { // if the taker is missing we create a default one.
+ bot.TRADING_SESSION.tradingParameters.feeStructure.config.taker = 0
+ }
+
+ return true
+ }
+
+ function startBackTesting(message) {
+ return true
+ }
+
+ function startLiveTrading(message) {
+ if (bot.KEY === undefined || bot.SECRET === undefined) {
+ let errorMessage = "Key 'codeName' or 'secret' not provided. Plese check that and try again."
+ if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, "[ERROR] initialize -> startLiveTrading -> " + errorMessage); }
+ bot.TRADING_SESSIONError(bot.TRADING_SESSION, errorMessage)
+ return false
+ }
+ return true
+ }
+
+ function startFordwardTesting(message) {
+ if (bot.KEY === undefined || bot.SECRET === undefined) {
+ if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, "[WARN] initialize -> startFordwardTesting -> Key name or Secret not provided, not possible to run the process in Forward Testing mode."); }
+ console.log("Key 'codeName' or 'secret' not provided. Plese check that and try again.")
+ return false
+ }
+
+ /* Reduce the balance */
+ let balancePercentage = 1 // This is the default value
+
+ if (bot.TRADING_SESSION.config.balancePercentage !== undefined) {
+ balancePercentage = bot.TRADING_SESSION.config.balancePercentage
+ }
+
+ bot.TRADING_SESSION.tradingParameters.sessionBaseAsset.config.initialBalance = bot.TRADING_SESSION.tradingParameters.sessionBaseAsset.config.initialBalance * balancePercentage / 100
+ bot.TRADING_SESSION.tradingParameters.sessionQuotedAsset.config.initialBalance = bot.TRADING_SESSION.tradingParameters.sessionQuotedAsset.config.initialBalance * balancePercentage / 100
+
+ bot.TRADING_SESSION.tradingParameters.sessionBaseAsset.config.minimumBalance = bot.TRADING_SESSION.tradingParameters.sessionBaseAsset.config.minimumBalance * balancePercentage / 100
+ bot.TRADING_SESSION.tradingParameters.sessionQuotedAsset.config.minimumBalance = bot.TRADING_SESSION.tradingParameters.sessionQuotedAsset.config.minimumBalance * balancePercentage / 100
+
+ bot.TRADING_SESSION.tradingParameters.sessionBaseAsset.config.maximumBalance = bot.TRADING_SESSION.tradingParameters.sessionBaseAsset.config.maximumBalance * balancePercentage / 100
+ bot.TRADING_SESSION.tradingParameters.sessionQuotedAsset.config.maximumBalance = bot.TRADING_SESSION.tradingParameters.sessionQuotedAsset.config.maximumBalance * balancePercentage / 100
+
+ pProcessConfig.normalWaitTime = bot.TRADING_SESSION.tradingParameters.timeFrame.config.value
+
+ return true
+ }
+
+ function startPaperTrading(message) {
+ return true
+ }
+
+ function getTimeFrameFromLabel(timeFrameLabel) {
+
+ for (let i = 0; i < global.marketFilesPeriods.length; i++) {
+ let value = global.marketFilesPeriods[i][0]
+ let label = global.marketFilesPeriods[i][1]
+
+ if (timeFrameLabel === label) {
+ return value
+ }
+ }
+
+ for (let i = 0; i < global.dailyFilePeriods.length; i++) {
+ let value = global.dailyFilePeriods[i][0]
+ let label = global.dailyFilePeriods[i][1]
+
+ if (timeFrameLabel === label) {
+ return value
+ }
+ }
+ }
+
+ function sessionHeartBeat(processingDate, percentage, status) {
+ let event = {
+ seconds: (new Date()).getSeconds(),
+ processingDate: processingDate,
+ percentage: percentage,
+ status: status
+ }
+ global.EVENT_SERVER_CLIENT.raiseEvent(bot.TRADING_SESSIONKey, 'Heartbeat', event)
+
+ if (global.STOP_TASK_GRACEFULLY === true) {
+ bot.STOP_SESSION = true
+ if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, '[IMPORTANT] sessionHeartBeat -> Stopping the Session now. ') }
+ }
+ }
+
+ function sessionError(node, errorMessage) {
+ let event
+ if (node !== undefined) {
+ event = {
+ nodeName: node.name,
+ nodeType: node.type,
+ nodeId: node.id,
+ errorMessage: errorMessage
+ }
+ } else {
+ event = {
+ errorMessage: errorMessage
+ }
+ }
+ global.EVENT_SERVER_CLIENT.raiseEvent(bot.TRADING_SESSIONKey, 'Error', event)
+
+ if (global.STOP_TASK_GRACEFULLY === true) {
+ bot.STOP_SESSION = true
+ if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, '[IMPORTANT] sessionError -> Stopping the Session now. ') }
+ }
+ }
+
+ function sessionWarning(node, warningMessage) {
+ let event
+ if (node !== undefined) {
+ event = {
+ nodeName: node.name,
+ nodeType: node.type,
+ nodeId: node.id,
+ warningMessage: warningMessage
+ }
+ } else {
+ event = {
+ warningMessage: warningMessage
+ }
+ }
+ global.EVENT_SERVER_CLIENT.raiseEvent(bot.TRADING_SESSIONKey, 'Warning', event)
+
+ if (global.STOP_TASK_GRACEFULLY === true) {
+ bot.STOP_SESSION = true
+ if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, '[IMPORTANT] sessionWarning -> Stopping the Session now. ') }
+ }
+ }
+
+ function sessionInfo(node, infoMessage) {
+ let event
+ if (node !== undefined) {
+ event = {
+ nodeName: node.name,
+ nodeType: node.type,
+ nodeId: node.id,
+ infoMessage: infoMessage
+ }
+ } else {
+ event = {
+ infoMessage: infoMessage
+ }
+ }
+ global.EVENT_SERVER_CLIENT.raiseEvent(bot.TRADING_SESSIONKey, 'Info', event)
+
+ if (global.STOP_TASK_GRACEFULLY === true) {
+ bot.STOP_SESSION = true
+ if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, '[IMPORTANT] sessionInfo -> Stopping the Session now. ') }
+ }
+ }
+
+ } catch (err) {
+ parentLogger.write(MODULE_NAME, "[ERROR] initialize -> err = " + err.stack);
+ callBackFunction(global.DEFAULT_FAIL_RESPONSE);
+ }
+ }
+};
diff --git a/TaskServer/server.js b/TaskServer/server.js
index 1fd442a8b..e693dcad8 100644
--- a/TaskServer/server.js
+++ b/TaskServer/server.js
@@ -30,8 +30,8 @@ global.ROOT_DIR = './';
global.ONE_YEAR_IN_MILISECONDS = 365 * 24 * 60 * 60 * 1000
global.ONE_DAY_IN_MILISECONDS = 24 * 60 * 60 * 1000
global.ONE_MIN_IN_MILISECONDS = 60 * 1000
-global.LOGGER_MAP = new Map()
-global.SESSION_MAP = new Map()
+global.LOGGER_MAP = new Map() // We will put all the loggers in a map, so that we can eventually finalize them.
+global.SESSION_MAP = new Map() // We will put all the sessions in a map, so that we can eventually finalize them.
global.UNIQUE_ID = function () {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
diff --git a/Untitled-10.js b/Untitled-10.js
deleted file mode 100644
index 695217888..000000000
--- a/Untitled-10.js
+++ /dev/null
@@ -1,104 +0,0 @@
-let candle = record.current // This is the primary dependency
-let volume = getElement('volumes', candle) // Here I get the volume bar corresponding to the current candle
-let totalVolume = volume.buy + volume.sell // Candles Volumes split the volume received from the exchange evenly betwen buy and sell because it does not know how much of it there is.
-
-variable.buyVolume = 0
-variable.sellVolume = 0
-
-/*
-We will estimate a buy volume or sell volume proportional to the distance from
-the open to the max and min of the candle.
-*/
-let distanceOpenMax = candle.max - candle.open
-let distanceOpenMin = candle.open - candle.min
-let distanceMaxMin = candle.max - candle.min
-
-variable.buyVolume = totalVolume * distanceOpenMax * 100 / distanceMaxMin
-variable.sellVolume = totalVolume * distanceOpenMin * 100 / distanceMaxMin
-
-let totalBuy
-let totalSell
-let totalNonZero
-/* Maintain the 20 periods moving averages. */
-variable.last20Buy.splice(0, 1)
-variable.last20Buy.push(variable.buyVolume)
-totalBuy = 0
-totalNonZero = 0
-for (let i = 0; i < variable.last20Buy.length; i++) {
- let value = variable.last20Buy[i]
- if (value > 0) {
- totalBuy = totalBuy + value
- totalNonZero++
- }
-}
-variable.buySMA20 = totalBuy / totalNonZero
-
-variable.last20Sell.splice(0, 1)
-variable.last20Sell.push(variable.sellVolume)
-totalSell = 0
-totalNonZero = 0
-for (let i = 0; i < variable.last20Sell.length; i++) {
- let value = variable.last20Sell[i]
- if (value > 0) {
- totalSell = totalSell + value
- totalNonZero++
- }
-}
-variable.sellSMA20 = totalSell / totalNonZero
-
-/* Maintain the 200 periods moving averages. */
-variable.last200Buy.splice(0, 1)
-variable.last200Buy.push(variable.buyVolume)
-totalBuy = 0
-totalNonZero = 0
-for (let i = 0; i < variable.last200Buy.length; i++) {
- let value = variable.last200Buy[i]
- if (value > 0) {
- totalBuy = totalBuy + value
- totalNonZero++
- }
-}
-variable.buySMA200 = totalBuy / totalNonZero
-
-variable.last200Sell.splice(0, 1)
-variable.last200Sell.push(variable.sellVolume)
-totalSell = 0
-totalNonZero = 0
-for (let i = 0; i < variable.last200Sell.length; i++) {
- let value = variable.last200Sell[i]
- if (value > 0) {
- totalSell = totalSell + value
- totalNonZero++
- }
-}
-variable.sellSMA200 = totalSell / totalNonZero
-
-/* Finaly we compute how many times the 200 moving average the volume is */
-variable.buyForce = Math.trunc(variable.buyVolume / variable.buySMA200)
-variable.sellForce = Math.trunc(variable.sellVolume / variable.sellSMA200)
-
-
-
-
-
-
-
-
-variable.last20Buy = []
-variable.last20Sell = []
-variable.last200Buy = []
-variable.last200Sell = []
-
-for (let i = 0; i < 20; i++) {
- variable.last20Buy.push(0)
- variable.last20Sell.push(0)
-}
-
-for (let i = 0; i < 200; i++) {
- variable.last200Buy.push(0)
- variable.last200Sell.push(0)
-}
-
-
-
-
| |