From 04c0eb8f27bdaeee6591fb16614efb7d53bee970 Mon Sep 17 00:00:00 2001 From: Raplh2502 Date: Thu, 15 Jul 2021 23:00:47 +0100 Subject: [PATCH] Add a new indicator in Quasar data mine to evaluate the evolution of the span of the On-Balance volume --- .../Plugins/Data-Mines/Quasar.json | 5584 ++++++++++++----- 1 file changed, 3997 insertions(+), 1587 deletions(-) diff --git a/Projects/Foundations/Plugins/Data-Mines/Quasar.json b/Projects/Foundations/Plugins/Data-Mines/Quasar.json index aeb4df05f..4e95ba9b1 100644 --- a/Projects/Foundations/Plugins/Data-Mines/Quasar.json +++ b/Projects/Foundations/Plugins/Data-Mines/Quasar.json @@ -26,7 +26,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market Super Trend 14-3", "project": "Foundations", - "id": "88612b18-5907-44f2-81ea-1cc084223b01", + "id": "dd8e94e2-2ac4-49d0-8c7e-c9b6a34052ba", "savedPayload": { "position": { "x": 19351.36460208024, @@ -48,13 +48,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "d4f7c5dd-ecd3-425f-9448-b9a8cacae38a" + "id": "3504b4e0-c57c-40ad-9c2d-eda7f5d3d92c" } } } ], "outputDatasetFolders": [], - "id": "bffd7874-935a-49e5-8866-4ec9a1998cf8", + "id": "3d5188f1-4304-40a3-a321-7759f559bec6", "savedPayload": { "position": { "x": 19390.18745884562, @@ -87,7 +87,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "823aab90-e1f7-4ec1-a546-f1766b711c3d", + "id": "08a1f2bf-e8dc-4fbb-9495-e1ea1b0c7a74", "savedPayload": { "position": { "x": 19356.656029141755, @@ -109,7 +109,7 @@ "referenceParent": { "type": "Status Report", "name": "New Status Report", - "id": "58d50340-488e-410b-bb96-ab7a93feaa95" + "id": "5e44e871-99dc-496f-ab58-dce072f9fa6b" } } }, @@ -118,7 +118,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{ \n\"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "cad939ef-e22b-422c-a724-9011c511899e", + "id": "6b29d25c-b96d-49eb-85ee-e81c53f4adba", "savedPayload": { "position": { "x": 19584.301742672513, @@ -150,7 +150,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "dfd00c2d-455b-4fe1-aa14-7f3bee5cea43", + "id": "3b04d06a-b1b5-468e-8fbc-5fc94e55c773", "savedPayload": { "position": { "x": 19766.463650277088, @@ -178,7 +178,7 @@ } ], "dataMineDataDependencies": [], - "id": "e6b1bf5a-3622-487e-ba8d-01646ca10040", + "id": "885957ca-acaf-4514-ae6a-05ccaa5fd674", "savedPayload": { "position": { "x": 19506.656029141755, @@ -205,7 +205,7 @@ "type": "Status Report", "name": "New Status Report", "project": "Foundations", - "id": "58d50340-488e-410b-bb96-ab7a93feaa95", + "id": "5e44e871-99dc-496f-ab58-dce072f9fa6b", "savedPayload": { "position": { "x": 19641.14234996696, @@ -230,7 +230,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "f3ca46e3-4685-41d1-8160-59522ea6e1f5", + "id": "f59e3747-f8ba-45ff-8b29-a781f11083fa", "savedPayload": { "position": { "x": 19718.78806349772, @@ -260,7 +260,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "b4d553e6-c81a-4e47-b4c4-76ff649b0904", + "id": "4a8c29b6-cefa-4376-ace5-923fb812bf07", "savedPayload": { "position": { "x": 19718.78806349772, @@ -281,7 +281,7 @@ "uiObject": {} } }, - "id": "c1472e25-f68d-4699-a78e-f29c4d757029", + "id": "d759a4fa-7df4-4702-9fb0-c752c6562fbd", "savedPayload": { "position": { "x": 19429.010315610998, @@ -318,7 +318,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily Super Trend 14-3", "project": "Foundations", - "id": "76e06760-66cd-4480-aae6-1f4843018c20", + "id": "eab21611-ae56-4ee0-beb2-411447bae29b", "savedPayload": { "position": { "x": 19816.878281255034, @@ -340,13 +340,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "a3f0fe17-3ec1-4e78-82da-72e21fd8d0a7" + "id": "557ffb2d-c905-4cc4-ba9c-4c33c3efd3b7" } } } ], "outputDatasetFolders": [], - "id": "3d1c8557-a126-4d85-b38f-34107f59ed5e", + "id": "475947e6-afd3-4e21-b887-8e6ec340528b", "savedPayload": { "position": { "x": 19666.878281255034, @@ -379,7 +379,7 @@ "name": "", "config": "{ \n\"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "5adeb6a3-786c-4823-9378-fa950c1212b7", + "id": "2cef5a0a-8c25-4690-bddd-dda749c7c4b8", "savedPayload": { "position": { "x": 19940.077612894875, @@ -401,7 +401,7 @@ "referenceParent": { "type": "Status Report", "name": "New Status Report", - "id": "f94097ad-b481-4e81-8642-fc7da1722137" + "id": "432c993a-aea0-4e96-8367-3c462be7017e" } } }, @@ -410,7 +410,7 @@ "name": "", "config": "{ \n\"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "6b9698a1-9c13-4ee0-9fe8-75880c69cbcf", + "id": "eec209c9-5666-48c7-89ee-134d563d781a", "savedPayload": { "position": { "x": 20009.829690827457, @@ -441,7 +441,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{ \n\"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "33155d68-ef53-4bd9-af6a-7f05151827a9", + "id": "35cf824b-281d-4030-b7e9-6ad36267df23", "savedPayload": { "position": { "x": 20056.760030339527, @@ -473,7 +473,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "73ee43bf-4118-401c-b147-60b4c1e1c329", + "id": "1f63a73b-af51-448a-aeaf-dc60be6dfbf7", "savedPayload": { "position": { "x": 20076.274762816738, @@ -501,7 +501,7 @@ } ], "dataMineDataDependencies": [], - "id": "4bbd52d0-46bb-4377-8a45-324eb9e25b8c", + "id": "7b7bacc2-172a-4165-8ecc-d25a29e9abec", "savedPayload": { "position": { "x": 19776.685902390367, @@ -528,7 +528,7 @@ "type": "Status Report", "name": "New Status Report", "project": "Foundations", - "id": "f94097ad-b481-4e81-8642-fc7da1722137", + "id": "432c993a-aea0-4e96-8367-3c462be7017e", "savedPayload": { "position": { "x": 19666.878281255034, @@ -553,7 +553,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "b2fe0251-11c4-4a9c-ae57-6c9807fd031f", + "id": "39808f0c-14bd-4795-8988-fe978e1a8310", "savedPayload": { "position": { "x": 19646.7820918227, @@ -583,7 +583,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "09209761-188f-4306-a6bb-eae9b97eb536", + "id": "45e3f820-b686-4564-a22b-b4da62eab4dc", "savedPayload": { "position": { "x": 19591.878281255034, @@ -604,7 +604,7 @@ "uiObject": {} } }, - "id": "e685e7b5-f2b5-40c8-b52b-10f5b5e666d0", + "id": "961b8e18-4a53-40e7-88bb-fbd6f95eae81", "savedPayload": { "position": { "x": 19516.878281255034, @@ -640,7 +640,7 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "d4f7c5dd-ecd3-425f-9448-b9a8cacae38a", + "id": "3504b4e0-c57c-40ad-9c2d-eda7f5d3d92c", "savedPayload": { "position": { "x": 19979.536086056793, @@ -666,7 +666,7 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "a3f0fe17-3ec1-4e78-82da-72e21fd8d0a7", + "id": "557ffb2d-c905-4cc4-ba9c-4c33c3efd3b7", "savedPayload": { "position": { "x": 19936.029268673745, @@ -703,7 +703,7 @@ "name": "New Formula", "code": "record.current.begin", "project": "Foundations", - "id": "312641ee-5d91-4a40-a63a-ae23e019ffd7", + "id": "702f9d25-da28-48c3-91ea-ac4943dbca71", "savedPayload": { "position": { "x": 20616.586982824432, @@ -724,7 +724,7 @@ "uiObject": {} } }, - "id": "525a0851-d908-4513-a3af-4b1500faa31b", + "id": "a1b1744d-8326-4c37-8dcf-e08bc283f149", "savedPayload": { "position": { "x": 20392.28058273448, @@ -757,7 +757,7 @@ "name": "New Formula", "code": "record.current.end", "project": "Foundations", - "id": "5b119809-249d-494b-91e9-e30148776ef2", + "id": "79e3d4d1-10cc-41cb-b849-bc56163bbb5a", "savedPayload": { "position": { "x": 20585.630931053798, @@ -778,7 +778,7 @@ "uiObject": {} } }, - "id": "0cc3307e-f363-40ae-8335-6544cd7f93c0", + "id": "8137540f-91e7-4ea0-84ca-4548323d019d", "savedPayload": { "position": { "x": 20371.64321488739, @@ -811,7 +811,7 @@ "name": "New Formula", "code": "variable.trueRange", "project": "Foundations", - "id": "1368c193-74e1-4669-a0cc-05fa8907b74a", + "id": "2fc50ebc-5eec-4dec-958c-b60c8a52fe1f", "savedPayload": { "position": { "x": 20456.94180933459, @@ -832,7 +832,7 @@ "uiObject": {} } }, - "id": "2ccf582d-b373-4d16-b129-d9d7471dd611", + "id": "d2014892-4836-42cb-8df0-e548ee4a72e3", "savedPayload": { "position": { "x": 20285.850467074582, @@ -865,7 +865,7 @@ "name": "New Formula", "code": "variable.atrNPeriod", "project": "Foundations", - "id": "405ff722-8da4-4e10-865f-d1c6deec1403", + "id": "f3ab9249-04d2-405a-a528-0a5b888c61c3", "savedPayload": { "position": { "x": 20250.111369878763, @@ -886,7 +886,7 @@ "uiObject": {} } }, - "id": "f52176ca-2dcf-4a03-9d17-ec354277cfd8", + "id": "25b4d078-a586-482c-aedf-901554a33e83", "savedPayload": { "position": { "x": 20147.963507437365, @@ -919,7 +919,7 @@ "name": "New Formula", "code": "variable.uptrend", "project": "Foundations", - "id": "b438cda6-4be0-46c1-a5e0-44182cb13e4a", + "id": "eda02603-8405-421b-9ac6-7b36e9d06dd0", "savedPayload": { "position": { "x": 19996.627672170867, @@ -940,7 +940,7 @@ "uiObject": {} } }, - "id": "12cb954f-b63d-43bd-accc-bff7e7d7aca1", + "id": "45630d73-fe97-4ddd-a0dd-74b9cdabcb73", "savedPayload": { "position": { "x": 19978.9743756321, @@ -973,7 +973,7 @@ "name": "New Formula", "code": "variable.downtrend", "project": "Foundations", - "id": "fcc1e74d-a738-4339-903c-0fafbd231b0a", + "id": "721bb1b1-9ac3-4fef-af76-04460c265d79", "savedPayload": { "position": { "x": 19735.08131135148, @@ -994,7 +994,7 @@ "uiObject": {} } }, - "id": "d1919365-778b-41eb-b491-710fb1d4f696", + "id": "d05c837b-6ce3-4a23-a802-c5f400265465", "savedPayload": { "position": { "x": 19804.610135085844, @@ -1027,7 +1027,7 @@ "name": "New Formula", "code": "variable.trend", "project": "Foundations", - "id": "34e7b347-2bf1-432a-afe5-8c3d726eb07b", + "id": "bf127ed2-a55b-4905-a146-dacc8408630b", "savedPayload": { "position": { "x": 19505.290349931696, @@ -1048,7 +1048,7 @@ "uiObject": {} } }, - "id": "e3130b87-448f-4f3f-aed4-59f45e888871", + "id": "598a3f8b-1111-422c-b5ed-4d93f571a6b7", "savedPayload": { "position": { "x": 19651.416160805988, @@ -1072,7 +1072,7 @@ } } ], - "id": "254c64ff-9fa3-44f8-a0e8-232bda2f5b72", + "id": "e9218f5d-38e5-4044-bb05-4ae4f3e2469e", "savedPayload": { "position": { "x": 19943.66778255457, @@ -1108,7 +1108,7 @@ "name": "New Procedure Javascript Code", "code": "/* Loop Code */\n\n/* Big thanks to @rico4dev for providing the base start for ATR calcs\nI made some tweaks so now the way ATR is calculated matches TradingView :-)\n */\n\n// Set parameters to be used for ATR Period and Multiplier\nlet Nperiod = 14 // ATR Period\nlet multiplier = 3 // ATR Multiplier\n\n// Get Current and Previous Candle Data\nlet currCandle = record.current \nlet prevCandle = record.previous \n\n/* We need to build the price source\nFor current price there is no problem, we have data\nFor previous price we must check if exist\nSource price is defined as OHCL4*/\n\n// OHCL4 Source for current price\nvariable.currClose = currCandle.close\nvariable.ohcl4 = (currCandle.max + currCandle.min + currCandle.close + currCandle.open)/4\n\n// OHCL4 Source for previous candle price - make sure data exists\nif (prevCandle === undefined) {\n variable.prevClose = currCandle.close\n variable.prev_ohcl4 = 0 \n} else {\n variable.prevClose = prevCandle.close\n variable.prev_ohcl4 = (prevCandle.max + prevCandle.min + prevCandle.close + prevCandle.open)/4\n}\n\n/* Define variables we need and build functions */\n/* True Range and ATR - Average True Range */\n\nvariable.trueRange = calculateTR()\nvariable.atrNPeriod = calculateATR(Nperiod)\nvariable.prevAtrNperiod = variable.atrNPeriod // Store ATR value for calcs in RMA\n\n/* To keep lastNperiodTR array to a fixed length\nwe remove the first element of the array if length is > Nperiod */\n\nvariable.lastNPeriodTR.push(calculateTR())\nif (variable.lastNPeriodTR.length > Nperiod) {\n variable.lastNPeriodTR.splice(0, 1)\n}\n\n/* Calculate ATR */\nfunction calculateATR(length) {\n return calculateRMA(variable.trueRange, length)\n}\n\n/* Calculate True Range */\nfunction calculateTR() {\n let hl = currCandle.max - currCandle.min \n if (variable.prevClose === 0) { return hl } // Return High-Low when previous Close is 0 \n let hcp = Math.abs(currCandle.max - variable.prevClose)\n let lcp = Math.abs(currCandle.min - variable.prevClose) \n return Math.max(hl, hcp, lcp)\n}\n\n/* Calculate RMA */\nfunction calculateRMA(src, length) { \n if (src.length < length) { return 0 } // We check we have enough values to make the calcs. If not, set value to zero \n let alpha=1/length // It's a constant\n if (isNaN(variable.prevAtrNperiod)) {\n return 0 \n } else {\n return alpha * src + (1 - alpha) * variable.prevAtrNperiod \n } \n \n}\n\n// Build Up Trend function\n\nvariable.up = variable.ohcl4 - (multiplier * variable.atrNPeriod)\n\nif (variable.last2uptrend.length > 2) {\n variable.last2uptrend.splice(0, 1)\n}\n\nvariable.up1 = variable.last2uptrend[variable.last2uptrend.length - 1] // Previous Up Trend \n\nvariable.uptrend = calculateUpTrend()\n\nvariable.last2uptrend.push(variable.uptrend) \n\nfunction calculateUpTrend() {\n if (variable.prevClose > variable.up1) {\n return Math.max(variable.up, variable.up1)\n } else {\n return variable.up\n }\n}\n\n// Build Down Trend function\n\nvariable.dn = variable.ohcl4 + (multiplier * variable.atrNPeriod)\n\nif (variable.last2downtrend.length > 2) {\n variable.last2downtrend.splice(0, 1)\n}\n\nvariable.dn1 = variable.last2downtrend[variable.last2downtrend.length - 1] // Previous Down Trend\n\nvariable.downtrend = calculateDnTrend()\n\nvariable.last2downtrend.push(variable.downtrend) \n\nfunction calculateDnTrend() {\n if (variable.prevClose < variable.dn1) {\n return Math.min(variable.dn, variable.dn1)\n } else {\n return variable.dn\n }\n}\n\n\n// Build Trend function\n\nif (variable.last2Trend.length > 2) {\n variable.last2Trend.splice(0, 1)\n}\n\nvariable.prevTrend = variable.last2Trend[variable.last2Trend.length - 1]\n\nvariable.trend = calculateTrend()\n\nvariable.last2Trend.push(variable.trend)\n\nfunction calculateTrend() {\n\n if (variable.trend = -1 && variable.currClose > variable.dn1) {\n return 1\n }\n else if (variable.trend = 1 && variable.currClose < variable.up1) {\n return -1\n } \n else {\n return variable.prevTrend\n }\n}\n\n// End of code :-)", "project": "Foundations", - "id": "9650e427-6515-4892-9057-ed956a43dbb1", + "id": "1dc66afc-2f85-43d3-a91e-0e9b7362ca34", "savedPayload": { "position": { "x": 19499.95917987371, @@ -1129,7 +1129,7 @@ "uiObject": {} } }, - "id": "cdd0668f-a629-4d50-8256-f78e0fc38615", + "id": "bcdecca5-c238-47a5-84e2-a18800db6ec9", "savedPayload": { "position": { "x": 19488.1997277561, @@ -1161,7 +1161,7 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\n//// Arrays to store past data\nvariable.lastNPeriodTR = []\nvariable.last2uptrend = [0]\nvariable.last2downtrend = [0]\nvariable.last2Trend = [0]\n\n// Initialize trend\nvariable.trend = 1", "project": "Foundations", - "id": "1865c101-f53d-412e-b80b-0994fd04a266", + "id": "f1b02edd-6bbd-45d8-8705-90fe50e57e3f", "savedPayload": { "position": { "x": 19327.407206482792, @@ -1182,7 +1182,7 @@ "uiObject": {} } }, - "id": "4b8aeaaf-9312-484f-91a1-05c729f7369b", + "id": "c6c39295-1eef-47f2-9804-49139089bfd8", "savedPayload": { "position": { "x": 19373.16507882882, @@ -1205,7 +1205,7 @@ } } }, - "id": "271d5ac8-15db-4cbc-9cb0-d1be90208724", + "id": "06d87c6a-9a4e-4b43-b223-086181e03b48", "savedPayload": { "position": { "x": 19464.680823520877, @@ -1228,7 +1228,7 @@ } } }, - "id": "f37cf9b8-0e5e-482d-8d36-288a3d63e1a9", + "id": "ee8b48d3-7ee2-4cd2-a513-1b084b3c6484", "savedPayload": { "position": { "x": 19535.07633278898, @@ -1252,12 +1252,12 @@ "referenceParent": { "type": "Plotter Module", "name": "Super Trend 14-3", - "id": "d6113b66-22af-4567-ba02-ccc525f658c3" + "id": "022ba419-a30c-4fe6-8e7d-affb6359755e" } } } ], - "id": "b35975d0-e7f0-4a24-bc5c-343a32bcae0e", + "id": "0012953c-9f81-44f8-b206-55f64418c0ad", "savedPayload": { "position": { "x": 18651.878281255034, @@ -1300,7 +1300,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market Super Trend 9-2", "project": "Foundations", - "id": "bcb6885c-f42c-409e-807a-4432865580b7", + "id": "60985320-6cbb-4462-9111-77f6dc26e781", "savedPayload": { "position": { "x": 19572.33550214046, @@ -1322,13 +1322,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "dab0142c-3057-4c79-af83-4edd25bded49" + "id": "72cae450-c2d3-46cb-9b88-b14f226bb5d1" } } } ], "outputDatasetFolders": [], - "id": "4341ccd7-7412-41c6-9df9-fb96e40241a1", + "id": "08db5fae-67f2-422f-b048-d6496e179f06", "savedPayload": { "position": { "x": 19508.942762879356, @@ -1361,7 +1361,7 @@ "name": "", "config": "{ \n\"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "c5790593-9c93-4b75-ac81-9d501d362106", + "id": "29b970b2-1e48-4075-91e0-0488a94d7bde", "savedPayload": { "position": { "x": 19743.39009020503, @@ -1383,7 +1383,7 @@ "referenceParent": { "type": "Status Report", "name": "New Status Report", - "id": "c04d82d5-0392-49c0-954a-899c7bd3090c" + "id": "90c42aaf-ee37-4180-8a23-ecd08252fa26" } } }, @@ -1392,7 +1392,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{ \n\"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "0cc9a1b8-157e-43fb-80a5-bdef711f3f33", + "id": "c51bc91e-5e2b-468e-bba6-5aead1eab1a3", "savedPayload": { "position": { "x": 19937.041250191647, @@ -1424,7 +1424,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "ad23d7dd-6307-4b48-9d97-99918b958a48", + "id": "4642fc19-8ac9-4945-b511-bc828480e96a", "savedPayload": { "position": { "x": 19986.737962808613, @@ -1452,7 +1452,7 @@ } ], "dataMineDataDependencies": [], - "id": "651a7910-47f5-4866-980c-2c701397aa2b", + "id": "500fee1a-610c-45f7-8136-d18fcc7dadb1", "savedPayload": { "position": { "x": 19691.29563690495, @@ -1479,7 +1479,7 @@ "type": "Status Report", "name": "New Status Report", "project": "Foundations", - "id": "c04d82d5-0392-49c0-954a-899c7bd3090c", + "id": "90c42aaf-ee37-4180-8a23-ecd08252fa26", "savedPayload": { "position": { "x": 19744.408433045777, @@ -1504,7 +1504,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "9f453cd5-033d-4ad0-8569-100a3d339858", + "id": "95a99f40-7c80-4a2f-92de-ccaf9f2a3aaf", "savedPayload": { "position": { "x": 19717.442359729248, @@ -1534,7 +1534,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "3bbb040b-32ed-48d4-bf41-43638fa7b447", + "id": "3b07c891-fbdf-4ecc-80c1-58e8318ad76a", "savedPayload": { "position": { "x": 19617.622954523566, @@ -1555,7 +1555,7 @@ "uiObject": {} } }, - "id": "72da9dd9-d651-427b-b9c5-7a85af8e3425", + "id": "7f52244c-b666-4a89-8d11-8ac7246bb719", "savedPayload": { "position": { "x": 19471.206000761806, @@ -1592,7 +1592,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily Super Trend 9-2", "project": "Foundations", - "id": "97cd0673-e1e5-4984-8f40-5e8d2f89b9e1", + "id": "e49fcd1b-e394-44dd-921a-8ab2db8218c2", "savedPayload": { "position": { "x": 19956.108765796365, @@ -1614,13 +1614,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "e9ccf3a0-75e3-4bec-a6b2-83fadad44087" + "id": "97fb0e37-8c99-40b8-ad68-31a4bcb6b191" } } } ], "outputDatasetFolders": [], - "id": "9f5103ce-5a70-4b6a-95d0-cde3fb8197ea", + "id": "4558843a-79b7-4847-957b-89211e643fee", "savedPayload": { "position": { "x": 19709.212002849177, @@ -1653,7 +1653,7 @@ "name": "", "config": "{ \n\"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "44fac5ca-8670-4654-a75e-73f90786907f", + "id": "d4ff09d7-fb09-4fec-a322-ffcde8b84892", "savedPayload": { "position": { "x": 20015.877315760554, @@ -1675,7 +1675,7 @@ "referenceParent": { "type": "Status Report", "name": "New Status Report", - "id": "420d4f55-6a53-4447-a543-16c1eb4892e0" + "id": "740fa7a5-11f0-4f33-9a43-3b621b53b816" } } }, @@ -1684,7 +1684,7 @@ "name": "", "config": "{ \n\"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "584b2730-d980-4146-9041-1fc33c174ffc", + "id": "d33dece5-33ca-441a-97e7-ed72d2a98f57", "savedPayload": { "position": { "x": 20056.285379634406, @@ -1715,7 +1715,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{ \n\"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "e3630860-fb3e-45d9-a720-468d3dd2e9fb", + "id": "ea9d9a20-e76c-42c7-b83f-06bd27e2efc8", "savedPayload": { "position": { "x": 20068.536656666616, @@ -1747,7 +1747,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "7ac5ec41-ea4e-4952-8f2e-7ff8f52e62ed", + "id": "4d93d55f-ccfa-4b7d-a0c7-c5091bce0dcb", "savedPayload": { "position": { "x": 20051.431906501602, @@ -1775,7 +1775,7 @@ } ], "dataMineDataDependencies": [], - "id": "d4676566-2e12-4126-8080-d25d0ffa4dd1", + "id": "ed912690-b3da-4143-aa3a-d564e7517014", "savedPayload": { "position": { "x": 19768.639459173948, @@ -1802,7 +1802,7 @@ "type": "Status Report", "name": "New Status Report", "project": "Foundations", - "id": "420d4f55-6a53-4447-a543-16c1eb4892e0", + "id": "740fa7a5-11f0-4f33-9a43-3b621b53b816", "savedPayload": { "position": { "x": 19609.7879306385, @@ -1827,7 +1827,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "f137a3de-9aab-418b-b1b1-0a7d36d9b345", + "id": "0f0b6804-b3f2-4c3c-b128-67d54eef2f57", "savedPayload": { "position": { "x": 19562.520215113112, @@ -1857,7 +1857,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "946c44ad-68d7-410c-b347-89a5690ba1e9", + "id": "dfc0844e-0532-41c3-bf2a-af99ab7d42c1", "savedPayload": { "position": { "x": 19490.784929594814, @@ -1878,7 +1878,7 @@ "uiObject": {} } }, - "id": "177d99c2-8c72-4f3a-babd-b8744056af60", + "id": "3f18ad1c-e661-4099-81d8-5cb9f7076ba9", "savedPayload": { "position": { "x": 19471.206000761806, @@ -1914,7 +1914,7 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-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\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }", "project": "Foundations", - "id": "dab0142c-3057-4c79-af83-4edd25bded49", + "id": "72cae450-c2d3-46cb-9b88-b14f226bb5d1", "savedPayload": { "position": { "x": 19803.816149751667, @@ -1940,7 +1940,7 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-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\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }", "project": "Foundations", - "id": "e9ccf3a0-75e3-4bec-a6b2-83fadad44087", + "id": "97fb0e37-8c99-40b8-ad68-31a4bcb6b191", "savedPayload": { "position": { "x": 19658.501307321294, @@ -1977,7 +1977,7 @@ "name": "New Formula", "code": "record.current.begin", "project": "Foundations", - "id": "dd665e54-db9f-4a84-a5fa-d53112e2ae56", + "id": "e7f38433-b570-4aac-8051-fc232cf6fd29", "savedPayload": { "position": { "x": 19855.29717900401, @@ -1998,7 +1998,7 @@ "uiObject": {} } }, - "id": "44c3b73e-5e9d-4200-a40d-df95ba1d6f2e", + "id": "fd0ab625-c734-41fc-923c-a513b0dcdf11", "savedPayload": { "position": { "x": 19652.21549002529, @@ -2031,7 +2031,7 @@ "name": "New Formula", "code": "record.current.end", "project": "Foundations", - "id": "16aa1ed0-f296-49b6-bd61-74c96d751571", + "id": "25113f71-2249-4ca8-a911-f5df5a3e882d", "savedPayload": { "position": { "x": 19697.715271360084, @@ -2052,7 +2052,7 @@ "uiObject": {} } }, - "id": "28c2199f-8403-4753-80f2-bf255eb08fc4", + "id": "1ad8dcb9-97a2-4960-8089-5827b275db94", "savedPayload": { "position": { "x": 19547.16088492934, @@ -2085,7 +2085,7 @@ "name": "New Formula", "code": "variable.trueRange", "project": "Foundations", - "id": "95c4c96c-7093-40b9-bbc5-9802119586fc", + "id": "1c6655bc-aeb8-4319-8169-a36fc6a5f0a6", "savedPayload": { "position": { "x": 19471.371742050647, @@ -2106,7 +2106,7 @@ "uiObject": {} } }, - "id": "f8c4bb54-2b8c-4efd-a03f-443888154e5a", + "id": "ed81f3e4-b1a4-4100-b57f-78bb1b41f502", "savedPayload": { "position": { "x": 19396.26519872305, @@ -2139,7 +2139,7 @@ "name": "New Formula", "code": "variable.atrNPeriod", "project": "Foundations", - "id": "d8408c2a-ca91-4e4a-9b0a-fcef57663ced", + "id": "2d3312de-0a06-45d7-bfd8-f909e83adba9", "savedPayload": { "position": { "x": 19210.725341603866, @@ -2160,7 +2160,7 @@ "uiObject": {} } }, - "id": "bc683c9d-d714-4b1f-a1f8-5a63f19b13b0", + "id": "beb8c37f-7b88-4153-b9d6-7ea9b2e88e6d", "savedPayload": { "position": { "x": 19222.500931758528, @@ -2193,7 +2193,7 @@ "name": "New Formula", "code": "variable.uptrend", "project": "Foundations", - "id": "786fbcee-416b-4f86-80f1-3aca8e6aff0a", + "id": "5acec522-884b-47d1-a9be-604e2337fc0a", "savedPayload": { "position": { "x": 18955.457121722255, @@ -2214,7 +2214,7 @@ "uiObject": {} } }, - "id": "c5b51b67-d9c7-4444-822e-8a74b8fd3218", + "id": "6e7f2570-4594-4606-b7f8-2c04175b33cc", "savedPayload": { "position": { "x": 19052.322118504122, @@ -2247,7 +2247,7 @@ "name": "New Formula", "code": "variable.downtrend", "project": "Foundations", - "id": "d031601f-315d-47e7-9498-84d6bcfd05ff", + "id": "78100e61-649c-4e48-bcad-f738bcfa1045", "savedPayload": { "position": { "x": 18744.429354870612, @@ -2268,7 +2268,7 @@ "uiObject": {} } }, - "id": "7589eea4-f433-4c07-9d10-f8f9dc901f32", + "id": "43f137c4-3433-4b9f-8e96-e9d704d70aff", "savedPayload": { "position": { "x": 18911.636940603024, @@ -2301,7 +2301,7 @@ "name": "New Formula", "code": "variable.trend", "project": "Foundations", - "id": "2f4b5e78-5f36-4dbd-8b0b-2649c630f65b", + "id": "6e54479f-e18e-4ee4-a710-6b609d5091c8", "savedPayload": { "position": { "x": 18609.76910558063, @@ -2322,7 +2322,7 @@ "uiObject": {} } }, - "id": "c780d315-37a2-4ddb-83ce-b67c0c3b35c0", + "id": "22c736b1-b938-4a26-91a5-71aeb4355d97", "savedPayload": { "position": { "x": 18821.863441076373, @@ -2346,7 +2346,7 @@ } } ], - "id": "879a21c3-9844-4207-a21b-c2a052da09eb", + "id": "2a3b5121-3283-4f25-a0f9-bd4e9504ea7c", "savedPayload": { "position": { "x": 19436.86287172777, @@ -2382,7 +2382,7 @@ "name": "New Procedure Javascript Code", "code": "/* Loop Code */\n\n/* Big thanks to @rico4dev for providing the base start for ATR calcs\nI made some tweaks so now the way ATR is calculated matches TradingView :-)\n */\n\n// Set parameters to be used for ATR Period and Multiplier\nlet Nperiod = 9 // ATR Period\nlet multiplier = 2 // ATR Multiplier\n\n// Get Current and Previous Candle Data\nlet currCandle = record.current \nlet prevCandle = record.previous \n\n/* We need to build the price source\nFor current price there is no problem, we have data\nFor previous price we must check if exist\nSource price is defined as OHCL4*/\n\n// OHCL4 Source for current price\nvariable.currClose = currCandle.close\nvariable.ohcl4 = (currCandle.max + currCandle.min + currCandle.close + currCandle.open)/4\n\n// OHCL4 Source for previous candle price - make sure data exists\nif (prevCandle === undefined) {\n variable.prevClose = currCandle.close\n variable.prev_ohcl4 = 0 \n} else {\n variable.prevClose = prevCandle.close\n variable.prev_ohcl4 = (prevCandle.max + prevCandle.min + prevCandle.close + prevCandle.open)/4\n}\n\n/* Define variables we need and build functions */\n/* True Range and ATR - Average True Range */\n\nvariable.trueRange = calculateTR()\nvariable.atrNPeriod = calculateATR(Nperiod)\nvariable.prevAtrNperiod = variable.atrNPeriod // Store ATR value for calcs in RMA\n\n/* To keep lastNperiodTR array to a fixed length\nwe remove the first element of the array if length is > Nperiod */\n\nvariable.lastNPeriodTR.push(calculateTR())\nif (variable.lastNPeriodTR.length > Nperiod) {\n variable.lastNPeriodTR.splice(0, 1)\n}\n\n/* Calculate ATR */\nfunction calculateATR(length) {\n return calculateRMA(variable.trueRange, length)\n}\n\n/* Calculate True Range */\nfunction calculateTR() {\n let hl = currCandle.max - currCandle.min \n if (variable.prevClose === 0) { return hl } // Return High-Low when previous Close is 0 \n let hcp = Math.abs(currCandle.max - variable.prevClose)\n let lcp = Math.abs(currCandle.min - variable.prevClose) \n return Math.max(hl, hcp, lcp)\n}\n\n/* Calculate RMA */\nfunction calculateRMA(src, length) { \n if (src.length < length) { return 0 } // We check we have enough values to make the calcs. If not, set value to zero \n let alpha=1/length // It's a constant\n if (isNaN(variable.prevAtrNperiod)) {\n return 0 \n } else {\n return alpha * src + (1 - alpha) * variable.prevAtrNperiod \n } \n \n}\n\n// Build Up Trend function\n\nvariable.up = variable.ohcl4 - (multiplier * variable.atrNPeriod)\n\nif (variable.last2uptrend.length > 2) {\n variable.last2uptrend.splice(0, 1)\n}\n\nvariable.up1 = variable.last2uptrend[variable.last2uptrend.length - 1] // Previous Up Trend \n\nvariable.uptrend = calculateUpTrend()\n\nvariable.last2uptrend.push(variable.uptrend) \n\nfunction calculateUpTrend() {\n if (variable.prevClose > variable.up1) {\n return Math.max(variable.up, variable.up1)\n } else {\n return variable.up\n }\n}\n\n// Build Down Trend function\n\nvariable.dn = variable.ohcl4 + (multiplier * variable.atrNPeriod)\n\nif (variable.last2downtrend.length > 2) {\n variable.last2downtrend.splice(0, 1)\n}\n\nvariable.dn1 = variable.last2downtrend[variable.last2downtrend.length - 1] // Previous Down Trend\n\nvariable.downtrend = calculateDnTrend()\n\nvariable.last2downtrend.push(variable.downtrend) \n\nfunction calculateDnTrend() {\n if (variable.prevClose < variable.dn1) {\n return Math.min(variable.dn, variable.dn1)\n } else {\n return variable.dn\n }\n}\n\n\n// Build Trend function\n\nif (variable.last2Trend.length > 2) {\n variable.last2Trend.splice(0, 1)\n}\n\nvariable.prevTrend = variable.last2Trend[variable.last2Trend.length - 1]\n\nvariable.trend = calculateTrend()\n\nvariable.last2Trend.push(variable.trend)\n\nfunction calculateTrend() {\n\n if (variable.trend = -1 && variable.currClose > variable.dn1) {\n return 1\n }\n else if (variable.trend = 1 && variable.currClose < variable.up1) {\n return -1\n } \n else {\n return variable.prevTrend\n }\n}\n\n// End of code :-)", "project": "Foundations", - "id": "1304a212-3682-4373-b31a-3e317e015788", + "id": "04c6b157-c1de-41ea-b7b0-06950f6cce97", "savedPayload": { "position": { "x": 19035.27015261296, @@ -2403,7 +2403,7 @@ "uiObject": {} } }, - "id": "4b6f3dd9-a9cd-4f64-9d7b-fdd3dc0ff073", + "id": "2f1c5254-d145-4ac9-9bc0-e274346e37ad", "savedPayload": { "position": { "x": 19067.221878892153, @@ -2435,7 +2435,7 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\n//// Arrays to store past data\nvariable.lastNPeriodTR = []\nvariable.last2uptrend = [0]\nvariable.last2downtrend = [0]\nvariable.last2Trend = [0]\n\n// Initialize trend\nvariable.trend = 1", "project": "Foundations", - "id": "e5425de7-2945-47f8-81a4-58d50fcf0d00", + "id": "6ea63dab-3d48-45c6-b413-589d128d7d54", "savedPayload": { "position": { "x": 18886.311481233886, @@ -2456,7 +2456,7 @@ "uiObject": {} } }, - "id": "a456a5eb-6abf-401c-8b0a-ab6fb6d50dc9", + "id": "93440c55-d992-46d7-b676-0204efb0e255", "savedPayload": { "position": { "x": 18967.916097972768, @@ -2479,7 +2479,7 @@ } } }, - "id": "27b07add-afd3-459b-94d3-f837370dd86c", + "id": "4e8ccf78-e612-45ba-be5f-eab755118cf1", "savedPayload": { "position": { "x": 19131.125331450534, @@ -2502,7 +2502,7 @@ } } }, - "id": "00f3935a-79f1-4a88-990e-8d7ed8adb3ea", + "id": "1fb304ed-05fd-4e95-a96e-714d7e366971", "savedPayload": { "position": { "x": 19366.24968557271, @@ -2526,16 +2526,16 @@ "referenceParent": { "type": "Plotter Module", "name": "Super Trend 9-2", - "id": "4244b21b-7d89-4e21-badf-91fa1d04cf83" + "id": "221cf1f5-8eff-4ffc-9624-6fae72e246bc" } } } ], - "id": "f83adb79-2d3b-4dbb-8477-1ad5a7e0e46b", + "id": "c7199afc-ae02-4bc1-bf81-a895b31ca073", "savedPayload": { "position": { - "x": 18635.705203602927, - "y": 9904.17189834041 + "x": 18636.835028564128, + "y": 9899.314936268735 }, "targetPosition": { "x": 18051.878281255034, @@ -2574,7 +2574,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market FastTrend", "project": "Foundations", - "id": "9b209440-ec7d-4864-9728-eacd9867e3d7", + "id": "0123fcff-6051-4b8c-9387-1ff1d25a167d", "savedPayload": { "position": { "x": 19780.08767759128, @@ -2596,13 +2596,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "a84f43c6-bcfc-40bd-a775-3a2d1a7f33f0" + "id": "026fc1a4-2710-4258-b827-1757e3de3038" } } } ], "outputDatasetFolders": [], - "id": "f83024cb-d86a-4746-8eb0-539f656559f5", + "id": "aff20201-fff4-4269-840d-4f34162a6d33", "savedPayload": { "position": { "x": 19528.486507207654, @@ -2635,7 +2635,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "ac90a04d-f374-40d1-bbb8-e6a68936ecc3", + "id": "f3d64d9e-5a98-430d-b317-8bd65f099916", "savedPayload": { "position": { "x": 20007.725961386637, @@ -2666,7 +2666,7 @@ "name": "FastTrend Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "e05eba3c-00fc-4110-95a7-dfe9554a97e8", + "id": "693da06f-820b-4ad3-8a6f-7adb2c93f281", "savedPayload": { "position": { "x": 19887.14976905374, @@ -2688,7 +2688,7 @@ "referenceParent": { "type": "Status Report", "name": "Market-FastTrend", - "id": "53347cd4-877d-40d9-8b57-5943577c7435" + "id": "4bb64e55-5303-4381-b52d-7db793c18783" } } } @@ -2698,7 +2698,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "8c0121a0-c0cc-431e-bd77-03c7cff4a984", + "id": "a3201ab4-31d7-4e19-9fc3-a1edd656b27d", "savedPayload": { "position": { "x": 19807.63317416257, @@ -2726,7 +2726,7 @@ } ], "dataMineDataDependencies": [], - "id": "8bc6a348-f560-4df6-8ab4-c29f01758042", + "id": "b461a86e-b760-481b-b2ee-a18e8e4a7a6b", "savedPayload": { "position": { "x": 19726.268627463585, @@ -2753,7 +2753,7 @@ "type": "Status Report", "name": "Market-FastTrend", "project": "Foundations", - "id": "53347cd4-877d-40d9-8b57-5943577c7435", + "id": "4bb64e55-5303-4381-b52d-7db793c18783", "savedPayload": { "position": { "x": 19544.187294080537, @@ -2778,7 +2778,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "a42cfd09-36fb-44cf-a064-c35f33e2b147", + "id": "59ddd510-1b2a-4018-9e23-7006b75b464b", "savedPayload": { "position": { "x": 19358.581192076283, @@ -2808,7 +2808,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "c60a7d43-cd52-4320-92a4-f728779f3b20", + "id": "535bded3-f018-4afd-911a-5735c31baf14", "savedPayload": { "position": { "x": 19284.73573026047, @@ -2829,7 +2829,7 @@ "uiObject": {} } }, - "id": "0a79d0c3-77fa-4ce5-8f34-434b4d522ac2", + "id": "d99c325f-fde1-4c4c-afd7-a8390cfa5d36", "savedPayload": { "position": { "x": 19735.158460716088, @@ -2866,7 +2866,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily FastTrend", "project": "Foundations", - "id": "a37f0a33-3d9c-43e7-ab9b-1a4612f776a5", + "id": "058f492d-cd73-4a8e-b8fd-1c7e3e4ac1da", "savedPayload": { "position": { "x": 19584.882760326742, @@ -2888,13 +2888,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "52f838cc-982f-454e-9739-24c1b3cfb7a5" + "id": "575093de-cd0a-4e05-a9d5-42460eee249f" } } } ], "outputDatasetFolders": [], - "id": "40b7f1d4-41e5-4e32-abd8-9139572f9311", + "id": "de87e46c-91d1-4fd7-a8e9-0feafa366888", "savedPayload": { "position": { "x": 19302.97497409097, @@ -2927,7 +2927,7 @@ "name": "FastTrend Multi-Time-Frame-Daily", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "7e827a95-833f-4ece-a3cd-07987e58ffc2", + "id": "3d0fc10b-eb2e-4d44-b615-1acb59f5c3da", "savedPayload": { "position": { "x": 19490.05492679689, @@ -2949,7 +2949,7 @@ "referenceParent": { "type": "Status Report", "name": "Daily-FasTrend", - "id": "12373ba2-40cb-40f1-b832-58d0b5fa70e2" + "id": "a8b873de-cbd0-4fd6-a135-491bae98e1be" } } }, @@ -2958,7 +2958,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "8606490c-223b-4682-bc67-460186930804", + "id": "00e787a9-6d6f-4502-b8cb-abbb61ebbaea", "savedPayload": { "position": { "x": 19440.31634482799, @@ -2989,7 +2989,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{\n \"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "b9d5f2f7-062d-40cb-8737-b67e4d8d3697", + "id": "15367c97-39d1-48f2-ae0a-f6e413bf7a2b", "savedPayload": { "position": { "x": 19368.414893234174, @@ -3021,7 +3021,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "c0cdffca-b371-484c-9244-c29f3a25bce7", + "id": "4be0d57f-311c-4aa7-abd8-3ef9a4357f96", "savedPayload": { "position": { "x": 19281.388787064316, @@ -3049,7 +3049,7 @@ } ], "dataMineDataDependencies": [], - "id": "2cba2356-3f03-4348-9e2e-b1cdd83fc61b", + "id": "189fe87a-2c23-49dd-80f8-5906f3b12910", "savedPayload": { "position": { "x": 19213.903470761157, @@ -3076,7 +3076,7 @@ "type": "Status Report", "name": "Daily-FasTrend", "project": "Foundations", - "id": "12373ba2-40cb-40f1-b832-58d0b5fa70e2", + "id": "a8b873de-cbd0-4fd6-a135-491bae98e1be", "savedPayload": { "position": { "x": 19047.114414505235, @@ -3101,7 +3101,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "c1159abd-8495-4416-93f1-756406ad56e2", + "id": "189f07cb-b062-4212-866b-f1fedb41994d", "savedPayload": { "position": { "x": 18969.764166356345, @@ -3131,7 +3131,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "a58eed44-4aa1-445d-a99f-b1208643a822", + "id": "33646be1-76fb-4ceb-bce7-e345919e5c10", "savedPayload": { "position": { "x": 18906.160521387348, @@ -3152,7 +3152,7 @@ "uiObject": {} } }, - "id": "a499beda-f0d2-41a4-b9bb-79933677dc95", + "id": "05b48b63-1fdd-4c88-8067-555d320aeee6", "savedPayload": { "position": { "x": 19674.006460803095, @@ -3188,7 +3188,7 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "a84f43c6-bcfc-40bd-a775-3a2d1a7f33f0", + "id": "026fc1a4-2710-4258-b827-1757e3de3038", "savedPayload": { "position": { "x": 20021.877976454205, @@ -3214,7 +3214,7 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "52f838cc-982f-454e-9739-24c1b3cfb7a5", + "id": "575093de-cd0a-4e05-a9d5-42460eee249f", "savedPayload": { "position": { "x": 19942.69091942019, @@ -3251,7 +3251,7 @@ "name": "New Record Formula", "code": "record.current.begin", "project": "Foundations", - "id": "59bd9449-81a2-4369-9888-b09225ce2f7c", + "id": "1f56637b-9fdf-4423-95ce-76092f8df896", "savedPayload": { "position": { "x": 19237.99551025012, @@ -3272,7 +3272,7 @@ "uiObject": {} } }, - "id": "7e373673-32c9-4be2-9a75-9fbad9aed1f9", + "id": "27ad31dc-44e4-46b2-aa72-e157e670721c", "savedPayload": { "position": { "x": 19069.41543027127, @@ -3305,7 +3305,7 @@ "name": "New Record Formula", "code": "record.current.end", "project": "Foundations", - "id": "8c8c5b8e-75cd-49e3-ad54-26d2aa69931f", + "id": "7cc47d56-49dd-4537-a881-e3861a999a7c", "savedPayload": { "position": { "x": 19065.336750320555, @@ -3326,7 +3326,7 @@ "uiObject": {} } }, - "id": "a37c6b8b-0f75-4415-ac1a-3b94b8406a7d", + "id": "d97f76bb-8030-4e54-b513-0d4cddc24b14", "savedPayload": { "position": { "x": 18954.30959031823, @@ -3359,7 +3359,7 @@ "name": "New Formula", "code": "variable.PositiveDisorder", "project": "Foundations", - "id": "660a0ee4-c1af-49c4-90c8-c64be682c50e", + "id": "6e1c5e62-399e-4e25-9487-4957cf3007ec", "savedPayload": { "position": { "x": 18641.860842321767, @@ -3380,7 +3380,7 @@ "uiObject": {} } }, - "id": "320b6cb1-e207-4a16-9dcf-c208e2d76006", + "id": "53b40648-2ae6-49e3-8955-7084c978ea44", "savedPayload": { "position": { "x": 18671.992318319037, @@ -3413,7 +3413,7 @@ "name": "New Formula", "code": "variable.NegativeDisorder", "project": "Foundations", - "id": "c5386142-a059-4594-a02c-9aed999df838", + "id": "20798f49-44eb-433e-b2d4-0f2b70b4b640", "savedPayload": { "position": { "x": 18286.453782311102, @@ -3434,7 +3434,7 @@ "uiObject": {} } }, - "id": "56239b25-701b-4917-8ef4-4c5a680a1881", + "id": "d56fc4d6-17db-44ee-b1e1-0019af1a3731", "savedPayload": { "position": { "x": 18435.054278311927, @@ -3467,7 +3467,7 @@ "name": "New Formula", "code": "variable.FastTrend", "project": "Foundations", - "id": "2e89863c-4d29-43d1-b0c4-1ca71458bcc9", + "id": "025b022d-e9b4-4069-a231-0c28d7abf55f", "savedPayload": { "position": { "x": 18266.744335459403, @@ -3488,7 +3488,7 @@ "uiObject": {} } }, - "id": "3f465891-22b0-4958-8609-846a9a3576fe", + "id": "2c7c1e08-3fba-451c-ae2b-1084bf5bf28f", "savedPayload": { "position": { "x": 18421.91464707746, @@ -3521,7 +3521,7 @@ "name": "New Record Formula", "code": "variable.interTrend", "project": "Foundations", - "id": "225f89d4-f551-473f-ad41-f3323d56ed69", + "id": "cf307818-3d6a-40be-87e8-9ab03db78caa", "savedPayload": { "position": { "x": 18597.574117245447, @@ -3542,7 +3542,7 @@ "uiObject": {} } }, - "id": "d3403a3b-83a2-4e9e-921b-cffef32d68f0", + "id": "b878371d-2aba-4e26-8c85-a65f9c8e51d3", "savedPayload": { "position": { "x": 18642.467834934825, @@ -3566,7 +3566,7 @@ } } ], - "id": "7990edae-dd0c-4f35-8aaa-80de12ad6ea9", + "id": "d52d898d-3252-4225-8f59-c69814065ac9", "savedPayload": { "position": { "x": 19031.51056117977, @@ -3602,7 +3602,7 @@ "name": "New Procedure Javascript Code", "code": "/* Loop Code */\n\nlet FTLen = 10 // Channel length\nlet candle = record.current\nlet BIAS = 0.35 // biased limit value for Math.log2 (0)\n\n\nif (variable.previousEma5 === undefined) {\nvariable.previousEma5 = candle.close\n}\n\n// Calculate EMA5\nvariable.Ema5 = calculateEMA(5, candle.close, variable.previousEma5)\nvariable.previousEma5 = variable.Ema5\n\n\n// Build arrays Max, Min, Close, Open\n\nvariable.lastMax.push(candle.max) \nvariable.lastMin.push(candle.min)\nvariable.lastOpens.push(candle.open)\nvariable.lastCloses.push(candle.close)\nvariable.lastEMA5s.push(variable.Ema5)\n\n\n\n// Keep the array the correct size\n\nif (variable.lastMax.length > FTLen) {\n variable.lastMax.splice(0, 1)\n}\n\nif (variable.lastMin.length > FTLen) {\n variable.lastMin.splice(0, 1)\n}\n\nif (variable.lastOpens.length > FTLen) {\n variable.lastOpens.splice(0, 1)\n}\n\nif (variable.lastCloses.length > FTLen) {\n variable.lastCloses.splice(0, 1)\n}\n\nif (variable.lastEMA5s.length > FTLen) {\n variable.lastEMA5s.splice(0, 1)\n}\n// Calculate indicator values\n\n\n\n\nvariable.PositiveDisorder = CalPosEntropy () // Positive disorder\nvariable.NegativeDisorder = CalNegEntropy () // Negative disorder\nif(variable.PositiveDisorder === 0 && variable.NegativeDisorder === 0){\n\tvariable.FastTrend = 0\n}\nelse {\n\tvariable.FastTrend = ( variable.NegativeDisorder - variable.PositiveDisorder ) / ( variable.NegativeDisorder + variable.PositiveDisorder)\n}//calculation of the fast trend indicator\n\nvariable.lastFastTrend.push(variable.FastTrend)\nif(variable.lastFastTrend.length > 2 ) {\n\tvariable.lastFastTrend.splice(0,1)\n}\n\n//Determine the intermediate trend i.e. pullbacks\nif(variable.lastMax.length < FTLen) {\n\tvariable.interTrend = 0\n}\nelse {\n\tif(variable.lastFastTrend.length === 2){\n\t\tvariable.Slope = variable.lastFastTrend[1] - variable.lastFastTrend[0]\n\t\tif(variable.Slope > 0) {\n\t\t\t\tvariable.interTrend = 1\n\t\t}\n\t\t\tif(variable.Slope < 0) {\n\t\t\t\tvariable.interTrend = -1\n\t\t}\n\t\t\tif(variable.Slope = 0) {\n\t\t\t\tvariable.interTrend = 0\n\t\t}\n\t}\n\telse {\n\t\tvariable.interTrend = 0\n\t}\n}\n//functions\n//EMA5 calculation\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}\n\nfunction CalPosEntropy ()\n\n\n{variable.PosOpen = 0 // counter for values above EMA\nvariable.PosClose = 0 // counter for values above EMA\nvariable.PosMin = 0 // counter for values above EMA\nvariable.PosMax = 0 // counter for values above EMA\n\n\t\n\tif (variable.lastMax.length < FTLen) { return 0 }\n\tfor (var i = 0 ; i < FTLen ; i++) //loop over the arrays and increment counters each time a value is above EMA5 at the same index\n\t{\n\t\t\tif (variable.lastMax[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosMax = variable.PosMax + 1\n\t\t\t}\n\t\t\tif (variable.lastMin[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosMin = variable.PosMin + 1\n\t\t\t}\n\t\t\tif (variable.lastOpens[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosOpen = variable.PosOpen + 1\n\t\t\t}\n\t\t\tif (variable.lastCloses[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosClose = variable.PosClose + 1\n\t\t\t}\n\t\t\t\n\t}\n\tif (variable.PosMax > 0) // calculate entropy for Max candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosMax = (variable.PosMax / FTLen) * Math.log2(1/(variable.PosMax / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosMax = BIAS\n\t}\n\tif (variable.PosMin > 0) // calculate entropy for Min candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosMin = (variable.PosMin / FTLen) * Math.log2(1/(variable.PosMin / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosMin = BIAS\n\t}\n\tif (variable.PosOpen > 0) // calculate entropy for Open candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosOpen = (variable.PosOpen / FTLen) * Math.log2(1/(variable.PosOpen / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosOpen = BIAS\n\t}\n\tif (variable.PosClose > 0) // calculate entropy for Close candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosClose = (variable.PosClose / FTLen) * Math.log2(1/(variable.PosClose / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosClose = BIAS\n\t}\n\t\n\tvariable.PosEnt = variable.EntPosClose + variable.EntPosMax + variable.EntPosMin + variable.EntPosOpen //sum on 4 entropies\n\t\n\treturn variable.PosEnt\n}\n\nfunction CalNegEntropy ()\n\n{variable.NegOpen = 0 // counter for values below EMA\nvariable.NegClose = 0 // counter for values below EMA\nvariable.NegMin = 0 // counter for values below EMA\nvariable.NegMax = 0 // counter for values below EMA\n\t\n\tif (variable.lastMax.length < FTLen) { return 0 }\n\tfor (var j = 0 ; j < FTLen ; j++) //loop over the arrays and increment counters each time a value is above EMA5 at the same index\n\t{\n\t\t\tif (variable.lastMax[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegMax = variable.NegMax + 1\n\t\t\t}\n\t\t\tif (variable.lastMin[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegMin = variable.NegMin + 1\n\t\t\t}\n\t\t\tif (variable.lastOpens[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegOpen = variable.NegOpen + 1\n\t\t\t}\n\t\t\tif (variable.lastCloses[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegClose = variable.NegClose + 1\n\t\t\t}\n\t\t\t\n\t}\n\tif (variable.NegMax > 0) // calculate entropy for Max candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegMax = (variable.NegMax / FTLen) * Math.log2(1/(variable.NegMax / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegMax = BIAS\n\t}\n\tif (variable.NegMin > 0) // calculate entropy for Min candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegMin = (variable.NegMin / FTLen) * Math.log2(1/(variable.NegMin / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegMin = BIAS\n\t}\n\tif (variable.NegOpen > 0) // calculate entropy for Open candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegOpen = (variable.NegOpen / FTLen) * Math.log2(1/(variable.NegOpen / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegOpen = BIAS\n\t}\n\tif (variable.NegClose > 0) // calculate entropy for Close candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegClose = (variable.NegClose / FTLen) * Math.log2(1/(variable.NegClose / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegClose = BIAS\n\t}\n\t\n\tvariable.NegEnt = variable.EntNegClose + variable.EntNegMax + variable.EntNegMin + variable.EntNegOpen //sum on 4 entropies\n\t\n\treturn variable.NegEnt\n}\n\n// End of code :-)", "project": "Foundations", - "id": "12a6a413-9290-4bcd-b207-0eec7d19366a", + "id": "1abfc181-0ab4-4b4f-a18d-05948f312617", "savedPayload": { "position": { "x": 17998.131717599168, @@ -3623,7 +3623,7 @@ "uiObject": {} } }, - "id": "6394adc2-50c2-4dd8-9ed2-c0762aba2fbc", + "id": "006aa3ef-69e3-470f-8fde-c67dd6246021", "savedPayload": { "position": { "x": 18459.62873856219, @@ -3655,7 +3655,7 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\nvariable.lastMax = []\nvariable.lastMin = []\nvariable.lastOpens = []\nvariable.lastCloses = []\nvariable.lastEMA5s = []\nvariable.NegOpen = 0 // counter for values below EMA\nvariable.NegClose = 0 // counter for values below EMA\nvariable.NegMin = 0 // counter for values below EMA\nvariable.NegMax = 0 // counter for values below EMA\nvariable.PosOpen = 0 // counter for values above EMA\nvariable.PosClose = 0 // counter for values above EMA\nvariable.PosMin = 0 // counter for values above EMA\nvariable.PosMax = 0 // counter for values above EMA\nvariable.lastFastTrend = []", "project": "Foundations", - "id": "06c819e6-723d-4818-96ee-486ca37d7144", + "id": "8da93965-b366-4ead-9ccb-3ea7a53894ec", "savedPayload": { "position": { "x": 18082.332385195423, @@ -3676,7 +3676,7 @@ "uiObject": {} } }, - "id": "059fc91c-904b-46fb-8e33-d4152d638fa6", + "id": "caf8680f-e943-4aec-a6f6-bc873ef2099d", "savedPayload": { "position": { "x": 18493.309005600695, @@ -3699,7 +3699,7 @@ } } }, - "id": "4cda259c-9058-45b9-ba26-cbaef4c45059", + "id": "332f2a1f-46e7-477a-9542-aecafff96ce3", "savedPayload": { "position": { "x": 18767.29341920421, @@ -3722,7 +3722,7 @@ } } }, - "id": "133164af-5c3e-404a-b082-da75722ec559", + "id": "799bcc50-f2af-4ad0-8ba8-cbdc90615512", "savedPayload": { "position": { "x": 19438.923941477326, @@ -3746,16 +3746,16 @@ "referenceParent": { "type": "Plotter Module", "name": "FastTrend", - "id": "b77e7f2c-9c08-42c1-951c-abc2cd7f051e" + "id": "e29d8ee0-bd36-4b45-b997-b2e35a24904e" } } } ], - "id": "5cd98813-5bf7-4081-a6ef-d84c4331c585", + "id": "49ed0a51-fccd-4a1d-803a-87041409a97c", "savedPayload": { "position": { - "x": 18588.057865449082, - "y": 10035.081884015222 + "x": 18592.459601996485, + "y": 10026.13261936548 }, "targetPosition": { "x": 18051.878281255034, @@ -3794,7 +3794,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market Volume Energy", "project": "Foundations", - "id": "be099fc2-a818-4b4e-a279-7376e8346706", + "id": "7643fce0-ec7d-4367-b5af-f7e4b6fbcb56", "savedPayload": { "position": { "x": 19784.859174892692, @@ -3816,13 +3816,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "8ca976a6-053d-4655-84bf-9247daa740ea" + "id": "5274af75-7ab7-450a-ac6a-8646f1441ecb" } } } ], "outputDatasetFolders": [], - "id": "b00b73ba-37c1-48b9-bb2a-b0abdd2e925a", + "id": "9eec33b4-0422-4836-9e31-4a4a2e437ff3", "savedPayload": { "position": { "x": 19546.85317280532, @@ -3855,7 +3855,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "7812b817-ab2e-4682-a92f-0aa32a7bee2f", + "id": "a6326bc7-4c60-449f-bb2b-de1b4e1a7c69", "savedPayload": { "position": { "x": 19969.71880045299, @@ -3886,7 +3886,7 @@ "name": "Volume Energy Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "88de1afa-206b-485a-ae49-1cd7dc27a5b4", + "id": "cc638c39-83f3-44ea-b8fb-d993fb27789c", "savedPayload": { "position": { "x": 19958.079047314885, @@ -3908,7 +3908,7 @@ "referenceParent": { "type": "Status Report", "name": "Market-Volume-Energy", - "id": "2757bbb0-23fd-4416-a79e-8e81c4545763" + "id": "76a67912-6689-457a-ac12-2b136a56478b" } } } @@ -3918,7 +3918,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "d31895d3-8957-4bc7-b678-bf2dbff3c559", + "id": "ce93544d-6a23-49d2-810c-c467cd33dfad", "savedPayload": { "position": { "x": 19976.229712538054, @@ -3948,7 +3948,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Market", "project": "Foundations", - "id": "b1893630-de31-45b5-afad-10f61bae5f21", + "id": "e4bc0f68-52fb-436b-b2b4-d1bf3ce8dfe7", "savedPayload": { "position": { "x": 19909.877137867257, @@ -3976,7 +3976,7 @@ } ], "dataMineDataDependencies": [], - "id": "ce474f50-25b6-44f2-9d7d-b5b107330625", + "id": "7930b95b-ee2e-46eb-ac55-f47167bba4b1", "savedPayload": { "position": { "x": 19754.997358336164, @@ -4003,7 +4003,7 @@ "type": "Status Report", "name": "Market-Volume-Energy", "project": "Foundations", - "id": "2757bbb0-23fd-4416-a79e-8e81c4545763", + "id": "76a67912-6689-457a-ac12-2b136a56478b", "savedPayload": { "position": { "x": 19586.011030471334, @@ -4028,7 +4028,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "e17cc215-d34f-4596-8988-e71bc6b5c761", + "id": "c283286a-e17f-4ed0-8d17-62a6fcb331fd", "savedPayload": { "position": { "x": 19400.161385069256, @@ -4058,7 +4058,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "1045fc84-ea58-4bd4-8107-48f416abc53b", + "id": "d4173c52-c328-48e3-94e0-c312ac184512", "savedPayload": { "position": { "x": 19328.426099550958, @@ -4079,7 +4079,7 @@ "uiObject": {} } }, - "id": "38440679-ac5c-43c8-854d-0c65d412c229", + "id": "0109f6b7-9c2b-477e-883e-4a76f70bfc07", "savedPayload": { "position": { "x": 19308.84717071795, @@ -4116,7 +4116,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily Volume Energy", "project": "Foundations", - "id": "84fdbbb7-15ff-468d-a7bd-f4da1c1ceb07", + "id": "4e30f471-12ee-4c2c-8ac1-ebdad947c20f", "savedPayload": { "position": { "x": 19436.4935235257, @@ -4138,13 +4138,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "209f033b-7675-4cc9-8643-c03c2be85d1d" + "id": "ed20a2a5-5b9c-4f9a-8b9e-d8eeb15af09b" } } } ], "outputDatasetFolders": [], - "id": "4988c04d-e941-417a-8512-8b4bfa7eaf66", + "id": "cd67e7a1-df04-4391-871d-019f7e19b68d", "savedPayload": { "position": { "x": 19176.685902390367, @@ -4177,7 +4177,7 @@ "name": "Volume Energy Multi-Time-Frame-Daily", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "079b44ed-dd98-4cc1-84ed-f27659c328b2", + "id": "9e57fe28-4f95-4ffd-8821-e301558d8112", "savedPayload": { "position": { "x": 19326.685902390367, @@ -4199,7 +4199,7 @@ "referenceParent": { "type": "Status Report", "name": "Daily-FasTrend", - "id": "5690c882-fbc0-474b-bba4-3c81315211f8" + "id": "44d2ad10-0fb3-4f0b-9506-bea029e7ac1c" } } }, @@ -4208,7 +4208,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "39f16ffc-6dcf-467b-9138-c69890d7243c", + "id": "2fbc02d8-118b-498e-a41c-330ed2303fa0", "savedPayload": { "position": { "x": 19279.010315610998, @@ -4239,7 +4239,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{\n \"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "27d35cf0-14d5-479e-ab23-6e57dd3b7171", + "id": "09d30d47-7bc6-4f96-91e9-6d96d0b727b5", "savedPayload": { "position": { "x": 19216.878281255034, @@ -4271,7 +4271,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "8760fd9b-b720-429c-93bd-50bb7d9faf4b", + "id": "1219415d-243f-444e-8d96-420abf79d4e1", "savedPayload": { "position": { "x": 19144.52399478579, @@ -4301,7 +4301,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Daily", "project": "Foundations", - "id": "ca5adc45-5566-4bcc-83a0-68ac9bc3b283", + "id": "b399a79d-fe56-4cc6-9fe6-940d92d30776", "savedPayload": { "position": { "x": 19066.878281255034, @@ -4329,7 +4329,7 @@ } ], "dataMineDataDependencies": [], - "id": "010f8dda-c58e-4faa-9406-dc9e1f86ca95", + "id": "be06345c-c693-4668-995b-52880edfd0f3", "savedPayload": { "position": { "x": 19066.878281255034, @@ -4356,7 +4356,7 @@ "type": "Status Report", "name": "Daily-FasTrend", "project": "Foundations", - "id": "5690c882-fbc0-474b-bba4-3c81315211f8", + "id": "44d2ad10-0fb3-4f0b-9506-bea029e7ac1c", "savedPayload": { "position": { "x": 18916.878281255034, @@ -4381,7 +4381,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "667c0fb9-3b47-4955-bd80-0ab41416ce40", + "id": "bfe54496-2e37-4828-8f48-1f887637c59b", "savedPayload": { "position": { "x": 18841.878281255034, @@ -4411,7 +4411,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "87949417-44c4-4fe4-94cc-fc54a5d4d7d4", + "id": "19e36437-57df-431a-9569-036cb38fb858", "savedPayload": { "position": { "x": 18786.974470687368, @@ -4432,7 +4432,7 @@ "uiObject": {} } }, - "id": "f8b8a2be-4be0-47e4-ac5a-ec17279723b4", + "id": "c628485c-2615-48f0-a108-9e2d3906cfc5", "savedPayload": { "position": { "x": 19146.488340674092, @@ -4468,7 +4468,7 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "8ca976a6-053d-4655-84bf-9247daa740ea", + "id": "5274af75-7ab7-450a-ac6a-8646f1441ecb", "savedPayload": { "position": { "x": 19308.08856658018, @@ -4494,7 +4494,7 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "209f033b-7675-4cc9-8643-c03c2be85d1d", + "id": "ed20a2a5-5b9c-4f9a-8b9e-d8eeb15af09b", "savedPayload": { "position": { "x": 18964.526180135428, @@ -4531,7 +4531,7 @@ "name": "New Record Formula", "code": "record.current.begin", "project": "Foundations", - "id": "34d0cce2-43bc-484b-95c0-04cb4de8b8d7", + "id": "1fa937f1-bbb1-47cd-a064-35fc336580f7", "savedPayload": { "position": { "x": 18610.138000542327, @@ -4552,7 +4552,7 @@ "uiObject": {} } }, - "id": "04046533-0283-4d7b-b7c1-b3ffe655597b", + "id": "16fc2b9e-0d2b-468b-bd22-708e8758a564", "savedPayload": { "position": { "x": 18303.694413218134, @@ -4585,7 +4585,7 @@ "name": "New Record Formula", "code": "record.current.end", "project": "Foundations", - "id": "288ed70e-f716-4709-9e67-1a1eb2df1a0b", + "id": "73cb35e6-f9ce-458d-8900-cea74cb34569", "savedPayload": { "position": { "x": 16794.392018239647, @@ -4606,7 +4606,7 @@ "uiObject": {} } }, - "id": "864ad296-5236-4010-be95-50b25beaeccc", + "id": "d84edc96-b524-4234-a04e-41f666d63e70", "savedPayload": { "position": { "x": 17395.821422066794, @@ -4639,7 +4639,7 @@ "name": "New Record Formula", "code": "variable.VolumeEnergy", "project": "Foundations", - "id": "85210e94-a87f-4968-8cf1-ffe602b441a2", + "id": "38e564ce-b9f0-4d87-96a5-642c240ab1c9", "savedPayload": { "position": { "x": 17384.363651245556, @@ -4660,7 +4660,7 @@ "uiObject": {} } }, - "id": "940f6a46-7843-4554-8770-255d1208bf82", + "id": "e728eec0-a5e7-42ac-8bf2-266d63232b85", "savedPayload": { "position": { "x": 17690.80723856975, @@ -4684,7 +4684,7 @@ } } ], - "id": "37374083-c7df-4b72-b4c8-49ad4eeb0657", + "id": "dc302585-7268-441d-bcc4-5b1c24a777f7", "savedPayload": { "position": { "x": 18421.098333777398, @@ -4720,7 +4720,7 @@ "name": "New Procedure Javascript Code", "code": "/* Loop Code */\n\nlet candle = record.current\nlet volume = getElement('volumes', candle)\nlet Vl = 28 //period for slow moving average\nlet Vs = 14 //period for fast moving average\nlet m = 1 //kinetic weight\nlet k = 8 //potential weight\n\n//Array building\nvariable.VolShort.push(volume.sell + volume.buy)\nvariable.VolLong.push(volume.sell + volume.buy)\n\n// Keep the array the correct size\n\nif (variable.VolShort.length > Vs) {\n variable.VolShort.splice(0, 1)\n}\n\nif (variable.VolLong.length > Vl) {\n variable.VolLong.splice(0, 1)\n}\n\n//calculate volume mobile average\n\nvariable.VolAs = calVolAv(Vs, variable.VolShort) //fast\nvariable.VolAl = calVolAv(Vl, variable.VolLong) //slow\n\n//calculate volume oscillator and put it in an array prior to velocity calculation\nvariable.VOsc = (variable.VolAs - variable.VolAl) / variable.VolAl\nvariable.VOscA.push(variable.VOsc)\nif (variable.VOscA.length > 2) {\n variable.VOscA.splice(0, 1)\n}\n//calculate kinetic energy\n\nvariable.Speed = variable.VOscA[1] - variable.VOscA[0]\nvariable.Kinetic = kinetic()\n\n//calculate potential energy\nvariable.Potential = 1/2 * k * Math.pow(variable.VOsc,2)\n\n//calculate volume differential energy\nvariable.VDE = ((Math.pow(variable.Kinetic,2) - Math.pow(variable.Potential,2))/(Math.pow(variable.Kinetic,2) + Math.pow(variable.Potential,2)))\nif (isNaN(variable.VDE)) {\nvariable.VolumeEnergy = 0\n}\nelse\n{ \nvariable.VolumeEnergy = variable.VDE\n}//functions\n//Volume average\nfunction calVolAv(periods, array) {\n\tvariable.S = 0\n for(var i = 0 ; i < periods ; i++) {\n\t\tvariable.S = variable.S + array[i]\n\t}\n\treturn variable.S/periods\n}\n//kinetic energy\nfunction kinetic() {\n\tif (variable.VOscA.length < 2) { return 0 }\n\tvariable.Kin = 1/2 * m * Math.pow(variable.Speed,2)\n\treturn variable.Kin\n}\n// End of code :-)", "project": "Foundations", - "id": "f5d5d35b-221e-46e5-9498-89c70dd43d34", + "id": "50712dda-61d3-4862-a206-84c75ee64bef", "savedPayload": { "position": { "x": 17494.71513760907, @@ -4741,7 +4741,7 @@ "uiObject": {} } }, - "id": "eceb0950-89c4-4ed0-a6fa-2176dfde0130", + "id": "e7f4c2b4-b2f2-4577-927e-215bc42c089b", "savedPayload": { "position": { "x": 17657.924371086836, @@ -4773,7 +4773,7 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\nvariable.VolShort = []\nvariable.VolLong = []\nvariable.VolLong = []\nvariable.VOscA = []\n", "project": "Foundations", - "id": "8c119d0d-f05c-4a9c-b011-7dc1ff61ae3b", + "id": "b18c964d-88fb-42ba-8d6b-f568b6dfad3b", "savedPayload": { "position": { "x": 17672.726424210203, @@ -4794,7 +4794,7 @@ "uiObject": {} } }, - "id": "08b75bb1-07b3-4144-99ef-cce7774cd33c", + "id": "9e1b5bfb-6b5f-4d34-b342-9aab79b34dd0", "savedPayload": { "position": { "x": 17768.608397697022, @@ -4817,7 +4817,7 @@ } } }, - "id": "0fe4ca64-d483-4ba1-b70c-46e1eeba0054", + "id": "821888be-b353-4496-87a1-42f226a9d77c", "savedPayload": { "position": { "x": 17984.342838042365, @@ -4840,7 +4840,7 @@ } } }, - "id": "cb180f87-f6d5-4e7d-870a-9e91fe25889e", + "id": "69b40866-2355-4c1a-95ba-63eb7a4d5fa8", "savedPayload": { "position": { "x": 18859.475766400272, @@ -4864,16 +4864,16 @@ "referenceParent": { "type": "Plotter Module", "name": "Volume Energy", - "id": "67560b6a-1e78-4d72-a52f-02f188a740fe" + "id": "8a24ef7f-a21c-44f9-acc9-6b9de7ff38ab" } } } ], - "id": "9eda88d6-543e-44d3-8480-3713e675703b", + "id": "248e3cdd-fbfb-4a77-b4db-9af3b17cd7b4", "savedPayload": { "position": { - "x": 18511.50494712642, - "y": 10151.474941706869 + "x": 18520.977170735852, + "y": 10139.896257010187 }, "targetPosition": { "x": 18051.878281255034, @@ -4912,7 +4912,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market Volume Buy Energy", "project": "Foundations", - "id": "ea173cc1-59c1-4819-8100-889baba2f438", + "id": "df72993e-1ba4-485f-8415-ec687d70034c", "savedPayload": { "position": { "x": 18351.448073772845, @@ -4934,13 +4934,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "57bfb473-8806-4eeb-9cb8-171229414eec" + "id": "773bf203-488f-45cb-8d84-0e4e80b16b1f" } } } ], "outputDatasetFolders": [], - "id": "d39f12a1-48d8-4228-a02b-82137d04b6e1", + "id": "50b5ed99-e10b-46dc-8262-19fec7a9c29c", "savedPayload": { "position": { "x": 18358.587383036676, @@ -4973,7 +4973,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "c498aeda-02d0-4659-8ae1-35edef349f1e", + "id": "46d4477a-68ee-46f9-b771-612725d37301", "savedPayload": { "position": { "x": 18304.712707284598, @@ -5004,7 +5004,7 @@ "name": "Volume Energy BUY Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "8ceda683-f401-4400-a316-439adec8731c", + "id": "699424bb-cb00-4cc4-aa6f-878a171091ed", "savedPayload": { "position": { "x": 18079.51182298934, @@ -5026,7 +5026,7 @@ "referenceParent": { "type": "Status Report", "name": "Market-Volume-Energy", - "id": "90e237cb-0956-4718-9b0d-2c369e72425f" + "id": "c2274c78-06ed-4a5e-bf3a-b58693009a25" } } } @@ -5036,7 +5036,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "b30f2f4b-3338-44e2-8a2a-e1d0d42651a8", + "id": "7dc7537e-d7b9-4c19-bdcd-9eddf530d4a9", "savedPayload": { "position": { "x": 17960.773099303322, @@ -5066,7 +5066,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Market", "project": "Foundations", - "id": "b6455949-6cb4-4a9e-9527-cc5ec2ea22bf", + "id": "133cff8e-13ca-4ae7-8b15-511b1ce47acf", "savedPayload": { "position": { "x": 17907.252428607837, @@ -5094,7 +5094,7 @@ } ], "dataMineDataDependencies": [], - "id": "c8e78c30-a5ea-415d-8c90-e14c769453c5", + "id": "bc1f8283-b0d4-4f94-b542-ff3790bf4f19", "savedPayload": { "position": { "x": 18131.516178712627, @@ -5121,7 +5121,7 @@ "type": "Status Report", "name": "Market-Volume-Energy", "project": "Foundations", - "id": "90e237cb-0956-4718-9b0d-2c369e72425f", + "id": "c2274c78-06ed-4a5e-bf3a-b58693009a25", "savedPayload": { "position": { "x": 18102.42299543033, @@ -5146,7 +5146,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "057a3258-952f-443d-be06-268243cebc82", + "id": "2b024787-f9be-4fff-b803-587d48ae6878", "savedPayload": { "position": { "x": 18215.769173096538, @@ -5176,7 +5176,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "27409f04-77bc-489a-b2eb-a877bcfc5b06", + "id": "1bfad17e-d6eb-4406-931a-085588a278d4", "savedPayload": { "position": { "x": 18237.644498497335, @@ -5197,7 +5197,7 @@ "uiObject": {} } }, - "id": "63372e98-c73c-477f-a7a5-60987cfb3010", + "id": "59e33116-ea03-4fd1-842b-b983bd656503", "savedPayload": { "position": { "x": 18404.74624689907, @@ -5234,7 +5234,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily Volume Buy Energy", "project": "Foundations", - "id": "aa9de0db-1434-49fb-b54a-6cecf818c4bb", + "id": "b1474d2a-0ed0-473b-8014-c139610f13b4", "savedPayload": { "position": { "x": 17906.942074223298, @@ -5256,13 +5256,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "1997b60b-6b3a-4e39-acb5-5e05a4e24f42" + "id": "0a5aec08-4422-4bad-b138-88fd0c723612" } } } ], "outputDatasetFolders": [], - "id": "22a81255-1efb-4d11-9ebe-cccabe95796f", + "id": "4c6478b2-237f-4995-965e-c7f315a5373a", "savedPayload": { "position": { "x": 18124.062285654818, @@ -5295,7 +5295,7 @@ "name": "Volume Energy BUY Multi-Time-Frame-Daily", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "6195c600-45bb-44b2-a5ec-53880e8e8d5d", + "id": "c80624f0-0ace-4a4a-8071-a77b025b6029", "savedPayload": { "position": { "x": 31156.833379567517, @@ -5317,7 +5317,7 @@ "referenceParent": { "type": "Status Report", "name": "Daily-FasTrend", - "id": "af5a43e7-34d4-4be3-9335-4b8e9b9e1034" + "id": "46571e92-9a30-4116-b9c4-2c90fb0a6ab6" } } }, @@ -5326,7 +5326,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "acfe39e6-002a-44df-9f08-70d453a17b68", + "id": "1a9180a6-8eca-4bfb-93fe-2177e1e30c0f", "savedPayload": { "position": { "x": 31084.479093098274, @@ -5357,7 +5357,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{\n \"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "28d6332e-dcd9-4671-90ca-149a65675cc0", + "id": "00a60f44-1d57-4ccc-aeba-a467e58a0ab5", "savedPayload": { "position": { "x": 31006.833379567517, @@ -5389,7 +5389,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "6f81072a-e3e3-4f4d-a6f4-163761ded01a", + "id": "0ac6377d-2ad1-411d-abf2-e04dbd8ff0ee", "savedPayload": { "position": { "x": 30929.18766603676, @@ -5419,7 +5419,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Daily", "project": "Foundations", - "id": "312c9a9c-35d1-44ce-8c50-9d20bc9efd54", + "id": "53e25b71-2c3c-4c6d-97af-e65285f285ce", "savedPayload": { "position": { "x": 30856.833379567517, @@ -5447,7 +5447,7 @@ } ], "dataMineDataDependencies": [], - "id": "dd953512-30da-49c3-a7dd-2e6337aee9f9", + "id": "52c96f07-7236-40b0-ae5f-25e729c6528d", "savedPayload": { "position": { "x": 18049.639026589277, @@ -5474,7 +5474,7 @@ "type": "Status Report", "name": "Daily-FasTrend", "project": "Foundations", - "id": "af5a43e7-34d4-4be3-9335-4b8e9b9e1034", + "id": "46571e92-9a30-4116-b9c4-2c90fb0a6ab6", "savedPayload": { "position": { "x": 18197.258551044164, @@ -5499,7 +5499,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "ba5501cc-ba7b-479b-aa07-3cf0a3819548", + "id": "e8945ca9-e7a4-48b3-ad78-91e6442dd8bc", "savedPayload": { "position": { "x": 18237.67064536402, @@ -5529,7 +5529,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "401e630d-3431-4554-8797-6685186dcd22", + "id": "99e8cef0-8b3e-47cd-94c4-4f7dae0f31ac", "savedPayload": { "position": { "x": 18305.818656759922, @@ -5550,7 +5550,7 @@ "uiObject": {} } }, - "id": "54d12c1c-2601-4d74-9ce4-d6a44fd5504e", + "id": "39bfaee3-8a7b-4e18-90ba-b4f35c46262b", "savedPayload": { "position": { "x": 18316.878281255034, @@ -5586,7 +5586,7 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "57bfb473-8806-4eeb-9cb8-171229414eec", + "id": "773bf203-488f-45cb-8d84-0e4e80b16b1f", "savedPayload": { "position": { "x": 18094.384504838294, @@ -5612,7 +5612,7 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "1997b60b-6b3a-4e39-acb5-5e05a4e24f42", + "id": "0a5aec08-4422-4bad-b138-88fd0c723612", "savedPayload": { "position": { "x": 17854.220476453276, @@ -5649,7 +5649,7 @@ "name": "New Record Formula", "code": "record.current.begin", "project": "Foundations", - "id": "34737231-c9e1-450d-9f70-7a45fa728966", + "id": "b0a87e71-5146-4555-b01e-b028b2361ac4", "savedPayload": { "position": { "x": 17256.97394512661, @@ -5670,7 +5670,7 @@ "uiObject": {} } }, - "id": "521ef338-b12e-4452-9f4a-2b34539bb0ab", + "id": "d2fcadac-bee3-46ce-8de1-795a791062ae", "savedPayload": { "position": { "x": 17624.605293761753, @@ -5703,7 +5703,7 @@ "name": "New Record Formula", "code": "record.current.end", "project": "Foundations", - "id": "d889df82-3ee1-4fd8-a267-34c1a99e1c41", + "id": "d36c5a66-07d9-4c94-8b09-480f70995207", "savedPayload": { "position": { "x": 16644.08677047822, @@ -5724,7 +5724,7 @@ "uiObject": {} } }, - "id": "4291f5d9-8c1a-49aa-9044-bd99e233b9b1", + "id": "4e9ab7a8-aea0-477a-b828-b92536027d64", "savedPayload": { "position": { "x": 17318.16170643756, @@ -5757,7 +5757,7 @@ "name": "New Record Formula", "code": "variable.VolumeEnergyB", "project": "Foundations", - "id": "9ff42cbc-bc95-45dc-b592-4b811297d1d1", + "id": "e55fdb08-c1ec-4c64-be12-df4a014e516a", "savedPayload": { "position": { "x": 17379.34946774851, @@ -5778,7 +5778,7 @@ "uiObject": {} } }, - "id": "19dba934-a654-424c-8731-5d9d102ece66", + "id": "d482f5ed-95f4-4332-b402-5fc58880c433", "savedPayload": { "position": { "x": 17685.793055072703, @@ -5811,7 +5811,7 @@ "name": "New Record Formula", "code": "variable.TmpB", "project": "Foundations", - "id": "2a6b8609-7194-4858-a296-f07682bcbff2", + "id": "17ee6029-dd60-430e-8ee2-2dfb21fea92b", "savedPayload": { "position": { "x": 19325.61590220033, @@ -5832,7 +5832,7 @@ "uiObject": {} } }, - "id": "647e945b-80c4-4d8c-8004-26369bff5c4e", + "id": "112f494d-d2e3-4ab6-894e-4b6de6c746a1", "savedPayload": { "position": { "x": 18359.86799103204, @@ -5865,7 +5865,7 @@ "name": "New Record Formula", "code": "variable.RelativeAgitation", "project": "Foundations", - "id": "c9bc1f2c-befc-4dae-9b6c-1f6b03466705", + "id": "8e5818f7-3204-4af3-883b-a5fa8921a661", "savedPayload": { "position": { "x": 19340.38651431557, @@ -5886,7 +5886,7 @@ "uiObject": {} } }, - "id": "c3d89526-bdd4-4f47-a9e7-a76ffed5d22a", + "id": "55237856-e7cd-44c6-857d-2dde85ba93d4", "savedPayload": { "position": { "x": 18666.31157835623, @@ -5910,7 +5910,7 @@ } } ], - "id": "d3530bef-7072-4811-9a85-e05f55c6959c", + "id": "ee2587de-6ac5-4aa8-8006-8adaaf79556e", "savedPayload": { "position": { "x": 17992.236642396896, @@ -5946,7 +5946,7 @@ "name": "New Procedure Javascript Code", "code": "/* Loop Code */\n\nlet candle = record.current\nlet volume = getElement('volumes', candle)\nlet Vl = 28 //period for slow moving average\nlet Vs = 14 //period for fast moving average\nlet m = 1 //kinetic weight\nlet k = 8 //potential weight\n\n//evaluation of sell and buy volume as per indicated in the master data mine\nlet totalVolume = volume.buy + volume.sell\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\n\n//Array building\nvariable.VolShort.push(volume.sell + volume.buy)\nvariable.VolLong.push(volume.sell + volume.buy)\nvariable.VolShortB.push(variable.buyVolume)\nvariable.VolLongB.push(variable.buyVolume)\nvariable.VolShortS.push(variable.sellVolume)\nvariable.VolLongS.push(variable.sellVolume)\n\n// Keep the array the correct size\n\nif (variable.VolShort.length > Vs) {\n variable.VolShort.splice(0, 1)\n}\n\nif (variable.VolLong.length > Vl) {\n variable.VolLong.splice(0, 1)\n}\n\nif (variable.VolShortB.length > Vs) {\n variable.VolShortB.splice(0, 1)\n}\n\nif (variable.VolLongB.length > Vl) {\n variable.VolLongB.splice(0, 1)\n}\n\nif (variable.VolShortS.length > Vs) {\n variable.VolShortS.splice(0, 1)\n}\n\nif (variable.VolLongS.length > Vl) {\n variable.VolLongS.splice(0, 1)\n}\n\n//calculate volume mobile average\n\nvariable.VolAsB = calVolAv(Vs, variable.VolShortB) //fast volume mobile average BUY\nvariable.VolAlB = calVolAv(Vl, variable.VolLongB) //slow\nvariable.VolAsS = calVolAv(Vs, variable.VolShortS) //fast volume mobile average SELL\nvariable.VolAlS = calVolAv(Vl, variable.VolLongS) //slow\n\n//calculate volume oscillator and put it in an array prior to velocity calculation\nvariable.VOscAB = (variable.VolAsB - variable.VolAlB) / variable.VolAlB\nvariable.VOscB.push(variable.VOscAB)\nif (variable.VOscB.length > 2) {\n variable.VOscB.splice(0, 1)\n}\n\nvariable.VOscAS = (variable.VolAsS - variable.VolAlS) / variable.VolAlS\nvariable.VOscS.push(variable.VOscAS)\nif (variable.VOscS.length > 2) {\n variable.VOscS.splice(0, 1)\n}\n\n//calculate kinetic energy\n\nvariable.SpeedS = variable.VOscS[1] - variable.VOscS[0]\nvariable.KineticS = kinetic(variable.VOscS,variable.SpeedS)\n\nvariable.SpeedB = variable.VOscB[1] - variable.VOscB[0]\nvariable.KineticB = kinetic(variable.VOscB,variable.SpeedB)\n\n//calculate potential energy\nvariable.PotentialB = 1/2 * k * Math.pow(variable.VOscAB,2)\nvariable.PotentialS = 1/2 * k * Math.pow(variable.VOscAS,2)\n\n//calculate volume differential energy\nvariable.VDEB = ((Math.pow(variable.KineticB,2) - Math.pow(variable.PotentialB,2))/(Math.pow(variable.KineticB,2) + Math.pow(variable.PotentialB,2)))\nif (isNaN(variable.VDEB)) {\nvariable.VolumeEnergyB = 0\n}\nelse\n{ \nvariable.VolumeEnergyB = variable.VDEB\n}\n//calculate Boltzman Temperature\nvariable.TEB = variable.PotentialB + variable.KineticB // total energy BUY\nvariable.TES = variable.PotentialS + variable.KineticS // total energy SELL\n\nvariable.BoltzmanTemperatureB = (variable.TEB - variable.TES) / (Math.log(variable.sellVolume / variable.buyVolume))\n\nif (typeof variable.TEB === \"undefined\" || typeof variable.TES === \"undefined\") {\nvariable.BTmp = 0\n}\nelse \n{\t\nvariable.BTmp = variable.BoltzmanTemperatureB \n}\n\nif (isNaN(variable.BTmp)) {\nvariable.TmpB = 0\n}\nelse \n{\n\tif (isFinite(variable.BTmp) === false) {\n\t\tvariable.TmpB = 25\n\t}\n\telse\n\t{\nvariable.TmpB = variable.BoltzmanTemperatureB\n}\n}\n\nvariable.BoltzmanTemperatureS = (variable.TES - variable.TEB) / (Math.log(variable.buyVolume / variable.sellVolume))\n\nif (typeof variable.TEB === \"undefined\" || typeof variable.TES === \"undefined\") {\nvariable.STmp = 0\n}\nelse \n{\t\nvariable.STmp = variable.BoltzmanTemperatureS \n}\n\nif (isNaN(variable.STmp)) {\nvariable.TmpS = 0\n}\nelse \n{\n\tif (isFinite(variable.STmp) === false) {\n\t\tvariable.TmpS = 25\n\t}\n\telse\n\t{\nvariable.TmpS = variable.BoltzmanTemperatureS\n}\n}\n\n//variable.RelativeAgitation = (Math.pow(10,18) * Math.sqrt(1/2 * (Math.pow(variable.TmpS-(variable.TmpS + variable.TmpB)/2,2) + Math.pow(variable.TmpB-(variable.TmpS + variable.TmpB)/2,2))))\nif(variable.TmpS > variable.TmpB) {\n\tvariable.RelativeAgitation = -1\n}\n\nif(variable.TmpS < variable.TmpB) {\n\tvariable.RelativeAgitation = 1\n}\n\nif(variable.TmpS === variable.TmpB) {\n\tvariable.RelativeAgitation = 0\n}\n//functions\n//Volume average\nfunction calVolAv(periods, array) {\n\tvariable.S = 0\n for(var i = 0 ; i < periods ; i++) {\n\t\tvariable.S = variable.S + array[i]\n\t}\n\treturn variable.S/periods\n}\n//kinetic energy\nfunction kinetic(VOSC,SPEED) {\n\tif (VOSC.length < 2) { return 0 }\n\tvariable.Kin = 1/2 * m * Math.pow(SPEED,2)\n\treturn variable.Kin\n}\n// End of code :-)", "project": "Foundations", - "id": "2cdbde6c-4cc1-4197-904c-3284df245098", + "id": "da7044ef-11ae-4d59-b124-94772022ae54", "savedPayload": { "position": { "x": 18257.724795076763, @@ -5967,7 +5967,7 @@ "uiObject": {} } }, - "id": "871ecd5f-72c2-4bac-94b4-ccc74b5aff07", + "id": "f0e7308f-d543-456b-b71a-bda096f200e3", "savedPayload": { "position": { "x": 18293.561590031295, @@ -5999,7 +5999,7 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\nvariable.VolShort = []\nvariable.VolLong = []\nvariable.VOscA = []\nvariable.VolShortB = []\nvariable.VolLongB = []\nvariable.VolShortS = []\nvariable.VolLongS = []\nvariable.VOscB = []\nvariable.VOscS = []", "project": "Foundations", - "id": "26956ac8-3b71-49db-b370-456030b5311a", + "id": "a11fda8c-2517-4bc1-8553-5be60738646a", "savedPayload": { "position": { "x": 18459.74206256511, @@ -6020,7 +6020,7 @@ "uiObject": {} } }, - "id": "2548d532-7776-4ce9-b377-b1561e7a3694", + "id": "95c608ef-08b8-4cb4-85af-583bf9a69df1", "savedPayload": { "position": { "x": 18396.810023460126, @@ -6043,7 +6043,7 @@ } } }, - "id": "ea831d29-d23b-40f9-8dfb-4720361aa063", + "id": "7b3b1871-c389-47e1-9947-dd687c1b469a", "savedPayload": { "position": { "x": 18333.877984355142, @@ -6066,7 +6066,7 @@ } } }, - "id": "e1b5459a-9f54-44d1-b741-6b4caf51f42b", + "id": "e2271ae9-1e51-491d-8206-6fc9626762b7", "savedPayload": { "position": { "x": 18298.68022972109, @@ -6090,16 +6090,16 @@ "referenceParent": { "type": "Plotter Module", "name": "Volume Energy BUY", - "id": "8c029029-b2f1-443b-95d9-f79ac4ab9816" + "id": "f19f83c6-b532-46c2-b463-94c062fb002f" } } } ], - "id": "a04132ee-7e9d-4e99-948d-661dc30334eb", + "id": "94a2b0e7-9643-4957-8e70-d526c77d6ca2", "savedPayload": { "position": { - "x": 18410.173436276706, - "y": 10247.076291547972 + "x": 18425.972162370275, + "y": 10234.901265375764 }, "targetPosition": { "x": 18051.878281255034, @@ -6138,7 +6138,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market On-Balance-Volume", "project": "Foundations", - "id": "c67edbe9-5f93-42fa-8e63-e030201cafa3", + "id": "5f813510-32be-49af-a99c-fcaf79e28757", "savedPayload": { "position": { "x": 18560.037673960585, @@ -6160,13 +6160,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "b5942827-db5b-45d9-bc4c-56fbeffefa53" + "id": "a58eb3b5-4c44-49b5-8fe4-b9bb53238dc3" } } } ], "outputDatasetFolders": [], - "id": "515e06a6-65f9-4d11-a6ee-006ffb6b27e8", + "id": "04930a37-0a3e-463d-b420-2e02c824acc4", "savedPayload": { "position": { "x": 18482.391960429828, @@ -6199,7 +6199,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "0908911f-626b-478a-bc7f-a624c63fbaff", + "id": "c3f72db7-9901-478d-aa5f-92a7192cdb95", "savedPayload": { "position": { "x": 18571.471852575363, @@ -6230,7 +6230,7 @@ "name": "On-Balance-Volume Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "5fcb11f8-9861-476e-8710-87ba87380798", + "id": "6f7fc841-c320-4cea-b79a-1168a627a3f0", "savedPayload": { "position": { "x": 18300.053266757597, @@ -6252,7 +6252,7 @@ "referenceParent": { "type": "Status Report", "name": "Market-Volume-Energy", - "id": "47f7ee95-6229-4341-8af1-2e3bcfaea039" + "id": "1a53f26a-550b-48d2-a8b2-2702eaf3cc98" } } } @@ -6262,7 +6262,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "2611004d-a5b9-4d7a-8c2d-64275e6df640", + "id": "5b3f62b5-69f9-4b10-9b95-c00e026a8290", "savedPayload": { "position": { "x": 18165.733893724555, @@ -6292,7 +6292,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Market", "project": "Foundations", - "id": "0563c629-c029-4001-8fb3-104a84c55f19", + "id": "c48f087f-d772-4aee-ad52-34e62af2e257", "savedPayload": { "position": { "x": 18078.222080641066, @@ -6320,7 +6320,7 @@ } ], "dataMineDataDependencies": [], - "id": "72fd4b93-51d0-4b1f-8c04-f2127e455593", + "id": "0dbbcd35-73f8-40b1-8e59-e7833f67c791", "savedPayload": { "position": { "x": 18288.277676602935, @@ -6347,7 +6347,7 @@ "type": "Status Report", "name": "Market-Volume-Energy", "project": "Foundations", - "id": "47f7ee95-6229-4341-8af1-2e3bcfaea039", + "id": "1a53f26a-550b-48d2-a8b2-2702eaf3cc98", "savedPayload": { "position": { "x": 18192.614212543107, @@ -6372,7 +6372,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "b4aa8390-c3de-497a-a540-80d5d31a4dd8", + "id": "f0b684eb-3fee-48a8-9b8b-7300d639cb72", "savedPayload": { "position": { "x": 18259.85737295571, @@ -6402,7 +6402,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "ae9b383d-afde-4773-a81f-ed70ac2e2efa", + "id": "f3ae5b78-b0c9-4042-840b-b94d5f462cc7", "savedPayload": { "position": { "x": 18259.85737295571, @@ -6423,7 +6423,7 @@ "uiObject": {} } }, - "id": "ed7583d4-8739-4008-a019-354f0849b8c9", + "id": "381a0d04-a7db-4950-af76-e4b254c4676e", "savedPayload": { "position": { "x": 18916.878281255038, @@ -6460,7 +6460,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily On-Balance-Volume", "project": "Foundations", - "id": "cf3d3d2f-d779-45d6-865b-a2c692e5b6a6", + "id": "3bcd2d28-340c-4b09-8986-a4b1e369d117", "savedPayload": { "position": { "x": 18016.878281255034, @@ -6482,13 +6482,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "198ac5c5-9739-42b8-90f2-9319e4091063" + "id": "ef055fa7-c2bb-4136-b4ed-bdff8c56d5e1" } } } ], "outputDatasetFolders": [], - "id": "6906299f-fc46-40c8-a20e-b9df8b90d795", + "id": "10098157-b328-4afc-be1f-ff5912dfed6c", "savedPayload": { "position": { "x": 18166.878281255034, @@ -6521,7 +6521,7 @@ "name": "On-Balance-Volume Multi-Time-Frame-Daily", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "8628f7a3-553b-490a-b813-589c2530d2ff", + "id": "2709ee45-3f39-4378-b776-e5659da81684", "savedPayload": { "position": { "x": 17907.0706601197, @@ -6543,7 +6543,7 @@ "referenceParent": { "type": "Status Report", "name": "Daily-FasTrend", - "id": "04102d7b-55fc-4490-93b0-9db02e60d0cd" + "id": "7ea8a55a-c7a6-48e9-bb6c-b1986f06199a" } } }, @@ -6552,7 +6552,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "9c5a2045-e476-400e-bc01-9a5d887337dd", + "id": "5fffff33-e985-4ab8-9009-773c0aeeecb8", "savedPayload": { "position": { "x": 17844.938625763738, @@ -6583,7 +6583,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{\n \"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "32b1e308-39d7-4f4f-aca8-e46106c63d0e", + "id": "642824f5-5b45-48c2-9ab1-b389d261bb6a", "savedPayload": { "position": { "x": 17797.26303898437, @@ -6615,7 +6615,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "9062f8f2-45eb-49e5-8ad6-22e5b5c40222", + "id": "e3ebf68b-97e1-4141-87ed-8b8b3b2834f5", "savedPayload": { "position": { "x": 17767.29291223298, @@ -6645,7 +6645,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Daily", "project": "Foundations", - "id": "18fb5de6-ab83-4dec-883c-2f5b51185754", + "id": "b614e13e-9249-44e8-b63d-b8242c7a6cef", "savedPayload": { "position": { "x": 17757.0706601197, @@ -6673,7 +6673,7 @@ } ], "dataMineDataDependencies": [], - "id": "b1c0f120-6541-48e2-85a5-b954c1eaff74", + "id": "b1bbc70e-441b-4fb7-b9d0-c07db2fe47c5", "savedPayload": { "position": { "x": 18057.0706601197, @@ -6700,7 +6700,7 @@ "type": "Status Report", "name": "Daily-FasTrend", "project": "Foundations", - "id": "04102d7b-55fc-4490-93b0-9db02e60d0cd", + "id": "7ea8a55a-c7a6-48e9-bb6c-b1986f06199a", "savedPayload": { "position": { "x": 18166.878281255034, @@ -6725,7 +6725,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "34861e24-786d-4af0-8f61-6f9f8d8f923e", + "id": "30d4c2f8-aa64-4651-9c27-e37788c449b5", "savedPayload": { "position": { "x": 18186.974470687368, @@ -6755,7 +6755,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "cc530d85-2419-4a60-b068-97ab1b94b4c9", + "id": "ecccdb6c-d975-4bb3-8a64-77bf8a2bb7d6", "savedPayload": { "position": { "x": 18241.878281255034, @@ -6776,7 +6776,7 @@ "uiObject": {} } }, - "id": "bc3dd2ac-754f-4140-ad91-c5319b2a8553", + "id": "2134763c-5155-4173-a3c3-8db02ccc64b0", "savedPayload": { "position": { "x": 18687.268221835984, @@ -6812,7 +6812,7 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "b5942827-db5b-45d9-bc4c-56fbeffefa53", + "id": "a58eb3b5-4c44-49b5-8fe4-b9bb53238dc3", "savedPayload": { "position": { "x": 18678.57908366401, @@ -6838,7 +6838,7 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "198ac5c5-9739-42b8-90f2-9319e4091063", + "id": "ef055fa7-c2bb-4136-b4ed-bdff8c56d5e1", "savedPayload": { "position": { "x": 18151.20310779325, @@ -6875,7 +6875,7 @@ "name": "New Record Formula", "code": "record.current.begin", "project": "Foundations", - "id": "c7f09f77-f9f3-4031-a107-067465a9bdd7", + "id": "1720c5f3-6f0c-42b5-9836-82358decdd25", "savedPayload": { "position": { "x": 18739.95631520561, @@ -6896,7 +6896,7 @@ "uiObject": {} } }, - "id": "afa5d580-4c6e-4815-8ff9-bf005dfbc061", + "id": "7cde24a9-42d2-48ca-9eac-edefd8a0499e", "savedPayload": { "position": { "x": 18226.68228842559, @@ -6929,7 +6929,7 @@ "name": "New Record Formula", "code": "record.current.end", "project": "Foundations", - "id": "ede0528d-8334-48c5-9a80-7c75a5e2f544", + "id": "1a64d734-e0a2-44dc-bb46-17615e3a3ea9", "savedPayload": { "position": { "x": 17819.32804087816, @@ -6950,7 +6950,7 @@ "uiObject": {} } }, - "id": "492bafa5-a91d-41ff-8060-f3ab2cc8b28f", + "id": "4213a4cd-79d8-4679-a1ac-be343731668a", "savedPayload": { "position": { "x": 17766.368151261864, @@ -6983,7 +6983,7 @@ "name": "New Record Formula", "code": "variable.OBV", "project": "Foundations", - "id": "c7da6cc0-dbbe-4f87-b31a-622b58b78fae", + "id": "52b131fe-39f9-4ebb-a873-a875cee93221", "savedPayload": { "position": { "x": 16836.65339639982, @@ -7004,7 +7004,7 @@ "uiObject": {} } }, - "id": "aef0bd48-d744-4f29-a995-7d83ae7e77cf", + "id": "4eb130e6-0948-45d4-995d-b3990489046e", "savedPayload": { "position": { "x": 17275.030829022693, @@ -7037,7 +7037,7 @@ "name": "New Record Formula", "code": "variable.VEma20", "project": "Foundations", - "id": "8bdbfdf9-cab9-495c-8ee4-e086099ae859", + "id": "15b754f0-39d2-44fd-bea9-47da7c10d8c5", "savedPayload": { "position": { "x": 16367.569861105843, @@ -7058,7 +7058,7 @@ "uiObject": {} } }, - "id": "fd16c293-203d-43e0-98fb-67b3ab0be226", + "id": "a9efd131-576e-4899-ac8d-b8c36c8f5be5", "savedPayload": { "position": { "x": 17040.489061375705, @@ -7091,7 +7091,7 @@ "name": "New Record Formula", "code": "variable.VEma10", "project": "Foundations", - "id": "0c869db5-fe39-4f82-a1c3-1babc420b693", + "id": "eeeeef67-bb5e-43ec-8a5b-7fb8dcaae9b5", "savedPayload": { "position": { "x": 16686.860208085523, @@ -7112,7 +7112,7 @@ "uiObject": {} } }, - "id": "699a49c7-0f8e-42b2-8d1f-570f0fd4ce2a", + "id": "c4e8d5c3-f9c2-4ffa-a015-116eacb3c81a", "savedPayload": { "position": { "x": 17200.134234865545, @@ -7145,7 +7145,7 @@ "name": "New Record Formula", "code": "variable.VEma5", "project": "Foundations", - "id": "8c478412-b308-4a26-866b-153c82021ba5", + "id": "7077e1dc-f188-4982-ba8f-88812eb238ab", "savedPayload": { "position": { "x": 17607.48848241298, @@ -7166,7 +7166,7 @@ "uiObject": {} } }, - "id": "9bf19d24-00fe-4a32-9ca2-d43affd292e9", + "id": "c9fef56a-bdd1-4c68-b76b-9a16fe0ed55e", "savedPayload": { "position": { "x": 17660.448372029274, @@ -7199,7 +7199,7 @@ "name": "New Record Formula", "code": "variable.VEma3", "project": "Foundations", - "id": "bc5c2c6f-9ce8-47bc-8723-dd8789970d67", + "id": "bcc82c1f-f954-42b2-a057-b9ac87894d02", "savedPayload": { "position": { "x": 18590.163126891315, @@ -7220,7 +7220,7 @@ "uiObject": {} } }, - "id": "ed25e455-9f5a-4b1a-b152-946e3b905a9e", + "id": "fc5c3ee3-5b38-49cf-b1be-6552cbac604d", "savedPayload": { "position": { "x": 18151.78569426844, @@ -7244,7 +7244,7 @@ } } ], - "id": "b11d91c2-5420-41d1-bc5f-51ec31bd9f7e", + "id": "8416af68-34ee-4c9f-9750-1be185ca94d2", "savedPayload": { "position": { "x": 17713.408261645567, @@ -7280,7 +7280,7 @@ "name": "New Procedure Javascript Code", "code": "/* Loop Code */\n\nlet candle = record.current\nlet volume = getElement('volumes', candle)\nlet K = 2\n\nvariable.CDL = candle.close\n\nif (variable.previousVEma20 === undefined) {\nvariable.previousVEma20 = volume.buy + volume.sell\n}\n\nif (variable.previousVEma3 === undefined) {\nvariable.previousVEma3 = volume.buy + volume.sell\n}\n\nif (variable.previousVEma5 === undefined) {\nvariable.previousVEma5 = volume.buy + volume.sell\n}\n\nif (variable.previousVEma10 === undefined) {\nvariable.previousVEma10 = volume.buy + volume.sell\n}\n\n//build candle close array\nvariable.cdClose.push(candle.close)\n\n//keep the array to the right size\nif (variable.cdClose.length > K) {\n variable.cdClose.splice(0, 1)\n}\n\n//manage Previous On balance value\n\nif (variable.previousOnBV === undefined) {\n\tvariable.previousOnBV = 0\n}\n\n//procedure for OBV calculation\nif (variable.cdClose[1] > variable.cdClose[0]) {\n\tvariable.OnBV = variable.previousOnBV + volume.buy + volume.sell\n\t}\n\nif (variable.cdClose[1] === variable.cdClose[0]) {\n\tvariable.OnBV = variable.previousOnBV\n\t}\nif (variable.cdClose[1] < variable.cdClose[0]) {\n\tvariable.OnBV = variable.previousOnBV - (volume.buy + volume.sell)\n\t}\n\n//manage NaN and undefined\nif (variable.OnBV === undefined || isNaN(variable.OnBV)) {\n\tvariable.OBV = 0\n\tvariable.previousOnBV = 0\n}\nelse {\n\tvariable.OBV = variable.OnBV\n\tvariable.previousOnBV = variable.OnBV\n}\n\n// Calculate On balance Volume EMA3\nvariable.VEma3 = calculateVEMA(3, variable.OBV, variable.previousVEma3)\nvariable.previousVEma3 = variable.VEma3\n\n// Calculate On balance Volume EMA5\nvariable.VEma5 = calculateVEMA(5, variable.OBV, variable.previousVEma5)\nvariable.previousVEma5 = variable.VEma5\n\n// Calculate On balance Volume EMA10\nvariable.VEma10 = calculateVEMA(10, variable.OBV, variable.previousVEma10)\nvariable.previousVEma10 = variable.VEma10\n\n// Calculate On balance Volume EMA20\nvariable.VEma20 = calculateVEMA(20, variable.OBV, variable.previousVEma20)\nvariable.previousVEma20 = variable.VEma20\n\n\n//On Balance Volume EMA calculation\nfunction calculateVEMA(periods, price, previousVEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousVEMA * (1-k)\n}\n\n\n\n// End of code :-)", "project": "Foundations", - "id": "6b8b6abd-d4e5-463c-a11d-aac79441dad7", + "id": "44056249-8f38-446b-8e53-f333849bf9eb", "savedPayload": { "position": { "x": 16944.182619638243, @@ -7301,7 +7301,7 @@ "uiObject": {} } }, - "id": "a83f0c3e-33ba-41cc-99c5-d6ebc80c5c3a", + "id": "31daac17-aaf7-4533-8e31-c22f7649748e", "savedPayload": { "position": { "x": 17169.105517757744, @@ -7333,7 +7333,7 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\nvariable.cdClose = []", "project": "Foundations", - "id": "4f17d3ff-e189-44f4-a923-c12249770420", + "id": "1270f75d-a7ff-42ad-9b96-4247a9a89598", "savedPayload": { "position": { "x": 17463.87471691237, @@ -7354,7 +7354,7 @@ "uiObject": {} } }, - "id": "bd603d0f-0d7c-4e89-bd47-d0bfdfe04159", + "id": "61a508e7-b3ba-4ffa-8c25-9d07c3649b70", "savedPayload": { "position": { "x": 17511.590592938333, @@ -7377,7 +7377,7 @@ } } }, - "id": "3ec8d4d9-0dc9-4a14-b87a-e7fb127b319f", + "id": "7c5ca85d-f36b-4ba6-8a4a-68d27c3011c9", "savedPayload": { "position": { "x": 17618.951313996746, @@ -7400,7 +7400,7 @@ } } }, - "id": "8c15dbd4-bd8f-4775-81f1-bd51aa5a42e6", + "id": "9225a492-f909-4112-96f6-c96c105acbc2", "savedPayload": { "position": { "x": 18386.32746191543, @@ -7424,16 +7424,16 @@ "referenceParent": { "type": "Plotter Module", "name": "On-Balance-Volume", - "id": "69514669-a3f1-49a0-a4f0-f4a932481b99" + "id": "6846334a-dd96-4b7c-aca9-da0dc0160a26" } } } ], - "id": "6b3af8c4-824b-4d0d-a754-c01db4d3ad3f", + "id": "336a67c1-6723-42c8-910a-2eb469664ae6", "savedPayload": { "position": { - "x": 18289.52614087853, - "y": 10316.732040023111 + "x": 18312.20852472557, + "y": 10306.383696636398 }, "targetPosition": { "x": 18051.878281255034, @@ -7472,7 +7472,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market Volume Oscillators", "project": "Foundations", - "id": "0f10e7a6-094f-41ed-9ed1-0fb12a789691", + "id": "ffe1e527-1b65-43c9-b5b9-37a355444fc1", "savedPayload": { "position": { "x": 17828.40629395643, @@ -7494,13 +7494,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "a4596090-5117-429a-9461-452c01c04d77" + "id": "d4dfda9f-82c2-4070-b3be-35f433dce354" } } } ], "outputDatasetFolders": [], - "id": "077f70fc-4091-4af0-98e7-3b745651b278", + "id": "3f394e60-8aba-460c-b3be-fd5262c5df55", "savedPayload": { "position": { "x": 17835.54560322026, @@ -7533,7 +7533,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "630ff103-9245-4498-b015-74f4dc065d8d", + "id": "cd82e6c6-0a3d-49b6-bff0-d67d781d6c85", "savedPayload": { "position": { "x": 17781.67092746818, @@ -7564,7 +7564,7 @@ "name": "Volume Oscillators Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "ecff45ad-6084-4643-b786-5f6dbe2c641b", + "id": "84dc5e77-140e-4164-80e7-b76050dfd96f", "savedPayload": { "position": { "x": 17556.470043172925, @@ -7586,7 +7586,7 @@ "referenceParent": { "type": "Status Report", "name": "Market-Volume-Energy", - "id": "5cbb9237-6ff8-4e39-8207-b00396f1c9e3" + "id": "c7ae2e66-90f0-47d0-b8fc-c5f9479d46db" } } } @@ -7596,7 +7596,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "75d0aaa1-9dd4-4b1f-94c9-ec97cd8cadba", + "id": "23881c62-96e6-41d5-bb3c-2dcf15041433", "savedPayload": { "position": { "x": 17437.731319486906, @@ -7626,7 +7626,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Market", "project": "Foundations", - "id": "eec41a22-d401-474a-993a-941c29116137", + "id": "e792914b-e649-4ece-abaf-801344f827c6", "savedPayload": { "position": { "x": 17384.21064879142, @@ -7654,7 +7654,7 @@ } ], "dataMineDataDependencies": [], - "id": "7ccd50a5-c966-4706-bd95-6ee54c8464f4", + "id": "c673379a-56b0-4cb2-983d-5e77be20804b", "savedPayload": { "position": { "x": 17608.47439889621, @@ -7681,7 +7681,7 @@ "type": "Status Report", "name": "Market-Volume-Energy", "project": "Foundations", - "id": "5cbb9237-6ff8-4e39-8207-b00396f1c9e3", + "id": "c7ae2e66-90f0-47d0-b8fc-c5f9479d46db", "savedPayload": { "position": { "x": 17579.381215613914, @@ -7706,7 +7706,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "b627f836-a5fd-46c5-b978-d30d9016a7e8", + "id": "1391cd4d-14cd-4bf3-a5d3-c07edc6e0d41", "savedPayload": { "position": { "x": 17692.72739328012, @@ -7736,7 +7736,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "5b540263-fa46-47be-a90a-35aae04a82cc", + "id": "3d138554-d7a3-44db-8840-e8a818736fdd", "savedPayload": { "position": { "x": 17714.60271868092, @@ -7757,7 +7757,7 @@ "uiObject": {} } }, - "id": "c5b9d1c8-c9d8-482a-ab4a-25ed78a50096", + "id": "0af6ea5a-a736-409f-b61e-63a55b3ee9c6", "savedPayload": { "position": { "x": 19122.511553962162, @@ -7794,7 +7794,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily Volume Oscillators", "project": "Foundations", - "id": "6de9cf28-8f68-4216-8fdd-8a541c6a2cbd", + "id": "a978eaf6-051b-4a6f-b9c3-79a1a478338e", "savedPayload": { "position": { "x": 17383.90029440688, @@ -7816,13 +7816,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "6e763e6a-e9d5-4b08-a0bb-5b268dcbe8bf" + "id": "aae8c922-8ee0-4a4f-867c-02174b2fb599" } } } ], "outputDatasetFolders": [], - "id": "8d7fddc3-152a-4c1e-93f4-e7e7c4a0e067", + "id": "9887528b-23e9-4887-b6d3-480f656bd4df", "savedPayload": { "position": { "x": 17601.0205058384, @@ -7855,7 +7855,7 @@ "name": "Volume Oscillators Multi-Time-Frame-Daily", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "e4a3df6f-37fa-4660-b447-daab767adac9", + "id": "9c476fbb-f5c8-4a7d-b3d8-ea091703a8d7", "savedPayload": { "position": { "x": 30633.7915997511, @@ -7877,7 +7877,7 @@ "referenceParent": { "type": "Status Report", "name": "Daily-FasTrend", - "id": "9896d6be-69f7-4627-9f38-4f9d7e0d82b7" + "id": "47e5fbb1-270e-4563-9c24-f48b7f3580c7" } } }, @@ -7886,7 +7886,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "db13ceb3-f5c1-44be-a9c8-277d9b248eca", + "id": "2d0819cc-4efc-4967-8ab5-8355d5121258", "savedPayload": { "position": { "x": 30561.43731328186, @@ -7917,7 +7917,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{\n \"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "473cdf00-9975-4711-b8f0-5fbeeb7f503e", + "id": "a725a28d-2ae8-4a74-be8b-aab97b50ff74", "savedPayload": { "position": { "x": 30483.7915997511, @@ -7949,7 +7949,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "9f7bf938-9cb9-4a22-8e19-d1a79fdc8645", + "id": "519af5a4-bebe-4f38-91ab-63fca4ef8524", "savedPayload": { "position": { "x": 30406.145886220344, @@ -7979,7 +7979,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Daily", "project": "Foundations", - "id": "81eade3e-b655-47be-9988-82fa9462f451", + "id": "20ac9eaf-51ce-4c5d-b47d-ada65b0fcddb", "savedPayload": { "position": { "x": 30333.7915997511, @@ -8007,7 +8007,7 @@ } ], "dataMineDataDependencies": [], - "id": "8b76df8c-1986-40d5-a725-988ac2ce29f8", + "id": "fde2ee23-4894-4956-923c-fadf398a8f96", "savedPayload": { "position": { "x": 17526.59724677286, @@ -8034,7 +8034,7 @@ "type": "Status Report", "name": "Daily-FasTrend", "project": "Foundations", - "id": "9896d6be-69f7-4627-9f38-4f9d7e0d82b7", + "id": "47e5fbb1-270e-4563-9c24-f48b7f3580c7", "savedPayload": { "position": { "x": 17674.216771227748, @@ -8059,7 +8059,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "96175855-d7e8-4d3e-bfd5-7b210371ba9c", + "id": "0c9b33aa-da71-45b5-b546-f51794761c7c", "savedPayload": { "position": { "x": 17714.628865547606, @@ -8089,7 +8089,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "3c04c413-b31d-4527-8269-ef1ecf53d9f5", + "id": "99d26945-96c9-445f-b91b-cdfe760e1392", "savedPayload": { "position": { "x": 17782.776876943506, @@ -8110,7 +8110,7 @@ "uiObject": {} } }, - "id": "3b614cd6-4b3b-4c1e-99ef-20962aae940c", + "id": "2ff3dfd9-51be-4297-9265-20222b8c1c91", "savedPayload": { "position": { "x": 18788.794926809074, @@ -8146,7 +8146,7 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "a4596090-5117-429a-9461-452c01c04d77", + "id": "d4dfda9f-82c2-4070-b3be-35f433dce354", "savedPayload": { "position": { "x": 18864.16751652396, @@ -8172,7 +8172,7 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "6e763e6a-e9d5-4b08-a0bb-5b268dcbe8bf", + "id": "aae8c922-8ee0-4a4f-867c-02174b2fb599", "savedPayload": { "position": { "x": 18113.07296282163, @@ -8209,7 +8209,7 @@ "name": "New Record Formula", "code": "record.current.begin", "project": "Foundations", - "id": "dd5c8d6b-5a33-448d-8e41-eb55766138bf", + "id": "767df4c4-de60-41b1-bc3e-7855553bb796", "savedPayload": { "position": { "x": 18878.1558691733, @@ -8230,7 +8230,7 @@ "uiObject": {} } }, - "id": "4f34ef63-3730-457c-81ac-932d5135ebb1", + "id": "5eaa378e-f798-48e6-9fcb-540ea56c6231", "savedPayload": { "position": { "x": 18116.124175848927, @@ -8263,7 +8263,7 @@ "name": "New Record Formula", "code": "record.current.end", "project": "Foundations", - "id": "b58e2548-4636-4a81-a033-9070089f788e", + "id": "7673561d-99ad-4bfe-997e-2cee358e990d", "savedPayload": { "position": { "x": 16961.39830140619, @@ -8284,7 +8284,7 @@ "uiObject": {} } }, - "id": "c4278f31-9b83-44cb-a33b-1e82782b2143", + "id": "3dc2c833-9df6-4f20-b95c-06f7830d741c", "savedPayload": { "position": { "x": 17157.74539196537, @@ -8317,7 +8317,7 @@ "name": "New Record Formula", "code": "variable.osc", "project": "Foundations", - "id": "a76cc5e2-2bc3-429f-8c0c-a26beafa932f", + "id": "73a2600e-be65-454e-b6fa-2e36d54e1b46", "savedPayload": { "position": { "x": 15437.334914757434, @@ -8338,7 +8338,7 @@ "uiObject": {} } }, - "id": "eb1b24b1-179e-4a2a-8d9a-888a728103bf", + "id": "2d372528-8cfc-465d-b105-f8bf5e1b9a70", "savedPayload": { "position": { "x": 16395.713698640993, @@ -8371,7 +8371,7 @@ "name": "New Record Formula", "code": "variable.oscb", "project": "Foundations", - "id": "60522d63-141a-4004-883f-597c6834b5a0", + "id": "81343856-673f-46b4-a984-afdefd5bf50e", "savedPayload": { "position": { "x": 15830.029095875803, @@ -8392,7 +8392,7 @@ "uiObject": {} } }, - "id": "bda07cc7-f56e-422d-aed9-910f5807b335", + "id": "4f11953d-7500-4fea-ac51-ebca4bdc3b49", "savedPayload": { "position": { "x": 16592.06078920018, @@ -8425,7 +8425,7 @@ "name": "New Record Formula", "code": "variable.oscs", "project": "Foundations", - "id": "94017147-6385-4f5b-bf29-cc7ba3ab9d46", + "id": "8f83e913-b974-42f4-9e4c-0877b21bcb21", "savedPayload": { "position": { "x": 17746.786663642917, @@ -8446,7 +8446,7 @@ "uiObject": {} } }, - "id": "d56e740c-5ced-4d1f-bead-12670bc9c64d", + "id": "43691d63-e932-4537-b04f-7fd53ce5e3b9", "savedPayload": { "position": { "x": 17550.439573083735, @@ -8470,7 +8470,7 @@ } } ], - "id": "be269552-c419-490c-8c0b-b271cdb34fbb", + "id": "7a6f58b6-8960-493c-b79c-2b1e00210513", "savedPayload": { "position": { "x": 17354.092482524553, @@ -8506,7 +8506,7 @@ "name": "New Procedure Javascript Code", "code": "\t/* Loop Code */\n\n\tlet candle = record.current\n\tlet volume = getElement('volumes', candle)\n\tlet Vl = 28 //period for slow moving average\n\tlet Vs = 14 //period for fast moving average\n\n\n\t//evaluation of sell and buy volume as per indicated in the master data mine\n\tlet totalVolume = volume.buy + volume.sell\n\tlet distanceOpenMax = candle.max - candle.open\n\tlet distanceOpenMin = candle.open - candle.min\n\tlet distanceMaxMin = candle.max - candle.min\n\n\tvariable.buyVolume = totalVolume * distanceOpenMax * 100 / distanceMaxMin\n\tvariable.sellVolume = totalVolume * distanceOpenMin * 100 / distanceMaxMin\n\n\n\t//Array building\n\tvariable.VolShort.push(volume.sell + volume.buy)\n\tvariable.VolLong.push(volume.sell + volume.buy)\n\tvariable.VolShortB.push(variable.buyVolume)\n\tvariable.VolLongB.push(variable.buyVolume)\n\tvariable.VolShortS.push(variable.sellVolume)\n\tvariable.VolLongS.push(variable.sellVolume)\n\n\t// Keep the array the correct size\n\n\tif (variable.VolShort.length > Vs) {\n\t\tvariable.VolShort.splice(0, 1)\n\t}\n\n\tif (variable.VolLong.length > Vl) {\n\t\tvariable.VolLong.splice(0, 1)\n\t}\n\n\tif (variable.VolShortB.length > Vs) {\n\t\tvariable.VolShortB.splice(0, 1)\n\t}\n\n\tif (variable.VolLongB.length > Vl) {\n\t\tvariable.VolLongB.splice(0, 1)\n\t}\n\n\tif (variable.VolShortS.length > Vs) {\n\t\tvariable.VolShortS.splice(0, 1)\n\t}\n\n\tif (variable.VolLongS.length > Vl) {\n\t\tvariable.VolLongS.splice(0, 1)\n\t}\n\n\t//calculate volume mobile average\n\n\tvariable.VolAs = calVolAv(Vs, variable.VolShort) //fast volume mobile average\n\tvariable.VolAl = calVolAv(Vl, variable.VolLong) //slow\n\tvariable.VolAsB = calVolAv(Vs, variable.VolShortB) //fast volume mobile average BUY\n\tvariable.VolAlB = calVolAv(Vl, variable.VolLongB) //slow\n\tvariable.VolAsS = calVolAv(Vs, variable.VolShortS) //fast volume mobile average SELL\n\tvariable.VolAlS = calVolAv(Vl, variable.VolLongS) //slow\n\n\t//calculate volume oscillator and put it in an array prior to velocity calculation\n\tvariable.VOscAB = (variable.VolAsB - variable.VolAlB) / variable.VolAlB\n\tvariable.VOscAS = (variable.VolAsS - variable.VolAlS) / variable.VolAlS\n\tvariable.VOscA = (variable.VolAs - variable.VolAl) / variable.VolAl\n\n\tif (isNaN(variable.VOscA)) {\n\n\tvariable.osc = 0\n\t}\n\telse {\n\tvariable.osc = variable.VOscA\n\n\t}\n\tif (isNaN(variable.VOscAB)) {\n\n\tvariable.oscb = 1\n\t}\n\telse {\n\tvariable.oscb = variable.VOscAB\n\t}\t\n\tif (isNaN(variable.VOscAS)) {\n\n\tvariable.oscs = -1\n\t}\n\telse {\n\tvariable.oscs = variable.VOscAS\n\t}\n\t\n\t\n\t//functions\n\t//Volume average\n\tfunction calVolAv(periods, array) {\n\t\tvariable.S = 0\n\t\tfor(var i = 0 ; i < periods ; i++) {\n\t\t\tvariable.S = variable.S + array[i]\n\t\t}\n\t\treturn variable.S/periods\n\t}\n\n\t// End of code :-)", "project": "Foundations", - "id": "20315b97-d3dc-4eb7-879e-2d887a0a6cfa", + "id": "89f88dd1-fdf1-4b18-95c0-4b199742ee80", "savedPayload": { "position": { "x": 17727.980683742957, @@ -8527,7 +8527,7 @@ "uiObject": {} } }, - "id": "f3ee5a81-b1cf-4f38-9965-5380bdbc4dfe", + "id": "834e94b1-9d84-46ab-87ec-07fd2ad2fd23", "savedPayload": { "position": { "x": 17825.48858380787, @@ -8559,7 +8559,7 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\nvariable.VolShort = []\nvariable.VolLong = []\nvariable.VOscA = []\nvariable.VolShortB = []\nvariable.VolLongB = []\nvariable.VolShortS = []\nvariable.VolLongS = []\nvariable.VOscB = []\nvariable.VOscS = []", "project": "Foundations", - "id": "df21c1a4-dede-451a-a598-e8d42a3c47fc", + "id": "cb37b803-fa01-45d5-892c-daf532001448", "savedPayload": { "position": { "x": 17854.098343878024, @@ -8580,7 +8580,7 @@ "uiObject": {} } }, - "id": "64465069-0788-463f-80ff-ae7f9fc1668d", + "id": "5fc3d6f5-7330-41ff-8b10-5a43324c7376", "savedPayload": { "position": { "x": 17922.06575452272, @@ -8603,7 +8603,7 @@ } } }, - "id": "29d83535-d430-4d8b-a9d4-e5abe357c50b", + "id": "022b5b86-8721-4766-8665-91690c79932b", "savedPayload": { "position": { "x": 17990.033165167413, @@ -8626,7 +8626,7 @@ } } }, - "id": "d6165a7d-8b46-4372-bfa3-29979a140b36", + "id": "7236999d-f920-4f40-9858-2dece8f80dc7", "savedPayload": { "position": { "x": 18312.471266408113, @@ -8650,16 +8650,16 @@ "referenceParent": { "type": "Plotter Module", "name": "Volume Oscillators", - "id": "61d4947b-e9a1-4c78-8ebe-5c068fe15a09" + "id": "62d6daa2-109f-4b33-9ea7-96ee1b372988" } } } ], - "id": "dc18ae9f-b665-4c5e-9193-be71e2866e8a", + "id": "8f472489-d1a4-4fbe-8583-d508f7fdf9fd", "savedPayload": { "position": { - "x": 18156.06718785519, - "y": 10356.68702770227 + "x": 18185.39084162882, + "y": 10350.75912320404 }, "targetPosition": { "x": 18051.878281255034, @@ -8698,7 +8698,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market HoltWinters", "project": "Foundations", - "id": "b1270c23-2c3c-430e-a472-fc3fb37ec7a2", + "id": "bd58022d-fff5-41b8-b377-3f615fd88097", "savedPayload": { "position": { "x": 18156.584614518204, @@ -8720,13 +8720,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "cffa4343-75e5-444a-96ed-9d41a9049a4c" + "id": "67c7fc5d-fcea-43da-bf17-47e04f54141e" } } } ], "outputDatasetFolders": [], - "id": "32a870bb-7660-4ac9-8d30-832698aea91c", + "id": "1d93a8d3-0dfc-45a9-8dce-e8bd38556366", "savedPayload": { "position": { "x": 18596.23944045225, @@ -8759,7 +8759,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "73e2ccaf-f3af-4459-b3c4-02983fc69437", + "id": "af1b9907-a396-48b0-84d1-ad9267c904f6", "savedPayload": { "position": { "x": 18786.2067928767, @@ -8790,7 +8790,7 @@ "name": "Holt-Winters forecast Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "bbf73880-ba5f-4b88-808f-51a6fb0797f9", + "id": "d8a20bbf-c040-4900-9906-18b12c23a847", "savedPayload": { "position": { "x": 18494.72539536913, @@ -8812,7 +8812,7 @@ "referenceParent": { "type": "Status Report", "name": "HoltWinters", - "id": "0ada7494-fa50-4417-a81b-045ae409facf" + "id": "17aadf58-fbcd-4bfb-9d8d-37f9f1cadb34" } } } @@ -8822,7 +8822,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "d6c5e8f5-4d85-405d-8b15-da4e08e12a17", + "id": "1a831242-a68b-4505-adfa-030cc568be46", "savedPayload": { "position": { "x": 18355.858321573367, @@ -8852,7 +8852,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Market", "project": "Foundations", - "id": "7148489a-7cc1-4fc3-a1f6-50d0539b8708", + "id": "56a63075-e375-4290-b4c4-962dedac3e2b", "savedPayload": { "position": { "x": 18247.79023243334, @@ -8880,7 +8880,7 @@ } ], "dataMineDataDependencies": [], - "id": "242ae61e-a06d-4bb7-9938-6aaae8da5c88", + "id": "441aac97-2735-423b-b711-88316b2293f0", "savedPayload": { "position": { "x": 18436.49111022106, @@ -8907,7 +8907,7 @@ "type": "Status Report", "name": "HoltWinters", "project": "Foundations", - "id": "0ada7494-fa50-4417-a81b-045ae409facf", + "id": "17aadf58-fbcd-4bfb-9d8d-37f9f1cadb34", "savedPayload": { "position": { "x": 18296.65058002588, @@ -8932,7 +8932,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "811135bb-05bd-4f4f-b59a-ba7dc5101703", + "id": "9d55810d-fb4a-4c9f-9e37-ddf64752b7b6", "savedPayload": { "position": { "x": 18326.39131190213, @@ -8962,7 +8962,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "c6f32549-5f48-4075-98a9-9bdb2fbf3e29", + "id": "4458d749-a715-49f5-9858-c2be4755c6e5", "savedPayload": { "position": { "x": 18310.2478603172, @@ -8983,7 +8983,7 @@ "uiObject": {} } }, - "id": "c8a6631e-0180-49f1-a075-dc32732e94a5", + "id": "6eaae017-c370-40a9-bf34-8623aa2ad870", "savedPayload": { "position": { "x": 19061.586854193523, @@ -9020,7 +9020,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily HoltWinters", "project": "Foundations", - "id": "f8136557-9cd9-429c-8536-e700c0cf7e26", + "id": "1158880b-f052-4f3a-b722-ffe0db718a82", "savedPayload": { "position": { "x": 18144.579524189787, @@ -9042,13 +9042,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "c8b51c0d-9ed9-45c4-9a3c-6deeb1ab7793" + "id": "ec733d7f-dea7-4815-b5f7-0af95811ec5e" } } } ], "outputDatasetFolders": [], - "id": "2992b450-3ef1-415a-b7b8-52de19e8b827", + "id": "6a507348-a6aa-43f0-a3d3-52a9c8ffeb1d", "savedPayload": { "position": { "x": 18237.28462250227, @@ -9081,7 +9081,7 @@ "name": "Holt-Winters forecast Multi-Time-Frame-Daily", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "a00b70c8-091a-4bc6-8558-92ef48d0d74c", + "id": "009ec8b9-70a1-4a44-9d0c-3a0aef417a7a", "savedPayload": { "position": { "x": 18014.34117485905, @@ -9103,7 +9103,7 @@ "referenceParent": { "type": "Status Report", "name": "HoltWinters", - "id": "bd9c3660-23e3-4447-8019-7ea84adffc92" + "id": "53a71a80-74d2-464c-9650-73fe32a3b39c" } } }, @@ -9112,7 +9112,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "fca40a43-93fd-4f64-b39d-7082e2add613", + "id": "8c80197b-ee61-4e24-9f47-4ddbac90e004", "savedPayload": { "position": { "x": 17943.654562667027, @@ -9143,7 +9143,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{\n \"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "e5b8b5ca-680c-4425-a5dc-dfadfea1a8a4", + "id": "33f2d680-c456-467f-a72d-17dadf8fb7f6", "savedPayload": { "position": { "x": 17884.102825528316, @@ -9175,7 +9175,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "b1b47278-e317-457e-8f93-c256b567b771", + "id": "b279294a-8b37-4ac3-9bb2-967b0f2e4b40", "savedPayload": { "position": { "x": 17839.744315915024, @@ -9205,7 +9205,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Daily", "project": "Foundations", - "id": "0f84a4a5-f941-4d5f-a3a6-09a91dd4ac50", + "id": "8bb3a1a7-7afa-4cc8-ae8d-37bd61197765", "savedPayload": { "position": { "x": 17813.601992951393, @@ -9233,7 +9233,7 @@ } ], "dataMineDataDependencies": [], - "id": "e13e4663-7905-4966-aaf6-f4d6d479f146", + "id": "b32f0d2f-b854-4e11-8878-39f0ce9205f0", "savedPayload": { "position": { "x": 18107.046273171534, @@ -9260,7 +9260,7 @@ "type": "Status Report", "name": "HoltWinters", "project": "Foundations", - "id": "bd9c3660-23e3-4447-8019-7ea84adffc92", + "id": "53a71a80-74d2-464c-9650-73fe32a3b39c", "savedPayload": { "position": { "x": 18183.26758070468, @@ -9285,7 +9285,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "45d9c37f-3ba4-46fa-9206-66e104071d3a", + "id": "e9d9161e-d8e7-4edf-a1ce-1c09a132c1ea", "savedPayload": { "position": { "x": 18187.331243370478, @@ -9315,7 +9315,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "bfd938b4-c77d-488f-be47-2c9d5b2b0e0c", + "id": "7a3ee58f-ffdf-4ee5-ade5-39a9fc421d55", "savedPayload": { "position": { "x": 18229.620129860923, @@ -9336,7 +9336,7 @@ "uiObject": {} } }, - "id": "cff9f0de-bd90-45d6-8620-3dece969f4a2", + "id": "92dca75f-ec83-43b5-992c-94ede9ab1f75", "savedPayload": { "position": { "x": 18606.295427132012, @@ -9372,7 +9372,7 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "cffa4343-75e5-444a-96ed-9d41a9049a4c", + "id": "67c7fc5d-fcea-43da-bf17-47e04f54141e", "savedPayload": { "position": { "x": 18650.994333717183, @@ -9398,7 +9398,7 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "c8b51c0d-9ed9-45c4-9a3c-6deeb1ab7793", + "id": "ec733d7f-dea7-4815-b5f7-0af95811ec5e", "savedPayload": { "position": { "x": 17616.10101201931, @@ -9435,7 +9435,7 @@ "name": "New Record Formula", "code": "record.current.begin", "project": "Foundations", - "id": "f693afe4-6556-49ad-9f2c-359de8b6ad18", + "id": "eedae2a0-4a5a-41a6-ac0a-583dfd706976", "savedPayload": { "position": { "x": 19077.64507253988, @@ -9456,7 +9456,7 @@ "uiObject": {} } }, - "id": "c5d7139f-24ba-4bba-b73b-535be7bababb", + "id": "ecde38d8-33cc-449a-b0cf-fbeac915c420", "savedPayload": { "position": { "x": 18081.78724517402, @@ -9489,7 +9489,7 @@ "name": "New Record Formula", "code": "record.current.end", "project": "Foundations", - "id": "c214f1e7-9a01-4f2d-95d2-4474197450a7", + "id": "4cc30afb-a98a-42bd-b768-1da048cfe5d4", "savedPayload": { "position": { "x": 18016.137559514424, @@ -9510,7 +9510,7 @@ "uiObject": {} } }, - "id": "b3e329f9-046d-414a-a2ca-2310b19cd215", + "id": "10b86ee4-1664-444e-add7-41fe0ed3aa43", "savedPayload": { "position": { "x": 17551.03348866129, @@ -9543,7 +9543,7 @@ "name": "New Record Formula", "code": "variable.Y", "project": "Foundations", - "id": "c3fa3e37-4af5-40f3-8b40-bc180540edcd", + "id": "e8ea5160-e2a5-4f81-af3e-8b3502b201e5", "savedPayload": { "position": { "x": 17903.843353418746, @@ -9564,7 +9564,7 @@ "uiObject": {} } }, - "id": "a6af3193-3a41-4f57-bf88-8296b5f9e8cd", + "id": "d714b66e-690b-4ed2-95cb-6a181eefde0e", "savedPayload": { "position": { "x": 17494.886385613452, @@ -9597,7 +9597,7 @@ "name": "New Record Formula", "code": "variable.forecast", "project": "Foundations", - "id": "c8a9045c-3e15-41d6-9104-35e2406a9d4c", + "id": "ed5d1485-19bb-4c21-97a8-9e40aacde32d", "savedPayload": { "position": { "x": 17750.535527280383, @@ -9618,7 +9618,7 @@ "uiObject": {} } }, - "id": "d2ce1572-9c9b-4ff7-97d5-af8eb067775a", + "id": "03b38946-14f7-42d4-b688-a5fc511ffee5", "savedPayload": { "position": { "x": 17418.23247254427, @@ -9651,7 +9651,7 @@ "name": "New Record Formula", "code": "variable.A", "project": "Foundations", - "id": "adcb420d-f7f1-45d5-b506-3c6c8d1ef2db", + "id": "e927d346-d447-4ce2-a374-f83b2699f957", "savedPayload": { "position": { "x": 17444.408536196785, @@ -9672,7 +9672,7 @@ "uiObject": {} } }, - "id": "d148bc5c-e98c-4409-9c70-933b8669ecf7", + "id": "235f91dd-98ac-4775-be4f-fcb87eb02dc4", "savedPayload": { "position": { "x": 17324.91549673391, @@ -9705,7 +9705,7 @@ "name": "New Record Formula", "code": "variable.B", "project": "Foundations", - "id": "61bafad2-915e-414b-8904-47e0c03200c0", + "id": "6039d1a9-015b-4815-bc8e-3ecf4f5bd848", "savedPayload": { "position": { "x": 17286.457432606792, @@ -9726,7 +9726,7 @@ "uiObject": {} } }, - "id": "5e124ee7-1a90-4bdc-9202-0cb2db640820", + "id": "aadb461b-8f5b-4347-80a7-93c0c4cb9106", "savedPayload": { "position": { "x": 17219.614761007248, @@ -9759,7 +9759,7 @@ "name": "New Record Formula", "code": "variable.forecast5", "project": "Foundations", - "id": "a3fcbad7-1e8c-4a77-a80e-d07442f40dab", + "id": "cdb54c54-8e74-4ec8-bb7b-6c77c9ffbf74", "savedPayload": { "position": { "x": 17118.451017022733, @@ -9780,7 +9780,7 @@ "uiObject": {} } }, - "id": "a2551ad9-9b11-43e7-af8a-a30597928098", + "id": "434e16de-2f86-4165-92a0-0a7e0e607883", "savedPayload": { "position": { "x": 17107.610483951208, @@ -9813,7 +9813,7 @@ "name": "New Record Formula", "code": "variable.forecast10", "project": "Foundations", - "id": "2e3dff97-e66d-43f1-b601-0302499fc1bf", + "id": "98f0e0ce-aa13-4586-aeab-5d29b48a8653", "savedPayload": { "position": { "x": 16948.81383265568, @@ -9834,7 +9834,7 @@ "uiObject": {} } }, - "id": "1e98ca39-eaff-4453-b2e9-07bc05e8ec10", + "id": "a0bece67-e83a-40ae-93a0-5839c5cd9bb6", "savedPayload": { "position": { "x": 16994.519027706505, @@ -9867,7 +9867,7 @@ "name": "New Record Formula", "code": "variable.forecast20", "project": "Foundations", - "id": "1c8e6c4c-5a0d-4883-bc28-608da6028d72", + "id": "0e85e372-6fa3-4705-bd04-f3555f796631", "savedPayload": { "position": { "x": 16786.052196272994, @@ -9888,7 +9888,7 @@ "uiObject": {} } }, - "id": "97388cd8-7330-4406-99c1-e5d235e12038", + "id": "c039b4ca-5885-4b04-9de5-dfb29c8e84c5", "savedPayload": { "position": { "x": 16886.011270118048, @@ -9921,7 +9921,7 @@ "name": "New Record Formula", "code": "variable.forecast30", "project": "Foundations", - "id": "17a095e4-ccf8-4ecd-bae9-05cff0313cef", + "id": "56c64649-f178-42b4-8d97-f6424e7b6de5", "savedPayload": { "position": { "x": 16638.327655956313, @@ -9942,7 +9942,7 @@ "uiObject": {} } }, - "id": "3162a9f7-9fcc-401c-bd6b-b2d5176e412f", + "id": "08debc62-ffb7-4ec3-9731-e923de6efa26", "savedPayload": { "position": { "x": 16787.52824324026, @@ -9975,7 +9975,7 @@ "name": "New Record Formula", "code": "variable.trend", "project": "Foundations", - "id": "c0f946ef-2982-472d-902a-82c6170eece7", + "id": "4e449f18-5fab-42c2-a5a5-32cdd47f607d", "savedPayload": { "position": { "x": 16513.047737001067, @@ -9996,7 +9996,7 @@ "uiObject": {} } }, - "id": "940f5f76-d45f-4824-b7ee-6b5ce007357e", + "id": "a4137c79-1954-4fe7-9657-dd52ff1bc029", "savedPayload": { "position": { "x": 16704.0082972701, @@ -10029,7 +10029,7 @@ "name": "New Record Formula", "code": "variable.maxForecast5", "project": "Foundations", - "id": "57cd8689-1ae5-426f-8710-e3181dad43bf", + "id": "53c2a4ea-86c1-4944-9bad-d726dc9f6ace", "savedPayload": { "position": { "x": 16416.494497667063, @@ -10050,7 +10050,7 @@ "uiObject": {} } }, - "id": "05630eb7-a165-46bb-a863-55e1f1019975", + "id": "cc1cb160-ce17-4af8-9c01-d7a6bf0bfec5", "savedPayload": { "position": { "x": 16639.639471047427, @@ -10083,7 +10083,7 @@ "name": "New Record Formula", "code": "variable.minForecast5", "project": "Foundations", - "id": "d0acb36b-7c53-47a2-ab8d-e65fb7fad1b0", + "id": "405ff986-1cec-4e07-abff-d2532d08e077", "savedPayload": { "position": { "x": 16353.50952054572, @@ -10104,7 +10104,7 @@ "uiObject": {} } }, - "id": "c043fe7e-086d-4688-b0c8-e3168e273fbf", + "id": "8525ac01-f883-4dde-97de-ee0204f1c954", "savedPayload": { "position": { "x": 16597.649486299866, @@ -10137,7 +10137,7 @@ "name": "New Record Formula", "code": "variable.minForecast10", "project": "Foundations", - "id": "087776c6-4c88-4c80-b0f5-8d57fb53dae7", + "id": "b044840d-8780-4b39-9cd0-b4c4a444f7d8", "savedPayload": { "position": { "x": 16327.25113539227, @@ -10158,7 +10158,7 @@ "uiObject": {} } }, - "id": "995546ae-d04f-4ba8-8d57-0bf1129e6a14", + "id": "39a43ef8-1142-45cf-bf19-a6441305bb7d", "savedPayload": { "position": { "x": 16580.143896197565, @@ -10191,7 +10191,7 @@ "name": "New Record Formula", "code": "variable.maxForecast10", "project": "Foundations", - "id": "e6e81ed9-ae69-471d-bc67-681ad6e2da8d", + "id": "806e3481-867a-40f6-a2eb-b3400f4da326", "savedPayload": { "position": { "x": 16339.03604728376, @@ -10212,7 +10212,7 @@ "uiObject": {} } }, - "id": "72b17684-7347-40ec-af00-49e2af332d5b", + "id": "1243445d-656c-48e0-ad7a-bd7c17af0579", "savedPayload": { "position": { "x": 16588.000504125226, @@ -10245,7 +10245,7 @@ "name": "New Record Formula", "code": "variable.minForecast20", "project": "Foundations", - "id": "5871025c-5a08-4454-83cf-a3e79613a72c", + "id": "9306ee2c-5ee2-4ee1-b54e-3a4fdc5503fa", "savedPayload": { "position": { "x": 16388.27331152846, @@ -10266,7 +10266,7 @@ "uiObject": {} } }, - "id": "2becc3ff-d736-4b00-a054-0c746283a68e", + "id": "023d7176-5ec9-4acb-9dc9-d194037e667f", "savedPayload": { "position": { "x": 16620.825346955025, @@ -10299,7 +10299,7 @@ "name": "New Record Formula", "code": "variable.maxForecast20", "project": "Foundations", - "id": "0bb498c6-91dd-485d-9c07-bc6d2a24dd8a", + "id": "68a335a7-67be-4a4d-b56e-c266e2c4f082", "savedPayload": { "position": { "x": 16472.493966100217, @@ -10320,7 +10320,7 @@ "uiObject": {} } }, - "id": "3c968f3e-b57c-4179-8892-d4a289949dd5", + "id": "983dbabe-51dc-48bf-bc53-4fad83bdf9a7", "savedPayload": { "position": { "x": 16676.972450002864, @@ -10353,7 +10353,7 @@ "name": "New Record Formula", "code": "variable.minForecast30", "project": "Foundations", - "id": "fcd315dc-27c2-4b9c-b2ba-d0be094726a0", + "id": "2a356776-fe73-4d3f-82b2-d9aa8d60cda9", "savedPayload": { "position": { "x": 16587.47483570399, @@ -10374,7 +10374,7 @@ "uiObject": {} } }, - "id": "e9569cfe-0342-41a5-aab2-1ade7ce2be96", + "id": "6d794e23-4929-45b6-82df-bb6c59b8286f", "savedPayload": { "position": { "x": 16753.626363072046, @@ -10407,7 +10407,7 @@ "name": "New Record Formula", "code": "variable.maxForecast30", "project": "Foundations", - "id": "3e803abd-5d76-4e90-be67-9c0ff58f688e", + "id": "2ff3b565-c606-4237-b9d8-343562a6207c", "savedPayload": { "position": { "x": 16727.450299419535, @@ -10428,7 +10428,7 @@ "uiObject": {} } }, - "id": "454798b7-437f-4e04-90e8-b2a2288610aa", + "id": "f0829252-c9ef-4fb0-870b-6fdfbb255f84", "savedPayload": { "position": { "x": 16846.94333888241, @@ -10461,7 +10461,7 @@ "name": "New Record Formula", "code": "variable.T5Begin", "project": "Foundations", - "id": "61b9b428-b678-4671-a0d7-eb8f3760a34e", + "id": "5a2bd777-883d-41e4-be72-db762efd82a9", "savedPayload": { "position": { "x": 16885.401403009524, @@ -10482,7 +10482,7 @@ "uiObject": {} } }, - "id": "1d59aa78-5162-4257-9fa9-5f0acffa0320", + "id": "2388d654-b0f5-41bd-8a4a-5abd6766f6d4", "savedPayload": { "position": { "x": 16952.24407460907, @@ -10515,7 +10515,7 @@ "name": "New Record Formula", "code": "variable.T10Begin", "project": "Foundations", - "id": "1d4717ba-c738-4299-8d5f-99a6a5d74f9e", + "id": "8ae0ffa5-29ea-4d6b-9113-5574c8fd0a79", "savedPayload": { "position": { "x": 17053.407818593583, @@ -10536,7 +10536,7 @@ "uiObject": {} } }, - "id": "85960b2a-4ef5-4a42-8d65-520ca306f581", + "id": "3358bcb2-3b6a-41cc-9ed9-12c81b4e73b5", "savedPayload": { "position": { "x": 17064.24835166511, @@ -10569,7 +10569,7 @@ "name": "New Record Formula", "code": "variable.T20Begin", "project": "Foundations", - "id": "4449defd-38b4-4255-8a00-5bd1c37b23ca", + "id": "cf78885d-4091-4375-a1cb-fae613bc7cdf", "savedPayload": { "position": { "x": 17223.045002960636, @@ -10590,7 +10590,7 @@ "uiObject": {} } }, - "id": "5c5f159c-e919-47c0-805c-2d13dd128496", + "id": "00458828-504c-434a-b2d2-8486678dbec3", "savedPayload": { "position": { "x": 17177.33980790981, @@ -10623,7 +10623,7 @@ "name": "New Record Formula", "code": "variable.T30Begin", "project": "Foundations", - "id": "b2d9bc0a-a338-470e-8420-fb32abb6e71a", + "id": "9c3e1ad0-7eed-47d5-a78c-1d4d578449f4", "savedPayload": { "position": { "x": 17385.806639343322, @@ -10644,7 +10644,7 @@ "uiObject": {} } }, - "id": "f93d0f76-3ea9-42c2-bfcb-0654668e11cc", + "id": "5df95014-9d3f-4462-877c-3339f63adfd4", "savedPayload": { "position": { "x": 17285.84756549827, @@ -10677,7 +10677,7 @@ "name": "New Record Formula", "code": "variable.T5End", "project": "Foundations", - "id": "21e0b8f8-9a39-4dbe-9117-67123b856fac", + "id": "29476ce0-f1d5-4d76-857c-6c83e800b439", "savedPayload": { "position": { "x": 17533.531179660004, @@ -10698,7 +10698,7 @@ "uiObject": {} } }, - "id": "7cf40a34-77d0-4778-a6c6-9942c3f74396", + "id": "4671b9f5-241e-4656-8a08-af44e5af5d50", "savedPayload": { "position": { "x": 17384.330592376056, @@ -10731,7 +10731,7 @@ "name": "New Record Formula", "code": "variable.T10End", "project": "Foundations", - "id": "f05753f5-1de5-4a86-b491-2a1d35a625ae", + "id": "8cdc6ab0-6be4-49bf-a2bd-a451afe32bc6", "savedPayload": { "position": { "x": 17658.81109861525, @@ -10752,7 +10752,7 @@ "uiObject": {} } }, - "id": "1da0c564-057e-4389-9c69-731756c38a52", + "id": "00d4e956-097a-4894-b87f-0eee675a55d9", "savedPayload": { "position": { "x": 17467.850538346218, @@ -10785,7 +10785,7 @@ "name": "New Record Formula", "code": "variable.T20End", "project": "Foundations", - "id": "fe4f0ca0-13b0-4627-9040-6f491cdfaa0c", + "id": "5483c6c5-d46c-46f8-86ea-597fe4d60475", "savedPayload": { "position": { "x": 17755.364337949253, @@ -10806,7 +10806,7 @@ "uiObject": {} } }, - "id": "4ad1efd4-7f56-4307-abbd-3c45d179f1c4", + "id": "9132ec7e-202b-429d-bb62-f1d7052fabb4", "savedPayload": { "position": { "x": 17532.21936456889, @@ -10839,7 +10839,7 @@ "name": "New Record Formula", "code": "variable.T30End", "project": "Foundations", - "id": "63edefcd-e047-4e6e-85e1-abf3d24e932d", + "id": "0936c13e-4125-4760-b19c-2b11673f182b", "savedPayload": { "position": { "x": 17818.349315070594, @@ -10860,7 +10860,7 @@ "uiObject": {} } }, - "id": "e0e19e46-f81f-4593-a055-d068a764bed4", + "id": "5bcf9a5d-3da3-4c92-90c3-5dd4dcda28e9", "savedPayload": { "position": { "x": 17574.20934931645, @@ -10884,7 +10884,7 @@ } } ], - "id": "2432032d-1f99-4921-b5f2-f8d866c0a635", + "id": "6e3b5994-23d9-45ad-8900-d27b05fdd540", "savedPayload": { "position": { "x": 16661.664729796892, @@ -10920,7 +10920,7 @@ "name": "New Procedure Javascript Code", "code": "\tlet candle = record.current\n\tlet Al = 0.4 //initial value for alpha factor\n\tlet Bet = 0.4 //initial value for beta factor\n\tlet Ph = 0.8 //initial value for phi factor\n\tlet Ga = 0.3 //initial value for gamma factor\n\tlet sLen = 5 //length of seasonal period ; integer only\n\tlet fLen = 6 //number of season period to forecast ; integer only ; forecast will be calculated on fLen * sLen = 30 periods\n\tlet Iter = 50 //number of loop to proceed parameters optimization\n\n\n\t//initializing Factors with fixed value or optimized value if exists\n\tif (variable.Alpha === undefined) {\n\t\tvariable.Alpha = Al\n\t }\n\t else {\n\t variable.Alpha = variable.Alpha\n\t }\n\t \n\tif (variable.Beta === undefined) {\n\t\tvariable.Beta = Bet\n\t }\n\t else {\n\t variable.Beta = variable.Beta\n\t }\n\n\tif (variable.Phi === undefined) {\n\t\tvariable.Phi = Ph\n\t }\n\t else {\n\t variable.Phi = variable.Phi\n\t }\n\n\tif (variable.Gamma === undefined) {\n\t\tvariable.Gamma = Ga\n\t }\n\t else {\n\t variable.Gamma = variable.Gamma\n\t }\n\t \n\t//Fetching candle close values for sLen length \n\tvariable.lastClose.push(candle.close)\n\tif(variable.lastClose.length > sLen) {\n\t\tvariable.lastClose.splice(0,1)\n\t}\n\tvariable.lastClose2x.push(candle.close)\n\tif(variable.lastClose2x.length > 2 * sLen) {\n\t\tvariable.lastClose2x.splice(0,1)\n\t}\n\t//Initializing A, B, S, Y variables according to Hyndman parameters https://robjhyndman.com/hyndsight/hw-initialization/\n\t\n\t//managing the undefined values until lastClose2x reach sufficient length\n\tvariable.trig = 0 //variable to indicate initialization stage is over\n\tif(variable.lastClose2x.length < 2 * sLen && variable.trig === 0) {\n\t\tvariable.Y = 0 //forecast through history variable\n\t\tvariable.A = 0 //level\n\t\tvariable.B = 0 //trend\n\t\tvariable.S[0] = 0 //season\n\t\tvariable.previousB = variable.B\n\t\tvariable.previousA = variable.A\n\t\tvariable.trend = 0\n\t}\n\tif(variable.lastClose2x.length === 2 * sLen && variable.trig === 0) {\n\t\tfor(var i = 0 ; i < sLen ; i++) {\n\t\t\tvariable.previousA = variable.previousA + variable.lastClose[i]\n\t\t}\n\t\tvariable.previousA = variable.previousA / sLen\n\t\tfor(var i = 0; i < sLen ; i++) {\n\t\t\tvariable.previousB = variable.previousB + variable.lastClose2x[i + sLen] - variable.lastClose2x[i]\n\t\t}\n\t\tvariable.previousB = variable.previousB / Math.pow(sLen,2)\n\t\tvariable.S[0] = candle.close / variable.previousA\n\t\tvariable.trig = 1 \n\t\tvariable.trend = 0\n\t}\n\tif(variable.lastClose2x.length === 2* sLen && variable.trig === 1)\n\t{\n\t\tvariable.Y = (variable.previousA + variable.Phi * variable.previousB) * variable.S[0]\n\t\tvariable.A = variable.Alpha * variable.Y / variable.S[0] + (1 - variable.Alpha) * (variable.previousA + variable.Phi * variable.previousB)\n\t\tvariable.B = variable.Beta * (variable.A - variable.previousA) + (1 - variable.Beta) * variable.Phi * variable.previousB\n\t\tvariable.S.push(variable.Gamma * variable.Y / variable.A + (1 - variable.Gamma) * variable.S[0])\n\t\tvariable.slope = variable.B - variable.previousB\n\t\tif(variable.slope < 0){\n\t\t\tvariable.trend = 1\n\t\t}\n\t\telse {\n\t\t\tvariable.trend = -1\n\t\t}\n\t\tvariable.previousA = variable.A\n\t\tvariable.previousB = variable.B\n\t}\n\n\t//keep Season array to the right size\n\tif(variable.S.length > sLen) {\n\t\tvariable.S.splice(0,1)\n\t}\n\n\t//Parameters optimization\n\t//calculation of initial mean square error\n\n\tvariable.Errors.push(Math.pow(variable.Y - candle.close, 2))\n\tif(variable.Errors.length > sLen) {\n\t\t\tvariable.Errors.splice(0,1)\n\t}\n\tif(variable.Errors.length === sLen) {\n\t\tvariable.ErrSqSum = 0\n\t\tfor (var k = 0 ; k < variable.Errors.length ; k++) {\n\t\t\t\tvariable.ErrSqSum = variable.ErrSqSum + variable.Errors[k]\n\t\t}\n\t\tvariable.MS = variable.ErrSqSum / variable.Errors.length\n\t\tif(variable.lastClose2x.length === 2*sLen && variable.trig === 1 ){\n\t\t//initialiying best parameters calculation\n\t\tvariable.bestAlpha = 0\n\t\tvariable.bestBeta = variable.Beta\n\t\tvariable.bestPhi = variable.Phi\n\t\tvariable.bestGamma = variable.Gamma\n\t\tvariable.bestError = variable.MS\n\t\t//Alpha optimization\n\t\tfor(var i = 0 ; i < Iter ; i++) {\n\t\t\n\t\t\tvariable.sS = []\n\t\t\tvariable.sError = []\n\t\t\tvariable.bestAlpha = variable.bestAlpha +(1 - i/Iter)\n\t\t\tvariable.sS[0] = variable.S[0]\n\t\t\tvariable.previoussA = variable.previousA\n\t\t\tvariable.previoussB = variable.previousB\n\t\t\tvariable.sErrSqSum = 0\n\t\t\tfor(var j=0 ; j < sLen ; j++) {\n\t\t\t\tvariable.sY = (variable.previoussA + variable.bestPhi * variable.previoussB) * variable.sS[0]\n\t\t\t\tvariable.sA = variable.bestAlpha * variable.sY / variable.sS[0] + (1 - variable.bestAlpha) * (variable.previoussA + variable.bestPhi * variable.previoussB)\n\t\t\t\tvariable.sB = variable.bestBeta * (variable.sA - variable.previoussA) + (1 - variable.bestBeta) * variable.bestPhi * variable.previoussB\n\t\t\t\tvariable.sS.push(variable.bestGamma * variable.sY / variable.sA + (1 - variable.bestGamma) * variable.sS[0])\n\t\t\t\tvariable.previoussA = variable.sA\n\t\t\t\tvariable.previoussB = variable.sB\n\t\t\t\tvariable.sError.push(Math.pow(variable.sY - variable.lastClose[j],2))\n\t\t\t}\n\t\t\tfor(var k = 0 ; k < variable.sError.length ; k++) {\n\t\t\t\tvariable.sErrSqSum = variable.sErrSqSum + variable.sErrSqSum[k]\n\t\t\t}\n\t\t\tvariable.sMS = variable.sErrSqSum / variable.sError.length\n\t\t\tif(variable.sMS < variable.bestError){\n\t\t\t\tvariable.bestError = variable.sMs\n\t\t\t\tvariable.Alpha = variable.bestAlpha\n\t\t\t}\n\t\t\n\t\t}\n\t\tvariable.bestError = variable.MS\n\t\tvariable.bestBeta = 0\n\t\t//Beta optimization\n\t\tfor(var i = 0 ; i < Iter ; i++) {\n\t\t\t\n\t\t\tvariable.sS = []\n\t\t\tvariable.sError = []\n\t\t\tvariable.bestBeta = variable.bestBeta +(1 - i/Iter)\n\t\t\tvariable.sS[0] = variable.S[0]\n\t\t\tvariable.previoussA = variable.previousA\n\t\t\tvariable.previoussB = variable.previousB\n\t\t\tvariable.sErrSqSum = 0\n\t\t\tfor(var j=0 ; j < sLen ; j++) {\n\t\t\t\tvariable.sY = (variable.previoussA + variable.bestPhi * variable.previoussB) * variable.sS[0]\n\t\t\t\tvariable.sA = variable.bestAlpha * variable.sY / variable.sS[0] + (1 - variable.bestAlpha) * (variable.previoussA + variable.bestPhi * variable.previoussB)\n\t\t\t\tvariable.sB = variable.bestBeta * (variable.sA - variable.previoussA) + (1 - variable.bestBeta) * variable.bestPhi * variable.previoussB\n\t\t\t\tvariable.sS.push(variable.bestGamma * variable.sY / variable.sA + (1 - variable.bestGamma) * variable.sS[0])\n\t\t\t\tvariable.previoussA = variable.sA\n\t\t\t\tvariable.previoussB = variable.sB\n\t\t\t\tvariable.sError.push(Math.pow(variable.sY - variable.lastClose[j],2))\n\t\t\t}\n\t\t\tfor(var k = 0 ; k < variable.sError.length ; k++) {\n\t\t\t\tvariable.sErrSqSum = variable.sErrSqSum + variable.sErrSqSum[k]\n\t\t\t}\n\t\t\tvariable.sMS = variable.sErrSqSum / variable.sError.length\n\t\t\tif(variable.sMS < variable.bestError){\n\t\t\t\tvariable.bestError = variable.sMs\n\t\t\t\tvariable.Beta = variable.bestBeta\n\t\t\t}\n\t\t\n\t\t}\n\t\tvariable.bestError = variable.MS\n\t\tvariable.bestPhi = 0.8\n\t\t//Phi optimization\n\t\tfor(var i = 0 ; i < Iter ; i++) {\n\t\t\t\n\t\t\tvariable.sS = []\n\t\t\tvariable.sError = []\n\t\t\tvariable.bestPhi = variable.bestPhi +(1 - (i/Iter) * 0.2)\n\t\t\tvariable.sS[0] = variable.S[0]\n\t\t\tvariable.previoussA = variable.previousA\n\t\t\tvariable.previoussB = variable.previousB\n\t\t\tvariable.sErrSqSum = 0\n\t\t\tfor(var j=0 ; j < sLen ; j++) {\n\t\t\t\tvariable.sY = (variable.previoussA + variable.bestPhi * variable.previoussB) * variable.sS[0]\n\t\t\t\tvariable.sA = variable.bestAlpha * variable.sY / variable.sS[0] + (1 - variable.bestAlpha) * (variable.previoussA + variable.bestPhi * variable.previoussB)\n\t\t\t\tvariable.sB = variable.bestBeta * (variable.sA - variable.previoussA) + (1 - variable.bestBeta) * variable.bestPhi * variable.previoussB\n\t\t\t\tvariable.sS.push(variable.bestGamma * variable.sY / variable.sA + (1 - variable.bestGamma) * variable.sS[0])\n\t\t\t\tvariable.previoussA = variable.sA\n\t\t\t\tvariable.previoussB = variable.sB\n\t\t\t\tvariable.sError.push(Math.pow(variable.sY - variable.lastClose[j],2))\n\t\t\t}\n\t\t\tfor(var k = 0 ; k < variable.sError.length ; k++) {\n\t\t\t\tvariable.sErrSqSum = variable.sErrSqSum + variable.sErrSqSum[k]\n\t\t\t}\n\t\t\tvariable.sMS = variable.sErrSqSum / variable.sError.length\n\t\t\tif(variable.sMS < variable.bestError){\n\t\t\t\tvariable.bestError = variable.sMs\n\t\t\t\tvariable.Phi = variable.bestPhi\n\t\t\t}\n\t\t\n\t\t}\n\t\tvariable.bestError = variable.MS\n\t\tvariable.bestGamma = 0\n\t\t//Gamma optimization\n\t\tfor(var i = 0 ; i < Iter ; i++) {\n\t\t\t\n\t\t\tvariable.sS = []\n\t\t\tvariable.sError = []\n\t\t\tvariable.bestGamma = variable.bestGamma +(1 - i/Iter)\n\t\t\tvariable.sS[0] = variable.S[0]\n\t\t\tvariable.previoussA = variable.previousA\n\t\t\tvariable.previoussB = variable.previousB\n\t\t\tvariable.sErrSqSum = 0\n\t\t\tfor(var j=0 ; j < sLen ; j++) {\n\t\t\t\tvariable.sY = (variable.previoussA + variable.bestPhi * variable.previoussB) * variable.sS[0]\n\t\t\t\tvariable.sA = variable.bestAlpha * variable.sY / variable.sS[0] + (1 - variable.bestAlpha) * (variable.previoussA + variable.bestPhi * variable.previoussB)\n\t\t\t\tvariable.sB = variable.bestBeta * (variable.sA - variable.previoussA) + (1 - variable.bestBeta) * variable.bestPhi * variable.previoussB\n\t\t\t\tvariable.sS.push(variable.bestGamma * variable.sY / variable.sA + (1 - variable.bestGamma) * variable.sS[0])\n\t\t\t\tvariable.previoussA = variable.sA\n\t\t\t\tvariable.previoussB = variable.sB\n\t\t\t\tvariable.sError.push(Math.pow(variable.sY - variable.lastClose[j],2))\n\t\t\t}\n\t\t\tfor(var k = 0 ; k < variable.sError.length ; k++) {\n\t\t\t\tvariable.sErrSqSum = variable.sErrSqSum + variable.sErrSqSum[k]\n\t\t\t}\n\t\t\tvariable.sMS = variable.sErrSqSum / variable.sError.length\n\t\t\tif(variable.sMS < variable.bestError){\n\t\t\t\tvariable.bestError = variable.sMs\n\t\t\t\tvariable.Gamma = variable.bestGamma\n\t\t\t}\n\t\t\n\t\t}\n\t}\n\t}\n\t//initializing forecast data\n\tvariable.fS = [] // purge the season array for forecast data\n\tvariable.previousfA = variable.A //equivalent A variable for the forecast calculation\n\tvariable.previousfB = variable.B //equivalent B variable for the forecast calculation\n\n\n\t//calculating forecast data\n\tif(variable.S.length === sLen && variable.trig === 1) {\n\tfor (var j = 0; j < fLen ; j++) {\n\t\tfor(var n = 0; n < sLen; n++) {\n\t\t\tvariable.fY.push((variable.previousfA + variable.Phi * variable.previousfB) * variable.S[n])\n\t\t\tvariable.fA = variable.previousfA + variable.Phi * variable.previousfB\n\t\t\tvariable.fB = variable.Phi * variable.previousfB\n\t\t\tvariable.previousfA = variable.fA\n\t\t\tvariable.previousfB = variable.fB\n\t\t\tif(variable.fY.length > fLen * sLen) {\n\t\t\t\tvariable.fY.splice(0,1)\n\t\t\t}\n\t\t}\n\t}\n\n\t\tvariable.forecast = 100 * variable.fY[0] \n\t\tvariable.forecast5 = 100 * (variable.fY[4] - variable.fY[0])/variable.fY[0]\n\t\tvariable.forecast10 = 100 * (variable.fY[9] - variable.fY[0])/variable.fY[0]\n\t\tvariable.forecast20 = 100 * (variable.fY[19] - variable.fY[0])/variable.fY[0]\n\t\tvariable.forecast30 = 100 * (variable.fY[29] - variable.fY[0])/variable.fY[0]\n\t \n\t} else {\n\t\tvariable.forecast = 0 \n\t\tvariable.forecast5 = 0\n\t\tvariable.forecast10 = 0\n\t\tvariable.forecast20 = 0\n\t\tvariable.forecast30 = 0\n\t}\n\n\t//identifying max and min forecast value until the value used to calculate the first member of the array is out of scope\n\t//The idea is to frame the forecast value by the corresponding min and max at the same distance\nvariable.lastForecast5.push(variable.forecast5)\nif(variable.lastForecast5.length > 5){\n variable.lastForecast5.splice(0,1)\n}\nvariable.maxForecast5 = Math.max.apply(Math,variable.lastForecast5)\nvariable.minForecast5 = Math.min.apply(Math,variable.lastForecast5)\n\nvariable.lastForecast10.push(variable.forecast10)\nif(variable.lastForecast10.length > 10){\n variable.lastForecast10.splice(0,1)\n}\nvariable.maxForecast10 = Math.max.apply(Math,variable.lastForecast10)\nvariable.minForecast10 = Math.min.apply(Math,variable.lastForecast10)\n\nvariable.lastForecast20.push(variable.forecast20)\nif(variable.lastForecast20.length > 10){\n variable.lastForecast20.splice(0,1)\n}\nvariable.maxForecast20 = Math.max.apply(Math,variable.lastForecast20)\nvariable.minForecast20 = Math.min.apply(Math,variable.lastForecast20)\n\nvariable.lastForecast30.push(variable.forecast30)\nif(variable.lastForecast30.length > 30){\n variable.lastForecast30.splice(0,1)\n}\nvariable.maxForecast30 = Math.max.apply(Math,variable.lastForecast30)\nvariable.minForecast30 = Math.min.apply(Math,variable.lastForecast30)\n\n//calculate time for forecast\nvariable.T5Begin = candle.begin + (candle.end - candle.begin) * 5\nvariable.T5End = candle.end + (candle.end - candle.begin) * 5\nvariable.T10Begin = candle.begin + (candle.end - candle.begin) * 10\nvariable.T10End = candle.end + (candle.end - candle.begin) * 10\nvariable.T20Begin = candle.begin + (candle.end - candle.begin) * 20\nvariable.T20End = candle.end + (candle.end - candle.begin) * 20\nvariable.T30Begin = candle.begin + (candle.end - candle.begin) * 30\nvariable.T30End = candle.end + (candle.end - candle.begin) * 30\n\t// End of code :-)", "project": "Foundations", - "id": "f6c9e884-3ef4-426b-9b9f-a4261a8df484", + "id": "9610c99d-af90-4d3f-b306-e483e7936ff7", "savedPayload": { "position": { "x": 14995.177608283679, @@ -10941,7 +10941,7 @@ "uiObject": {} } }, - "id": "5aebdf26-ac85-4ad2-b6c8-b18ab9e5ed1f", + "id": "5a8f52f5-4617-4f8f-b547-42755f18e4c2", "savedPayload": { "position": { "x": 15442.712461199402, @@ -10973,7 +10973,7 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\nvariable.lastClose = []\nvariable.S = []\nvariable.fY = []\nvariable.Errors = []\nvariable.lastClose2x = []\nvariable.lastForecast5 = []\nvariable.lastForecast10 = []\nvariable.lastForecast20 = []\nvariable.lastForecast30 = []", "project": "Foundations", - "id": "cf6b31a1-526b-48d7-a936-14b29454d15e", + "id": "ddb1286d-307e-4bdf-b66d-6fa1a0933b5e", "savedPayload": { "position": { "x": 16007.152962616332, @@ -10994,7 +10994,7 @@ "uiObject": {} } }, - "id": "806c5064-100e-4ab4-ab85-329c440398da", + "id": "b7ce6b80-a43c-4743-bbc3-21548a8298d7", "savedPayload": { "position": { "x": 16073.278803499235, @@ -11017,7 +11017,7 @@ } } }, - "id": "4562e140-5dee-4319-9aa6-02bc42986222", + "id": "7d5b43c9-deb4-4747-a8b5-27174679fa94", "savedPayload": { "position": { "x": 16337.782167030848, @@ -11040,7 +11040,7 @@ } } }, - "id": "251c4809-a850-4afa-abb4-35032614a5ef", + "id": "e7b30ff9-b02b-417c-b5ce-dec5bece4f23", "savedPayload": { "position": { "x": 17982.16399078753, @@ -11064,16 +11064,16 @@ "referenceParent": { "type": "Plotter Module", "name": "Holt-Winters", - "id": "634c5896-178f-4514-8628-4c8f2fb1e82e" + "id": "c405ec18-3638-4cd0-a510-bdbf1d262434" } } } ], - "id": "acbe2d87-0971-4b7e-862e-e0caabfb6b9b", + "id": "ba227f90-c9eb-4bb6-98cb-7a58cafd2392", "savedPayload": { "position": { - "x": 18016.99138390875, - "y": 10364.787270857707 + "x": 18051.878281255034, + "y": 10365.802375894946 }, "targetPosition": { "x": 18051.878281255034, @@ -11112,7 +11112,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market FastTrend3", "project": "Foundations", - "id": "058b05ef-5fef-4184-b358-bc8a8debc60b", + "id": "2aa51dde-1625-4ec0-ab05-adfb57c08148", "savedPayload": { "position": { "x": 20254.955643235317, @@ -11134,13 +11134,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "55fcfe20-222d-4782-b2db-fdaacd24848c" + "id": "95ac77fa-6d0a-44ef-9ed3-0c3b45b66b61" } } } ], "outputDatasetFolders": [], - "id": "3d418856-8d6f-4ad1-88a7-868bae236ede", + "id": "d56db262-8992-4731-a3f4-c52290014ebb", "savedPayload": { "position": { "x": 20003.35447285169, @@ -11173,7 +11173,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "f2d33251-9b43-47a4-a6c3-6b5031939351", + "id": "293298e2-3e72-42ca-85eb-acb3efd6378d", "savedPayload": { "position": { "x": 20482.593927030674, @@ -11204,7 +11204,7 @@ "name": "FastTrend 3 Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "6955aee6-723c-4ba4-b872-9ac33a01b46b", + "id": "ee14cbfc-9d45-4f44-9f01-e3e8e8ce84bb", "savedPayload": { "position": { "x": 20362.017734697776, @@ -11226,7 +11226,7 @@ "referenceParent": { "type": "Status Report", "name": "Market-FastTrend", - "id": "f0649188-62cd-4e43-ac0b-0e112eb348b1" + "id": "2d33b62b-c12b-4c51-ab82-8246ea38980e" } } } @@ -11236,7 +11236,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "e01132e8-f69b-432f-90bd-6d33b216f462", + "id": "5564824b-ebd1-45fb-9447-c1c1ace82183", "savedPayload": { "position": { "x": 20282.501139806605, @@ -11264,7 +11264,7 @@ } ], "dataMineDataDependencies": [], - "id": "20cf1ae1-6b16-4855-9157-f7edbdbccf56", + "id": "602adbc0-940e-4e0d-af84-584f093a494f", "savedPayload": { "position": { "x": 20201.13659310762, @@ -11291,7 +11291,7 @@ "type": "Status Report", "name": "Market-FastTrend", "project": "Foundations", - "id": "f0649188-62cd-4e43-ac0b-0e112eb348b1", + "id": "2d33b62b-c12b-4c51-ab82-8246ea38980e", "savedPayload": { "position": { "x": 20019.055259724573, @@ -11316,7 +11316,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "2ee12a12-43b1-40a2-baf2-4d632198c02e", + "id": "5d94f21d-dbdf-4487-8149-3127ed7fbe46", "savedPayload": { "position": { "x": 19833.44915772032, @@ -11346,7 +11346,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "b44d48c0-ae9b-4558-acb8-09fa55352358", + "id": "8cadf20c-e545-4163-a05d-a3f3b6327096", "savedPayload": { "position": { "x": 19759.603695904505, @@ -11367,7 +11367,7 @@ "uiObject": {} } }, - "id": "9e654d5d-f4ce-4545-9d0d-1135e87140f3", + "id": "22523b70-e414-4789-9b4a-547474a450e3", "savedPayload": { "position": { "x": 18508.185016497053, @@ -11404,7 +11404,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily FastTrend3", "project": "Foundations", - "id": "3ec25880-e703-4d58-972b-b07a6392a543", + "id": "2c1b8212-1fba-44f5-8b7d-83888f7b7f4c", "savedPayload": { "position": { "x": 20059.750725970778, @@ -11426,13 +11426,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "8488aabb-ea7e-4263-958f-2e2e2fd77c25" + "id": "49cf3507-ae4e-46f2-ab5c-540d88336004" } } } ], "outputDatasetFolders": [], - "id": "76ae5896-e784-4023-be6c-ae0e63c8436e", + "id": "45aa057c-6a99-42e0-b377-1171883e019c", "savedPayload": { "position": { "x": 19777.842939735005, @@ -11465,7 +11465,7 @@ "name": "FastTrend 3 Multi-Time-Frame-Daily", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "a65a063c-d897-4b66-9954-fa610147dcaf", + "id": "057a2c70-49c4-45d7-a164-a0f59a2143c4", "savedPayload": { "position": { "x": 19964.922892440925, @@ -11487,7 +11487,7 @@ "referenceParent": { "type": "Status Report", "name": "Daily-FasTrend", - "id": "47e3c2a1-fd78-44e8-87f4-0b3fef5fb447" + "id": "274c46f1-1e7f-49be-a494-f6c7386ed543" } } }, @@ -11496,7 +11496,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "8afa3bf2-2474-4f59-b2f0-3e86cc93971f", + "id": "58d3746b-84be-4547-b1fe-a1fede83b75d", "savedPayload": { "position": { "x": 19915.184310472025, @@ -11527,7 +11527,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{\n \"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "86e6558d-7d0c-4892-a707-f34c178f3f5c", + "id": "067b4c10-465c-4d5f-91a3-c0005529a082", "savedPayload": { "position": { "x": 19843.28285887821, @@ -11559,7 +11559,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "6f5433fe-1e06-4b4e-a99a-8b762cadb46a", + "id": "7367612c-7f0c-4be0-a6ae-305fe664c709", "savedPayload": { "position": { "x": 19756.256752708352, @@ -11587,7 +11587,7 @@ } ], "dataMineDataDependencies": [], - "id": "f49b1e5c-06a7-4a44-916e-ca816c482d95", + "id": "c77aa3eb-2a0b-4aab-b1f5-4b980d8eeb7e", "savedPayload": { "position": { "x": 19688.771436405194, @@ -11614,7 +11614,7 @@ "type": "Status Report", "name": "Daily-FasTrend", "project": "Foundations", - "id": "47e3c2a1-fd78-44e8-87f4-0b3fef5fb447", + "id": "274c46f1-1e7f-49be-a494-f6c7386ed543", "savedPayload": { "position": { "x": 19521.98238014927, @@ -11639,7 +11639,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "90289629-275e-40b0-aeee-133b02071db5", + "id": "a0d57ffd-70b4-46c6-9393-1eee759a34a2", "savedPayload": { "position": { "x": 19444.63213200038, @@ -11669,7 +11669,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "61e4e5ba-2089-4ebe-a209-2968f379c1b0", + "id": "5efd1ec7-49c6-45ba-b911-15191c55e0ea", "savedPayload": { "position": { "x": 19381.028487031384, @@ -11690,7 +11690,7 @@ "uiObject": {} } }, - "id": "acce8b98-0555-4534-8f6f-27bd0cf44125", + "id": "7bfaa474-236c-4703-b94a-12184296c65e", "savedPayload": { "position": { "x": 18353.062708783487, @@ -11726,7 +11726,7 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "55fcfe20-222d-4782-b2db-fdaacd24848c", + "id": "95ac77fa-6d0a-44ef-9ed3-0c3b45b66b61", "savedPayload": { "position": { "x": 19590.606588684044, @@ -11752,7 +11752,7 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "8488aabb-ea7e-4263-958f-2e2e2fd77c25", + "id": "49cf3507-ae4e-46f2-ab5c-540d88336004", "savedPayload": { "position": { "x": 19236.63199663631, @@ -11789,7 +11789,7 @@ "name": "New Record Formula", "code": "record.current.begin", "project": "Foundations", - "id": "99ad253d-2184-442f-888c-65a353894b78", + "id": "dfe0e8af-704e-430d-b9ac-6ee461e89a24", "savedPayload": { "position": { "x": 19712.863475894155, @@ -11810,7 +11810,7 @@ "uiObject": {} } }, - "id": "a5f0aaac-01ff-4f5a-bd08-5e1aae3022e1", + "id": "be99512d-dc42-40e9-858b-5e0e8d93f4a9", "savedPayload": { "position": { "x": 19544.283395915307, @@ -11843,7 +11843,7 @@ "name": "New Record Formula", "code": "record.current.end", "project": "Foundations", - "id": "b42fa983-08ef-47da-8c64-085fd510dd86", + "id": "ba9d9f81-a419-4553-8426-af9e73beb778", "savedPayload": { "position": { "x": 19540.20471596459, @@ -11864,7 +11864,7 @@ "uiObject": {} } }, - "id": "34088c1d-63b8-47c2-9a70-6202019963c2", + "id": "a7169330-285e-429e-a70b-75fcfa9d16a9", "savedPayload": { "position": { "x": 19429.177555962266, @@ -11897,7 +11897,7 @@ "name": "New Formula", "code": "variable.PositiveDisorder", "project": "Foundations", - "id": "ba63bc8f-2993-475e-bf47-cabd1a3b205d", + "id": "374fdc77-63c1-4881-81b6-8bd960431dca", "savedPayload": { "position": { "x": 19116.728807965803, @@ -11918,7 +11918,7 @@ "uiObject": {} } }, - "id": "9d048dd0-cd36-429a-8bef-1d137f586388", + "id": "00c19df7-f405-4604-aafc-5a4fec85e9e7", "savedPayload": { "position": { "x": 19146.860283963073, @@ -11951,7 +11951,7 @@ "name": "New Formula", "code": "variable.NegativeDisorder", "project": "Foundations", - "id": "fb5de011-ba5e-4956-b4d3-2f69f04fc485", + "id": "5c53119f-c70a-42f5-843e-d5153e116f18", "savedPayload": { "position": { "x": 18761.32174795514, @@ -11972,7 +11972,7 @@ "uiObject": {} } }, - "id": "0e2c1187-ea8e-4a80-a38f-dd7b2bd3b066", + "id": "b4c0218a-1f95-49e4-8473-6b777572b9ae", "savedPayload": { "position": { "x": 18909.922243955963, @@ -12005,7 +12005,7 @@ "name": "New Formula", "code": "variable.FastTrend", "project": "Foundations", - "id": "ddc2a1d8-b907-4f45-b1e9-c7a8f2454369", + "id": "1ed210bd-b0c7-405d-9973-a4c78e1da6c3", "savedPayload": { "position": { "x": 18741.61230110344, @@ -12026,7 +12026,7 @@ "uiObject": {} } }, - "id": "448784cb-7f09-4cca-9431-038dac0bf133", + "id": "19ee4977-17fc-49e1-94a6-5ec663c7bb3c", "savedPayload": { "position": { "x": 18896.782612721498, @@ -12059,7 +12059,7 @@ "name": "New Record Formula", "code": "variable.interTrend", "project": "Foundations", - "id": "354be864-b369-4af5-a41b-21d44f8d4481", + "id": "7b1bd3d0-d657-4dfc-a9d2-4d7b0420b778", "savedPayload": { "position": { "x": 19072.442082889484, @@ -12080,7 +12080,7 @@ "uiObject": {} } }, - "id": "5bbffcfc-54f1-44ef-b353-50918be15298", + "id": "665c66e8-01a7-458e-8c6f-eecdb38379dc", "savedPayload": { "position": { "x": 19117.33580057886, @@ -12104,7 +12104,7 @@ } } ], - "id": "54425344-5824-4253-86b7-94d56fd92918", + "id": "f7d9032f-c07c-415e-9ed2-76a8bf245e66", "savedPayload": { "position": { "x": 19409.61961547587, @@ -12140,7 +12140,7 @@ "name": "New Procedure Javascript Code", "code": "/* Loop Code */\n\nlet FTLen = 3 // Channel length\nlet candle = record.current\nlet BIAS = 0.35 // biased limit value for Math.log2 (0)\n\n\nif (variable.previousEma5 === undefined) {\nvariable.previousEma5 = candle.close\n}\n\n// Calculate EMA5\nvariable.Ema5 = calculateEMA(5, candle.close, variable.previousEma5)\nvariable.previousEma5 = variable.Ema5\n\n\n// Build arrays Max, Min, Close, Open\n\nvariable.lastMax.push(candle.max) \nvariable.lastMin.push(candle.min)\nvariable.lastOpens.push(candle.open)\nvariable.lastCloses.push(candle.close)\nvariable.lastEMA5s.push(variable.Ema5)\n\n\n\n// Keep the array the correct size\n\nif (variable.lastMax.length > FTLen) {\n variable.lastMax.splice(0, 1)\n}\n\nif (variable.lastMin.length > FTLen) {\n variable.lastMin.splice(0, 1)\n}\n\nif (variable.lastOpens.length > FTLen) {\n variable.lastOpens.splice(0, 1)\n}\n\nif (variable.lastCloses.length > FTLen) {\n variable.lastCloses.splice(0, 1)\n}\n\nif (variable.lastEMA5s.length > FTLen) {\n variable.lastEMA5s.splice(0, 1)\n}\n// Calculate indicator values\n\n\n\n\nvariable.PositiveDisorder = CalPosEntropy () // Positive disorder\nvariable.NegativeDisorder = CalNegEntropy () // Negative disorder\nif(variable.PositiveDisorder === 0 && variable.NegativeDisorder === 0){\n\tvariable.FastTrend = 0\n}\nelse {\n\tvariable.FastTrend = ( variable.NegativeDisorder - variable.PositiveDisorder ) / ( variable.NegativeDisorder + variable.PositiveDisorder)\n}//calculation of the fast trend indicator\n\nvariable.lastFastTrend.push(variable.FastTrend)\nif(variable.lastFastTrend.length > 2 ) {\n\tvariable.lastFastTrend.splice(0,1)\n}\n\n//Determine the intermediate trend i.e. pullbacks\nif(variable.lastMax.length < FTLen) {\n\tvariable.interTrend = 0\n}\nelse {\n\tif(variable.lastFastTrend.length === 2){\n\t\tvariable.Slope = variable.lastFastTrend[1] - variable.lastFastTrend[0]\n\t\tif(variable.Slope > 0) {\n\t\t\t\tvariable.interTrend = 1\n\t\t}\n\t\t\tif(variable.Slope < 0) {\n\t\t\t\tvariable.interTrend = -1\n\t\t}\n\t\t\tif(variable.Slope = 0) {\n\t\t\t\tvariable.interTrend = 0\n\t\t}\n\t}\n\telse {\n\t\tvariable.interTrend = 0\n\t}\n}\n//functions\n//EMA5 calculation\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}\n\nfunction CalPosEntropy ()\n\n\n{variable.PosOpen = 0 // counter for values above EMA\nvariable.PosClose = 0 // counter for values above EMA\nvariable.PosMin = 0 // counter for values above EMA\nvariable.PosMax = 0 // counter for values above EMA\n\n\t\n\tif (variable.lastMax.length < FTLen) { return 0 }\n\tfor (var i = 0 ; i < FTLen ; i++) //loop over the arrays and increment counters each time a value is above EMA5 at the same index\n\t{\n\t\t\tif (variable.lastMax[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosMax = variable.PosMax + 1\n\t\t\t}\n\t\t\tif (variable.lastMin[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosMin = variable.PosMin + 1\n\t\t\t}\n\t\t\tif (variable.lastOpens[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosOpen = variable.PosOpen + 1\n\t\t\t}\n\t\t\tif (variable.lastCloses[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosClose = variable.PosClose + 1\n\t\t\t}\n\t\t\t\n\t}\n\tif (variable.PosMax > 0) // calculate entropy for Max candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosMax = (variable.PosMax / FTLen) * Math.log2(1/(variable.PosMax / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosMax = BIAS\n\t}\n\tif (variable.PosMin > 0) // calculate entropy for Min candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosMin = (variable.PosMin / FTLen) * Math.log2(1/(variable.PosMin / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosMin = BIAS\n\t}\n\tif (variable.PosOpen > 0) // calculate entropy for Open candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosOpen = (variable.PosOpen / FTLen) * Math.log2(1/(variable.PosOpen / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosOpen = BIAS\n\t}\n\tif (variable.PosClose > 0) // calculate entropy for Close candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosClose = (variable.PosClose / FTLen) * Math.log2(1/(variable.PosClose / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosClose = BIAS\n\t}\n\t\n\tvariable.PosEnt = variable.EntPosClose + variable.EntPosMax + variable.EntPosMin + variable.EntPosOpen //sum on 4 entropies\n\t\n\treturn variable.PosEnt\n}\n\nfunction CalNegEntropy ()\n\n{variable.NegOpen = 0 // counter for values below EMA\nvariable.NegClose = 0 // counter for values below EMA\nvariable.NegMin = 0 // counter for values below EMA\nvariable.NegMax = 0 // counter for values below EMA\n\t\n\tif (variable.lastMax.length < FTLen) { return 0 }\n\tfor (var j = 0 ; j < FTLen ; j++) //loop over the arrays and increment counters each time a value is above EMA5 at the same index\n\t{\n\t\t\tif (variable.lastMax[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegMax = variable.NegMax + 1\n\t\t\t}\n\t\t\tif (variable.lastMin[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegMin = variable.NegMin + 1\n\t\t\t}\n\t\t\tif (variable.lastOpens[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegOpen = variable.NegOpen + 1\n\t\t\t}\n\t\t\tif (variable.lastCloses[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegClose = variable.NegClose + 1\n\t\t\t}\n\t\t\t\n\t}\n\tif (variable.NegMax > 0) // calculate entropy for Max candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegMax = (variable.NegMax / FTLen) * Math.log2(1/(variable.NegMax / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegMax = BIAS\n\t}\n\tif (variable.NegMin > 0) // calculate entropy for Min candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegMin = (variable.NegMin / FTLen) * Math.log2(1/(variable.NegMin / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegMin = BIAS\n\t}\n\tif (variable.NegOpen > 0) // calculate entropy for Open candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegOpen = (variable.NegOpen / FTLen) * Math.log2(1/(variable.NegOpen / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegOpen = BIAS\n\t}\n\tif (variable.NegClose > 0) // calculate entropy for Close candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegClose = (variable.NegClose / FTLen) * Math.log2(1/(variable.NegClose / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegClose = BIAS\n\t}\n\t\n\tvariable.NegEnt = variable.EntNegClose + variable.EntNegMax + variable.EntNegMin + variable.EntNegOpen //sum on 4 entropies\n\t\n\treturn variable.NegEnt\n}\n\n// End of code :-)", "project": "Foundations", - "id": "c40c0867-61a4-43ae-a9e9-d734a411ae24", + "id": "679660cb-f860-448e-82a8-1a8e8c381f1a", "savedPayload": { "position": { "x": 20192.40408035277, @@ -12161,7 +12161,7 @@ "uiObject": {} } }, - "id": "50405b42-019b-4744-8b45-a635601b543c", + "id": "ae7a5224-6bde-42ae-a37a-2b567c37568b", "savedPayload": { "position": { "x": 20088.110844751227, @@ -12193,7 +12193,7 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\nvariable.lastMax = []\nvariable.lastMin = []\nvariable.lastOpens = []\nvariable.lastCloses = []\nvariable.lastEMA5s = []\nvariable.NegOpen = 0 // counter for values below EMA\nvariable.NegClose = 0 // counter for values below EMA\nvariable.NegMin = 0 // counter for values below EMA\nvariable.NegMax = 0 // counter for values below EMA\nvariable.PosOpen = 0 // counter for values above EMA\nvariable.PosClose = 0 // counter for values above EMA\nvariable.PosMin = 0 // counter for values above EMA\nvariable.PosMax = 0 // counter for values above EMA\nvariable.lastFastTrend = []", "project": "Foundations", - "id": "17e06880-5690-4794-bcb7-9d74587e3031", + "id": "0320884c-f508-47fa-b303-95c2f2b38e06", "savedPayload": { "position": { "x": 20568.79004642963, @@ -12214,7 +12214,7 @@ "uiObject": {} } }, - "id": "5a2039e1-3a42-4aac-b56e-5a4ca76796fe", + "id": "525867f2-faa6-4d15-baa0-bccec14ed4a4", "savedPayload": { "position": { "x": 20238.66523118197, @@ -12237,7 +12237,7 @@ } } }, - "id": "61efe718-3a4f-44cc-b58f-1ee9d62f7a07", + "id": "a35a799d-86d4-41a2-9ab4-19211d83e870", "savedPayload": { "position": { "x": 20018.582021016864, @@ -12260,7 +12260,7 @@ } } }, - "id": "efdc59c3-a9e9-44c3-b807-c79b18db6136", + "id": "4bd5d50e-1357-436b-91fe-e224964e3dbc", "savedPayload": { "position": { "x": 18227.13199085277, @@ -12284,16 +12284,16 @@ "referenceParent": { "type": "Plotter Module", "name": "FastTrend3", - "id": "bef63eda-a799-4bce-86ad-517848a46a37" + "id": "fcbf71f1-d0d3-4820-9367-e5f2e4fedd9c" } } } ], - "id": "db60e863-9cce-46b9-ba1a-117a62f0fdaa", + "id": "6f41b63d-89a9-4b8c-b0e6-1ba57bcbe11d", "savedPayload": { "position": { - "x": 17879.796341628382, - "y": 10340.59608328424 + "x": 17918.365720881247, + "y": 10350.75912320404 }, "targetPosition": { "x": 18051.878281255034, @@ -12332,7 +12332,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market FastTrend5", "project": "Foundations", - "id": "9a9f501f-1570-4ed6-934a-15ad906fc0ef", + "id": "277c7bb0-36ee-49be-afd6-625c755b6e73", "savedPayload": { "position": { "x": 19947.36342947109, @@ -12354,13 +12354,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "bd4b2174-a3f0-4304-b0b9-184364ee75d7" + "id": "acc90a2c-67ac-4549-9e82-71b026f4584c" } } } ], "outputDatasetFolders": [], - "id": "3aec7f7e-1e03-435a-a598-eea72cf2f777", + "id": "71bf0de8-341a-47b5-a9a6-b5c07cfa8259", "savedPayload": { "position": { "x": 19695.762259087463, @@ -12393,7 +12393,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "aef59c75-4037-401e-a419-76b2c3fce3f2", + "id": "8b9e7725-15be-486d-a098-d084eaab89f2", "savedPayload": { "position": { "x": 20175.001713266447, @@ -12424,7 +12424,7 @@ "name": "FastTrend 5 Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "85d341ae-d1c7-4fb2-b3db-fad26e1cd957", + "id": "6d0a828b-aeeb-49c0-9b03-747ed06b9e7c", "savedPayload": { "position": { "x": 20054.42552093355, @@ -12446,7 +12446,7 @@ "referenceParent": { "type": "Status Report", "name": "Market-FastTrend", - "id": "c6b1836b-604f-4d6e-abb4-aa3192db08e8" + "id": "189a2b24-bb07-48ee-8cc4-8e09d909d57a" } } } @@ -12456,7 +12456,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "faacfe6f-369f-4e82-adee-bfd40c9ac26a", + "id": "af7a412f-233d-476b-b149-7a6b60bf1025", "savedPayload": { "position": { "x": 19974.90892604238, @@ -12484,7 +12484,7 @@ } ], "dataMineDataDependencies": [], - "id": "11f64e37-3124-42ca-b0d3-eb2284d289f9", + "id": "61397da0-6242-45a1-9689-17cfe2844288", "savedPayload": { "position": { "x": 19893.544379343395, @@ -12511,7 +12511,7 @@ "type": "Status Report", "name": "Market-FastTrend", "project": "Foundations", - "id": "c6b1836b-604f-4d6e-abb4-aa3192db08e8", + "id": "189a2b24-bb07-48ee-8cc4-8e09d909d57a", "savedPayload": { "position": { "x": 19711.463045960347, @@ -12536,7 +12536,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "85c8cc86-1a07-4648-8db0-2df28e7bd6b9", + "id": "f2c14213-8812-4d56-88ad-ffd997c2e4ca", "savedPayload": { "position": { "x": 19525.856943956092, @@ -12566,7 +12566,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "0c4c779d-eef1-44c4-ae5b-bed67869830d", + "id": "cdd84506-679d-44e0-bc66-0eca9f3f20e3", "savedPayload": { "position": { "x": 19452.01148214028, @@ -12587,7 +12587,7 @@ "uiObject": {} } }, - "id": "df578fde-7fd0-4e64-8483-f6b855d435cb", + "id": "ca090dfc-4f6d-43a1-b47c-2d8106762d62", "savedPayload": { "position": { "x": 18442.659811182166, @@ -12624,7 +12624,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily FastTrend5", "project": "Foundations", - "id": "588321b8-2eb5-4cc1-9df2-a40a0054cdad", + "id": "9865bf60-5569-4a04-b980-2d4794d58f05", "savedPayload": { "position": { "x": 19752.15851220655, @@ -12646,13 +12646,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "b3130f0b-e3f1-4218-994f-ef3f24f3e449" + "id": "88bc5f26-74ae-4820-85fb-3ee4d95c184d" } } } ], "outputDatasetFolders": [], - "id": "24459c7c-d79c-415a-8461-0791ee65aebd", + "id": "b4dc9f80-fbcd-4f20-84ab-17207572a6bd", "savedPayload": { "position": { "x": 18181.161963827657, @@ -12685,7 +12685,7 @@ "name": "FastTrend 5 Multi-Time-Frame-Daily", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "d9915245-645c-41ba-b774-45f7ae38976b", + "id": "1a47ef73-5d84-47af-b0d2-d9f3e783f727", "savedPayload": { "position": { "x": 17951.406180027254, @@ -12707,7 +12707,7 @@ "referenceParent": { "type": "Status Report", "name": "Daily-FasTrend", - "id": "afe6782e-6f5a-4a3c-ac18-5ecee2d1703d" + "id": "19bef599-58dd-4826-b5b5-f14181ed88fc" } } }, @@ -12716,7 +12716,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "2761c4b7-eea5-4022-890c-49c8147f7ac5", + "id": "3f3921f9-482f-4d38-a8ce-a5a1453a6fc7", "savedPayload": { "position": { "x": 17812.454944205514, @@ -12747,7 +12747,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{\n \"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "31bb2929-fce6-4396-9641-f459e1012286", + "id": "9f3cd6ac-0d7b-4b94-a45d-9a36e7d12bf1", "savedPayload": { "position": { "x": 17687.3148960783, @@ -12779,7 +12779,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "878332c9-12c0-4ca3-aaf8-3fca1f774849", + "id": "0aa7a1cc-1260-48e6-9f1a-5c1bbc63b233", "savedPayload": { "position": { "x": 17588.235615458285, @@ -12807,7 +12807,7 @@ } ], "dataMineDataDependencies": [], - "id": "b117155c-28bd-41a0-9dcf-2f741b813f01", + "id": "66409d79-7413-4228-a3db-7d047c59d2bb", "savedPayload": { "position": { "x": 17953.54816692964, @@ -12834,7 +12834,7 @@ "type": "Status Report", "name": "Daily-FasTrend", "project": "Foundations", - "id": "afe6782e-6f5a-4a3c-ac18-5ecee2d1703d", + "id": "19bef599-58dd-4826-b5b5-f14181ed88fc", "savedPayload": { "position": { "x": 17970.46805681996, @@ -12859,7 +12859,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "f6dce6d6-f1dd-4905-be6d-61f264d04708", + "id": "9c5baef0-2a3c-4118-bfb0-8106e791b073", "savedPayload": { "position": { "x": 17935.004950390798, @@ -12889,7 +12889,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "3db28af4-9d76-4f08-97de-820a8e795e36", + "id": "3fadef6f-c30e-46b8-a158-8e1efcafdacf", "savedPayload": { "position": { "x": 17959.762125759615, @@ -12910,7 +12910,7 @@ "uiObject": {} } }, - "id": "e155cc58-97a9-4b21-8c1c-400fe9738aed", + "id": "cf1eb34d-4791-4ca7-ae7a-6bc481118542", "savedPayload": { "position": { "x": 18159.750101706974, @@ -12946,7 +12946,7 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "bd4b2174-a3f0-4304-b0b9-184364ee75d7", + "id": "acc90a2c-67ac-4549-9e82-71b026f4584c", "savedPayload": { "position": { "x": 18160.21288121362, @@ -12972,7 +12972,7 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "b3130f0b-e3f1-4218-994f-ef3f24f3e449", + "id": "88bc5f26-74ae-4820-85fb-3ee4d95c184d", "savedPayload": { "position": { "x": 17786.14863721391, @@ -13009,7 +13009,7 @@ "name": "New Record Formula", "code": "record.current.begin", "project": "Foundations", - "id": "f90af9ba-fa86-419d-ab8b-3fb44789ffbf", + "id": "6c070976-63f6-4b65-93ed-82a3d2a709d0", "savedPayload": { "position": { "x": 19405.27126212993, @@ -13030,7 +13030,7 @@ "uiObject": {} } }, - "id": "d525a8a1-1c6c-4da8-96e2-295757144704", + "id": "3424b51f-8aea-4d72-90ef-841872ee4fee", "savedPayload": { "position": { "x": 19236.69118215108, @@ -13063,7 +13063,7 @@ "name": "New Record Formula", "code": "record.current.end", "project": "Foundations", - "id": "e9d55208-e9f3-42cf-bfd7-9ce9a7d5c159", + "id": "dba346e7-23dd-4b2d-8e20-dcc52efcc3e7", "savedPayload": { "position": { "x": 19232.612502200365, @@ -13084,7 +13084,7 @@ "uiObject": {} } }, - "id": "a95030a1-b4a5-4f2b-9d24-74c0199c1e9f", + "id": "8b98705a-c249-49cf-8535-824952002830", "savedPayload": { "position": { "x": 19121.58534219804, @@ -13117,7 +13117,7 @@ "name": "New Formula", "code": "variable.PositiveDisorder", "project": "Foundations", - "id": "fdf7b17c-d8da-4d6d-914b-577af0af829d", + "id": "c77a07bd-c9f2-4c56-92ce-25031d389ac2", "savedPayload": { "position": { "x": 18809.136594201576, @@ -13138,7 +13138,7 @@ "uiObject": {} } }, - "id": "d81f83fb-d7a6-4712-8ac8-5d10711268bb", + "id": "efda1b10-7bae-4047-a2a4-b5e46f6c186e", "savedPayload": { "position": { "x": 18839.268070198847, @@ -13171,7 +13171,7 @@ "name": "New Formula", "code": "variable.NegativeDisorder", "project": "Foundations", - "id": "2d8b3175-1d02-4e99-b470-edc8240212b2", + "id": "6279b929-786f-46b3-995b-615dcab7ba70", "savedPayload": { "position": { "x": 18453.729534190912, @@ -13192,7 +13192,7 @@ "uiObject": {} } }, - "id": "a57a7c4e-3aa7-4de8-9ff8-4f936bff8c0d", + "id": "9c9b8433-997d-46bc-8637-c7eb7b00d710", "savedPayload": { "position": { "x": 18602.330030191737, @@ -13225,7 +13225,7 @@ "name": "New Formula", "code": "variable.FastTrend", "project": "Foundations", - "id": "e183e636-db30-4f19-a7e5-eb241ddf52e9", + "id": "61f3e553-2172-42dc-99dc-a5229927d004", "savedPayload": { "position": { "x": 18434.020087339213, @@ -13246,7 +13246,7 @@ "uiObject": {} } }, - "id": "26655e18-f605-4dd9-8d28-8810d216948b", + "id": "7aadb365-7b52-4eca-810c-2a34b14af60d", "savedPayload": { "position": { "x": 18589.19039895727, @@ -13279,7 +13279,7 @@ "name": "New Record Formula", "code": "variable.interTrend", "project": "Foundations", - "id": "bf0bbd22-30d7-4319-bdfc-ae3bc883b4c9", + "id": "5b25fa85-030b-4ff0-861a-39799d718f6f", "savedPayload": { "position": { "x": 18764.849869125257, @@ -13300,7 +13300,7 @@ "uiObject": {} } }, - "id": "2fd2f82b-79ef-4fde-ac06-60002878bd03", + "id": "9251a4a8-535e-48ea-a17a-4d7730cd9647", "savedPayload": { "position": { "x": 18809.743586814635, @@ -13324,7 +13324,7 @@ } } ], - "id": "3267d614-267c-454d-b353-90c856729044", + "id": "a44fc789-2bc7-4bf0-8d91-3b9926438aea", "savedPayload": { "position": { "x": 17924.16480315753, @@ -13360,7 +13360,7 @@ "name": "New Procedure Javascript Code", "code": "/* Loop Code */\n\nlet FTLen = 5 // Channel length\nlet candle = record.current\nlet BIAS = 0.35 // biased limit value for Math.log2 (0)\n\n\nif (variable.previousEma5 === undefined) {\nvariable.previousEma5 = candle.close\n}\n\n// Calculate EMA5\nvariable.Ema5 = calculateEMA(5, candle.close, variable.previousEma5)\nvariable.previousEma5 = variable.Ema5\n\n\n// Build arrays Max, Min, Close, Open\n\nvariable.lastMax.push(candle.max) \nvariable.lastMin.push(candle.min)\nvariable.lastOpens.push(candle.open)\nvariable.lastCloses.push(candle.close)\nvariable.lastEMA5s.push(variable.Ema5)\n\n\n\n// Keep the array the correct size\n\nif (variable.lastMax.length > FTLen) {\n variable.lastMax.splice(0, 1)\n}\n\nif (variable.lastMin.length > FTLen) {\n variable.lastMin.splice(0, 1)\n}\n\nif (variable.lastOpens.length > FTLen) {\n variable.lastOpens.splice(0, 1)\n}\n\nif (variable.lastCloses.length > FTLen) {\n variable.lastCloses.splice(0, 1)\n}\n\nif (variable.lastEMA5s.length > FTLen) {\n variable.lastEMA5s.splice(0, 1)\n}\n// Calculate indicator values\n\n\n\n\nvariable.PositiveDisorder = CalPosEntropy () // Positive disorder\nvariable.NegativeDisorder = CalNegEntropy () // Negative disorder\nif(variable.PositiveDisorder === 0 && variable.NegativeDisorder === 0){\n\tvariable.FastTrend = 0\n}\nelse {\n\tvariable.FastTrend = ( variable.NegativeDisorder - variable.PositiveDisorder ) / ( variable.NegativeDisorder + variable.PositiveDisorder)\n}//calculation of the fast trend indicator\n\nvariable.lastFastTrend.push(variable.FastTrend)\nif(variable.lastFastTrend.length > 2 ) {\n\tvariable.lastFastTrend.splice(0,1)\n}\n\n//Determine the intermediate trend i.e. pullbacks\nif(variable.lastMax.length < FTLen) {\n\tvariable.interTrend = 0\n}\nelse {\n\tif(variable.lastFastTrend.length === 2){\n\t\tvariable.Slope = variable.lastFastTrend[1] - variable.lastFastTrend[0]\n\t\tif(variable.Slope > 0) {\n\t\t\t\tvariable.interTrend = 1\n\t\t}\n\t\t\tif(variable.Slope < 0) {\n\t\t\t\tvariable.interTrend = -1\n\t\t}\n\t\t\tif(variable.Slope = 0) {\n\t\t\t\tvariable.interTrend = 0\n\t\t}\n\t}\n\telse {\n\t\tvariable.interTrend = 0\n\t}\n}\n//functions\n//EMA5 calculation\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}\n\nfunction CalPosEntropy ()\n\n\n{variable.PosOpen = 0 // counter for values above EMA\nvariable.PosClose = 0 // counter for values above EMA\nvariable.PosMin = 0 // counter for values above EMA\nvariable.PosMax = 0 // counter for values above EMA\n\n\t\n\tif (variable.lastMax.length < FTLen) { return 0 }\n\tfor (var i = 0 ; i < FTLen ; i++) //loop over the arrays and increment counters each time a value is above EMA5 at the same index\n\t{\n\t\t\tif (variable.lastMax[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosMax = variable.PosMax + 1\n\t\t\t}\n\t\t\tif (variable.lastMin[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosMin = variable.PosMin + 1\n\t\t\t}\n\t\t\tif (variable.lastOpens[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosOpen = variable.PosOpen + 1\n\t\t\t}\n\t\t\tif (variable.lastCloses[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosClose = variable.PosClose + 1\n\t\t\t}\n\t\t\t\n\t}\n\tif (variable.PosMax > 0) // calculate entropy for Max candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosMax = (variable.PosMax / FTLen) * Math.log2(1/(variable.PosMax / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosMax = BIAS\n\t}\n\tif (variable.PosMin > 0) // calculate entropy for Min candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosMin = (variable.PosMin / FTLen) * Math.log2(1/(variable.PosMin / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosMin = BIAS\n\t}\n\tif (variable.PosOpen > 0) // calculate entropy for Open candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosOpen = (variable.PosOpen / FTLen) * Math.log2(1/(variable.PosOpen / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosOpen = BIAS\n\t}\n\tif (variable.PosClose > 0) // calculate entropy for Close candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosClose = (variable.PosClose / FTLen) * Math.log2(1/(variable.PosClose / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosClose = BIAS\n\t}\n\t\n\tvariable.PosEnt = variable.EntPosClose + variable.EntPosMax + variable.EntPosMin + variable.EntPosOpen //sum on 4 entropies\n\t\n\treturn variable.PosEnt\n}\n\nfunction CalNegEntropy ()\n\n{variable.NegOpen = 0 // counter for values below EMA\nvariable.NegClose = 0 // counter for values below EMA\nvariable.NegMin = 0 // counter for values below EMA\nvariable.NegMax = 0 // counter for values below EMA\n\t\n\tif (variable.lastMax.length < FTLen) { return 0 }\n\tfor (var j = 0 ; j < FTLen ; j++) //loop over the arrays and increment counters each time a value is above EMA5 at the same index\n\t{\n\t\t\tif (variable.lastMax[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegMax = variable.NegMax + 1\n\t\t\t}\n\t\t\tif (variable.lastMin[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegMin = variable.NegMin + 1\n\t\t\t}\n\t\t\tif (variable.lastOpens[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegOpen = variable.NegOpen + 1\n\t\t\t}\n\t\t\tif (variable.lastCloses[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegClose = variable.NegClose + 1\n\t\t\t}\n\t\t\t\n\t}\n\tif (variable.NegMax > 0) // calculate entropy for Max candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegMax = (variable.NegMax / FTLen) * Math.log2(1/(variable.NegMax / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegMax = BIAS\n\t}\n\tif (variable.NegMin > 0) // calculate entropy for Min candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegMin = (variable.NegMin / FTLen) * Math.log2(1/(variable.NegMin / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegMin = BIAS\n\t}\n\tif (variable.NegOpen > 0) // calculate entropy for Open candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegOpen = (variable.NegOpen / FTLen) * Math.log2(1/(variable.NegOpen / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegOpen = BIAS\n\t}\n\tif (variable.NegClose > 0) // calculate entropy for Close candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegClose = (variable.NegClose / FTLen) * Math.log2(1/(variable.NegClose / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegClose = BIAS\n\t}\n\t\n\tvariable.NegEnt = variable.EntNegClose + variable.EntNegMax + variable.EntNegMin + variable.EntNegOpen //sum on 4 entropies\n\t\n\treturn variable.NegEnt\n}\n\n// End of code :-)", "project": "Foundations", - "id": "b2920ef1-5ae6-4a06-bc0f-0bcff84fc4c2", + "id": "e163e325-4508-4cc0-a5a2-0b8c6b19439c", "savedPayload": { "position": { "x": 18694.392154885838, @@ -13381,7 +13381,7 @@ "uiObject": {} } }, - "id": "4f55c3e8-1024-407a-9fd7-deca7d7031c2", + "id": "cff11b53-27ef-4b1a-ab44-34136cd8ad63", "savedPayload": { "position": { "x": 18607.040727163738, @@ -13413,7 +13413,7 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\nvariable.lastMax = []\nvariable.lastMin = []\nvariable.lastOpens = []\nvariable.lastCloses = []\nvariable.lastEMA5s = []\nvariable.NegOpen = 0 // counter for values below EMA\nvariable.NegClose = 0 // counter for values below EMA\nvariable.NegMin = 0 // counter for values below EMA\nvariable.NegMax = 0 // counter for values below EMA\nvariable.PosOpen = 0 // counter for values above EMA\nvariable.PosClose = 0 // counter for values above EMA\nvariable.PosMin = 0 // counter for values above EMA\nvariable.PosMax = 0 // counter for values above EMA\nvariable.lastFastTrend = []", "project": "Foundations", - "id": "7ac96f9d-4aa1-4dbd-927d-72241b4569a6", + "id": "66cf3509-9ee9-4c5f-abcf-cd4e5af3c86a", "savedPayload": { "position": { "x": 19092.13971930327, @@ -13434,7 +13434,7 @@ "uiObject": {} } }, - "id": "e872ed19-3a97-4db2-9208-eaa329c63230", + "id": "b7b6f4e1-13d5-44cc-8db3-4d22d52df524", "savedPayload": { "position": { "x": 18766.13975293071, @@ -13457,7 +13457,7 @@ } } }, - "id": "96d28baa-14c3-4bf2-a554-421d1db22541", + "id": "1c6bc7b8-39bd-4489-bd9c-aa7810b01e0d", "savedPayload": { "position": { "x": 18548.80644201567, @@ -13480,7 +13480,7 @@ } } }, - "id": "c22e301b-e5e3-43ac-baaf-50cf16ecc044", + "id": "4edc516c-3391-4c90-82cd-88532134a94d", "savedPayload": { "position": { "x": 17878.74005695047, @@ -13504,16 +13504,16 @@ "referenceParent": { "type": "Plotter Module", "name": "FastTrend5", - "id": "97cde8c9-67ad-414b-b12e-23330a45d955" + "id": "b48d68ed-7ff0-49f5-b153-c3cf0757e7df" } } } ], - "id": "922e5272-1c31-41de-a192-76c9f48fa512", + "id": "69a97a39-3360-4c31-8e37-982e41b09e4a", "savedPayload": { "position": { - "x": 17751.878281255034, - "y": 10285.41761816561 + "x": 17791.548037784498, + "y": 10306.383696636398 }, "targetPosition": { "x": 18051.878281255034, @@ -13552,7 +13552,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market FastTrend20", "project": "Foundations", - "id": "ae1dc97e-d4b5-441f-8d6d-78eeead48105", + "id": "09de59b5-2184-4a22-b66e-231d9b024253", "savedPayload": { "position": { "x": 18737.86542628025, @@ -13574,13 +13574,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "db4f7ccf-a841-4eee-9f52-23660d6ca0ed" + "id": "620f9303-2455-4e59-b130-606d168ce36a" } } } ], "outputDatasetFolders": [], - "id": "00aafecc-0053-4a62-9b2c-ee8ee52e1be5", + "id": "08b0eb43-b47e-4e96-853b-2dc6eb4e50ce", "savedPayload": { "position": { "x": 18503.654912692367, @@ -13613,7 +13613,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "141d456e-15a4-4a4c-a91f-6ad6fcb95917", + "id": "16c848d3-04ad-4370-9a7d-bae44f27f3a0", "savedPayload": { "position": { "x": 18774.02832066903, @@ -13644,7 +13644,7 @@ "name": "FastTrend 20 Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "d3e56fb1-6615-47c0-9ddf-8613bb7943ad", + "id": "d5bc9007-68c2-45df-b3ae-92d1bc2e8dc0", "savedPayload": { "position": { "x": 18293.53956786992, @@ -13666,7 +13666,7 @@ "referenceParent": { "type": "Status Report", "name": "Market-FastTrend", - "id": "6475c22e-3095-4235-8265-827888505dc5" + "id": "aeff8269-7a74-4ed4-b026-ed7281108407" } } } @@ -13676,7 +13676,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "237a51ac-d33a-4084-b399-3b6115ab3d13", + "id": "7bac4e97-e98f-4f42-96ab-c7cbc89c6dfd", "savedPayload": { "position": { "x": 18052.606178572896, @@ -13704,7 +13704,7 @@ } ], "dataMineDataDependencies": [], - "id": "8a0d1469-8683-46fd-9c63-f976135a4221", + "id": "d06d60d3-2c90-42e4-aeee-5188ab5e3886", "savedPayload": { "position": { "x": 18285.507844948108, @@ -13731,7 +13731,7 @@ "type": "Status Report", "name": "Market-FastTrend", "project": "Foundations", - "id": "6475c22e-3095-4235-8265-827888505dc5", + "id": "aeff8269-7a74-4ed4-b026-ed7281108407", "savedPayload": { "position": { "x": 18053.78235508046, @@ -13756,7 +13756,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "304805ea-ce67-4b58-963d-c05c5bf91502", + "id": "6a8349d0-7300-4a73-bda7-d8de1394ca8c", "savedPayload": { "position": { "x": 18077.321108399727, @@ -13786,7 +13786,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "b13eca69-f358-4378-8afe-fec50de73ffc", + "id": "0a856a51-4e6b-41fb-8461-4435c4487e8f", "savedPayload": { "position": { "x": 18044.50812029853, @@ -13807,7 +13807,7 @@ "uiObject": {} } }, - "id": "b30fa563-9d24-41e2-8d91-a4a787c9f9bb", + "id": "10ee7735-586e-446e-b88d-969241427a67", "savedPayload": { "position": { "x": 18269.444399104486, @@ -13844,7 +13844,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily FastTrend20", "project": "Foundations", - "id": "fb3f5c38-4342-474d-bb54-55a3d940c6bd", + "id": "ee113a56-a1f5-49ab-90b2-81a8901d4077", "savedPayload": { "position": { "x": 17841.151563043502, @@ -13866,13 +13866,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "7388d3bb-08b1-4f0a-a623-3f6195917a68" + "id": "db50c269-92ee-4a4f-be75-9aa7ef4b5e5f" } } } ], "outputDatasetFolders": [], - "id": "84db7b59-1eeb-4ac9-9557-e5c8f4005f6d", + "id": "1d6509d1-a4c1-4bfc-a2fa-e972f0c64ebf", "savedPayload": { "position": { "x": 17947.243084022746, @@ -13905,7 +13905,7 @@ "name": "FastTrend 20 Multi-Time-Frame-Daily", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "960cd4c7-5ac0-4882-a354-0ea3579ce6ce", + "id": "371ce8bc-c524-40f3-b12b-21259cefff1d", "savedPayload": { "position": { "x": 17613.96561412586, @@ -13927,7 +13927,7 @@ "referenceParent": { "type": "Status Report", "name": "Daily-FasTrend", - "id": "befa0f00-a5b5-48bb-9122-da129bf72818" + "id": "33d21147-b0ed-4496-a13c-ad8cc8d01f1c" } } }, @@ -13936,7 +13936,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "99845747-5831-4177-aa2c-0f22a697b0eb", + "id": "cc3e9423-bb50-4bd8-9519-dd39870b761a", "savedPayload": { "position": { "x": 17487.034328843474, @@ -13967,7 +13967,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{\n \"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "61c09b58-f52e-4936-9d43-510de4f4c742", + "id": "04c398f3-73ec-41cc-a9ef-6e21b3025efd", "savedPayload": { "position": { "x": 17385.13907646934, @@ -13999,7 +13999,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "0c5a33da-4104-489e-952c-9ed08b4437dd", + "id": "63900854-b0ba-4c20-b1d5-4e78ca147c9b", "savedPayload": { "position": { "x": 17318.254074251803, @@ -14027,7 +14027,7 @@ } ], "dataMineDataDependencies": [], - "id": "2daf8507-0da4-425e-b415-c61cff4b6afb", + "id": "cb9a63b9-86fa-4ed4-aa6b-54074c4b10ed", "savedPayload": { "position": { "x": 17742.79904983504, @@ -14054,7 +14054,7 @@ "type": "Status Report", "name": "Daily-FasTrend", "project": "Foundations", - "id": "befa0f00-a5b5-48bb-9122-da129bf72818", + "id": "33d21147-b0ed-4496-a13c-ad8cc8d01f1c", "savedPayload": { "position": { "x": 17837.44868593873, @@ -14079,7 +14079,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "081c181f-def4-4080-871e-27b9202d0c2a", + "id": "868cc137-bd27-468a-8ed7-4aa662271984", "savedPayload": { "position": { "x": 17834.677002129192, @@ -14109,7 +14109,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "c35f5db4-7909-4779-be23-24d123863596", + "id": "c2efd205-d8a0-4927-a6c3-5fbb2fd63288", "savedPayload": { "position": { "x": 17890.49444642835, @@ -14130,7 +14130,7 @@ "uiObject": {} } }, - "id": "0cfc720d-258f-4d7b-9f71-89de41bc3be3", + "id": "e85909b1-ed4c-431c-b1bd-4eedd640ac8c", "savedPayload": { "position": { "x": 18053.33460500199, @@ -14166,7 +14166,7 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "db4f7ccf-a841-4eee-9f52-23660d6ca0ed", + "id": "620f9303-2455-4e59-b130-606d168ce36a", "savedPayload": { "position": { "x": 17768.08490002367, @@ -14192,7 +14192,7 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "7388d3bb-08b1-4f0a-a623-3f6195917a68", + "id": "db50c269-92ee-4a4f-be75-9aa7ef4b5e5f", "savedPayload": { "position": { "x": 17223.24004947388, @@ -14229,7 +14229,7 @@ "name": "New Record Formula", "code": "record.current.begin", "project": "Foundations", - "id": "8e4dc4a4-4df7-425a-9c8e-99bebff9cae8", + "id": "7a52188d-dfbf-4def-8a47-ab4759bdab93", "savedPayload": { "position": { "x": 17125.295473472564, @@ -14250,7 +14250,7 @@ "uiObject": {} } }, - "id": "f1ed4c18-b60b-4a3d-8806-c0c4ac3960b2", + "id": "f2716b0a-3611-4ddf-a798-11667752e205", "savedPayload": { "position": { "x": 17236.51593962507, @@ -14283,7 +14283,7 @@ "name": "New Record Formula", "code": "record.current.end", "project": "Foundations", - "id": "96ec3eb0-7c90-47c8-aac0-18b271069b08", + "id": "4f5328a2-1193-427e-8fc9-0f20c115e176", "savedPayload": { "position": { "x": 16717.600723575317, @@ -14304,7 +14304,7 @@ "uiObject": {} } }, - "id": "1124ef84-c789-4451-bed5-ddbcc7c90ca8", + "id": "c4c7c6ad-e67b-4637-b50a-845261b44b61", "savedPayload": { "position": { "x": 16964.719439693574, @@ -14337,7 +14337,7 @@ "name": "New Formula", "code": "variable.PositiveDisorder", "project": "Foundations", - "id": "eebcd62c-9851-4e1b-8357-6bb17e913b6e", + "id": "2e977ad8-0da7-43b7-bfc7-1d9196e44bff", "savedPayload": { "position": { "x": 16868.16227429867, @@ -14358,7 +14358,7 @@ "uiObject": {} } }, - "id": "6d51977e-de37-4a79-9629-31b4200a578c", + "id": "437bcf6c-455e-47e1-8758-933b421118d4", "savedPayload": { "position": { "x": 17065.093806842477, @@ -14391,7 +14391,7 @@ "name": "New Formula", "code": "variable.NegativeDisorder", "project": "Foundations", - "id": "9b35dc8b-9282-4723-8a41-3f68200cae0f", + "id": "5dcc324e-0b78-42dd-87c7-016dcee9c3ac", "savedPayload": { "position": { "x": 17463.604207052012, @@ -14412,7 +14412,7 @@ "uiObject": {} } }, - "id": "428785b3-5188-4df2-9288-b2ea47e71e28", + "id": "7d5f1241-bb03-446d-a5b5-e59cefd8703d", "savedPayload": { "position": { "x": 17462.055095344705, @@ -14445,7 +14445,7 @@ "name": "New Formula", "code": "variable.FastTrend", "project": "Foundations", - "id": "7ce36dd9-f3c7-48a1-bb2c-96fff4d730a2", + "id": "b4345b9f-1a21-4aac-a8d4-99eb723268bc", "savedPayload": { "position": { "x": 18055.546601670187, @@ -14466,7 +14466,7 @@ "uiObject": {} } }, - "id": "1f97847c-3c93-49f8-b41e-d3e44521c29d", + "id": "62c7ada3-2888-4700-ae21-d88cb657757e", "savedPayload": { "position": { "x": 17856.68335842349, @@ -14499,7 +14499,7 @@ "name": "New Record Formula", "code": "variable.interTrend", "project": "Foundations", - "id": "d5c7142a-a4ca-457b-bbb6-d867dc5664d0", + "id": "94f4055d-8fc0-4f12-8d0a-205f6a44aa34", "savedPayload": { "position": { "x": 18198.244761581384, @@ -14520,7 +14520,7 @@ "uiObject": {} } }, - "id": "41ae2121-d7a0-40fc-9b2f-4c49624024b7", + "id": "ecb57d04-6582-4665-b7dd-0084b02d0361", "savedPayload": { "position": { "x": 17951.81546503095, @@ -14544,7 +14544,7 @@ } } ], - "id": "6bfbec80-c342-495a-8c59-6e7ffbce26ff", + "id": "0e61ee45-0651-42be-b734-b3f5e8ad0248", "savedPayload": { "position": { "x": 17458.956871930088, @@ -14580,7 +14580,7 @@ "name": "New Procedure Javascript Code", "code": "/* Loop Code */\n\nlet FTLen = 20 // Channel length\nlet candle = record.current\nlet BIAS = 0.35 // biased limit value for Math.log2 (0)\n\n\nif (variable.previousEma5 === undefined) {\nvariable.previousEma5 = candle.close\n}\n\n// Calculate EMA5\nvariable.Ema5 = calculateEMA(5, candle.close, variable.previousEma5)\nvariable.previousEma5 = variable.Ema5\n\n\n// Build arrays Max, Min, Close, Open\n\nvariable.lastMax.push(candle.max) \nvariable.lastMin.push(candle.min)\nvariable.lastOpens.push(candle.open)\nvariable.lastCloses.push(candle.close)\nvariable.lastEMA5s.push(variable.Ema5)\n\n\n\n// Keep the array the correct size\n\nif (variable.lastMax.length > FTLen) {\n variable.lastMax.splice(0, 1)\n}\n\nif (variable.lastMin.length > FTLen) {\n variable.lastMin.splice(0, 1)\n}\n\nif (variable.lastOpens.length > FTLen) {\n variable.lastOpens.splice(0, 1)\n}\n\nif (variable.lastCloses.length > FTLen) {\n variable.lastCloses.splice(0, 1)\n}\n\nif (variable.lastEMA5s.length > FTLen) {\n variable.lastEMA5s.splice(0, 1)\n}\n// Calculate indicator values\n\n\n\n\nvariable.PositiveDisorder = CalPosEntropy () // Positive disorder\nvariable.NegativeDisorder = CalNegEntropy () // Negative disorder\nif(variable.PositiveDisorder === 0 && variable.NegativeDisorder === 0){\n\tvariable.FastTrend = 0\n}\nelse {\n\tvariable.FastTrend = ( variable.NegativeDisorder - variable.PositiveDisorder ) / ( variable.NegativeDisorder + variable.PositiveDisorder)\n}//calculation of the fast trend indicator\n\nvariable.lastFastTrend.push(variable.FastTrend)\nif(variable.lastFastTrend.length > 2 ) {\n\tvariable.lastFastTrend.splice(0,1)\n}\n\n//Determine the intermediate trend i.e. pullbacks\nif(variable.lastMax.length < FTLen) {\n\tvariable.interTrend = 0\n}\nelse {\n\tif(variable.lastFastTrend.length === 2){\n\t\tvariable.Slope = variable.lastFastTrend[1] - variable.lastFastTrend[0]\n\t\tif(variable.Slope > 0) {\n\t\t\t\tvariable.interTrend = 1\n\t\t}\n\t\t\tif(variable.Slope < 0) {\n\t\t\t\tvariable.interTrend = -1\n\t\t}\n\t\t\tif(variable.Slope = 0) {\n\t\t\t\tvariable.interTrend = 0\n\t\t}\n\t}\n\telse {\n\t\tvariable.interTrend = 0\n\t}\n}\n//functions\n//EMA5 calculation\nfunction calculateEMA(periods, price, previousEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousEMA * (1-k)\n}\n\nfunction CalPosEntropy ()\n\n\n{variable.PosOpen = 0 // counter for values above EMA\nvariable.PosClose = 0 // counter for values above EMA\nvariable.PosMin = 0 // counter for values above EMA\nvariable.PosMax = 0 // counter for values above EMA\n\n\t\n\tif (variable.lastMax.length < FTLen) { return 0 }\n\tfor (var i = 0 ; i < FTLen ; i++) //loop over the arrays and increment counters each time a value is above EMA5 at the same index\n\t{\n\t\t\tif (variable.lastMax[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosMax = variable.PosMax + 1\n\t\t\t}\n\t\t\tif (variable.lastMin[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosMin = variable.PosMin + 1\n\t\t\t}\n\t\t\tif (variable.lastOpens[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosOpen = variable.PosOpen + 1\n\t\t\t}\n\t\t\tif (variable.lastCloses[i] > variable.lastEMA5s[i])\n\t\t\t{\n\t\t\t\tvariable.PosClose = variable.PosClose + 1\n\t\t\t}\n\t\t\t\n\t}\n\tif (variable.PosMax > 0) // calculate entropy for Max candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosMax = (variable.PosMax / FTLen) * Math.log2(1/(variable.PosMax / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosMax = BIAS\n\t}\n\tif (variable.PosMin > 0) // calculate entropy for Min candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosMin = (variable.PosMin / FTLen) * Math.log2(1/(variable.PosMin / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosMin = BIAS\n\t}\n\tif (variable.PosOpen > 0) // calculate entropy for Open candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosOpen = (variable.PosOpen / FTLen) * Math.log2(1/(variable.PosOpen / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosOpen = BIAS\n\t}\n\tif (variable.PosClose > 0) // calculate entropy for Close candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntPosClose = (variable.PosClose / FTLen) * Math.log2(1/(variable.PosClose / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntPosClose = BIAS\n\t}\n\t\n\tvariable.PosEnt = variable.EntPosClose + variable.EntPosMax + variable.EntPosMin + variable.EntPosOpen //sum on 4 entropies\n\t\n\treturn variable.PosEnt\n}\n\nfunction CalNegEntropy ()\n\n{variable.NegOpen = 0 // counter for values below EMA\nvariable.NegClose = 0 // counter for values below EMA\nvariable.NegMin = 0 // counter for values below EMA\nvariable.NegMax = 0 // counter for values below EMA\n\t\n\tif (variable.lastMax.length < FTLen) { return 0 }\n\tfor (var j = 0 ; j < FTLen ; j++) //loop over the arrays and increment counters each time a value is above EMA5 at the same index\n\t{\n\t\t\tif (variable.lastMax[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegMax = variable.NegMax + 1\n\t\t\t}\n\t\t\tif (variable.lastMin[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegMin = variable.NegMin + 1\n\t\t\t}\n\t\t\tif (variable.lastOpens[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegOpen = variable.NegOpen + 1\n\t\t\t}\n\t\t\tif (variable.lastCloses[j] < variable.lastEMA5s[j])\n\t\t\t{\n\t\t\t\tvariable.NegClose = variable.NegClose + 1\n\t\t\t}\n\t\t\t\n\t}\n\tif (variable.NegMax > 0) // calculate entropy for Max candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegMax = (variable.NegMax / FTLen) * Math.log2(1/(variable.NegMax / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegMax = BIAS\n\t}\n\tif (variable.NegMin > 0) // calculate entropy for Min candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegMin = (variable.NegMin / FTLen) * Math.log2(1/(variable.NegMin / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegMin = BIAS\n\t}\n\tif (variable.NegOpen > 0) // calculate entropy for Open candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegOpen = (variable.NegOpen / FTLen) * Math.log2(1/(variable.NegOpen / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegOpen = BIAS\n\t}\n\tif (variable.NegClose > 0) // calculate entropy for Close candles above EMA5 ; return Bias value if count is 0 because of LOG function\n\t{\n\t\tvariable.EntNegClose = (variable.NegClose / FTLen) * Math.log2(1/(variable.NegClose / FTLen))\n\t}\n\telse\n\t{\n\t\tvariable.EntNegClose = BIAS\n\t}\n\t\n\tvariable.NegEnt = variable.EntNegClose + variable.EntNegMax + variable.EntNegMin + variable.EntNegOpen //sum on 4 entropies\n\t\n\treturn variable.NegEnt\n}\n\n// End of code :-)", "project": "Foundations", - "id": "b97e269c-6fc5-442c-98db-1e5863c77209", + "id": "20c36a40-6c13-43ab-9ac7-d2290f0bf7e2", "savedPayload": { "position": { "x": 18624.96796883813, @@ -14601,7 +14601,7 @@ "uiObject": {} } }, - "id": "3f0a3653-19e5-4b6c-9246-0b9ee7b981c6", + "id": "58abe435-b649-4f78-98e5-3382437dc51f", "savedPayload": { "position": { "x": 18480.0303536653, @@ -14633,7 +14633,7 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\nvariable.lastMax = []\nvariable.lastMin = []\nvariable.lastOpens = []\nvariable.lastCloses = []\nvariable.lastEMA5s = []\nvariable.NegOpen = 0 // counter for values below EMA\nvariable.NegClose = 0 // counter for values below EMA\nvariable.NegMin = 0 // counter for values below EMA\nvariable.NegMax = 0 // counter for values below EMA\nvariable.PosOpen = 0 // counter for values above EMA\nvariable.PosClose = 0 // counter for values above EMA\nvariable.PosMin = 0 // counter for values above EMA\nvariable.PosMax = 0 // counter for values above EMA\nvariable.lastFastTrend = []", "project": "Foundations", - "id": "374c4fae-c2b5-49d4-92df-a3761caece11", + "id": "1c594d4c-b835-4adb-b819-5d8afb47d75c", "savedPayload": { "position": { "x": 19204.30885952141, @@ -14654,7 +14654,7 @@ "uiObject": {} } }, - "id": "cda47c46-9af5-4c03-97a2-c6f2daef42ff", + "id": "ca713142-5667-4004-8f0c-ec57026c1066", "savedPayload": { "position": { "x": 18711.766709938613, @@ -14677,7 +14677,7 @@ } } }, - "id": "7e8df087-2820-47a1-91bd-07ed0cd2f366", + "id": "d5f1ebc9-d338-4e68-8d51-53651c4108bf", "savedPayload": { "position": { "x": 18383.405276883415, @@ -14700,7 +14700,7 @@ } } }, - "id": "9b3022e4-aed5-408c-9033-8ad72da6ae7a", + "id": "bb70c57d-b8eb-42ee-a9a3-7eaee173a9c0", "savedPayload": { "position": { "x": 17892.673125170615, @@ -14724,16 +14724,16 @@ "referenceParent": { "type": "Plotter Module", "name": "FastTrend20", - "id": "11122bc7-c665-4c8b-9418-224a9b6662e1" + "id": "b510f151-0def-40de-b62d-2888fdc6d0fd" } } } ], - "id": "4d31d9dd-719e-477e-b925-1b068725ee7c", + "id": "a7d863ee-4b9a-41f6-bd58-b2bfd6565003", "savedPayload": { "position": { - "x": 17640.133298533794, - "y": 10202.226560838775 + "x": 17677.784400139793, + "y": 10234.901265375764 }, "targetPosition": { "x": 18051.878281255034, @@ -14772,7 +14772,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market HoltWinters2", "project": "Foundations", - "id": "4665543c-ff47-44ed-aee0-2bbbc91c3903", + "id": "621c631c-6e1f-4338-932d-2540a5a18a4f", "savedPayload": { "position": { "x": 17686.021370369053, @@ -14794,13 +14794,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "dabdf69f-eda9-4bfe-bc9d-842c825adaaa" + "id": "c0c70f9d-2de3-4a96-a7af-5d8274ec6baa" } } } ], "outputDatasetFolders": [], - "id": "03bb01c4-bf69-46d5-8ca4-a02aa7328a35", + "id": "f082b6a3-c3e5-41ba-acb2-6c53df381aff", "savedPayload": { "position": { "x": 18125.6761963031, @@ -14833,7 +14833,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "b77b249f-b4fc-4316-9c35-93c4a8ebc5c2", + "id": "ce0f3163-ffc1-4051-aff4-4d7a48de2cc9", "savedPayload": { "position": { "x": 18315.64354872755, @@ -14864,7 +14864,7 @@ "name": "Holt-Winters forecast 2 Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "5a9db51a-7eec-44fd-8934-99fec7cf0ef4", + "id": "8ce01342-86a3-4df2-9b1d-890ce4953181", "savedPayload": { "position": { "x": 18024.162151219978, @@ -14886,7 +14886,7 @@ "referenceParent": { "type": "Status Report", "name": "HoltWinters", - "id": "61cc2918-cfc1-4bb7-896b-14721836cb9b" + "id": "a246ee45-28f3-4cbc-b503-4e220b90a63d" } } } @@ -14896,7 +14896,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "9cac2003-0a3d-46a5-b064-a361e73a4548", + "id": "cad3aa7c-c5d8-408f-96a0-c97a6b56fe43", "savedPayload": { "position": { "x": 17885.295077424216, @@ -14926,7 +14926,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Market", "project": "Foundations", - "id": "08424809-bcc5-474c-9b14-2bbf879f6483", + "id": "2cbb8672-c0af-485a-8f2d-cbfa314551b7", "savedPayload": { "position": { "x": 17777.22698828419, @@ -14954,7 +14954,7 @@ } ], "dataMineDataDependencies": [], - "id": "2746f8c1-146e-4291-944c-6786f035dfaa", + "id": "12d3b895-1142-4eff-882b-da16240bdc7a", "savedPayload": { "position": { "x": 17965.92786607191, @@ -14981,7 +14981,7 @@ "type": "Status Report", "name": "HoltWinters", "project": "Foundations", - "id": "61cc2918-cfc1-4bb7-896b-14721836cb9b", + "id": "a246ee45-28f3-4cbc-b503-4e220b90a63d", "savedPayload": { "position": { "x": 17826.087335876728, @@ -15006,7 +15006,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "607e9a6e-6b19-46ad-a43b-70f72e519588", + "id": "2a729ae0-1562-4c30-9b84-dfde75251adb", "savedPayload": { "position": { "x": 17855.82806775298, @@ -15036,7 +15036,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "edf8031e-521d-43ed-833d-f0f5dbd8b8a1", + "id": "06c11057-a446-4d44-b256-fd6384d35c86", "savedPayload": { "position": { "x": 17839.684616168048, @@ -15057,7 +15057,7 @@ "uiObject": {} } }, - "id": "dfe600d4-056a-413a-90eb-9c5cac383d4e", + "id": "000bea65-5cf0-46b0-9328-046f32e68f99", "savedPayload": { "position": { "x": 18037.322785481592, @@ -15094,7 +15094,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily HoltWinters2", "project": "Foundations", - "id": "d661c76e-5fb3-45e2-8f10-120fed97c8eb", + "id": "ff80877d-e6dd-4dd9-9bee-a3a01cb8d924", "savedPayload": { "position": { "x": 17674.016280040636, @@ -15116,13 +15116,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "6da01fa3-cb8a-42da-92e5-2a31d8511931" + "id": "d516cbda-55c0-4bd7-8557-683df52168de" } } } ], "outputDatasetFolders": [], - "id": "8c184a7a-273f-4056-b64f-c423407e92d0", + "id": "b44576d1-861b-4f2e-a781-4b7e15c73b87", "savedPayload": { "position": { "x": 17766.72137835312, @@ -15155,7 +15155,7 @@ "name": "Holt-Winters forecast 2 Multi-Time-Frame-Daily", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "810a8880-776b-4e73-a095-e4e519d40be1", + "id": "84f6876a-4d12-4744-8462-3269402f05ac", "savedPayload": { "position": { "x": 17543.7779307099, @@ -15177,7 +15177,7 @@ "referenceParent": { "type": "Status Report", "name": "HoltWinters", - "id": "1cb0e140-bcee-46a9-8663-6b1b128dbe45" + "id": "82729aed-c218-4cce-beb6-fce2ce2b2cf2" } } }, @@ -15186,7 +15186,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "89ab7d79-0090-4dca-8572-86a18092e241", + "id": "9361e572-83bb-4023-bd6d-993644309146", "savedPayload": { "position": { "x": 17473.091318517876, @@ -15217,7 +15217,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{\n \"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "c2aa9fa4-a652-4ee6-82cc-c55020966b34", + "id": "3c972e8c-9407-4138-aebf-ef999e9acfc9", "savedPayload": { "position": { "x": 17413.539581379166, @@ -15249,7 +15249,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "9a201bea-0ef9-4b96-a884-0e2005895c96", + "id": "0b5c8cee-fb51-4759-afa8-e54d03767c34", "savedPayload": { "position": { "x": 17369.181071765874, @@ -15279,7 +15279,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Daily", "project": "Foundations", - "id": "a53e14a2-da99-4b03-ae05-1ff76ff9c3b0", + "id": "7110cc7a-4a6c-4e22-bd58-be7eb894e98b", "savedPayload": { "position": { "x": 17343.038748802242, @@ -15307,7 +15307,7 @@ } ], "dataMineDataDependencies": [], - "id": "02c8435f-3f08-406a-af35-ea9e3cf7bc66", + "id": "b9c34257-5bd7-4039-96bc-6b1da814657b", "savedPayload": { "position": { "x": 17636.483029022384, @@ -15334,7 +15334,7 @@ "type": "Status Report", "name": "HoltWinters", "project": "Foundations", - "id": "1cb0e140-bcee-46a9-8663-6b1b128dbe45", + "id": "82729aed-c218-4cce-beb6-fce2ce2b2cf2", "savedPayload": { "position": { "x": 17712.70433655553, @@ -15359,7 +15359,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "aa1399b6-04a0-49f6-9011-34ec7b1ee875", + "id": "b4619442-93eb-422f-b19d-26c62fc1fe1e", "savedPayload": { "position": { "x": 17716.767999221327, @@ -15389,7 +15389,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "e5cba6ad-c751-4eec-9ee4-6d8d7996809e", + "id": "d0024a97-8132-498b-be97-c8cc5e4d4135", "savedPayload": { "position": { "x": 17759.056885711772, @@ -15410,7 +15410,7 @@ "uiObject": {} } }, - "id": "9b736e18-aee6-4c50-b670-1fc35b6aadb7", + "id": "483c0191-9d8a-45dd-b106-85604383292c", "savedPayload": { "position": { "x": 17757.76728970815, @@ -15446,7 +15446,7 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "dabdf69f-eda9-4bfe-bc9d-842c825adaaa", + "id": "c0c70f9d-2de3-4a96-a7af-5d8274ec6baa", "savedPayload": { "position": { "x": 17370.779400339616, @@ -15472,7 +15472,7 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "6da01fa3-cb8a-42da-92e5-2a31d8511931", + "id": "d516cbda-55c0-4bd7-8557-683df52168de", "savedPayload": { "position": { "x": 16662.83021624415, @@ -15509,7 +15509,7 @@ "name": "New Record Formula", "code": "record.current.begin", "project": "Foundations", - "id": "5d8615e3-fbca-4922-b874-5bbb15ccb3d1", + "id": "dc5b9cca-3962-457e-a8b4-7c8bdbea094e", "savedPayload": { "position": { "x": 17969.443429382933, @@ -15530,7 +15530,7 @@ "uiObject": {} } }, - "id": "9fd664d5-e7f9-41de-907d-4d714c42e686", + "id": "7058b740-0cfa-42bc-80f2-d4ddc4605c73", "savedPayload": { "position": { "x": 17312.008516437036, @@ -15563,7 +15563,7 @@ "name": "New Record Formula", "code": "record.current.end", "project": "Foundations", - "id": "8d761208-af2b-4f55-82da-4ff67d348f89", + "id": "6f2aaa78-9e3b-4692-a951-8c126d2affb8", "savedPayload": { "position": { "x": 17033.150579054243, @@ -15584,7 +15584,7 @@ "uiObject": {} } }, - "id": "5ddbddae-8eaf-4269-9eff-4dad643a3c50", + "id": "a151435b-bcd4-47eb-8b93-61521720f02f", "savedPayload": { "position": { "x": 16843.86209127269, @@ -15617,7 +15617,7 @@ "name": "New Record Formula", "code": "variable.Y", "project": "Foundations", - "id": "e06b8b7c-3aea-4be2-ac45-5dd608d7db96", + "id": "c1c160ce-c752-4dbb-a191-8895be41dc40", "savedPayload": { "position": { "x": 16735.309211316933, @@ -15638,7 +15638,7 @@ "uiObject": {} } }, - "id": "6e2503b4-521a-4037-b9f6-908863cd6e0f", + "id": "3630da70-8a04-404d-ba9a-60097e445bf7", "savedPayload": { "position": { "x": 16694.941407404036, @@ -15671,7 +15671,7 @@ "name": "New Record Formula", "code": "variable.forecast", "project": "Foundations", - "id": "42280cad-e6e8-4ba6-8192-626a820ec728", + "id": "66e065dc-689b-408c-9eed-dc124a8af717", "savedPayload": { "position": { "x": 16433.419423080704, @@ -15692,7 +15692,7 @@ "uiObject": {} } }, - "id": "8b9a31b8-5347-4f3a-9f16-b686cdee1581", + "id": "1315eafb-bf0b-423e-a87c-c6bc83a1a535", "savedPayload": { "position": { "x": 16543.99651328592, @@ -15725,7 +15725,7 @@ "name": "New Record Formula", "code": "variable.A", "project": "Foundations", - "id": "2b7658ef-2c64-4590-83ac-d310de3fec3d", + "id": "31c90e1d-7a2c-40a4-86f8-0d950c3c56ce", "savedPayload": { "position": { "x": 16270.60782255505, @@ -15746,7 +15746,7 @@ "uiObject": {} } }, - "id": "865b604f-a511-4af3-a4d4-238b379e0533", + "id": "b75f7f15-92b8-4013-bbf5-f70ccae5cca4", "savedPayload": { "position": { "x": 16398.596416200413, @@ -15779,7 +15779,7 @@ "name": "New Record Formula", "code": "variable.B", "project": "Foundations", - "id": "e4c7b3b2-d7e6-4d01-83b9-955f66760cf4", + "id": "8ae14c2c-5bb2-4070-a84d-7c3e9aca4800", "savedPayload": { "position": { "x": 16071.761324484396, @@ -15800,7 +15800,7 @@ "uiObject": {} } }, - "id": "1c806475-08dc-4f0a-9ba9-cd67ba045da2", + "id": "7eb14f7a-b09a-4ea3-a4b3-e6d17ef32509", "savedPayload": { "position": { "x": 16266.03208415331, @@ -15833,7 +15833,7 @@ "name": "New Record Formula", "code": "variable.forecast5", "project": "Foundations", - "id": "0c068ad4-2fb2-4828-a129-d5666c6c88b1", + "id": "2bc2d0da-2fd1-463d-bf92-9471c68158fc", "savedPayload": { "position": { "x": 15902.139467695277, @@ -15854,7 +15854,7 @@ "uiObject": {} } }, - "id": "00d30420-8e2a-4e29-bee5-6c5951315441", + "id": "1be56c91-ad9c-4b2a-83a0-91c1bcdf5c0f", "savedPayload": { "position": { "x": 16152.950846293897, @@ -15887,7 +15887,7 @@ "name": "New Record Formula", "code": "variable.forecast10", "project": "Foundations", - "id": "38b53984-d436-4435-969e-a33c6dd0e110", + "id": "623ddafe-1406-485b-b53e-50beedccfa41", "savedPayload": { "position": { "x": 15770.247800366295, @@ -15908,7 +15908,7 @@ "uiObject": {} } }, - "id": "b18d2bdd-c654-412a-8936-275fde6a4d83", + "id": "3dad0741-44e9-43b3-8659-053903b6ef04", "savedPayload": { "position": { "x": 16065.023068074575, @@ -15941,7 +15941,7 @@ "name": "New Record Formula", "code": "variable.forecast20", "project": "Foundations", - "id": "8f52c0b8-9ce9-446e-9d4d-5bd8a5f57a80", + "id": "a3faa9b0-35b1-48d1-8903-ac69d4b7c048", "savedPayload": { "position": { "x": 15682.699921428964, @@ -15962,7 +15962,7 @@ "uiObject": {} } }, - "id": "e635aee5-bbb1-4da1-b319-b31f4c127ca0", + "id": "443cba42-c034-494e-b40e-4829144f104c", "savedPayload": { "position": { "x": 16006.65781544969, @@ -15995,7 +15995,7 @@ "name": "New Record Formula", "code": "variable.forecast30", "project": "Foundations", - "id": "3bece118-4abb-4eac-9f29-2402135bebb9", + "id": "4babcdd6-0a78-4584-b715-af6b054ec4c1", "savedPayload": { "position": { "x": 15643.885847101308, @@ -16016,7 +16016,7 @@ "uiObject": {} } }, - "id": "ef7e4dbb-6110-40ef-976c-8cb7668a3ddf", + "id": "a091a8f5-1190-419d-82bf-188ea474d955", "savedPayload": { "position": { "x": 15980.781765897918, @@ -16049,7 +16049,7 @@ "name": "New Record Formula", "code": "variable.trend", "project": "Foundations", - "id": "2e62ce13-755a-49ba-991e-609024729155", + "id": "13a2019f-4aed-4ecb-ba9a-77cf5ad35c83", "savedPayload": { "position": { "x": 15655.751877143573, @@ -16070,7 +16070,7 @@ "uiObject": {} } }, - "id": "688150dd-b50c-4788-87be-49cdaa13c72a", + "id": "fa797b28-6805-4b42-8bf4-067db89d7162", "savedPayload": { "position": { "x": 15988.692452592762, @@ -16103,7 +16103,7 @@ "name": "New Record Formula", "code": "variable.maxForecast5", "project": "Foundations", - "id": "73d42106-4ccb-4cb5-be70-9da84ff7a860", + "id": "4b7d9b1e-befd-406b-9eee-014c660c801a", "savedPayload": { "position": { "x": 15717.702999261217, @@ -16124,7 +16124,7 @@ "uiObject": {} } }, - "id": "e94fd727-db1e-4fc8-80f0-4a3e26d4d09f", + "id": "c7ae296a-cd32-42e4-9aa6-4899eb801f94", "savedPayload": { "position": { "x": 16029.993200671192, @@ -16157,7 +16157,7 @@ "name": "New Record Formula", "code": "variable.minForecast5", "project": "Foundations", - "id": "57c83210-c728-43dd-8a48-cf4185fc5d51", + "id": "56ba6b05-4d27-4774-8b82-c90f948c49ab", "savedPayload": { "position": { "x": 15826.632725505902, @@ -16178,7 +16178,7 @@ "uiObject": {} } }, - "id": "726450a7-3410-45a4-b252-e0322b163fe1", + "id": "e439dafb-7f13-45a0-9717-8b1a7e86c26c", "savedPayload": { "position": { "x": 16102.613018167647, @@ -16211,7 +16211,7 @@ "name": "New Record Formula", "code": "variable.minForecast10", "project": "Foundations", - "id": "b7aea1b1-e702-468b-bd4f-8eeba126df65", + "id": "73e07275-9526-440b-9834-0f254d04d4e2", "savedPayload": { "position": { "x": 15977.078864552795, @@ -16232,7 +16232,7 @@ "uiObject": {} } }, - "id": "3df9c8c2-8899-447b-ab9d-fa4bf6a304d9", + "id": "b84416c5-4c35-431d-b003-f0bf0d35e65e", "savedPayload": { "position": { "x": 16202.91044419891, @@ -16265,7 +16265,7 @@ "name": "New Record Formula", "code": "variable.maxForecast10", "project": "Foundations", - "id": "2f39fe05-705a-4277-9b5c-99375f8372a3", + "id": "dc10ca60-fb00-456a-9a5c-6459b18da206", "savedPayload": { "position": { "x": 16161.497418781717, @@ -16286,7 +16286,7 @@ "uiObject": {} } }, - "id": "c953b7e4-df76-40ed-8987-9d6bf1b8d2c7", + "id": "eefaa965-cafb-4844-98fc-6b4690ba5661", "savedPayload": { "position": { "x": 16325.85614701819, @@ -16319,7 +16319,7 @@ "name": "New Record Formula", "code": "variable.minForecast20", "project": "Foundations", - "id": "148c2759-2696-4e40-a8f3-ee1e691dd787", + "id": "bbdc32de-12ec-404d-a6e3-6b64ce3c79f7", "savedPayload": { "position": { "x": 16370.64087181881, @@ -16340,7 +16340,7 @@ "uiObject": {} } }, - "id": "121ee9b6-358a-44ef-b332-708603b0c1bc", + "id": "80848bf6-0e38-499b-9156-59d5053b479b", "savedPayload": { "position": { "x": 16465.285115709587, @@ -16373,7 +16373,7 @@ "name": "New Record Formula", "code": "variable.maxForecast20", "project": "Foundations", - "id": "42b6f398-9607-46ab-81ed-320b1d8d0ce5", + "id": "415c7c94-3806-437a-94e9-447447afb5c6", "savedPayload": { "position": { "x": 16594.02189762179, @@ -16394,7 +16394,7 @@ "uiObject": {} } }, - "id": "e67b6ab2-d300-4144-85da-ac753683e432", + "id": "838439a7-1cf7-4538-ac97-b2014618406d", "savedPayload": { "position": { "x": 16614.20579957824, @@ -16427,7 +16427,7 @@ "name": "New Record Formula", "code": "variable.minForecast30", "project": "Foundations", - "id": "adea1072-c38a-41a6-9266-ec64b0b48774", + "id": "f7a87dae-9d78-47f8-9d68-6e9a43d1cff0", "savedPayload": { "position": { "x": 16820.439238798965, @@ -16448,7 +16448,7 @@ "uiObject": {} } }, - "id": "7757fcc2-4132-4f21-849b-2fcf0b45b72c", + "id": "0eefb337-7a13-4aac-a482-039b6fc0b3a2", "savedPayload": { "position": { "x": 16765.150693696356, @@ -16481,7 +16481,7 @@ "name": "New Record Formula", "code": "variable.maxForecast30", "project": "Foundations", - "id": "4c244bae-7388-4d3c-bf60-be2d2c51c879", + "id": "481686bc-1dc1-4610-b539-789f279667a5", "savedPayload": { "position": { "x": 17038.53938442723, @@ -16502,7 +16502,7 @@ "uiObject": {} } }, - "id": "aafe9d9d-3e7a-4726-b9fc-2d4498684d8a", + "id": "6336f414-5bfb-4eec-9da8-8a0a27c77c86", "savedPayload": { "position": { "x": 16910.550790781865, @@ -16535,7 +16535,7 @@ "name": "New Record Formula", "code": "variable.T5Begin", "project": "Foundations", - "id": "d4958817-6b80-4d01-b423-e7f53d0609f0", + "id": "ad6c02b5-8ac2-4437-b47b-75d952766655", "savedPayload": { "position": { "x": 17237.38588249788, @@ -16556,7 +16556,7 @@ "uiObject": {} } }, - "id": "60a12dd0-1dce-44b3-b765-6f4404ea679f", + "id": "743169ff-ac8f-41ae-98de-6f59a26269dd", "savedPayload": { "position": { "x": 17043.115122828967, @@ -16589,7 +16589,7 @@ "name": "New Record Formula", "code": "variable.T10Begin", "project": "Foundations", - "id": "05289830-7a11-45d8-9c58-100447ca3fb6", + "id": "843300c3-eeed-48d5-90f0-0c5f92677f7b", "savedPayload": { "position": { "x": 17407.007739287, @@ -16610,7 +16610,7 @@ "uiObject": {} } }, - "id": "665066df-0031-42b3-8361-22371c9b9567", + "id": "00532dac-116d-403e-a765-1645056c7924", "savedPayload": { "position": { "x": 17156.19636068838, @@ -16643,7 +16643,7 @@ "name": "New Record Formula", "code": "variable.T20Begin", "project": "Foundations", - "id": "e1198e3d-d9a6-4e9a-bcec-b2ed89e1a59c", + "id": "38c8f3de-5e56-4471-a8c8-ddbd52bf0745", "savedPayload": { "position": { "x": 17538.899406615983, @@ -16664,7 +16664,7 @@ "uiObject": {} } }, - "id": "5958c994-342f-4a15-9858-536dbd0eed45", + "id": "940d50d3-1b82-4656-a849-977a1997972c", "savedPayload": { "position": { "x": 17244.1241389077, @@ -16697,7 +16697,7 @@ "name": "New Record Formula", "code": "variable.T30Begin", "project": "Foundations", - "id": "a13b038e-6386-48eb-b133-d5a844ec3edb", + "id": "f461130b-7e27-4ab4-9d0d-426773358343", "savedPayload": { "position": { "x": 17626.447285553313, @@ -16718,7 +16718,7 @@ "uiObject": {} } }, - "id": "c416ea8f-bb02-429f-8303-e50d7251a903", + "id": "736ab98b-2f1e-4ea0-bfcf-1602320444b5", "savedPayload": { "position": { "x": 17302.48939153259, @@ -16751,7 +16751,7 @@ "name": "New Record Formula", "code": "variable.T5End", "project": "Foundations", - "id": "18440df6-754b-4667-82b9-04c0a38f03fc", + "id": "2130eea1-822f-4f1c-9c05-0b3e468e8ac9", "savedPayload": { "position": { "x": 17665.26135988097, @@ -16772,7 +16772,7 @@ "uiObject": {} } }, - "id": "4e5c0efd-5d20-4ec6-b371-638947317f9d", + "id": "4be83708-3744-4393-bc72-e16d4cf33b0c", "savedPayload": { "position": { "x": 17328.36544108436, @@ -16805,7 +16805,7 @@ "name": "New Record Formula", "code": "variable.T10End", "project": "Foundations", - "id": "8f70c7e1-6527-46a9-a084-687a1654b747", + "id": "3ea1edb7-623d-4f67-b080-4ce00d804a97", "savedPayload": { "position": { "x": 17653.395329838706, @@ -16826,7 +16826,7 @@ "uiObject": {} } }, - "id": "1f954ff3-46fc-4b4c-975c-09786ad64a92", + "id": "84fa2980-d8ec-46af-98d9-84e81b24c201", "savedPayload": { "position": { "x": 17320.454754389517, @@ -16859,7 +16859,7 @@ "name": "New Record Formula", "code": "variable.T20End", "project": "Foundations", - "id": "04338d54-8d2c-43d8-ad69-c8d3d34d7b46", + "id": "da82d419-d5cb-4f68-a85b-2d3f4e265109", "savedPayload": { "position": { "x": 17591.444207721062, @@ -16880,7 +16880,7 @@ "uiObject": {} } }, - "id": "266d011a-02d5-42c8-b9a1-3e2322f34115", + "id": "c1771699-97cb-4e66-889a-846ec21076e8", "savedPayload": { "position": { "x": 17279.154006311088, @@ -16913,7 +16913,7 @@ "name": "New Record Formula", "code": "variable.T30End", "project": "Foundations", - "id": "65a17b96-8f83-43fe-98b4-7eb9a94cbd3c", + "id": "926218ce-73c7-4d80-a859-11ddee07b1e7", "savedPayload": { "position": { "x": 17482.514481476373, @@ -16934,7 +16934,7 @@ "uiObject": {} } }, - "id": "19eabac0-998e-461f-897a-ec285cf5470e", + "id": "f9fbe5f5-a124-4dd0-bcea-bfcaacc0c639", "savedPayload": { "position": { "x": 17206.53418881463, @@ -16958,7 +16958,7 @@ } } ], - "id": "483d1620-4344-497b-a609-84d359ef7359", + "id": "4131645a-546c-4d53-bd3a-bbf83bb0beb3", "savedPayload": { "position": { "x": 16654.57360349114, @@ -16994,7 +16994,7 @@ "name": "New Procedure Javascript Code", "code": "\tlet candle = record.current\n\tlet Al = 0.4 //initial value for alpha factor\n\tlet Bet = 0.4 //initial value for beta factor\n\tlet Ph = 0.8 //initial value for phi factor\n\tlet Ga = 0.3 //initial value for gamma factor\n\tlet sLen = 5 //length of seasonal period ; integer only\n\tlet fLen = 6 //number of season period to forecast ; integer only ; forecast will be calculated on fLen * sLen = 30 periods\n\tlet Iter = 20 //number of loop to proceed parameters optimization\n\n\n\t//initializing Factors with fixed value or optimized value if exists\n\tif (variable.Alpha === undefined) {\n\t\tvariable.Alpha = Al\n\t }\n\t else {\n\t variable.Alpha = variable.Alpha\n\t }\n\t \n\tif (variable.Beta === undefined) {\n\t\tvariable.Beta = Bet\n\t }\n\t else {\n\t variable.Beta = variable.Beta\n\t }\n\n\tif (variable.Phi === undefined) {\n\t\tvariable.Phi = Ph\n\t }\n\t else {\n\t variable.Phi = variable.Phi\n\t }\n\n\tif (variable.Gamma === undefined) {\n\t\tvariable.Gamma = Ga\n\t }\n\t else {\n\t variable.Gamma = variable.Gamma\n\t }\n\t \n\t//Fetching candle close values for sLen length \n\tvariable.lastClose.push(candle.close)\n\tif(variable.lastClose.length > sLen) {\n\t\tvariable.lastClose.splice(0,1)\n\t}\n\tvariable.lastClose2x.push(candle.close)\n\tif(variable.lastClose2x.length > 2 * sLen) {\n\t\tvariable.lastClose2x.splice(0,1)\n\t}\n\t\n\t//fetching candle values for sLen * fLen length\n\tvariable.last30Candles.push(candle.close)\n\tif(variable.last30Candles.length > sLen * fLen) {\n\t\tvariable.last30Candles.splice(0,1)\n\t\tvariable.forecastTrig = 1 //trigger to switch to the next step of forecast optimization as soon as there is enough values\n\t}\n\t\n\t//Initializing A, B, S, Y variables according to Hyndman parameters https://robjhyndman.com/hyndsight/hw-initialization/\n\t\n\t//managing the undefined values until lastClose2x reach sufficient length\n\tif(variable.trig === undefined) {\n\tvariable.trig = 0 //variable to indicate initialization stage is over\n\t}\n\tif(variable.lastClose2x.length < 2 * sLen && variable.trig === 0) {\n\t\tvariable.Y = 0 //forecast through history variable\n\t\tvariable.A = 0 //level\n\t\tvariable.B = 0 //trend\n\t\tvariable.S[0] = 0 //season\n\t\tvariable.previousB = variable.B\n\t\tvariable.previousA = variable.A\n\t\tvariable.trend = 0\n\t\tvariable.last31A.push(variable.A)\n\t\tvariable.last31B.push(variable.B)\n\t\tif(variable.last31A.length > sLen * fLen +1){\n\t\t\tvariable.last31A.splice(0,1)\n\t\t\tvariable.last31B.splice(0,1)\n\t\t}\n\t}\n\tif(variable.lastClose2x.length === 2 * sLen && variable.trig === 0) {\n\t\tfor(var i = 0 ; i < sLen ; i++) {\n\t\t\tvariable.previousA = variable.previousA + variable.lastClose[i]\n\t\t}\n\t\tvariable.previousA = variable.previousA / sLen\n\t\tvariable.last31A.push(variable.A)\n\t\tif(variable.last31A.length > sLen * fLen +1){\n\t\t\tvariable.last31A.splice(0,1)\n\t\t}\n\t\tfor(var i = 0; i < sLen ; i++) {\n\t\t\tvariable.previousB = variable.previousB + variable.lastClose2x[i + sLen] - variable.lastClose2x[i]\n\t\t}\n\t\tvariable.previousB = variable.previousB / Math.pow(sLen,2)\n\t\tvariable.last31B.push(variable.B)\n\t\tif(variable.last31B.length > sLen * fLen +1){\n\t\t\tvariable.last31B.splice(0,1)\n\t\t}\n\t\tvariable.S[0] = candle.close / variable.previousA\n\t\tvariable.trig = 1 \n\t\tvariable.trend = 0\n\n\t}\n\tif(variable.lastClose2x.length === 2* sLen && variable.trig === 1)\n\t{\n\t\tvariable.Y = (variable.previousA + variable.Phi * variable.previousB) * variable.S[0]\n\t\tvariable.A = variable.Alpha * variable.Y / variable.S[0] + (1 - variable.Alpha) * (variable.previousA + variable.Phi * variable.previousB)\n\t\tvariable.B = variable.Beta * (variable.A - variable.previousA) + (1 - variable.Beta) * variable.Phi * variable.previousB\n\t\tvariable.S.push(variable.Gamma * variable.Y / variable.A + (1 - variable.Gamma) * variable.S[0])\n\t\tvariable.slope = variable.B - variable.previousB\n\t\tif(variable.slope < 0){\n\t\t\tvariable.trend = 1\n\t\t}\n\t\telse {\n\t\t\tvariable.trend = -1\n\t\t}\n\t\tvariable.previousA = variable.A\n\t\tvariable.previousB = variable.B\n\t\t//store last sLen*flen +1 values of variable.A and variable.B for the min MASE forecast optimization \n\t\tvariable.last31A.push(variable.A)\n\t\tvariable.last31B.push(variable.B)\n\t\tif(variable.last31A.length > sLen * fLen +1){\n\t\t\tvariable.last31A.splice(0,1)\n\t\t\tvariable.last31B.splice(0,1)\n\t\t}\n\t}\n\n\t//keep Season array to the right size\n\tif(variable.S.length > sLen) {\n\t\tvariable.S.splice(0,1)\n\t}\n\n\t//Parameters optimization\n\t//calculation of initial mean square error\n\n\tvariable.Errors.push(Math.pow(variable.Y - candle.close, 2))\n\tif(variable.Errors.length > sLen) {\n\t\t\tvariable.Errors.splice(0,1)\n\t}\n\tif(variable.Errors.length === sLen) {\n\t\tvariable.ErrSqSum = 0\n\t\tfor (var k = 0 ; k < variable.Errors.length ; k++) {\n\t\t\t\tvariable.ErrSqSum = variable.ErrSqSum + variable.Errors[k]\n\t\t}\n\t\tvariable.MS = variable.ErrSqSum / variable.Errors.length\n\t\tif(variable.lastClose2x.length === 2*sLen && variable.trig === 1 ){\n\t\t//initialiying best parameters calculation\n\t\tvariable.bestAlpha = 0\n\t\tvariable.bestBeta = variable.Beta\n\t\tvariable.bestPhi = variable.Phi\n\t\tvariable.bestGamma = variable.Gamma\n\t\tvariable.bestError = variable.MS\n\t\t//Alpha optimization\n\t\tfor(var i = 0 ; i < Iter ; i++) {\n\t\t\n\t\t\tvariable.sS = []\n\t\t\tvariable.sError = []\n\t\t\tvariable.bestAlpha = variable.bestAlpha +(1 - i/Iter)\n\t\t\tvariable.sS[0] = variable.S[0]\n\t\t\tvariable.previoussA = variable.previousA\n\t\t\tvariable.previoussB = variable.previousB\n\t\t\tvariable.sErrSqSum = 0\n\t\t\tfor(var j=0 ; j < sLen ; j++) {\n\t\t\t\tvariable.sY = (variable.previoussA + variable.bestPhi * variable.previoussB) * variable.sS[0]\n\t\t\t\tvariable.sA = variable.bestAlpha * variable.sY / variable.sS[0] + (1 - variable.bestAlpha) * (variable.previoussA + variable.bestPhi * variable.previoussB)\n\t\t\t\tvariable.sB = variable.bestBeta * (variable.sA - variable.previoussA) + (1 - variable.bestBeta) * variable.bestPhi * variable.previoussB\n\t\t\t\tvariable.sS.push(variable.bestGamma * variable.sY / variable.sA + (1 - variable.bestGamma) * variable.sS[0])\n\t\t\t\tvariable.previoussA = variable.sA\n\t\t\t\tvariable.previoussB = variable.sB\n\t\t\t\tvariable.sError.push(Math.pow(variable.sY - variable.lastClose[j],2))\n\t\t\t}\n\t\t\tfor(var k = 0 ; k < variable.sError.length ; k++) {\n\t\t\t\tvariable.sErrSqSum = variable.sErrSqSum + variable.sErrSqSum[k]\n\t\t\t}\n\t\t\tvariable.sMS = variable.sErrSqSum / variable.sError.length\n\t\t\tif(variable.sMS < variable.bestError){\n\t\t\t\tvariable.bestError = variable.sMs\n\t\t\t\tvariable.Alpha = variable.bestAlpha\n\t\t\t}\n\t\t\n\t\t}\n\t\tvariable.bestError = variable.MS\n\t\tvariable.bestBeta = 0\n\t\t//Beta optimization\n\t\tfor(var i = 0 ; i < Iter ; i++) {\n\t\t\t\n\t\t\tvariable.sS = []\n\t\t\tvariable.sError = []\n\t\t\tvariable.bestBeta = variable.bestBeta +(1 - i/Iter)\n\t\t\tvariable.sS[0] = variable.S[0]\n\t\t\tvariable.previoussA = variable.previousA\n\t\t\tvariable.previoussB = variable.previousB\n\t\t\tvariable.sErrSqSum = 0\n\t\t\tfor(var j=0 ; j < sLen ; j++) {\n\t\t\t\tvariable.sY = (variable.previoussA + variable.bestPhi * variable.previoussB) * variable.sS[0]\n\t\t\t\tvariable.sA = variable.bestAlpha * variable.sY / variable.sS[0] + (1 - variable.bestAlpha) * (variable.previoussA + variable.bestPhi * variable.previoussB)\n\t\t\t\tvariable.sB = variable.bestBeta * (variable.sA - variable.previoussA) + (1 - variable.bestBeta) * variable.bestPhi * variable.previoussB\n\t\t\t\tvariable.sS.push(variable.bestGamma * variable.sY / variable.sA + (1 - variable.bestGamma) * variable.sS[0])\n\t\t\t\tvariable.previoussA = variable.sA\n\t\t\t\tvariable.previoussB = variable.sB\n\t\t\t\tvariable.sError.push(Math.pow(variable.sY - variable.lastClose[j],2))\n\t\t\t}\n\t\t\tfor(var k = 0 ; k < variable.sError.length ; k++) {\n\t\t\t\tvariable.sErrSqSum = variable.sErrSqSum + variable.sErrSqSum[k]\n\t\t\t}\n\t\t\tvariable.sMS = variable.sErrSqSum / variable.sError.length\n\t\t\tif(variable.sMS < variable.bestError){\n\t\t\t\tvariable.bestError = variable.sMs\n\t\t\t\tvariable.Beta = variable.bestBeta\n\t\t\t}\n\t\t\n\t\t}\n\t\tvariable.bestError = variable.MS\n\t\tvariable.bestPhi = 0.8\n\t\t//Phi optimization\n\t\tfor(var i = 0 ; i < Iter ; i++) {\t\t\t\n\t\t\tvariable.sS = []\n\t\t\tvariable.sError = []\n\t\t\tvariable.bestPhi = variable.bestPhi +(1 - (i/Iter) * 0.2)\n\t\t\tvariable.sS[0] = variable.S[0]\n\t\t\tvariable.previoussA = variable.previousA\n\t\t\tvariable.previoussB = variable.previousB\n\t\t\tvariable.sErrSqSum = 0\n\t\t\tfor(var j=0 ; j < sLen ; j++) {\n\t\t\t\tvariable.sY = (variable.previoussA + variable.bestPhi * variable.previoussB) * variable.sS[0]\n\t\t\t\tvariable.sA = variable.bestAlpha * variable.sY / variable.sS[0] + (1 - variable.bestAlpha) * (variable.previoussA + variable.bestPhi * variable.previoussB)\n\t\t\t\tvariable.sB = variable.bestBeta * (variable.sA - variable.previoussA) + (1 - variable.bestBeta) * variable.bestPhi * variable.previoussB\n\t\t\t\tvariable.sS.push(variable.bestGamma * variable.sY / variable.sA + (1 - variable.bestGamma) * variable.sS[0])\n\t\t\t\tvariable.previoussA = variable.sA\n\t\t\t\tvariable.previoussB = variable.sB\n\t\t\t\tvariable.sError.push(Math.pow(variable.sY - variable.lastClose[j],2))\n\t\t\t}\n\t\t\tfor(var k = 0 ; k < variable.sError.length ; k++) {\n\t\t\t\tvariable.sErrSqSum = variable.sErrSqSum + variable.sErrSqSum[k]\n\t\t\t}\n\t\t\tvariable.sMS = variable.sErrSqSum / variable.sError.length\n\t\t\tif(variable.sMS < variable.bestError){\n\t\t\t\tvariable.bestError = variable.sMs\n\t\t\t\tvariable.Phi = variable.bestPhi\n\t\t\t}\n\t\t\n\t\t}\n\t\tvariable.bestError = variable.MS\n\t\tvariable.bestGamma = 0\n\t\t//Gamma optimization\n\t\tfor(var i = 0 ; i < Iter ; i++) {\n\t\t\t\n\t\t\tvariable.sS = []\n\t\t\tvariable.sError = []\n\t\t\tvariable.bestGamma = variable.bestGamma +(1 - i/Iter)\n\t\t\tvariable.sS[0] = variable.S[0]\n\t\t\tvariable.previoussA = variable.previousA\n\t\t\tvariable.previoussB = variable.previousB\n\t\t\tvariable.sErrSqSum = 0\n\t\t\tfor(var j=0 ; j < sLen ; j++) {\n\t\t\t\tvariable.sY = (variable.previoussA + variable.bestPhi * variable.previoussB) * variable.sS[0]\n\t\t\t\tvariable.sA = variable.bestAlpha * variable.sY / variable.sS[0] + (1 - variable.bestAlpha) * (variable.previoussA + variable.bestPhi * variable.previoussB)\n\t\t\t\tvariable.sB = variable.bestBeta * (variable.sA - variable.previoussA) + (1 - variable.bestBeta) * variable.bestPhi * variable.previoussB\n\t\t\t\tvariable.sS.push(variable.bestGamma * variable.sY / variable.sA + (1 - variable.bestGamma) * variable.sS[0])\n\t\t\t\tvariable.previoussA = variable.sA\n\t\t\t\tvariable.previoussB = variable.sB\n\t\t\t\tvariable.sError.push(Math.pow(variable.sY - variable.lastClose[j],2))\n\t\t\t}\n\t\t\tfor(var k = 0 ; k < variable.sError.length ; k++) {\n\t\t\t\tvariable.sErrSqSum = variable.sErrSqSum + variable.sErrSqSum[k]\n\t\t\t}\n\t\t\tvariable.sMS = variable.sErrSqSum / variable.sError.length\n\t\t\tif(variable.sMS < variable.bestError){\n\t\t\t\tvariable.bestError = variable.sMs\n\t\t\t\tvariable.Gamma = variable.bestGamma\n\t\t\t}\n\t\t\n\t\t}\n\t}\n\t}\n\t//initializing forecast data\n\tvariable.fS = [] // purge the season array for forecast data\n\tvariable.previousfA = variable.A //equivalent A variable for the forecast calculation\n\tvariable.previousfB = variable.B //equivalent B variable for the forecast calculation\n\n\n\t//calculating forecast data 1st set\n\tif(variable.forecastTrig === undefined) {\n\t\tvariable.forecastTrig = 0\n\t}\n\tif(variable.S.length === sLen && variable.trig === 1 && variable.forecastTrig === 0) {\n\tfor (var j = 0; j < fLen ; j++) {\n\t\tfor(var n = 0; n < sLen; n++) {\n\t\t\tvariable.fY.push((variable.previousfA + variable.Phi * variable.previousfB) * variable.S[n])\n\t\t\tvariable.fA = variable.previousfA + variable.Phi * variable.previousfB\n\t\t\tvariable.fB = variable.Phi * variable.previousfB\n\t\t\tvariable.previousfA = variable.fA\n\t\t\tvariable.previousfB = variable.fB\n\t\t\tif(variable.fY.length > fLen * sLen) {\n\t\t\t\tvariable.fY.splice(0,1)\n\t\t\t}\n\t\t\tvariable.prevfY.push(variable.fY[0])\n\t\t\tif(variable.prevfY.length > fLen * sLen){\n\t\t\tvariable.prevfY.splice(0,1)\n\t\t\t}\n\n\t\t}\n\t}\n\n\t\tvariable.forecast = variable.fY[0] \n\t\tvariable.forecast5 = 100 * (variable.fY[4] - variable.fY[0])/variable.fY[0]\n\t\tvariable.forecast10 = 100 * (variable.fY[9] - variable.fY[0])/variable.fY[0]\n\t\tvariable.forecast20 = 100 * (variable.fY[19] - variable.fY[0])/variable.fY[0]\n\t\tvariable.forecast30 = 100 * (variable.fY[29] - variable.fY[0])/variable.fY[0]\n\t\tvariable.SW = 1\n\n\t \n\t} else {\n\t\tvariable.forecast = 0 \n\t\tvariable.forecast5 = 0\n\t\tvariable.forecast10 = 0\n\t\tvariable.forecast20 = 0\n\t\tvariable.forecast30 = 0\n\t}\n//Forecast optimization after 1st data set\n\n\tif(variable.prevfY.length === sLen * fLen && variable.trig === 1 && variable.forecastTrig === 1 && variable.SW === 1) {\n\t\t//initialising best parameters calculation\n\t\t//calculate the value for Mean Absolute Scale Error with seasonal period influence\n\t\t//Calculation of the stable measure of the scale of the training time serie i.e. candle.close on the desired forecast number of periods minus season number of periods\n\t\tvariable.sumY = 0\n\t\tvariable.totalQT = 0\n\t\tfor(var i = sLen + 1 ; i < fLen * sLen ; i++) {\n\t\t\tvariable.sumY = variable.sumY + Math.abs(variable.last30Candles[i] - variable.last30Candles[i-sLen])\n\t\t}\n\t\tvariable.Q = variable.sumY / (fLen * sLen - sLen)\n\t\tfor(var i = 0 ; i < variable.prevfY.length ; i++) {\n\t\t\tvariable.totalQT = variable.totalQT + (variable.last30Candles[i] - variable.prevfY[i])/variable.Q\n\t\t}\n\t\tvariable.MASE = Math.abs(variable.totalQT / variable.prevfY.length)\n\t\t\n\t\tvariable.MbestAlpha = 0\n\t\tvariable.MbestBeta = variable.Beta\n\t\tvariable.MbestPhi = variable.Phi\n\t\tvariable.MbestGamma = variable.Gamma\n\t\tvariable.bestError = variable.MASE\n\t//Alpha optimization\n\t\tfor(var i = 0 ; i < Iter ; i++) {\n\t\t\n\t\t\tvariable.sS = []\n\t\t\tvariable.sError = []\n\t\t\tvariable.MbestAlpha = variable.MbestAlpha +(1 - i/Iter)\n\t\t\tvariable.sS[0] = variable.S[0]\n\t\t\tvariable.previoussA = variable.last31A[0]\n\t\t\tvariable.previoussB = variable.last31B[0]\n\n\t\t\tfor(var j=0 ; j < sLen ; j++) {\n\t\t\t\tvariable.sY = (variable.previoussA + variable.MbestPhi * variable.previoussB) * variable.sS[0]\n\t\t\t\tvariable.sA = variable.MbestAlpha * variable.sY / variable.sS[0] + (1 - variable.MbestAlpha) * (variable.previoussA + variable.MbestPhi * variable.previoussB)\n\t\t\t\tvariable.sB = variable.MbestBeta * (variable.sA - variable.previoussA) + (1 - variable.MbestBeta) * variable.MbestPhi * variable.previoussB\n\t\t\t\tvariable.sS.push(variable.MbestGamma * variable.sY / variable.sA + (1 - variable.MbestGamma) * variable.sS[0])\n\t\t\t\tvariable.previoussA = variable.sA\n\t\t\t\tvariable.previoussB = variable.sB\n\t\t\t}\n\t\tvariable.sumY = 0\n\t\tvariable.totalQT = 0\n\t\tfor(var i = sLen + 1 ; i < fLen * sLen ; i++) {\n\t\t\tvariable.sumY = variable.sumY + Math.abs(variable.last30Candles[i] - variable.last30Candles[i-sLen])\n\t\t}\n\t\tvariable.Q = variable.sumY / (fLen * sLen - sLen)\n\t\tfor(var i = 0 ; i < variable.prevfY.length ; i++) {\n\t\t\tvariable.totalQT = variable.totalQT + (variable.last30Candles[i] - variable.prevfY[i])/variable.Q\n\t\t}\n\t\t\tvariable.sMS = Math.abs(variable.totalQT / variable.prevfY.length)\n\t\t\tif(variable.sMS < variable.bestError){\n\t\t\t\tvariable.bestError = variable.sMs\n\t\t\t\tvariable.MAlpha = variable.MbestAlpha\n\t\t\t\tvariable.Alpha = variable.MbestAlpha\n\t\t\t}\n\t\t\n\t\t}\n\tvariable.bestError = variable.MS\n\tvariable.MbestBeta = 0\n\t//Beta optimization\n\tfor(var i = 0 ; i < Iter ; i++) {\n\t\t\n\t\t\tvariable.sS = []\n\t\t\tvariable.sError = []\n\t\t\tvariable.MbestBeta = variable.MbestBeta +(1 - i/Iter)\n\t\t\tvariable.sS[0] = variable.S[0]\n\t\t\tvariable.previoussA = variable.last31A[0]\n\t\t\tvariable.previoussB = variable.last31B[0]\n\n\t\t\tfor(var j=0 ; j < sLen ; j++) {\n\t\t\t\tvariable.sY = (variable.previoussA + variable.MbestPhi * variable.previoussB) * variable.sS[0]\n\t\t\t\tvariable.sA = variable.MbestAlpha * variable.sY / variable.sS[0] + (1 - variable.MbestAlpha) * (variable.previoussA + variable.MbestPhi * variable.previoussB)\n\t\t\t\tvariable.sB = variable.MbestBeta * (variable.sA - variable.previoussA) + (1 - variable.MbestBeta) * variable.MbestPhi * variable.previoussB\n\t\t\t\tvariable.sS.push(variable.MbestGamma * variable.sY / variable.sA + (1 - variable.MbestGamma) * variable.sS[0])\n\t\t\t\tvariable.previoussA = variable.sA\n\t\t\t\tvariable.previoussB = variable.sB\n\t\t\t}\n\t\tvariable.sumY = 0\n\t\tvariable.totalQT = 0\n\t\tfor(var i = sLen + 1 ; i < fLen * sLen ; i++) {\n\t\t\tvariable.sumY = variable.sumY + Math.abs(variable.last30Candles[i] - variable.last30Candles[i-sLen])\n\t\t}\n\t\tvariable.Q = variable.sumY / (fLen * sLen - sLen)\n\t\tfor(var i = 0 ; i < variable.prevfY.length ; i++) {\n\t\t\tvariable.totalQT = variable.totalQT + (variable.last30Candles[i] - variable.prevfY[i])/variable.Q\n\t\t}\n\t\t\tvariable.sMS = Math.abs(variable.totalQT / variable.prevfY.length)\n\t\t\tif(variable.sMS < variable.bestError){\n\t\t\t\tvariable.bestError = variable.sMs\n\t\t\t\tvariable.MBeta = variable.MbestBeta\n\t\t\t\tvariable.Beta = variable.MbestBeta\n\t\t\t}\n\t\t\n\t\t}\n\tvariable.bestError = variable.MS\n\tvariable.MbestGamma = 0\n\t//Gamma optimization\n\tfor(var i = 0 ; i < Iter ; i++) {\n\t\t\n\t\t\tvariable.sS = []\n\t\t\tvariable.sError = []\n\t\t\tvariable.MbestGamma = variable.MbestGamma +(1 - i/Iter)\n\t\t\tvariable.sS[0] = variable.S[0]\n\t\t\tvariable.previoussA = variable.last31A[0]\n\t\t\tvariable.previoussB = variable.last31B[0]\n\n\t\t\tfor(var j=0 ; j < sLen ; j++) {\n\t\t\t\tvariable.sY = (variable.previoussA + variable.MbestPhi * variable.previoussB) * variable.sS[0]\n\t\t\t\tvariable.sA = variable.MbestAlpha * variable.sY / variable.sS[0] + (1 - variable.MbestAlpha) * (variable.previoussA + variable.MbestPhi * variable.previoussB)\n\t\t\t\tvariable.sB = variable.MbestBeta * (variable.sA - variable.previoussA) + (1 - variable.MbestBeta) * variable.MbestPhi * variable.previoussB\n\t\t\t\tvariable.sS.push(variable.MbestGamma * variable.sY / variable.sA + (1 - variable.MbestGamma) * variable.sS[0])\n\t\t\t\tvariable.previoussA = variable.sA\n\t\t\t\tvariable.previoussB = variable.sB\n\t\t\t}\n\t\tvariable.sumY = 0\n\t\tvariable.totalQT = 0\n\t\tfor(var i = sLen + 1 ; i < fLen * sLen ; i++) {\n\t\t\tvariable.sumY = variable.sumY + Math.abs(variable.last30Candles[i] - variable.last30Candles[i-sLen])\n\t\t}\n\t\tvariable.Q = variable.sumY / (fLen * sLen - sLen)\n\t\tfor(var i = 0 ; i < variable.prevfY.length ; i++) {\n\t\t\tvariable.totalQT = variable.totalQT + (variable.last30Candles[i] - variable.prevfY[i])/variable.Q\n\t\t}\n\t\t\tvariable.sMS = Math.abs(variable.totalQT / variable.prevfY.length)\n\t\t\tif(variable.sMS < variable.bestError){\n\t\t\t\tvariable.bestError = variable.sMs\n\t\t\t\tvariable.MGamma = variable.MbestGamma\n\t\t\t\tvariable.Gamme = variable.MbestGamma\n\t\t\t}\n\t\t\n\t\t}\n\tvariable.bestError = variable.MS\n\tvariable.MbestPhi = 0.8\n\t\t\t\n\t\t//Phi optimization\n\t\tfor(var i = 0 ; i < Iter ; i++) {\n\t\t\n\t\t\tvariable.sS = []\n\t\t\tvariable.sError = []\n\t\t\tvariable.MbestPhi = variable.MbestPhi +(1 - (i/Iter) * 0.2)\n\t\t\tvariable.sS[0] = variable.S[0]\n\t\t\tvariable.previoussA = variable.last31A[0]\n\t\t\tvariable.previoussB = variable.last31B[0]\n\n\t\t\tfor(var j=0 ; j < sLen ; j++) {\n\t\t\t\tvariable.sY = (variable.previoussA + variable.MbestPhi * variable.previoussB) * variable.sS[0]\n\t\t\t\tvariable.sA = variable.MbestAlpha * variable.sY / variable.sS[0] + (1 - variable.MbestAlpha) * (variable.previoussA + variable.MbestPhi * variable.previoussB)\n\t\t\t\tvariable.sB = variable.MbestBeta * (variable.sA - variable.previoussA) + (1 - variable.MbestBeta) * variable.MbestPhi * variable.previoussB\n\t\t\t\tvariable.sS.push(variable.MbestGamma * variable.sY / variable.sA + (1 - variable.MbestGamma) * variable.sS[0])\n\t\t\t\tvariable.previoussA = variable.sA\n\t\t\t\tvariable.previoussB = variable.sB\n\t\t\t}\n\t\tvariable.sumY = 0\n\t\tvariable.totalQT = 0\n\t\tfor(var i = sLen + 1 ; i < fLen * sLen ; i++) {\n\t\t\tvariable.sumY = variable.sumY + Math.abs(variable.last30Candles[i] - variable.last30Candles[i-sLen])\n\t\t}\n\t\tvariable.Q = variable.sumY / (fLen * sLen - sLen)\n\t\tfor(var i = 0 ; i < variable.prevfY.length ; i++) {\n\t\t\tvariable.totalQT = variable.totalQT + (variable.last30Candles[i] - variable.prevfY[i])/variable.Q\n\t\t}\n\t\t\tvariable.sMS = Math.abs(variable.totalQT / variable.prevfY.length)\n\t\t\tif(variable.sMS < variable.bestError){\n\t\t\t\tvariable.bestError = variable.sMs\n\t\t\t\tvariable.MPhi = variable.MbestPhi\n\t\t\t\tvariable.Phi = variable.MbestPhi\n\t\t\t}\n\t\t\n\t\t}\n\t}\n\t//calculating forecast data after 1st set\n\tif(variable.S.length === sLen && variable.trig === 1 && variable.forecastTrig === 1) {\n\tfor (var j = 0; j < fLen ; j++) {\n\t\tfor(var n = 0; n < sLen; n++) {\n\t\t\tvariable.fY.push((variable.previousfA + variable.MPhi * variable.previousfB) * variable.S[n])\n\t\t\tvariable.fA = variable.previousfA + variable.MPhi * variable.previousfB\n\t\t\tvariable.fB = variable.MPhi * variable.previousfB\n\t\t\tvariable.previousfA = variable.fA\n\t\t\tvariable.previousfB = variable.fB\n\t\t\tif(variable.fY.length > fLen * sLen) {\n\t\t\t\tvariable.fY.splice(0,1)\n\t\t\t}\n\t\t\tvariable.prevfY.push(variable.fY[0])\n\t\t\tif(variable.prevfY.length > fLen * sLen){\n\t\t\tvariable.prevfY.splice(0,1)\n\t\t\t}\n\t\t}\n\t}\n\n\t\tvariable.forecast = variable.fY[0] \n\t\tvariable.forecast5 = 100 * (variable.fY[4] - variable.fY[0])/variable.fY[0]\n\t\tvariable.forecast10 = 100 * (variable.fY[9] - variable.fY[0])/variable.fY[0]\n\t\tvariable.forecast20 = 100 * (variable.fY[19] - variable.fY[0])/variable.fY[0]\n\t\tvariable.forecast30 = 100 * (variable.fY[29] - variable.fY[0])/variable.fY[0]\n\t\t\n\n\t \n\t} else {\n\t\tvariable.forecast = 0 \n\t\tvariable.forecast5 = 0\n\t\tvariable.forecast10 = 0\n\t\tvariable.forecast20 = 0\n\t\tvariable.forecast30 = 0\n\t}\n\t//identifying max and min forecast value until the value used to calculate the first member of the array is out of scope\n\t//The idea is to frame the forecast value by the corresponding min and max at the same distance\nvariable.lastForecast5.push(variable.forecast5)\nif(variable.lastForecast5.length > 5){\n variable.lastForecast5.splice(0,1)\n}\nvariable.maxForecast5 = Math.max.apply(Math,variable.lastForecast5)\nvariable.minForecast5 = Math.min.apply(Math,variable.lastForecast5)\n\nvariable.lastForecast10.push(variable.forecast10)\nif(variable.lastForecast10.length > 10){\n variable.lastForecast10.splice(0,1)\n}\nvariable.maxForecast10 = Math.max.apply(Math,variable.lastForecast10)\nvariable.minForecast10 = Math.min.apply(Math,variable.lastForecast10)\n\nvariable.lastForecast20.push(variable.forecast20)\nif(variable.lastForecast20.length > 10){\n variable.lastForecast20.splice(0,1)\n}\nvariable.maxForecast20 = Math.max.apply(Math,variable.lastForecast20)\nvariable.minForecast20 = Math.min.apply(Math,variable.lastForecast20)\n\nvariable.lastForecast30.push(variable.forecast30)\nif(variable.lastForecast30.length > 30){\n variable.lastForecast30.splice(0,1)\n}\nvariable.maxForecast30 = Math.max.apply(Math,variable.lastForecast30)\nvariable.minForecast30 = Math.min.apply(Math,variable.lastForecast30)\n\n//calculate time for forecast\nvariable.T5Begin = candle.begin + (candle.end - candle.begin) * 5\nvariable.T5End = candle.end + (candle.end - candle.begin) * 5\nvariable.T10Begin = candle.begin + (candle.end - candle.begin) * 10\nvariable.T10End = candle.end + (candle.end - candle.begin) * 10\nvariable.T20Begin = candle.begin + (candle.end - candle.begin) * 20\nvariable.T20End = candle.end + (candle.end - candle.begin) * 20\nvariable.T30Begin = candle.begin + (candle.end - candle.begin) * 30\nvariable.T30End = candle.end + (candle.end - candle.begin) * 30\n\t// End of code :-)", "project": "Foundations", - "id": "aa7a9fa4-0f75-4a43-98f0-ce7fcc8a5601", + "id": "f5328976-cfdf-4082-a4a2-bcfdefb7d845", "savedPayload": { "position": { "x": 16576.238597598982, @@ -17015,7 +17015,7 @@ "uiObject": {} } }, - "id": "a76fab6e-bdb3-4072-8141-aa97256b4935", + "id": "74de6d35-c80f-49e5-9530-b50844dd842e", "savedPayload": { "position": { "x": 16840.741961130596, @@ -17047,7 +17047,7 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\nvariable.lastClose = []\nvariable.S = []\nvariable.fY = []\nvariable.Errors = []\nvariable.lastClose2x = []\nvariable.lastForecast5 = []\nvariable.lastForecast10 = []\nvariable.lastForecast20 = []\nvariable.lastForecast30 = []\nvariable.prevfY = []\nvariable.last30Candles = []\nvariable.last31A = []\nvariable.last31B = []", "project": "Foundations", - "id": "1a94e2a9-b7ad-477d-93c9-748d124f9541", + "id": "b444d13f-6710-45c8-893a-e4631df89f8c", "savedPayload": { "position": { "x": 17598.538049923958, @@ -17068,7 +17068,7 @@ "uiObject": {} } }, - "id": "5bc733d9-a73d-491e-8a39-0372970bbd01", + "id": "fd6efda4-d9a3-466d-a872-bf770805956c", "savedPayload": { "position": { "x": 17552.78017757793, @@ -17091,7 +17091,7 @@ } } }, - "id": "1728d5b3-4367-4159-af9a-8d16622ec300", + "id": "b43d0e05-b024-4f53-830b-e7aa95a0612f", "savedPayload": { "position": { "x": 17369.74868819382, @@ -17114,7 +17114,7 @@ } } }, - "id": "231e7990-a720-4c54-97ae-92b5a4f9f950", + "id": "61b8d866-9b23-4c40-84ab-107d1cb8063c", "savedPayload": { "position": { "x": 17557.899922075598, @@ -17138,16 +17138,16 @@ "referenceParent": { "type": "Plotter Module", "name": "Holt-Winters 2", - "id": "28d3bf0a-f89f-4234-bbb3-30c73af05ba3" + "id": "f003ac87-ac7e-4ae2-a185-c44a91ab1748" } } } ], - "id": "7533353c-c60c-4395-b8da-36daf661261e", + "id": "38947b55-dddd-40a2-a179-6027d3ed4d7b", "savedPayload": { "position": { - "x": 17550.585594407272, - "y": 10095.507762737428 + "x": 17582.779391774216, + "y": 10139.896257010185 }, "targetPosition": { "x": 18051.878281255034, @@ -17186,7 +17186,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market On-Balance-Volume Integral", "project": "Foundations", - "id": "188e52d2-35bf-4d40-80c1-aab0c55b3bee", + "id": "a59262f5-dcf7-47da-9d97-3d63709b7893", "savedPayload": { "position": { "x": 17737.86180006144, @@ -17208,13 +17208,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "244cf242-d972-4638-9ae5-17ece85cc061" + "id": "dd90b1b9-b838-4ed4-8e16-af29642636c6" } } } ], "outputDatasetFolders": [], - "id": "2394d2ea-28c2-4c89-a3ee-db437301cdb3", + "id": "6b3d3556-bbc6-4b5a-aa0a-2851865b84c3", "savedPayload": { "position": { "x": 17448.386151177125, @@ -17247,7 +17247,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "2d60e053-6768-4b7c-b34d-0a798b25b71f", + "id": "8c748ec3-e9fc-41f1-96b2-4b58d6b60fe9", "savedPayload": { "position": { "x": 18159.43397724719, @@ -17278,7 +17278,7 @@ "name": "On-Balance-Volume Integral Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "1a58372b-d099-4b38-b13f-f07c462a2465", + "id": "c0dbd440-af1b-459d-b3d6-a6829be74fb5", "savedPayload": { "position": { "x": 17562.09882553749, @@ -17300,7 +17300,7 @@ "referenceParent": { "type": "Status Report", "name": "Market-OBV Integral", - "id": "fd47e80c-0e66-4e46-9099-cc1d6ca1a2a7" + "id": "d7577c22-2141-4dd8-b646-dd22e5a57259" } } } @@ -17310,7 +17310,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "996cbb15-ac70-4f45-85d8-4159dcd6088a", + "id": "8cf79a61-fd90-4fbb-aea1-57218194fce3", "savedPayload": { "position": { "x": 17286.587191707942, @@ -17340,7 +17340,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Market", "project": "Foundations", - "id": "46f01c0d-d4db-4169-918b-acaf86fcba97", + "id": "7a2ed529-f4bf-441e-bd89-11ec8e8a3f5f", "savedPayload": { "position": { "x": 17041.37743522835, @@ -17368,7 +17368,7 @@ } ], "dataMineDataDependencies": [], - "id": "66e00956-6532-4dba-ad49-c3b833b40fd3", + "id": "58314f3a-64ff-4223-be31-b4054501a5a2", "savedPayload": { "position": { "x": 17140.78715435391, @@ -17395,7 +17395,7 @@ "type": "Status Report", "name": "Market-OBV Integral", "project": "Foundations", - "id": "fd47e80c-0e66-4e46-9099-cc1d6ca1a2a7", + "id": "d7577c22-2141-4dd8-b646-dd22e5a57259", "savedPayload": { "position": { "x": 16848.507813786215, @@ -17420,7 +17420,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "e3545771-647d-44e2-8563-6e20fb355d5f", + "id": "594a3ff9-5b5f-436f-a7b2-cb11644a0598", "savedPayload": { "position": { "x": 16896.13500462274, @@ -17450,7 +17450,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "bc032c15-09dc-40cf-9794-3f93ac65b11d", + "id": "b293f8c0-d04f-4c85-b5e7-215b1119ccc5", "savedPayload": { "position": { "x": 16858.971333597354, @@ -17471,15 +17471,15 @@ "uiObject": {} } }, - "id": "60057a3c-b652-463f-a6c9-df4801b9a97b", + "id": "a051e946-012e-46c9-b955-f6b29e4ae032", "savedPayload": { "position": { - "x": 17234.49175173907, - "y": 10514.799134112336 + "x": 17313.129523340485, + "y": 10592.462617550502 }, "targetPosition": { - "x": 17488.06270878349, - "y": 9971.014461890347 + "x": 17511.296960513584, + "y": 10026.13261936548 }, "floatingObject": { "isPinned": false, @@ -17508,7 +17508,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily On-Balance-Volume Integral", "project": "Foundations", - "id": "3ef0df95-a06e-46ca-a5cb-5606a2a44098", + "id": "3be03ad3-c0d1-4458-872c-b99705efacb4", "savedPayload": { "position": { "x": 16552.887143644024, @@ -17530,13 +17530,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "71f4a5af-27d3-4413-b157-a3db2cb7039c" + "id": "a6b5949b-8f6f-44a5-aa9b-14dc6db6bcd8" } } } ], "outputDatasetFolders": [], - "id": "deaefe94-e884-4b3c-855a-68601d3a84c6", + "id": "6f550b0e-fa96-45ba-ab40-77a143fe876c", "savedPayload": { "position": { "x": 16719.817621993898, @@ -17569,7 +17569,7 @@ "name": "On-Balance-Volume Integral Multi-Time-Frame-Daily", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "1d5c5c80-8827-4eab-97c1-4f5c3b1b3200", + "id": "a9ba801c-b616-482c-b34f-6b655fde131b", "savedPayload": { "position": { "x": 16695.857548785505, @@ -17591,7 +17591,7 @@ "referenceParent": { "type": "Status Report", "name": "Daily OBV Span", - "id": "e3b08d7f-db20-4869-9df7-1e302f977abd" + "id": "3d7ad4f8-f2cb-41b2-b4b2-ea88d3665c20" } } }, @@ -17600,7 +17600,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "088182a9-6c64-44d6-b865-0cd3f9934484", + "id": "b09cbc4c-41d8-4c86-ac85-a85c2d6424b6", "savedPayload": { "position": { "x": 16539.988090434646, @@ -17631,7 +17631,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{\n \"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "79e25729-4f6d-46b2-9274-293dc93fab16", + "id": "8f5c930e-e41f-4213-aa39-d983d7cf2395", "savedPayload": { "position": { "x": 16393.42360237151, @@ -17663,7 +17663,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "374e08eb-4206-4e94-9301-cae040f5bb55", + "id": "dda35d2a-2f58-4d1c-a2ff-12c5f6c9816a", "savedPayload": { "position": { "x": 16266.152212248331, @@ -17693,7 +17693,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Daily", "project": "Foundations", - "id": "dec59d50-5e72-456a-a606-b6162223ad8c", + "id": "22597585-a463-42d8-977d-64976d45abfd", "savedPayload": { "position": { "x": 16166.847254976088, @@ -17721,7 +17721,7 @@ } ], "dataMineDataDependencies": [], - "id": "b666fd87-54fe-4d56-a8f6-6dd671c5d9f0", + "id": "03510897-5238-4aec-804d-a8155e82ea42", "savedPayload": { "position": { "x": 16454.026631937482, @@ -17748,7 +17748,7 @@ "type": "Status Report", "name": "Daily OBV Span", "project": "Foundations", - "id": "e3b08d7f-db20-4869-9df7-1e302f977abd", + "id": "3d7ad4f8-f2cb-41b2-b4b2-ea88d3665c20", "savedPayload": { "position": { "x": 16595.465555115956, @@ -17773,7 +17773,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "a6cf0014-5704-4481-bd48-81da13dce603", + "id": "9edf7b91-182b-419f-a51e-e1dd45663992", "savedPayload": { "position": { "x": 16598.59266685436, @@ -17803,7 +17803,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "23e663af-a651-4311-a45e-60b8041f5ac4", + "id": "0642f52f-681e-4ba8-881e-ea7b480aaf25", "savedPayload": { "position": { "x": 16678.930794290893, @@ -17824,15 +17824,15 @@ "uiObject": {} } }, - "id": "0c805179-25b1-42ff-8cc2-7f6e2744d556", + "id": "e6419d36-6aa2-472c-b6ec-1fa82d1c485e", "savedPayload": { "position": { - "x": 16924.247136311948, - "y": 10176.226547885748 + "x": 16970.715639772134, + "y": 10286.462862836015 }, "targetPosition": { - "x": 17488.06270878349, - "y": 9971.014461890347 + "x": 17511.296960513584, + "y": 10026.13261936548 }, "floatingObject": { "isPinned": false, @@ -17860,15 +17860,15 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "244cf242-d972-4638-9ae5-17ece85cc061", + "id": "dd90b1b9-b838-4ed4-8e16-af29642636c6", "savedPayload": { "position": { - "x": 16442.043684788652, - "y": 10162.590967066924 + "x": 16641.60770536983, + "y": 10628.654875054086 }, "targetPosition": { - "x": 16781.42904230814, - "y": 9329.033783004927 + "x": 16661.801963236052, + "y": 9728.88146360583 }, "floatingObject": { "isPinned": false, @@ -17886,15 +17886,15 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "71f4a5af-27d3-4413-b157-a3db2cb7039c", + "id": "a6b5949b-8f6f-44a5-aa9b-14dc6db6bcd8", "savedPayload": { "position": { - "x": 15883.793207585799, - "y": 9263.84246285934 + "x": 15799.826228219616, + "y": 9987.720858294648 }, "targetPosition": { - "x": 16781.42904230814, - "y": 9329.033783004927 + "x": 16661.801963236052, + "y": 9728.88146360583 }, "floatingObject": { "isPinned": false, @@ -17923,7 +17923,7 @@ "name": "New Record Formula", "code": "record.current.begin", "project": "Foundations", - "id": "ff2fc6e0-73a4-4740-a8aa-f3a016e19ce4", + "id": "e9f2413f-9dcd-4690-be0e-c0192a4c83f2", "savedPayload": { "position": { "x": 15833.460667885756, @@ -17944,7 +17944,7 @@ "uiObject": {} } }, - "id": "ab054fb7-ee80-4919-915f-766eb2af103d", + "id": "53aa97a3-2dc0-42b5-97bf-db8c8872bd2c", "savedPayload": { "position": { "x": 16066.262684265703, @@ -17977,7 +17977,7 @@ "name": "New Record Formula", "code": "record.current.end", "project": "Foundations", - "id": "f7584067-70de-4d54-9a56-986c6001fddc", + "id": "976458ce-8a94-4900-926b-b281611b433f", "savedPayload": { "position": { "x": 15422.67842188225, @@ -17998,7 +17998,7 @@ "uiObject": {} } }, - "id": "8f8aa8b0-7820-4bac-b969-ce585aac1006", + "id": "95ef8b36-edb2-4995-b827-217b59cd4207", "savedPayload": { "position": { "x": 15860.87156126395, @@ -18031,7 +18031,7 @@ "name": "New Record Formula", "code": "variable.Norm", "project": "Foundations", - "id": "89cd02b0-5a20-4ae3-b1f2-364371470e04", + "id": "3e2cbc38-2c95-4bfb-8264-b84194388657", "savedPayload": { "position": { "x": 16223.03222585572, @@ -18052,7 +18052,7 @@ "uiObject": {} } }, - "id": "57a09601-1430-467a-ad2e-b69a8053c3ea", + "id": "593676f2-ca9f-4d69-b554-c2a29bae6605", "savedPayload": { "position": { "x": 16261.048463250685, @@ -18085,7 +18085,7 @@ "name": "New Record Formula", "code": "variable.Norm3", "project": "Foundations", - "id": "cd952b49-6a9d-4586-a9e0-b1061cbabe12", + "id": "6d1c5318-4e2c-4b65-a294-01e5f54ec4fd", "savedPayload": { "position": { "x": 17128.460325740103, @@ -18106,7 +18106,7 @@ "uiObject": {} } }, - "id": "7adfa0d1-92e3-4a46-9d31-c5243c1583ed", + "id": "deaba2ec-3ecf-4de9-a986-2a9028be19a1", "savedPayload": { "position": { "x": 16713.762513192876, @@ -18130,15 +18130,15 @@ } } ], - "id": "8c67bff5-e281-4062-aa55-49e207f4b365", + "id": "702f895b-b4ad-48a4-b172-1c6349760880", "savedPayload": { "position": { - "x": 16543.99093246038, - "y": 8946.773212200242 + "x": 16303.77091623925, + "y": 9456.275943877463 }, "targetPosition": { - "x": 16781.42904230814, - "y": 9329.033783004927 + "x": 16661.801963236052, + "y": 9728.88146360583 }, "floatingObject": { "isPinned": false, @@ -18164,17 +18164,17 @@ "procedureJavascriptCode": { "type": "Procedure Javascript Code", "name": "New Procedure Javascript Code", - "code": "/* Loop Code */\n\nlet candle = record.current\nlet volume = getElement('volumes', candle)\nlet K = 2\nlet Len = 10 //number of period for integral calculation\nlet Len3 = 3\nlet Len5 = 5\nlet Len15 = 15\nlet Len20 = 20\n\nvariable.CDL = candle.close\n\nif (variable.previousVEma20 === undefined) {\nvariable.previousVEma20 = volume.buy + volume.sell\n}\n\nif (variable.previousVEma3 === undefined) {\nvariable.previousVEma3 = volume.buy + volume.sell\n}\n\nif (variable.previousVEma5 === undefined) {\nvariable.previousVEma5 = volume.buy + volume.sell\n}\n\nif (variable.previousVEma10 === undefined) {\nvariable.previousVEma10 = volume.buy + volume.sell\n}\n\n//build candle close array\nvariable.cdClose.push(candle.close)\n\n//keep the array to the right size\nif (variable.cdClose.length > K) {\n variable.cdClose.splice(0, 1)\n}\n\n//manage Previous On balance value\n\nif (variable.previousOnBV === undefined) {\n\tvariable.previousOnBV = 0\n}\n\n//procedure for OBV calculation\nif (variable.cdClose[1] > variable.cdClose[0]) {\n\tvariable.OnBV = variable.previousOnBV + volume.buy + volume.sell\n\t}\n\nif (variable.cdClose[1] === variable.cdClose[0]) {\n\tvariable.OnBV = variable.previousOnBV\n\t}\nif (variable.cdClose[1] < variable.cdClose[0]) {\n\tvariable.OnBV = variable.previousOnBV - (volume.buy + volume.sell)\n\t}\n\n//manage NaN and undefined\nif (variable.OnBV === undefined || isNaN(variable.OnBV)) {\n\tvariable.OBV = 0\n\tvariable.previousOnBV = 0\n}\nelse {\n\tvariable.OBV = variable.OnBV\n\tvariable.previousOnBV = variable.OnBV\n}\n\n// Calculate On balance Volume EMA3\nvariable.VEma3 = calculateVEMA(3, variable.OBV, variable.previousVEma3)\nvariable.previousVEma3 = variable.VEma3\n\n// Calculate On balance Volume EMA5\nvariable.VEma5 = calculateVEMA(5, variable.OBV, variable.previousVEma5)\nvariable.previousVEma5 = variable.VEma5\n\n// Calculate On balance Volume EMA10\nvariable.VEma10 = calculateVEMA(10, variable.OBV, variable.previousVEma10)\nvariable.previousVEma10 = variable.VEma10\n\n// Calculate On balance Volume EMA20\nvariable.VEma20 = calculateVEMA(20, variable.OBV, variable.previousVEma20)\nvariable.previousVEma20 = variable.VEma20\n\nif(variable.VEma3 > variable.previousVEma3) {\n\tvariable.IntVEma3 = (variable.VEma3 - variable.previousVEma3)/2 + variable.previousVEma3\n}\nif(variable.VEma3 < variable.previousVEma3) {\n\tvariable.IntVEma3 = (variable.previousVEma3 - variable.VEma3)/2 + variable.VEma3\n}\nif(variable.VEma3 = variable.previousVEma3){\n\tvariable.IntVEma3 = variable.VEma3 * 2\n}\nif(variable.VEma20 > variable.previousVEma20) {\n\tvariable.IntVEma20 = (variable.VEma20 - variable.previousVEma20)/2 + variable.previousVEma20\n}\nif(variable.VEma20 < variable.previousVEma20) {\n\tvariable.IntVEma20 = (variable.previousVEma20 - variable.VEma20)/2 + variable.VEma20\n}\nif(variable.VEma20 = variable.previousVEma20){\n\tvariable.IntVEma20 = variable.VEma20 * 2\n}\n\nif(variable.VEma3 > variable.VEma20){\n\tvariable.IntPos.push(variable.IntVEma3 - variable.IntVEma20)\n\tvariable.IntNeg.push(0)\n\tif(variable.IntPos.length > Len) {\n\t\tvariable.IntPos.splice(0,1)\n\t}\n\tif(variable.IntNeg.length > Len) {\n\t\tvariable.IntNeg.splice(0,1)\n\t}\n\tvariable.IntPos3.push(variable.IntVEma3 - variable.IntVEma20)\n\tvariable.IntNeg3.push(0)\n\tif(variable.IntPos3.length > Len3) {\n\t\tvariable.IntPos3.splice(0,1)\n\t}\n\tif(variable.IntNeg3.length > Len3) {\n\t\tvariable.IntNeg3.splice(0,1)\n\t}\n}\n\nif(variable.VEma3 < variable.VEma20){\n\tvariable.IntPos.push(0)\n\tvariable.IntNeg.push(variable.IntVEma20- variable.IntVEma3)\n\tif(variable.IntPos.length > Len) {\n\t\tvariable.IntPos.splice(0,1)\n\t}\n\tif(variable.IntNeg.length > Len) {\n\t\tvariable.IntNeg.splice(0,1)\n\t}\n\tvariable.IntPos3.push(0)\n\tvariable.IntNeg3.push(variable.IntVEma20- variable.IntVEma3)\n\tif(variable.IntPos3.length > Len3) {\n\t\tvariable.IntPos3.splice(0,1)\n\t}\n\tif(variable.IntNeg3.length > Len3) {\n\t\tvariable.IntNeg3.splice(0,1)\n\t}\n}\nvariable.tNeg = 0\nvariable.tPos = 0\nfor(var i = 0 ; i < Len ; i++) {\n\tvariable.tNeg = variable.tNeg + variable.IntNeg[i]\n\tvariable.tPos = variable.tPos + variable.IntPos[i]\n}\n\nif(variable.IntNeg.length < Len || variable.IntPos.length < Len){\n\tvariable.Norm = 0\n}\nelse {\nvariable.Norm = (variable.tPos - variable.tNeg) / (variable.tPos + variable.tNeg)\n}\n\nvariable.tNeg3 = 0\nvariable.tPos3 = 0\nfor(var i = 0 ; i < Len3 ; i++) {\n\tvariable.tNeg3 = variable.tNeg3 + variable.IntNeg3[i]\n\tvariable.tPos3 = variable.tPos3 + variable.IntPos3[i]\n}\n\nif(variable.IntNeg3.length < Len3 || variable.IntPos3.length < Len3){\n\tvariable.Norm3 = 0\n}\nelse {\nvariable.Norm3 = (variable.tPos3 - variable.tNeg3) / (variable.tPos3 + variable.tNeg3)\n}\n\n//On Balance Volume EMA calculation\nfunction calculateVEMA(periods, price, previousVEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousVEMA * (1-k)\n}\n\n\n\n// End of code :-)", + "code": "/* Loop Code */\n\nlet candle = record.current\nlet volume = getElement('volumes', candle)\nlet K = 2\nlet Len = 10 //number of period for integral calculation\nlet Len3 = 3\nlet Len5 = 5\nlet Len15 = 15\nlet Len20 = 20\n\nvariable.CDL = candle.close\n\nif (variable.previousVEma20 === undefined) {\nvariable.previousVEma20 = volume.buy + volume.sell\n}\n\nif (variable.previousVEma3 === undefined) {\nvariable.previousVEma3 = volume.buy + volume.sell\n}\n\nif (variable.previousVEma5 === undefined) {\nvariable.previousVEma5 = volume.buy + volume.sell\n}\n\nif (variable.previousVEma10 === undefined) {\nvariable.previousVEma10 = volume.buy + volume.sell\n}\n\n//build candle close array\nvariable.cdClose.push(candle.close)\n\n//keep the array to the right size\nif (variable.cdClose.length > K) {\n variable.cdClose.splice(0, 1)\n}\n\n//manage Previous On balance value\n\nif (variable.previousOnBV === undefined) {\n\tvariable.previousOnBV = 0\n}\n\n//procedure for OBV calculation\nif (variable.cdClose[1] > variable.cdClose[0]) {\n\tvariable.OnBV = variable.previousOnBV + volume.buy + volume.sell\n\t}\n\nif (variable.cdClose[1] === variable.cdClose[0]) {\n\tvariable.OnBV = variable.previousOnBV\n\t}\nif (variable.cdClose[1] < variable.cdClose[0]) {\n\tvariable.OnBV = variable.previousOnBV - (volume.buy + volume.sell)\n\t}\n\n//manage NaN and undefined\nif (variable.OnBV === undefined || isNaN(variable.OnBV)) {\n\tvariable.OBV = 0\n\tvariable.previousOnBV = 0\n}\nelse {\n\tvariable.OBV = variable.OnBV\n\tvariable.previousOnBV = variable.OnBV\n}\n\n// Calculate On balance Volume EMA3\nvariable.VEma3 = calculateVEMA(3, variable.OBV, variable.previousVEma3)\n\n\n// Calculate On balance Volume EMA5\nvariable.VEma5 = calculateVEMA(5, variable.OBV, variable.previousVEma5)\n\n\n// Calculate On balance Volume EMA10\nvariable.VEma10 = calculateVEMA(10, variable.OBV, variable.previousVEma10)\n\n\n// Calculate On balance Volume EMA20\nvariable.VEma20 = calculateVEMA(20, variable.OBV, variable.previousVEma20)\n\nif(variable.VEma3 > variable.previousVEma3) {\n\tvariable.IntVEma3 = (variable.VEma3 - variable.previousVEma3)/2 + variable.previousVEma3\n}\nif(variable.VEma3 < variable.previousVEma3) {\n\tvariable.IntVEma3 = (variable.previousVEma3 - variable.VEma3)/2 + variable.VEma3\n}\nif(variable.VEma3 === variable.previousVEma3){\n\tvariable.IntVEma3 = variable.VEma3 * 2\n}\nif(variable.VEma20 > variable.previousVEma20) {\n\tvariable.IntVEma20 = (variable.VEma20 - variable.previousVEma20)/2 + variable.previousVEma20\n}\nif(variable.VEma20 < variable.previousVEma20) {\n\tvariable.IntVEma20 = (variable.previousVEma20 - variable.VEma20)/2 + variable.VEma20\n}\nif(variable.VEma20 === variable.previousVEma20){\n\tvariable.IntVEma20 = variable.VEma20 * 2\n}\n\nif(variable.VEma3 > variable.VEma20){\n\tvariable.IntPos.push(variable.IntVEma3 - variable.IntVEma20)\n\tvariable.IntNeg.push(0)\n\tif(variable.IntPos.length > Len) {\n\t\tvariable.IntPos.splice(0,1)\n\t}\n\tif(variable.IntNeg.length > Len) {\n\t\tvariable.IntNeg.splice(0,1)\n\t}\n\tvariable.IntPos3.push(variable.IntVEma3 - variable.IntVEma20)\n\tvariable.IntNeg3.push(0)\n\tif(variable.IntPos3.length > Len3) {\n\t\tvariable.IntPos3.splice(0,1)\n\t}\n\tif(variable.IntNeg3.length > Len3) {\n\t\tvariable.IntNeg3.splice(0,1)\n\t}\n}\n\nif(variable.VEma3 < variable.VEma20){\n\tvariable.IntPos.push(0)\n\tvariable.IntNeg.push(variable.IntVEma20- variable.IntVEma3)\n\tif(variable.IntPos.length > Len) {\n\t\tvariable.IntPos.splice(0,1)\n\t}\n\tif(variable.IntNeg.length > Len) {\n\t\tvariable.IntNeg.splice(0,1)\n\t}\n\tvariable.IntPos3.push(0)\n\tvariable.IntNeg3.push(variable.IntVEma20- variable.IntVEma3)\n\tif(variable.IntPos3.length > Len3) {\n\t\tvariable.IntPos3.splice(0,1)\n\t}\n\tif(variable.IntNeg3.length > Len3) {\n\t\tvariable.IntNeg3.splice(0,1)\n\t}\n}\nvariable.tNeg = 0\nvariable.tPos = 0\nfor(var i = 0 ; i < Len ; i++) {\n\tvariable.tNeg = variable.tNeg + variable.IntNeg[i]\n\tvariable.tPos = variable.tPos + variable.IntPos[i]\n}\n\nif(variable.IntNeg.length < Len || variable.IntPos.length < Len){\n\tvariable.Norm = 0\n}\nelse {\nvariable.Norm = (variable.tPos - variable.tNeg) / (variable.tPos + variable.tNeg)\n}\n\nvariable.tNeg3 = 0\nvariable.tPos3 = 0\nfor(var i = 0 ; i < Len3 ; i++) {\n\tvariable.tNeg3 = variable.tNeg3 + variable.IntNeg3[i]\n\tvariable.tPos3 = variable.tPos3 + variable.IntPos3[i]\n}\n\nif(variable.IntNeg3.length < Len3 || variable.IntPos3.length < Len3){\n\tvariable.Norm3 = 0\n}\nelse {\nvariable.Norm3 = (variable.tPos3 - variable.tNeg3) / (variable.tPos3 + variable.tNeg3)\n}\n\nvariable.previousVEma3 = variable.VEma3\nvariable.previousVEma5 = variable.VEma5\nvariable.previousVEma10 = variable.VEma10\nvariable.previousVEma20 = variable.VEma20\n\n//On Balance Volume EMA calculation\nfunction calculateVEMA(periods, price, previousVEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousVEMA * (1-k)\n}\n\n\n\n// End of code :-)", "project": "Foundations", - "id": "635d8eeb-35bf-405a-82e6-9a6af96fbe88", + "id": "dc10a424-090e-4dfd-84ae-9c89c665b05f", "savedPayload": { "position": { - "x": 16323.270815586042, - "y": 6318.805469125855 + "x": 15161.399135645037, + "y": 7079.320213634571 }, "targetPosition": { - "x": 16519.451104590466, - "y": 6723.791017270651 + "x": 15488.973815049498, + "y": 7387.856806947366 }, "floatingObject": { "isPinned": false, @@ -18187,15 +18187,15 @@ "uiObject": {} } }, - "id": "437b6d54-1d71-4086-b571-e7d4d3ab400c", + "id": "547919df-8914-4bac-b0ac-03026f960175", "savedPayload": { "position": { - "x": 16519.451104590466, - "y": 6723.791017270651 + "x": 15488.973815049498, + "y": 7387.856806947366 }, "targetPosition": { - "x": 16911.811682599313, - "y": 7533.762113560242 + "x": 16144.12317385842, + "y": 8004.929993572956 }, "floatingObject": { "isPinned": false, @@ -18219,15 +18219,15 @@ "name": "New Procedure Javascript Code", "code": "/* Initialization Code*/\n\nvariable.cdClose = []\nvariable.IntPos = []\nvariable.IntNeg = []\nvariable.IntPos3 = []\nvariable.IntNeg3 = []", "project": "Foundations", - "id": "27eac309-54f9-473c-b819-8df94652a11c", + "id": "dc3b5f40-4afa-4fab-a5ed-2dc599095627", "savedPayload": { "position": { - "x": 17227.60871804525, - "y": 7068.274753470239 + "x": 16273.389658988119, + "y": 7457.4846302514525 }, "targetPosition": { - "x": 17164.44931095606, - "y": 7161.37222548824 + "x": 16247.536361962178, + "y": 7566.973702915753 }, "floatingObject": { "isPinned": false, @@ -18240,15 +18240,15 @@ "uiObject": {} } }, - "id": "a0b86f90-7e8d-45be-a85e-adff426f2580", + "id": "adaf8e89-bd51-4a62-af2c-fb248af55da5", "savedPayload": { "position": { - "x": 17164.44931095606, - "y": 7161.37222548824 + "x": 16247.536361962178, + "y": 7566.973702915753 }, "targetPosition": { - "x": 16911.811682599313, - "y": 7533.762113560242 + "x": 16144.12317385842, + "y": 8004.929993572956 }, "floatingObject": { "isPinned": false, @@ -18263,15 +18263,15 @@ } } }, - "id": "2dc2b779-5f8f-4486-a417-6bc5fd813493", + "id": "6585dea8-c528-439b-af82-c5eb340dc226", "savedPayload": { "position": { - "x": 16911.811682599313, - "y": 7533.762113560242 + "x": 16144.12317385842, + "y": 8004.929993572956 }, "targetPosition": { - "x": 16781.42904230814, - "y": 9329.033783004927 + "x": 16661.801963236052, + "y": 9728.88146360583 }, "floatingObject": { "isPinned": false, @@ -18286,15 +18286,15 @@ } } }, - "id": "6fd88cba-d8be-49ce-a767-fa105908badf", + "id": "09d7a3dd-6487-43a7-9629-96676317a226", "savedPayload": { "position": { - "x": 16672.385700450504, - "y": 9590.658026323717 + "x": 16661.801963236052, + "y": 9728.88146360583 }, "targetPosition": { - "x": 17488.06270878349, - "y": 9971.014461890347 + "x": 17511.296960513584, + "y": 10026.13261936548 }, "floatingObject": { "isPinned": false, @@ -18310,16 +18310,16 @@ "referenceParent": { "type": "Plotter Module", "name": "OBV-Integral", - "id": "84165e58-8cd5-4f61-8739-327f30162db0" + "id": "76cf6093-057e-4055-816f-9d6b5fdc2c15" } } } ], - "id": "73924310-047c-4fff-a13a-9e7d1999ae34", + "id": "a1e9bf1d-8042-4f03-8925-13328172d96f", "savedPayload": { "position": { - "x": 17488.06270878349, - "y": 9971.014461890347 + "x": 17511.296960513584, + "y": 10026.13261936548 }, "targetPosition": { "x": 18051.878281255034, @@ -18358,7 +18358,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Market On-Balance-Volume Span", "project": "Foundations", - "id": "e69338c0-7cf1-457d-9e7f-64529a120da6", + "id": "c9306cff-8a31-4bf0-9c4a-2d3c2569b071", "savedPayload": { "position": { "x": 17526.84134862413, @@ -18380,13 +18380,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Market", - "id": "dd09c5ad-1606-4722-933a-e628d0a12638" + "id": "2655beab-134f-4072-b1e9-69da814903d7" } } } ], "outputDatasetFolders": [], - "id": "c28881a8-a581-4380-a35f-81200db3d1b1", + "id": "7780f17e-61b4-4505-80f3-8a30e6995a7d", "savedPayload": { "position": { "x": 17305.31766023652, @@ -18419,7 +18419,7 @@ "name": "Candles Volumes Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "4be7aefe-8048-42ea-87ad-ba8505dcbb71", + "id": "22ed550f-9a54-48f0-ac36-deb7df9482d2", "savedPayload": { "position": { "x": 17597.112960431834, @@ -18450,7 +18450,7 @@ "name": "On-Balance-Volume Span Multi-Time-Frame-Market", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "f1ee85be-b201-4135-a2c8-69e307959e66", + "id": "12773c71-b3ab-4f18-9fe6-417f40f7ae2a", "savedPayload": { "position": { "x": 17028.917449895234, @@ -18472,7 +18472,7 @@ "referenceParent": { "type": "Status Report", "name": "Market-OBV Integral", - "id": "1c0a2ce0-837f-4279-9322-28a02dedc265" + "id": "97ef2eae-6e08-4172-8e76-0ce0b8e6c6d3" } } } @@ -18482,7 +18482,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Market", "project": "Foundations", - "id": "41ef562c-a7cd-4560-9229-4cee1fdce20a", + "id": "14ce2a13-af95-4731-a01c-0f3586b7e4ba", "savedPayload": { "position": { "x": 16753.7385967579, @@ -18512,7 +18512,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Market", "project": "Foundations", - "id": "43adb858-b0c4-432f-acbb-f1e369c13ebb", + "id": "c80425a1-dc2a-4e21-8398-25c777e3e3bb", "savedPayload": { "position": { "x": 16554.806538953348, @@ -18540,7 +18540,7 @@ } ], "dataMineDataDependencies": [], - "id": "a5b5a603-9323-4533-8956-dea7687b023c", + "id": "80f3eca7-f4be-4799-a4e6-35119a322750", "savedPayload": { "position": { "x": 16953.355298472386, @@ -18567,7 +18567,7 @@ "type": "Status Report", "name": "Market-OBV Integral", "project": "Foundations", - "id": "1c0a2ce0-837f-4279-9322-28a02dedc265", + "id": "97ef2eae-6e08-4172-8e76-0ce0b8e6c6d3", "savedPayload": { "position": { "x": 16711.652677087954, @@ -18592,7 +18592,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "3618e084-d7a0-415e-88c0-baa9484d8d3b", + "id": "5ad8c82d-7f80-419c-b17d-8d0b4e839348", "savedPayload": { "position": { "x": 16804.989714580865, @@ -18622,7 +18622,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "90e43950-2795-4548-850e-1a9c0e72c3fb", + "id": "68a00e2a-9dd8-4086-a867-18847b85f79f", "savedPayload": { "position": { "x": 16786.961480274626, @@ -18643,15 +18643,15 @@ "uiObject": {} } }, - "id": "1b2c1b74-ceba-46e5-9ee8-cf89b98f4827", + "id": "541d40fe-e8c9-4e4c-a5fe-624a602212fb", "savedPayload": { "position": { - "x": 17083.79397184891, - "y": 10306.107523321829 + "x": 17147.70228803674, + "y": 10407.349455805705 }, "targetPosition": { - "x": 17455.935266609868, - "y": 9835.458124370083 + "x": 17466.92153394594, + "y": 9899.314936268735 }, "floatingObject": { "isPinned": false, @@ -18680,7 +18680,7 @@ "type": "Output Dataset", "name": "Multi-Time-Frame-Daily On-Balance-Volume Span", "project": "Foundations", - "id": "be87399f-ea4c-4b1f-8142-fe37c14c8a45", + "id": "301339da-54e2-44d6-b961-4f5f42f32311", "savedPayload": { "position": { "x": 16586.828475853326, @@ -18702,13 +18702,13 @@ "referenceParent": { "type": "Dataset Definition", "name": "Multi-Time-Frame-Daily", - "id": "b4f63b11-c4cd-4edb-aef1-b5224cbfc84e" + "id": "1c9a2eef-5103-4b5c-929b-e595e59052a8" } } } ], "outputDatasetFolders": [], - "id": "e9f4d8d9-f890-4b0e-b310-8d6360c301d0", + "id": "34c2dbbf-01db-4ee1-850e-764bc9f344d6", "savedPayload": { "position": { "x": 16586.828475853326, @@ -18741,7 +18741,7 @@ "name": "On-Balance-Volume Span Multi-Time-Frame-Daily", "config": "{\n \"mainUtility\": \"Self Reference\"\n}", "project": "Foundations", - "id": "5a03789e-f5b1-462a-807c-063ca724a338", + "id": "3c4dcd8e-214a-40d4-8091-cddb847834ca", "savedPayload": { "position": { "x": 16073.180454974761, @@ -18763,7 +18763,7 @@ "referenceParent": { "type": "Status Report", "name": "Daily OBV Span", - "id": "4e0b3985-0619-4cdc-9c98-285e71c911f3" + "id": "69bed2b3-003d-43c5-a8cb-89a54963d49d" } } }, @@ -18772,7 +18772,7 @@ "name": "", "config": "{\n \"mainUtility\": \"Market Ending Point\"\n}", "project": "Foundations", - "id": "93924b6a-e349-4a50-9dfe-8ed71f927063", + "id": "58975c07-7a2e-41f5-84cf-0708eb216b8c", "savedPayload": { "position": { "x": 15917.310996623903, @@ -18803,7 +18803,7 @@ "name": "Exchange Raw Data Historic-OHLCVs", "config": "{\n \"mainUtility\": \"Market Starting Point\"\n}", "project": "Foundations", - "id": "8c16a4b6-bc24-4335-b4ba-9797ed2314bf", + "id": "14072fb2-dc9e-4d09-91eb-2a948e877aa0", "savedPayload": { "position": { "x": 15770.746508560766, @@ -18835,7 +18835,7 @@ "type": "Data Dependency", "name": "Candles Multi-Time-Frame-Daily", "project": "Foundations", - "id": "1e4f3b65-b230-42ab-8d6d-b7bcb662d0d8", + "id": "cd382d51-17b3-40bc-afb5-7145271b9cd3", "savedPayload": { "position": { "x": 15643.475118437587, @@ -18865,7 +18865,7 @@ "type": "Data Dependency", "name": "Volumes Multi-Time-Frame-Daily", "project": "Foundations", - "id": "0f3213c0-1f94-4065-90e9-bcf38a46d473", + "id": "6f02c944-a0de-4728-bf07-63b20bf5c57a", "savedPayload": { "position": { "x": 15544.170161165344, @@ -18893,7 +18893,7 @@ } ], "dataMineDataDependencies": [], - "id": "251a0d72-a19b-4bae-b4a9-c1ea5319fdf7", + "id": "f175f2b3-f40d-4f47-8c88-6e015e5250fa", "savedPayload": { "position": { "x": 16436.828475853326, @@ -18920,7 +18920,7 @@ "type": "Status Report", "name": "Daily OBV Span", "project": "Foundations", - "id": "4e0b3985-0619-4cdc-9c98-285e71c911f3", + "id": "69bed2b3-003d-43c5-a8cb-89a54963d49d", "savedPayload": { "position": { "x": 16456.92466528566, @@ -18945,7 +18945,7 @@ "type": "Execution Started Event", "name": "", "project": "Foundations", - "id": "c29acf2e-e528-4e62-be58-5ec7b9250e2e", + "id": "c5fdda3e-353a-445d-9019-1ca41d8b3ffc", "savedPayload": { "position": { "x": 16436.828475853326, @@ -18975,7 +18975,7 @@ "type": "Execution Finished Event", "name": "New Execution Finished Event", "project": "Foundations", - "id": "8a934186-36c0-4b6c-ae73-c56a86478a7c", + "id": "fc80184a-d63b-462e-9a28-d66e44253c61", "savedPayload": { "position": { "x": 16456.92466528566, @@ -18996,15 +18996,15 @@ "uiObject": {} } }, - "id": "88b03eed-e0c5-40d4-95c1-1849747e8591", + "id": "261fac42-de08-44ee-91f0-eec3f39c21cd", "savedPayload": { "position": { - "x": 16859.9922519647, - "y": 9905.11387284522 + "x": 16881.964786636847, + "y": 10032.827496642523 }, "targetPosition": { - "x": 17455.935266609868, - "y": 9835.458124370083 + "x": 17466.92153394594, + "y": 9899.314936268735 }, "floatingObject": { "isPinned": false, @@ -19032,15 +19032,15 @@ "name": "Multi-Time-Frame-Market", "config": "{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"type\": \"Market Files\",\n \"validTimeFrames\": [\n \"24-hs\",\n \"12-hs\",\n \"08-hs\",\n \"06-hs\",\n \"04-hs\",\n \"03-hs\",\n \"02-hs\",\n \"01-hs\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n}", "project": "Foundations", - "id": "dd09c5ad-1606-4722-933a-e628d0a12638", + "id": "2655beab-134f-4072-b1e9-69da814903d7", "savedPayload": { "position": { - "x": 16776.797126961643, - "y": 10025.928991762414 + "x": 16812.282770726233, + "y": 10161.909402585545 }, "targetPosition": { - "x": 16985.285867658124, - "y": 9463.316829609126 + "x": 16958.88701440897, + "y": 9580.095690359532 }, "floatingObject": { "isPinned": false, @@ -19058,15 +19058,15 @@ "name": "Multi-Time-Frame-Daily", "config": "{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"type\": \"Daily Files\",\n \"validTimeFrames\": [\n \"45-min\",\n \"40-min\",\n \"30-min\",\n \"20-min\",\n \"15-min\",\n \"10-min\",\n \"05-min\",\n \"04-min\",\n \"03-min\",\n \"02-min\",\n \"01-min\"\n ],\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n}", "project": "Foundations", - "id": "b4f63b11-c4cd-4edb-aef1-b5224cbfc84e", + "id": "1c9a2eef-5103-4b5c-929b-e595e59052a8", "savedPayload": { "position": { - "x": 16385.78334068429, - "y": 9438.888973542968 + "x": 16360.246089381097, + "y": 9620.457093726756 }, "targetPosition": { - "x": 16985.285867658124, - "y": 9463.316829609126 + "x": 16958.88701440897, + "y": 9580.095690359532 }, "floatingObject": { "isPinned": false, @@ -19082,7 +19082,7 @@ ], "record": { "type": "Record Definition", - "name": "On Balance Volume Integral", + "name": "On Balance Volume Span", "project": "Foundations", "properties": [ { @@ -19095,7 +19095,7 @@ "name": "New Record Formula", "code": "record.current.begin", "project": "Foundations", - "id": "b14b8533-502c-47b2-9f7e-9d00fefd53e2", + "id": "4ac3df6e-0194-47f2-a637-ff0cc614eaf4", "savedPayload": { "position": { "x": 16446.836476210356, @@ -19116,7 +19116,7 @@ "uiObject": {} } }, - "id": "7ac27e7f-419f-4deb-a6d3-bf2ce7592752", + "id": "21361daa-fb60-4bc4-b5f0-ef77f62831c7", "savedPayload": { "position": { "x": 16632.907123590834, @@ -19149,7 +19149,7 @@ "name": "New Record Formula", "code": "record.current.end", "project": "Foundations", - "id": "77a76d15-bfcd-46e5-88fc-19012435d5cc", + "id": "0e8d0e2b-3ef3-4a04-8a6a-8928356114b4", "savedPayload": { "position": { "x": 16256.365608818025, @@ -19170,7 +19170,7 @@ "uiObject": {} } }, - "id": "9770a479-33d8-4823-ba09-0fc7caa3b1af", + "id": "3489458c-ec74-428f-948d-6c4310d995bf", "savedPayload": { "position": { "x": 16537.67168989467, @@ -19203,7 +19203,7 @@ "name": "New Record Formula", "code": "variable.PosSpan", "project": "Foundations", - "id": "32f6ebb0-6279-4cfe-b12a-5b4a9b612179", + "id": "df44ce90-2a5f-40c3-be4f-752d5cf062e6", "savedPayload": { "position": { "x": 16843.405627037468, @@ -19224,7 +19224,7 @@ "uiObject": {} } }, - "id": "3a9e968b-91a6-4f0b-b12a-cb7aa6fd6298", + "id": "5babb0a1-630e-42e6-ab52-f7dc1362d389", "savedPayload": { "position": { "x": 16831.19169900439, @@ -19257,7 +19257,7 @@ "name": "New Record Formula", "code": "variable.NegSpan", "project": "Foundations", - "id": "09e59def-6793-4b85-85a8-7bfb561bc309", + "id": "74268833-10df-446c-8dc0-0d80d8352581", "savedPayload": { "position": { "x": 17396.687178445773, @@ -19278,7 +19278,7 @@ "uiObject": {} } }, - "id": "60620944-6e26-483e-a6ab-9d8f316538f6", + "id": "c901aee8-e345-4ecf-a237-332d71f89a92", "savedPayload": { "position": { "x": 17107.832474708543, @@ -19302,15 +19302,15 @@ } } ], - "id": "03e85494-c109-4cb4-8df9-f4b3b5ec62b5", + "id": "f97f279c-e550-4953-86f3-eaa030e9fb14", "savedPayload": { "position": { - "x": 16818.977770971313, - "y": 9213.633796592443 + "x": 16766.624330213464, + "y": 9349.80226825213 }, "targetPosition": { - "x": 16985.285867658124, - "y": 9463.316829609126 + "x": 16958.88701440897, + "y": 9580.095690359532 }, "floatingObject": { "isPinned": false, @@ -19336,17 +19336,17 @@ "procedureJavascriptCode": { "type": "Procedure Javascript Code", "name": "New Procedure Javascript Code", - "code": "/* Loop Code */\n\nlet candle = record.current\nlet volume = getElement('volumes', candle)\nlet K = 2\nlet Len = 10 //number of period for integral calculation\nlet Len3 = 3\nlet Len5 = 5\nlet Len15 = 15\nlet Len20 = 20\n\nvariable.CDL = candle.close\n\nif (variable.previousVEma20 === undefined) {\nvariable.previousVEma20 = volume.buy + volume.sell\n}\n\nif (variable.previousVEma3 === undefined) {\nvariable.previousVEma3 = volume.buy + volume.sell\n}\n\nif (variable.previousVEma5 === undefined) {\nvariable.previousVEma5 = volume.buy + volume.sell\n}\n\nif (variable.previousVEma10 === undefined) {\nvariable.previousVEma10 = volume.buy + volume.sell\n}\n\n//build candle close array\nvariable.candleClose.push(candle.close)\n\n//keep the array to the right size\nif (variable.candleClose.length > K) {\n variable.candleClose.splice(0, 1)\n}\n\n//manage Previous On balance value\n\nif (variable.previousOnBV === undefined) {\n\tvariable.previousOnBV = 0\n}\n\n//procedure for OBV calculation\nif (variable.candleClose[1] > variable.candleClose[0]) {\n\tvariable.OnBV = variable.previousOnBV + volume.buy + volume.sell\n\t}\n\nif (variable.candleClose[1] === variable.candleClose[0]) {\n\tvariable.OnBV = variable.previousOnBV\n\t}\nif (variable.candleClose[1] < variable.candleClose[0]) {\n\tvariable.OnBV = variable.previousOnBV - (volume.buy + volume.sell)\n\t}\n\n//manage NaN and undefined\nif (variable.OnBV === undefined || isNaN(variable.OnBV)) {\n\tvariable.OBV = 0\n\tvariable.previousOnBV = 0\n}\nelse {\n\tvariable.OBV = variable.OnBV\n\tvariable.previousOnBV = variable.OnBV\n}\n\n// Calculate On balance Volume EMA3\nvariable.VEma3 = calculateVEMA(3, variable.OBV, variable.previousVEma3)\nvariable.previousVEma3 = variable.VEma3\n\n// Calculate On balance Volume EMA5\nvariable.VEma5 = calculateVEMA(5, variable.OBV, variable.previousVEma5)\nvariable.previousVEma5 = variable.VEma5\n\n// Calculate On balance Volume EMA10\nvariable.VEma10 = calculateVEMA(10, variable.OBV, variable.previousVEma10)\nvariable.previousVEma10 = variable.VEma10\n\n// Calculate On balance Volume EMA20\nvariable.VEma20 = calculateVEMA(20, variable.OBV, variable.previousVEma20)\nvariable.previousVEma20 = variable.VEma20\n\nif(variable.VEma3 > variable.previousVEma3) {\n\tvariable.IntVEma3 = (variable.VEma3 - variable.previousVEma3)/2 + variable.previousVEma3\n}\nif(variable.VEma3 < variable.previousVEma3) {\n\tvariable.IntVEma3 = (variable.previousVEma3 - variable.VEma3)/2 + variable.VEma3\n}\nif(variable.VEma3 = variable.previousVEma3){\n\tvariable.IntVEma3 = variable.VEma3 * 2\n}\nif(variable.VEma20 > variable.previousVEma20) {\n\tvariable.IntVEma20 = (variable.VEma20 - variable.previousVEma20)/2 + variable.previousVEma20\n}\nif(variable.VEma20 < variable.previousVEma20) {\n\tvariable.IntVEma20 = (variable.previousVEma20 - variable.VEma20)/2 + variable.VEma20\n}\nif(variable.VEma20 = variable.previousVEma20){\n\tvariable.IntVEma20 = variable.VEma20 * 2\n}\n\nif(variable.Pos === undefined){\n\tvariable.Pos = 0\n}\nif(variable.Neg === undefined){\n\tvariable.Neg = 0\n}\nif(variable.VEma3 > variable.VEma20 && variable.previousVEma3 < variable.previousVEma20){\n\tvariable.IntP = []\n\tvariable.Pos = 0\n}\nif(variable.VEma3 > variable.VEma20){\n\t\n\tvariable.IntP.push(variable.IntVEma3 - variable.IntVEma20)\n\tfor (var i =0 ; i variable.previousVEma20){\n\tvariable.IntN = []\n\tvariable.Neg = 0\n}\nif(variable.VEma3 < variable.VEma20){\n\t\n\tvariable.IntN.push(variable.IntVEma20 - variable.IntVEma3)\n\tfor (var i =0 ; i K) {\n variable.candleClose.splice(0, 1)\n}\n\n//manage Previous On balance value\n\nif (variable.previousOnBV === undefined) {\n\tvariable.previousOnBV = 0\n}\n\n//procedure for OBV calculation\nif (variable.candleClose[1] > variable.candleClose[0]) {\n\tvariable.OnBV = variable.previousOnBV + volume.buy + volume.sell\n\t}\n\nif (variable.candleClose[1] === variable.candleClose[0]) {\n\tvariable.OnBV = variable.previousOnBV\n\t}\nif (variable.candleClose[1] < variable.candleClose[0]) {\n\tvariable.OnBV = variable.previousOnBV - (volume.buy + volume.sell)\n\t}\n\n//manage NaN and undefined\nif (variable.OnBV === undefined || isNaN(variable.OnBV)) {\n\tvariable.OBV = 0\n\tvariable.previousOnBV = 0\n}\nelse {\n\tvariable.OBV = variable.OnBV\n\tvariable.previousOnBV = variable.OnBV\n}\n\n// Calculate On balance Volume EMA3\nvariable.VEma3 = calculateVEMA(3, variable.OBV, variable.previousVEma3)\n\n\n// Calculate On balance Volume EMA5\nvariable.VEma5 = calculateVEMA(5, variable.OBV, variable.previousVEma5)\n\n\n// Calculate On balance Volume EMA10\nvariable.VEma10 = calculateVEMA(10, variable.OBV, variable.previousVEma10)\n\n\n// Calculate On balance Volume EMA20\nvariable.VEma20 = calculateVEMA(20, variable.OBV, variable.previousVEma20)\n\nif(variable.VEma3 > variable.previousVEma3) {\n\tvariable.IntVEma3 = (variable.VEma3 - variable.previousVEma3)/2 + variable.previousVEma3\n}\nif(variable.VEma3 < variable.previousVEma3) {\n\tvariable.IntVEma3 = (variable.previousVEma3 - variable.VEma3)/2 + variable.VEma3\n}\nif(variable.VEma3 === variable.previousVEma3){\n\tvariable.IntVEma3 = variable.VEma3 * 2\n}\nif(variable.VEma20 > variable.previousVEma20) {\n\tvariable.IntVEma20 = (variable.VEma20 - variable.previousVEma20)/2 + variable.previousVEma20\n}\nif(variable.VEma20 < variable.previousVEma20) {\n\tvariable.IntVEma20 = (variable.previousVEma20 - variable.VEma20)/2 + variable.VEma20\n}\nif(variable.VEma20 === variable.previousVEma20){\n\tvariable.IntVEma20 = variable.VEma20 * 2\n}\n\nif(variable.Pos === undefined){\n\tvariable.Pos = 0\n}\nif(variable.Neg === undefined){\n\tvariable.Neg = 0\n}\nif(variable.VEma3 > variable.VEma20 && variable.previousVEma3 < variable.previousVEma20){\n\tvariable.IntP = []\n\tvariable.Pos = 0\n}\nif(variable.VEma3 > variable.VEma20){\n\t\n\tvariable.IntP.push(variable.IntVEma3 - variable.IntVEma20)\n\tfor (var i =0 ; i variable.previousVEma20){\n\tvariable.IntN = []\n\tvariable.Neg = 0\n}\nif(variable.VEma3 < variable.VEma20){\n\t\n\tvariable.IntN.push(variable.IntVEma20 - variable.IntVEma3)\n\tfor (var i =0 ; i K) {\n variable.candleClose.splice(0, 1)\n}\n\n//manage Previous On balance value\n\nif (variable.previousOnBV === undefined) {\n\tvariable.previousOnBV = 0\n}\n\n//procedure for OBV calculation\nif (variable.candleClose[1] > variable.candleClose[0]) {\n\tvariable.OnBV = variable.previousOnBV + volume.buy + volume.sell\n\t}\n\nif (variable.candleClose[1] === variable.candleClose[0]) {\n\tvariable.OnBV = variable.previousOnBV\n\t}\nif (variable.candleClose[1] < variable.candleClose[0]) {\n\tvariable.OnBV = variable.previousOnBV - (volume.buy + volume.sell)\n\t}\n\n//manage NaN and undefined\nif (variable.OnBV === undefined || isNaN(variable.OnBV)) {\n\tvariable.OBV = 0\n\tvariable.previousOnBV = 0\n}\nelse {\n\tvariable.OBV = variable.OnBV\n\tvariable.previousOnBV = variable.OnBV\n}\n\n// Calculate On balance Volume EMA3\nvariable.VEma3 = calculateVEMA(3, variable.OBV, variable.previousVEma3)\n\n\n// Calculate On balance Volume EMA5\nvariable.VEma5 = calculateVEMA(5, variable.OBV, variable.previousVEma5)\n\n\n// Calculate On balance Volume EMA10\nvariable.VEma10 = calculateVEMA(10, variable.OBV, variable.previousVEma10)\n\n\n// Calculate On balance Volume EMA20\nvariable.VEma20 = calculateVEMA(20, variable.OBV, variable.previousVEma20)\n\nif(variable.VEma3 > variable.previousVEma3) {\n\tvariable.IntVEma3 = (variable.VEma3 - variable.previousVEma3)/2 + variable.previousVEma3\n}\nif(variable.VEma3 < variable.previousVEma3) {\n\tvariable.IntVEma3 = (variable.previousVEma3 - variable.VEma3)/2 + variable.VEma3\n}\nif(variable.VEma3 === variable.previousVEma3){\n\tvariable.IntVEma3 = variable.VEma3 * 2\n}\nif(variable.VEma20 > variable.previousVEma20) {\n\tvariable.IntVEma20 = (variable.VEma20 - variable.previousVEma20)/2 + variable.previousVEma20\n}\nif(variable.VEma20 < variable.previousVEma20) {\n\tvariable.IntVEma20 = (variable.previousVEma20 - variable.VEma20)/2 + variable.VEma20\n}\nif(variable.VEma20 === variable.previousVEma20){\n\tvariable.IntVEma20 = variable.VEma20 * 2\n}\n\nif(variable.Pos === undefined){\n\tvariable.Pos = 0\n}\nif(variable.Neg === undefined){\n\tvariable.Neg = 0\n}\n\nif(variable.VEma3 > variable.VEma20 && variable.previousVEma3 < variable.previousVEma20){\n\tvariable.IntP = []\n\tvariable.Pos = 0\n\tvariable.NegS = 0\n\tvariable.PosS = 0\n\tvariable.PS = []\n\tvariable.NS = []\n}\n\nif(variable.NegS === undefined || variable.PosS === undefined){\n\tvariable.Neg = 0\n\tvariable.NegS = 0\n\tvariable.PosS = 0\n}\n\nif(variable.VEma3 > variable.VEma20){\t\n\tvariable.IntP.push(variable.IntVEma3 - variable.IntVEma20)\n \n\tfor (var i = 0 ; i variable.previousPosSpan){\n\t\tvariable.PosS = variable.PosS + 1\n\t\tvariable.NegS = variable.NegS\n\t}\n \n\tif(variable.PosSpan < variable.previousPosSpan){\n\t\tvariable.NegS = variable.NegS + 1\n\t\tvariable.PosS = variable.PosS\n\t}\n \n\tvariable.PS.push(variable.PosS)\n\tvariable.NS.push(variable.NegS)\n \n\tvariable.previousPosSpan = variable.PosSpan\n \n\tvariable.xSum = 0\n variable.MoyX = 0\n variable.NSum = 0\n variable.MoyN = 0\n\tvariable.PSum = 0\n variable.MoyP = 0\n variable.sumProdN = 0\n variable.sumProdP = 0\n variable.sumVar = 0\n \n\tfor(var i = 0 ; i < variable.NS.length ; i++){\n\t\tvariable.xSum = variable.xSum + i\n variable.MoyX = variable.xSum / i\n\t\tvariable.NSum = variable.NSum + variable.NS[i]\n variable.MoyN = variable.NSum / i\n\t\tvariable.PSum = variable.PSum + variable.PS[i]\n variable.MoyP = variable.PSum / i\n\t\t\n for(var j= 0 ; j < i ; j++) {\n variable.sumProdN = variable.sumProdN + ((variable.NS[j] - variable.MoyN)*(j - variable.MoyX))\n variable.sumProdP = variable.sumProdP + ((variable.PS[j] - variable.MoyP)*(j - variable.MoyX))\n variable.sumVar = variable.sumVar + (Math.pow(j,2) - Math.pow(variable.MoyX,2))\n }\n\t}\n \n variable.CovN = variable.sumProdN / i //covariance of NS\n variable.CovP = variable.sumProdP / i //covariance of NP\n variable.VarX = variable.sumVar / i //variance of X\n \n variable.Na = variable.CovN / variable.VarX\n variable.Nb = variable.MoyN - (variable.Na * variable.MoyX)\n \n variable.Pa = variable.CovP / variable.VarX\n variable.Pb = variable.MoyP - (variable.Pa * variable.MoyX) \n\t\n\tvariable.NBegin = variable.Nb\n\tvariable.NEnd = variable.Na * variable.NS.length + variable.Nb\n\tvariable.PBegin = variable.Pb\n\tvariable.PEnd = variable.Pa * variable.NS.length + variable.Pb\n\tvariable.XBegin = candle.begin + ((candle.end - candle.begin) / 2) - (variable.NS.length-1) * (candle.end - candle.begin)\n\tvariable.XEnd = (candle.end - candle.begin)/2 + candle.begin\n\t\n\tif(variable.NEnd < variable.PEnd){\n\t\tvariable.SpanTrend = 1\n\t}\n\tif(variable.NEnd > variable.PEnd){\n\t\tvariable.SpanTrend = -1\n\t}\n}\n\nif(variable.Pos === undefined || isNaN(variable.Pos)){\n\tvariable.mPos = 1\n\tvariable.PosSpan = 1\n}\n\nif(variable.VEma3 < variable.VEma20 && variable.previousVEma3 > variable.previousVEma20){\n\tvariable.IntN = []\n\tvariable.Neg = 0\n\tvariable.NegS = 0\n\tvariable.PosS = 0\n\tvariable.PS = []\n\tvariable.NS = []\n}\n\nif(variable.NegS === undefined || variable.PosS === undefined){\n\tvariable.Neg = 0\n\tvariable.NegS = 0\n\tvariable.PosS = 0\n}\n\nif(variable.VEma3 < variable.VEma20){\n\t\n\tvariable.IntN.push(variable.IntVEma20 - variable.IntVEma3)\n\tfor (var i =0 ; i variable.previousNegSpan){\n\t\tvariable.PosS = variable.PosS + 1\n\t\tvariable.NegS = variable.NegS\n\t}\n\tif(variable.NegSpan < variable.previousNegSpan){\n\t\tvariable.NegS = variable.NegS + 1\n\t\tvariable.PosS = variable.PosS\n\t}\n\tvariable.PS.push(variable.PosS)\n\tvariable.NS.push(variable.NegS)\n\tvariable.previousNegSpan = variable.NegSpan\n\tvariable.xSum = 0\n variable.MoyX = 0\n variable.NSum = 0\n variable.MoyN = 0\n\tvariable.PSum = 0\n variable.MoyP = 0\n variable.sumProdN = 0\n variable.sumProdP = 0\n variable.sumVar = 0\n \n\tfor(var i = 0 ; i < variable.NS.length ; i++){\n\t\tvariable.xSum = variable.xSum + i\n variable.MoyX = variable.xSum / i\n\t\tvariable.NSum = variable.NSum + variable.NS[i]\n variable.MoyN = variable.NSum / i\n\t\tvariable.PSum = variable.PSum + variable.PS[i]\n variable.MoyP = variable.PSum / i\n for(var j= 0 ; j < i ; j++) {\n variable.sumProdN = variable.sumProdN + ((variable.NS[j] - variable.MoyN)*(j - variable.MoyX))\n variable.sumProdP = variable.sumProdP + ((variable.PS[j] - variable.MoyP)*(j - variable.MoyX))\n variable.sumVar = variable.sumVar + (Math.pow(j - variable.MoyX,2))\n }\n\t}\n \n variable.CovN = variable.sumProdN / i //covariance of NS\n variable.CovP = variable.sumProdP / i //covariance of NP\n variable.VarX = variable.sumVar / i //variance of X\n \n variable.Na = variable.CovN / variable.VarX\n variable.Nb = variable.MoyN - (variable.Na * variable.MoyX)\n \n variable.Pa = variable.CovP / variable.VarX\n variable.Pb = variable.MoyP - (variable.Pa * variable.MoyX) \n \t\n\tvariable.NBegin = variable.Nb\n\tvariable.NEnd = variable.Na * (variable.NS.length - 1) + variable.Nb\n\tvariable.PBegin = variable.Pb\n\tvariable.PEnd = variable.Pa * (variable.NS.length - 1) + variable.Pb\n\tvariable.XBegin = candle.begin + ((candle.end - candle.begin) / 2) - (variable.NS.length-1) * (candle.end - candle.begin)\n\tvariable.XEnd = (candle.end - candle.begin)/2 + candle.begin\n\t\n\tif(variable.NEnd < variable.PEnd){\n\t\tvariable.SpanTrend = 1\n\t}\n\tif(variable.NEnd > variable.PEnd){\n\t\tvariable.SpanTrend = -1\n\t}\n}\nif(variable.Neg === undefined || isNaN(variable.Neg)){\n\tvariable.mNeg = -1\n\tvariable.NegSpan = -1\n}\n\nif(variable.NBegin === undefined || isNaN(variable.NBegin)){\n\tvariable.NBegin = 0\n}\nif(variable.NEnd === undefined || isNaN(variable.NEnd)){\n\tvariable.NEnd = 0\n}\nif(variable.PBegin === undefined || isNaN(variable.PBegin)){\n\tvariable.PBegin = 0\n}\nif(variable.PEnd === undefined || isNaN(variable.PEnd)){\n\tvariable.PEnd = 0\n}\nif(variable.SpanTrend === undefined || isNaN(variable.SpanTrend)){\n\tvariable.SpanTrend = 1\n}\n\nvariable.previousVEma3 = variable.VEma3\nvariable.previousVEma5 = variable.VEma5\nvariable.previousVEma10 = variable.VEma10\nvariable.previousVEma20 = variable.VEma20\n\n//On Balance Volume EMA calculation\nfunction calculateVEMA(periods, price, previousVEMA) {\n let k = 2 / (periods + 1)\n return price * k + previousVEMA * (1-k)\n}\n\n\n\n// End of code :-)", + "project": "Foundations", + "id": "cdd0be64-7f92-4d83-928a-bf4b4baa4555", + "savedPayload": { + "position": { + "x": 16613.2674833734, + "y": 6091.233683984583 + }, + "targetPosition": { + "x": 16774.533060668786, + "y": 6511.344875908324 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "595074dd-6342-47f5-bfee-02b2bd5e8604", + "savedPayload": { + "position": { + "x": 16774.533060668786, + "y": 6511.344875908324 + }, + "targetPosition": { + "x": 17097.064215259557, + "y": 7351.567259755805 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "initialization": { + "type": "Procedure Initialization", + "name": "New Procedure Initialization", + "project": "Foundations", + "procedureJavascriptCode": { + "type": "Procedure Javascript Code", + "name": "New Procedure Javascript Code", + "code": "/* Initialization Code*/\n\nvariable.candleClose = []\nvariable.IntP = []\nvariable.IntN = []\nvariable.PS = []\nvariable.NS = []", + "project": "Foundations", + "id": "785b5daa-a135-44f4-9ecc-ecc0f4c7f87d", + "savedPayload": { + "position": { + "x": 17451.056935225093, + "y": 6914.422656436259 + }, + "targetPosition": { + "x": 17380.258391231986, + "y": 7001.8515771001685 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "96697d88-7baf-4206-8736-3e71300e0ee4", + "savedPayload": { + "position": { + "x": 17380.258391231986, + "y": 7001.8515771001685 + }, + "targetPosition": { + "x": 17097.064215259557, + "y": 7351.567259755805 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "cfd8a1b8-1edc-4c4d-a6d7-e153278700cd", + "savedPayload": { + "position": { + "x": 17097.064215259557, + "y": 7351.567259755805 + }, + "targetPosition": { + "x": 16815.482178187143, + "y": 9129.406272827053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 5, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b9240ddc-15ae-437a-bb11-75aaa3e6fa71", + "savedPayload": { + "position": { + "x": 16815.482178187143, + "y": 9129.406272827053 + }, + "targetPosition": { + "x": 17451.878281255034, + "y": 9765.802375894946 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "OBV-Trend Span", + "id": "f77c2621-879e-4abd-8e23-26ad533f0d9c" + } + } + } + ], + "id": "d26bd26f-9ef7-4ba9-aace-dff5332db699", + "savedPayload": { + "position": { + "x": 17451.878281255034, + "y": 9765.802375894946 }, "targetPosition": { "x": 18051.878281255034, @@ -19542,7 +21092,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.uptrend", "project": "Foundations", - "id": "cd1ef659-3fc6-458a-9874-da6341bfd636", + "id": "8abcbeca-02de-4b1b-8e93-cf5d64bcd2c9", "savedPayload": { "position": { "x": 18363.827498364175, @@ -19563,7 +21113,7 @@ "uiObject": {} } }, - "id": "18e9de02-876b-4f1b-9819-9d20a8d98b15", + "id": "9daedf8f-4b56-4708-916a-62b0492c48c6", "savedPayload": { "position": { "x": 18026.790030384505, @@ -19595,7 +21145,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.uptrend", "project": "Foundations", - "id": "ec0b1ff7-2424-4bb1-885d-4e705e27c85b", + "id": "b9c25f28-2ad8-4ca8-98f9-ff9ba5ed45f0", "savedPayload": { "position": { "x": 17931.65092834791, @@ -19616,7 +21166,7 @@ "uiObject": {} } }, - "id": "05a916ef-0f65-43e4-a4ca-bfa2bea813f0", + "id": "85b74ad5-b7d1-40af-991e-68931d93bcc4", "savedPayload": { "position": { "x": 17810.701745376373, @@ -19648,7 +21198,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.downtrend", "project": "Foundations", - "id": "41a3dedd-6a10-4cc1-8faf-4edee43068a0", + "id": "86ab9071-e638-4c8c-a599-9a3cb7446d39", "savedPayload": { "position": { "x": 17165.179038421382, @@ -19669,7 +21219,7 @@ "uiObject": {} } }, - "id": "f066c350-df3f-48cd-8e22-8eca7deae5dc", + "id": "717735d1-4da6-4e34-a14c-28153fcb68fd", "savedPayload": { "position": { "x": 17427.46580041311, @@ -19701,7 +21251,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.downtrend", "project": "Foundations", - "id": "6b80a4c3-cf15-4a32-bc6e-6b42f2c538f2", + "id": "1426c20d-53fd-4f6a-85d8-61de09a7d5f4", "savedPayload": { "position": { "x": 17123.649929041676, @@ -19722,7 +21272,7 @@ "uiObject": {} } }, - "id": "ebc71a4a-2f58-4f06-bf6b-1337e82ff149", + "id": "a9e90a61-6960-48d8-ae94-36bacc087285", "savedPayload": { "position": { "x": 17406.701245723256, @@ -19746,7 +21296,7 @@ } } ], - "id": "bbb3cd77-7161-4344-814d-cd8164af12e1", + "id": "72711761-364f-47d3-acae-f8ffb8815180", "savedPayload": { "position": { "x": 17689.752562404836, @@ -19784,7 +21334,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n }\n}", "project": "Foundations", - "id": "efad7952-9bd8-4f16-bc48-4050942a02d4", + "id": "cb6c56e0-0203-402e-9fd2-db3b8344df03", "savedPayload": { "position": { "x": 17649.544970339994, @@ -19816,7 +21366,7 @@ "name": "New Style", "config": "{\n \"opacity\": 0.0,\n \"lineWidth\": 0,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n}", "project": "Foundations", - "id": "5942bd3d-019e-4a37-94fd-77fa7a855dbc", + "id": "562128ab-5db8-4331-9ac8-e3e1c8842882", "savedPayload": { "position": { "x": 17273.11263365798, @@ -19837,7 +21387,7 @@ "uiObject": {} } }, - "id": "a32f641e-2007-42e9-8574-83b5451933e7", + "id": "6a5b687d-2fc0-4ba4-9b48-5617bd182e6f", "savedPayload": { "position": { "x": 17490.44594457302, @@ -19861,7 +21411,7 @@ } } ], - "id": "404b6e34-46e0-4ad6-ae9b-1da36a8c37b0", + "id": "81016155-d40d-4f72-83d6-864d1d31d93a", "savedPayload": { "position": { "x": 17707.77925548806, @@ -19889,7 +21439,7 @@ "type": "Polygon Vertex", "name": " UP Trend Begin", "project": "Foundations", - "id": "f2cec388-ab17-4325-a57e-eb32c080516a", + "id": "9ec2e410-a525-4484-9e5d-1fcb53de9808", "savedPayload": { "position": { "x": 17416.878281255034, @@ -19911,7 +21461,7 @@ "referenceParent": { "type": "Point", "name": "UP Trend Begin", - "id": "18e9de02-876b-4f1b-9819-9d20a8d98b15" + "id": "9daedf8f-4b56-4708-916a-62b0492c48c6" } } }, @@ -19919,7 +21469,7 @@ "type": "Polygon Vertex", "name": " UP Trend End", "project": "Foundations", - "id": "19629021-7367-4048-94c8-59ff4ca98746", + "id": "856449b1-b0cb-48b6-a566-a6d740d80d3a", "savedPayload": { "position": { "x": 17548.68022972109, @@ -19941,12 +21491,12 @@ "referenceParent": { "type": "Point", "name": "UP Trend End", - "id": "05a916ef-0f65-43e4-a4ca-bfa2bea813f0" + "id": "85b74ad5-b7d1-40af-991e-68931d93bcc4" } } } ], - "id": "4dc0863e-0da0-4798-82bb-a28e953f4041", + "id": "9621a088-ed2e-4bb1-ad28-af4573f75af0", "savedPayload": { "position": { "x": 17279.88827029454, @@ -19982,7 +21532,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "736a3514-2579-4b95-8d59-d0f99c12adc3", + "id": "8734584e-d029-4203-87b1-644c7c06cc8e", "savedPayload": { "position": { "x": 16874.955485103914, @@ -20014,7 +21564,7 @@ "name": "New Style", "config": "{\n \"opacity\": 0,\n \"lineWidth\": 0,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RED\"\n}", "project": "Foundations", - "id": "9df75a20-8736-4844-aafc-767063770e15", + "id": "aabca613-816a-43ab-b3e2-53e23fff9250", "savedPayload": { "position": { "x": 16723.658374175553, @@ -20035,7 +21585,7 @@ "uiObject": {} } }, - "id": "68c679c7-ce57-4310-b81b-3d9a8bd591ff", + "id": "fccfbe21-05e6-44fa-a6b3-f6b70a16f932", "savedPayload": { "position": { "x": 16962.306912826014, @@ -20059,7 +21609,7 @@ } } ], - "id": "86172672-aafc-48a2-8df4-134553a2e102", + "id": "79afaabe-aa2c-4f2f-8c55-89457a4d9f01", "savedPayload": { "position": { "x": 17200.955451476475, @@ -20087,7 +21637,7 @@ "type": "Polygon Vertex", "name": " Down Trend Begin", "project": "Foundations", - "id": "455d3279-e8f4-4ab3-ace7-24585ed24869", + "id": "b8957bf4-8510-48fe-823b-a3b5b58755b8", "savedPayload": { "position": { "x": 17189.455417849036, @@ -20109,7 +21659,7 @@ "referenceParent": { "type": "Point", "name": "Down Trend Begin", - "id": "f066c350-df3f-48cd-8e22-8eca7deae5dc" + "id": "717735d1-4da6-4e34-a14c-28153fcb68fd" } } }, @@ -20117,7 +21667,7 @@ "type": "Polygon Vertex", "name": " Down Trend End", "project": "Foundations", - "id": "21a87977-ae4a-4196-9b4f-d7d2d3d51693", + "id": "abca2fb1-ff2a-4f84-a6e8-245c13e43dba", "savedPayload": { "position": { "x": 17701.658273293237, @@ -20139,12 +21689,12 @@ "referenceParent": { "type": "Point", "name": "Down Trend End", - "id": "ebc71a4a-2f58-4f06-bf6b-1337e82ff149" + "id": "a9e90a61-6960-48d8-ae94-36bacc087285" } } } ], - "id": "d7b3f3dd-2778-45cf-a1de-35629f2bd97c", + "id": "0b300467-6562-4672-866e-97bc249b7c26", "savedPayload": { "position": { "x": 17526.955417849036, @@ -20170,7 +21720,7 @@ ], "images": [], "texts": [], - "id": "89efeeab-4d66-410d-8cfd-dd740cbbf11c", + "id": "9c2f9fa8-e44e-4ecb-8092-b7fd0329d14b", "savedPayload": { "position": { "x": 17864.455417849036, @@ -20210,7 +21760,7 @@ "name": "Up Trend", "code": "record.uptrend", "project": "Foundations", - "id": "53ac3c02-88f0-4e22-afcf-97a5f80e8502", + "id": "0cc3acf7-50c8-497f-94d8-8f6ca6e65deb", "savedPayload": { "position": { "x": 17666.040220007686, @@ -20236,7 +21786,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "6b229c0f-d57c-4c11-9786-6e2eeced7472", + "id": "d4be3724-122e-469a-a1e8-b66e75e8f869", "savedPayload": { "position": { "x": 17768.72798197117, @@ -20257,7 +21807,7 @@ "uiObject": {} } }, - "id": "955c6833-bcc2-4b8b-80ac-510dd48594ae", + "id": "623648ba-b112-429c-a596-eb0d70c4718c", "savedPayload": { "position": { "x": 17981.12361395049, @@ -20290,7 +21840,7 @@ "name": "New Data Formula", "code": "record.downtrend", "project": "Foundations", - "id": "4233a3f2-91e2-4f5a-bbcd-c3e39c933518", + "id": "18801cac-ee99-4aad-9dc8-102ad4ff73ce", "savedPayload": { "position": { "x": 17966.05793963292, @@ -20316,7 +21866,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "f6dc4fee-8800-4b4a-98c9-e1e67491fe28", + "id": "995064a5-d6b8-443f-8832-7322d4f2c5a3", "savedPayload": { "position": { "x": 18132.210228718497, @@ -20337,7 +21887,7 @@ "uiObject": {} } }, - "id": "10a416af-8dc7-4a2f-878b-333e42b97a7b", + "id": "374fe961-3b53-4905-b97c-bee889d0edbb", "savedPayload": { "position": { "x": 18149.87361395049, @@ -20370,7 +21920,7 @@ "name": "New Data Formula", "code": "record.trend", "project": "Foundations", - "id": "88dd0140-d7f2-4411-8606-6d925a10fee5", + "id": "07778993-17c7-41cd-a4d2-03683f3ba702", "savedPayload": { "position": { "x": 18376.123470385573, @@ -20396,7 +21946,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "27c42f09-c2c0-4b5f-b50f-02b1ee1d3789", + "id": "c4921f9e-fdf2-4f83-b478-692c756e93ad", "savedPayload": { "position": { "x": 18542.27575947115, @@ -20417,7 +21967,7 @@ "uiObject": {} } }, - "id": "2d59e444-6ca6-417e-bdf3-0abd7c39097e", + "id": "c4aa3717-d670-4551-a77e-b3f8f8aba3f1", "savedPayload": { "position": { "x": 18358.46008515358, @@ -20450,7 +22000,7 @@ "name": "New Data Formula", "code": "record.atrNPeriod", "project": "Foundations", - "id": "b22f2b68-e294-46bb-8930-f6c60376afde", + "id": "3bedd7a6-4c8d-4a9d-bb5e-fdd927a00c7b", "savedPayload": { "position": { "x": 18595.84689367262, @@ -20476,7 +22026,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "97327384-0dbe-4faf-b717-db66bf9f841c", + "id": "5afa0a15-5ce4-4768-b8be-6526fc139c4b", "savedPayload": { "position": { "x": 18695.035654996977, @@ -20497,7 +22047,7 @@ "uiObject": {} } }, - "id": "5a82266a-dbc5-4734-82fe-f9f34debd5e7", + "id": "be23dadc-a4c7-453d-a6bc-7a6620cdae3d", "savedPayload": { "position": { "x": 18527.21008515358, @@ -20521,7 +22071,7 @@ } } ], - "id": "8a3f5f06-28ae-4e15-a75c-31bedeacad96", + "id": "b1e9a6d4-da6e-40ca-8a3c-6bc923b4c764", "savedPayload": { "position": { "x": 18254.166849552035, @@ -20545,7 +22095,7 @@ } } ], - "id": "4244b21b-7d89-4e21-badf-91fa1d04cf83", + "id": "221cf1f5-8eff-4ffc-9624-6fae72e246bc", "savedPayload": { "position": { "x": 17809.16526768051, @@ -20569,11 +22119,11 @@ } } ], - "id": "7d29b39c-ca11-47b3-b14b-087d021e0419", + "id": "fcaa62af-0a12-44db-9b79-618d338771c2", "savedPayload": { "position": { - "x": 17464.878281255034, - "y": 9754.994754759615 + "x": 17490.878281255034, + "y": 9619.994754759615 }, "targetPosition": { "x": 18051.878281255034, @@ -20622,7 +22172,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.uptrend", "project": "Foundations", - "id": "ee935f32-84dc-4bca-b063-40a3cb0df249", + "id": "483906d7-3747-4033-9846-36ec8146068e", "savedPayload": { "position": { "x": 18011.633165605854, @@ -20643,7 +22193,7 @@ "uiObject": {} } }, - "id": "c3e934b8-1515-46d2-9627-07485b0ef882", + "id": "87b67c66-4a1b-4d10-8a56-44deae67b7ef", "savedPayload": { "position": { "x": 17811.15669766347, @@ -20675,7 +22225,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.uptrend", "project": "Foundations", - "id": "141576f6-2891-407a-abe8-5481c2ca7f14", + "id": "4491c274-7ce7-461e-8d05-ae76ea78df39", "savedPayload": { "position": { "x": 17540.284720452983, @@ -20696,7 +22246,7 @@ "uiObject": {} } }, - "id": "082fc9a8-0c64-41a5-8fcd-327e6b9c101b", + "id": "87f9c1b3-2f99-45c8-ad19-e9868a952fd9", "savedPayload": { "position": { "x": 17575.482475087036, @@ -20728,7 +22278,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.downtrend", "project": "Foundations", - "id": "52b68832-e134-44db-8685-7eb78bdc3faa", + "id": "655f6607-e0ce-4b5d-9efb-984d9398de87", "savedPayload": { "position": { "x": 17166.22047645328, @@ -20749,7 +22299,7 @@ "uiObject": {} } }, - "id": "b71d842a-c86f-40ba-98ff-fce4fb361eef", + "id": "24561365-405d-41f2-80fc-bae8ff226b1d", "savedPayload": { "position": { "x": 17388.450353087184, @@ -20781,7 +22331,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.downtrend", "project": "Foundations", - "id": "8adeb4cf-58aa-4e5c-a419-7e01186517d8", + "id": "7b9e3cf7-c2e7-4ca8-854d-68678f00d584", "savedPayload": { "position": { "x": 17406.384504838294, @@ -20802,7 +22352,7 @@ "uiObject": {} } }, - "id": "7ec16168-d177-4728-8c14-e51882e83a71", + "id": "3df4c5b6-3d34-47e1-9400-edf037d51746", "savedPayload": { "position": { "x": 17508.53236727969, @@ -20826,7 +22376,7 @@ } } ], - "id": "064c4b8d-f313-4b89-8c6f-7ebee1cf8920", + "id": "26a1cfe5-7928-4931-b40a-88f19f3eb14e", "savedPayload": { "position": { "x": 17610.68022972109, @@ -20864,7 +22414,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n }\n}", "project": "Foundations", - "id": "ca2d490e-8c2d-41a9-aa5f-e0de4a0ac941", + "id": "2a5ea284-480d-40ba-be56-2de5cd9b10e5", "savedPayload": { "position": { "x": 17649.544970339994, @@ -20896,7 +22446,7 @@ "name": "New Style", "config": "{\n \"opacity\": 0.0,\n \"lineWidth\": 0,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n}", "project": "Foundations", - "id": "04f3e2e0-a15a-40ae-bfb1-dc316ab92cbd", + "id": "434eaac6-132a-4be7-9b33-7f80cdda6548", "savedPayload": { "position": { "x": 17273.11263365798, @@ -20917,7 +22467,7 @@ "uiObject": {} } }, - "id": "1c787ed5-6978-42d6-859a-b40d6b59c69e", + "id": "4524b933-c766-4693-aa14-e5314252b072", "savedPayload": { "position": { "x": 17490.44594457302, @@ -20941,7 +22491,7 @@ } } ], - "id": "f7e1b00b-a4ef-42ac-a97c-20b95f28a506", + "id": "d3946fcf-341d-4757-ab47-f919f5642661", "savedPayload": { "position": { "x": 18303.77925548806, @@ -20969,7 +22519,7 @@ "type": "Polygon Vertex", "name": " UP Trend Begin", "project": "Foundations", - "id": "d61aa67e-adeb-42b0-ae31-d5bb3427f3bf", + "id": "f8fd3f40-6ee9-4bb2-b445-068e566b0820", "savedPayload": { "position": { "x": 18012.878281255034, @@ -20991,7 +22541,7 @@ "referenceParent": { "type": "Point", "name": "UP Trend Begin", - "id": "c3e934b8-1515-46d2-9627-07485b0ef882" + "id": "87b67c66-4a1b-4d10-8a56-44deae67b7ef" } } }, @@ -20999,7 +22549,7 @@ "type": "Polygon Vertex", "name": " UP Trend End", "project": "Foundations", - "id": "5e68bc66-0712-4bdb-bbf9-bffec8c87556", + "id": "7e0e99b5-7adb-42dc-a9f5-9e253f090d48", "savedPayload": { "position": { "x": 18144.68022972109, @@ -21021,12 +22571,12 @@ "referenceParent": { "type": "Point", "name": "UP Trend End", - "id": "082fc9a8-0c64-41a5-8fcd-327e6b9c101b" + "id": "87f9c1b3-2f99-45c8-ad19-e9868a952fd9" } } } ], - "id": "0d2cba80-90d4-44f7-a099-c20b3e873576", + "id": "02952316-38c3-4258-9587-96ab9f227963", "savedPayload": { "position": { "x": 17866.878281255034, @@ -21062,7 +22612,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "74096cdb-7478-4aa5-bd10-1ac24feb99de", + "id": "c7676ccc-27a7-4e4a-84a0-633b90eb8025", "savedPayload": { "position": { "x": 17940.44594457302, @@ -21094,7 +22644,7 @@ "name": "New Style", "config": "{\n \"opacity\": 0,\n \"lineWidth\": 0,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RED\"\n}", "project": "Foundations", - "id": "4fca6949-3ddb-4a60-b6ac-d8379d9ac07b", + "id": "7ed07ffb-4a82-45b5-ab73-15332a09a6af", "savedPayload": { "position": { "x": 18041.310685191926, @@ -21115,7 +22665,7 @@ "uiObject": {} } }, - "id": "de168817-ab0f-43de-9dc3-f1a0b14383a3", + "id": "ac35a20f-2b07-41a3-93d8-9218c43a68e4", "savedPayload": { "position": { "x": 18099.544970339994, @@ -21139,7 +22689,7 @@ } } ], - "id": "2b427031-1dfd-4264-a583-be2e4ddeda94", + "id": "b27809c3-703b-4ae5-9342-67dec8770027", "savedPayload": { "position": { "x": 18157.77925548806, @@ -21167,7 +22717,7 @@ "type": "Polygon Vertex", "name": " Down Trend Begin", "project": "Foundations", - "id": "702d97a5-3147-44fe-bfd3-7f5f2c016326", + "id": "c2f04030-f3b8-4ce8-b78a-afe851b930fb", "savedPayload": { "position": { "x": 18316.878281255034, @@ -21189,7 +22739,7 @@ "referenceParent": { "type": "Point", "name": "Down Trend Begin", - "id": "b71d842a-c86f-40ba-98ff-fce4fb361eef" + "id": "24561365-405d-41f2-80fc-bae8ff226b1d" } } }, @@ -21197,7 +22747,7 @@ "type": "Polygon Vertex", "name": " Down Trend End", "project": "Foundations", - "id": "8a27d5e7-d89b-4fbd-8768-41a749629470", + "id": "f953bb27-f7e6-46a9-8f08-8dfee0022834", "savedPayload": { "position": { "x": 18635.07633278898, @@ -21219,12 +22769,12 @@ "referenceParent": { "type": "Point", "name": "Down Trend End", - "id": "7ec16168-d177-4728-8c14-e51882e83a71" + "id": "3df4c5b6-3d34-47e1-9400-edf037d51746" } } } ], - "id": "d3d292ea-3b95-4433-8647-ee361e7ebd7f", + "id": "220066da-3972-4f8b-a88d-fd050214e04d", "savedPayload": { "position": { "x": 18316.878281255034, @@ -21250,7 +22800,7 @@ ], "images": [], "texts": [], - "id": "810ca109-1480-4f3a-be37-0a874e7add7d", + "id": "008646c7-d570-49c2-a977-e985580a4cf6", "savedPayload": { "position": { "x": 18316.878281255034, @@ -21290,7 +22840,7 @@ "name": "Up Trend", "code": "record.uptrend", "project": "Foundations", - "id": "aa455d18-e814-4b64-bd3d-ecd813b3f1fe", + "id": "27408661-972b-4e99-89f0-58a4759a53d0", "savedPayload": { "position": { "x": 18608.765448576763, @@ -21316,7 +22866,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "df055c20-0483-4e71-ad7d-9e49e24dad81", + "id": "773cc121-5dcf-4dd0-8320-3b6a5f53d3a5", "savedPayload": { "position": { "x": 18715.164781928925, @@ -21337,7 +22887,7 @@ "uiObject": {} } }, - "id": "f99eea45-287e-4c73-b4f3-8c6d8099e938", + "id": "f063e8f3-5cef-4956-a862-82b7863b064b", "savedPayload": { "position": { "x": 18750.362536562978, @@ -21370,7 +22920,7 @@ "name": "New Data Formula", "code": "record.downtrend", "project": "Foundations", - "id": "f1d25bad-026a-48ca-bccf-45697ef27ba4", + "id": "63422a5d-7399-464d-a27e-7dbc3a0573dd", "savedPayload": { "position": { "x": 18876.882821534367, @@ -21396,7 +22946,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "944c6de5-c996-4452-a383-7168c81f376e", + "id": "91b3c4a4-2d01-464f-a763-7c5063602704", "savedPayload": { "position": { "x": 18990.806274130427, @@ -21417,7 +22967,7 @@ "uiObject": {} } }, - "id": "c0a5042a-1350-42f7-9138-469e6424f4bb", + "id": "d5ea125f-77ff-4cf4-ae18-85ddb90a9c2c", "savedPayload": { "position": { "x": 18888.65841168903, @@ -21450,7 +23000,7 @@ "name": "New Data Formula", "code": "record.trend", "project": "Foundations", - "id": "1c20d10c-3f33-40e0-9edb-024f28d02c52", + "id": "ec5bb266-01b3-4576-8e79-bb8dfb6cf931", "savedPayload": { "position": { "x": 19131.629649865827, @@ -21476,7 +23026,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "63a68284-1b65-4709-9a3f-c9881ebc8a23", + "id": "e7c37b7d-5c72-4e92-b42d-2b383a7ad13a", "savedPayload": { "position": { "x": 19209.56233492983, @@ -21497,7 +23047,7 @@ "uiObject": {} } }, - "id": "2d3b7ecd-eb07-48b8-87d4-a3e362a7322d", + "id": "355693a2-9cdb-4c03-85cb-c7f98a9e21ae", "savedPayload": { "position": { "x": 19009.085866987447, @@ -21530,7 +23080,7 @@ "name": "New Data Formula", "code": "record.atrNPeriod", "project": "Foundations", - "id": "3dcb5b87-5d6f-4316-a2a2-3fab7ba32cb9", + "id": "1786a4be-93e7-424f-a5ec-bb29932cd297", "savedPayload": { "position": { "x": 19156.660119580076, @@ -21556,7 +23106,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "944bc4c9-0187-4f27-b2ab-55d1d06efeb9", + "id": "dd6ef85f-f04f-4328-b020-635e118977af", "savedPayload": { "position": { "x": 19168.419571697686, @@ -21577,7 +23127,7 @@ "uiObject": {} } }, - "id": "fe2219f8-e2e1-4ab8-8f2f-a99537802064", + "id": "7b7b47b2-0569-4df2-814f-38d57c632187", "savedPayload": { "position": { "x": 19065.645707712894, @@ -21601,7 +23151,7 @@ } } ], - "id": "cf376704-0435-474b-b7c9-87c3954ccc40", + "id": "6b069813-ac3b-4b29-b531-fdf1835bc4b2", "savedPayload": { "position": { "x": 18841.878281255034, @@ -21625,7 +23175,7 @@ } } ], - "id": "d6113b66-22af-4567-ba02-ccc525f658c3", + "id": "022ba419-a30c-4fe6-8e7d-affb6359755e", "savedPayload": { "position": { "x": 18616.878281255034, @@ -21649,11 +23199,11 @@ } } ], - "id": "ac405b6a-8fa4-4dcd-a2b6-afac29f377cf", + "id": "d12b4289-f3cc-4a7e-bf54-9024713e6085", "savedPayload": { "position": { - "x": 17488.06270878349, - "y": 9560.590289899545 + "x": 17511.296960513584, + "y": 9505.472132424411 }, "targetPosition": { "x": 18051.878281255034, @@ -21702,7 +23252,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.FastTrend", "project": "Foundations", - "id": "a9ac3047-f822-4952-97b1-4ae1b764ddc3", + "id": "440bda53-9e36-4e03-af6a-bbc3f70936fc", "savedPayload": { "position": { "x": 18053.454819837556, @@ -21723,7 +23273,7 @@ "uiObject": {} } }, - "id": "78d2b1a8-de3c-47ba-87fb-23b3e4b340dc", + "id": "c4e3a34a-3d04-4b8f-80eb-4c6bc2fe1365", "savedPayload": { "position": { "x": 17841.322785481592, @@ -21755,7 +23305,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.FastTrend", "project": "Foundations", - "id": "56dd7d93-6e52-4641-870a-4a15765f920c", + "id": "3e4bcb21-0ed8-4fc5-85f3-b1cc7366be23", "savedPayload": { "position": { "x": 17545.635255352187, @@ -21776,7 +23326,7 @@ "uiObject": {} } }, - "id": "3bca3294-81a3-472d-8599-ab5496509302", + "id": "afd82920-bf28-4a85-985f-fe68e8cb364d", "savedPayload": { "position": { "x": 17835.413003238908, @@ -21800,7 +23350,7 @@ } } ], - "id": "40dcdd02-bc32-42c5-9608-cd5416189f41", + "id": "1f27c3cd-f77a-498a-ad0b-ca87f2040d5e", "savedPayload": { "position": { "x": 18125.19075112563, @@ -21838,7 +23388,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "3e045bf2-7262-400e-8037-f12b34b39057", + "id": "d0f13e28-7897-4b6b-bb7e-2c32a8bb00d2", "savedPayload": { "position": { "x": 17276.662613701774, @@ -21870,7 +23420,7 @@ "name": "New Style", "config": "{\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_RED\"\n}", "project": "Foundations", - "id": "5f65877e-ad09-4d7a-afa8-525100471711", + "id": "72106bfa-5259-4ca0-8170-7d02f2669dce", "savedPayload": { "position": { "x": 17354.30832723253, @@ -21891,7 +23441,7 @@ "uiObject": {} } }, - "id": "a4d6023b-dedc-445b-9019-d0f478cd5dfa", + "id": "62379272-9f72-4bd7-b6eb-a04a190f6a29", "savedPayload": { "position": { "x": 17644.086075119252, @@ -21915,7 +23465,7 @@ } } ], - "id": "1236b314-21a9-4677-a37d-b4435a7b0a92", + "id": "c6c7b54d-d85d-4487-9b2b-dd8f044eeb53", "savedPayload": { "position": { "x": 17778.57239594446, @@ -21943,7 +23493,7 @@ "type": "Polygon Vertex", "name": " FastTrend End", "project": "Foundations", - "id": "1646def6-b414-43d1-9745-d0387c35ffde", + "id": "455aec37-6843-4efe-beea-fc569d7f1b6e", "savedPayload": { "position": { "x": 17778.57239594446, @@ -21965,7 +23515,7 @@ "referenceParent": { "type": "Point", "name": "FastTrend End", - "id": "3bca3294-81a3-472d-8599-ab5496509302" + "id": "afd82920-bf28-4a85-985f-fe68e8cb364d" } } }, @@ -21973,7 +23523,7 @@ "type": "Polygon Vertex", "name": " FastTrend Begin", "project": "Foundations", - "id": "e6adc574-7849-4659-9c78-b133a0958354", + "id": "b8e42574-4e01-4842-8daa-0d2bcfc1e2ce", "savedPayload": { "position": { "x": 18202.836464656386, @@ -21995,12 +23545,12 @@ "referenceParent": { "type": "Point", "name": "FastTrend Begin", - "id": "78d2b1a8-de3c-47ba-87fb-23b3e4b340dc" + "id": "c4e3a34a-3d04-4b8f-80eb-4c6bc2fe1365" } } } ], - "id": "73b3d6aa-ea6e-451a-9ea0-af0ddfa11c1c", + "id": "aa23cb2e-5c7e-4c83-9728-5b7228f3a125", "savedPayload": { "position": { "x": 17990.704430300422, @@ -22026,7 +23576,7 @@ ], "images": [], "texts": [], - "id": "ca65e160-7f82-445a-b4a8-7f11f35039ed", + "id": "19db314e-6050-4118-94c6-f27f72b580b1", "savedPayload": { "position": { "x": 18202.836464656386, @@ -22066,7 +23616,7 @@ "name": "New Data Formula", "code": "record.NegativeDisorder", "project": "Foundations", - "id": "97dcbe28-5e3d-4375-b2d7-c0bff7fcfd07", + "id": "fcb77044-6bec-4806-992e-0b3698fa6ccd", "savedPayload": { "position": { "x": 18134.47391572563, @@ -22092,7 +23642,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "ded5f3d3-b199-445f-be36-fc7953d2aa11", + "id": "88acd1f3-81ba-40d6-9938-9146a5edb422", "savedPayload": { "position": { "x": 18107.279355142986, @@ -22113,7 +23663,7 @@ "uiObject": {} } }, - "id": "06544b47-01ed-4470-95db-18369296a559", + "id": "b70990bb-a5a5-4fe2-bc67-58aed41a7eb9", "savedPayload": { "position": { "x": 18270.671065647493, @@ -22146,7 +23696,7 @@ "name": "New Data Formula", "code": "record.PositiveDisorder", "project": "Foundations", - "id": "992c8a30-27af-4731-9b27-c5179e0a23f3", + "id": "c31c132d-28a3-4f3a-9d1d-fb918a39b77f", "savedPayload": { "position": { "x": 18166.443039031732, @@ -22172,7 +23722,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "41368420-3c04-49e5-83b6-175c7c39a2ab", + "id": "fc96c046-8dc9-408e-9ea6-308c2acdb233", "savedPayload": { "position": { "x": 18651.545658525225, @@ -22193,7 +23743,7 @@ "uiObject": {} } }, - "id": "0c8d8e16-8296-416d-a591-3babe1a1472e", + "id": "8617dc57-ee1d-41fc-a524-cc99c96d3fa0", "savedPayload": { "position": { "x": 18462.749541210273, @@ -22226,7 +23776,7 @@ "name": "New Data Formula", "code": "record.FastTrend", "project": "Foundations", - "id": "42be3101-62c5-45d0-9660-1455cd9284fa", + "id": "2f5b1845-fb28-4a37-9857-43713ae150f7", "savedPayload": { "position": { "x": 18756.473374998885, @@ -22252,7 +23802,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "c96fee4a-6e2c-4590-a984-c21030231608", + "id": "cb9d1d3f-8236-49af-a251-fe2ffa411cb9", "savedPayload": { "position": { "x": 19083.477842460114, @@ -22273,7 +23823,7 @@ "uiObject": {} } }, - "id": "18733b56-18a3-4216-9b45-97b50f9d2049", + "id": "2ee0b3e5-e8c8-46f0-b51b-45831d182582", "savedPayload": { "position": { "x": 18803.403714510954, @@ -22306,7 +23856,7 @@ "name": "New Data Formula", "code": "record.intertrend", "project": "Foundations", - "id": "1dedac88-380c-41a6-8627-1f6d6359b38a", + "id": "bd002f7d-32c8-4b66-9cef-940a4f1db7bd", "savedPayload": { "position": { "x": 19089.163053714, @@ -22332,7 +23882,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.BLACK\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "b5acdf53-e7f6-4782-8df5-6f69b7b2e04c", + "id": "607762e1-1443-470e-892d-718f9e7b9dca", "savedPayload": { "position": { "x": 18806.160309584608, @@ -22353,7 +23903,7 @@ "uiObject": {} } }, - "id": "7e49de91-6d37-4f70-91e5-e6ff53cbc4b2", + "id": "796b9d70-7b6d-4bb5-ab62-3902398cf3e5", "savedPayload": { "position": { "x": 18821.86109645749, @@ -22377,7 +23927,7 @@ } } ], - "id": "9b0e987a-32cd-4f10-995c-d3bc3feec831", + "id": "75a4acde-ed86-4a55-96a5-1acfc8e060d1", "savedPayload": { "position": { "x": 18570.259926073864, @@ -22401,7 +23951,7 @@ } } ], - "id": "b77e7f2c-9c08-42c1-951c-abc2cd7f051e", + "id": "e29d8ee0-bd36-4b45-b997-b2e35a24904e", "savedPayload": { "position": { "x": 18492.614212543107, @@ -22425,11 +23975,11 @@ } } ], - "id": "63b8da84-294a-46dd-a5c5-c078ea14d244", + "id": "42ebaaa7-9313-4040-b962-3e49c216e6c9", "savedPayload": { "position": { - "x": 17550.585594407272, - "y": 9436.096989052463 + "x": 17582.779391774216, + "y": 9391.708494779705 }, "targetPosition": { "x": 18051.878281255034, @@ -22478,7 +24028,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.VolumeEnergy", "project": "Foundations", - "id": "552403f3-51ca-40d8-87d6-52ff39b37bc4", + "id": "303458a3-05b7-4140-8dc3-861fa2acd780", "savedPayload": { "position": { "x": 18436.81639414028, @@ -22499,7 +24049,7 @@ "uiObject": {} } }, - "id": "4e59288e-f4e4-40b7-bd83-575084717f40", + "id": "ad4c7ba5-b084-4700-bf2f-c6296252ce83", "savedPayload": { "position": { "x": 18322.011364430753, @@ -22531,7 +24081,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.VolumeEnergy", "project": "Foundations", - "id": "a2a49f84-c870-4c86-ac3b-e6a3540a2286", + "id": "ed9b8165-ff67-4a9b-bf04-2a158b15d623", "savedPayload": { "position": { "x": 17612.33941789694, @@ -22552,7 +24102,7 @@ "uiObject": {} } }, - "id": "708a2d8a-50ef-4933-8bce-357d7031daf4", + "id": "57d5a1e6-98d0-4f91-81b1-df02046f0bc5", "savedPayload": { "position": { "x": 17909.77287630908, @@ -22576,7 +24126,7 @@ } } ], - "id": "94515cc7-2afc-4421-ae79-a2364fc45265", + "id": "def110f9-f1d2-4255-95ab-0e949cb75356", "savedPayload": { "position": { "x": 18207.206334721224, @@ -22614,7 +24164,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 0.2,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "12989e97-b35c-48fd-971f-241c82ab0232", + "id": "38f76e76-2d45-474e-8ac3-1ed18d3e6fc7", "savedPayload": { "position": { "x": 17720.702014207545, @@ -22636,7 +24186,7 @@ } }, "styleConditions": [], - "id": "2c7decf4-ae6f-4aa3-ab77-c58c5ab67a82", + "id": "747ba276-c254-4bb5-9920-d6934e3f1ace", "savedPayload": { "position": { "x": 17997.86587396093, @@ -22664,7 +24214,7 @@ "type": "Polygon Vertex", "name": " DiffEnergy End", "project": "Foundations", - "id": "91ec2d34-5df8-4038-b981-f8465e103e99", + "id": "928b4f8e-826f-4bdd-a66a-7ff247791407", "savedPayload": { "position": { "x": 18160.22470400479, @@ -22686,7 +24236,7 @@ "referenceParent": { "type": "Point", "name": "DiffEnergy End", - "id": "708a2d8a-50ef-4933-8bce-357d7031daf4" + "id": "57d5a1e6-98d0-4f91-81b1-df02046f0bc5" } } }, @@ -22694,7 +24244,7 @@ "type": "Polygon Vertex", "name": " DiffEnergy Begin", "project": "Foundations", - "id": "9a01dde0-be7d-4fd9-8f27-9e1232518588", + "id": "7a3ee16c-0873-471a-b585-145b40af5636", "savedPayload": { "position": { "x": 18552.193593467702, @@ -22716,12 +24266,12 @@ "referenceParent": { "type": "Point", "name": "DiffEnergy Begin", - "id": "4e59288e-f4e4-40b7-bd83-575084717f40" + "id": "ad4c7ba5-b084-4700-bf2f-c6296252ce83" } } } ], - "id": "4e88f6fb-aa42-424b-bc7f-5faba4cd5118", + "id": "6ca89879-54d1-4348-b37c-2483c1cf830a", "savedPayload": { "position": { "x": 18275.029733714317, @@ -22747,7 +24297,7 @@ ], "images": [], "texts": [], - "id": "b88436c3-8337-4ea8-9a5a-7c4452f42c0a", + "id": "16b0ce26-7815-4036-8b95-85dc881e5f2b", "savedPayload": { "position": { "x": 18389.83476342384, @@ -22787,7 +24337,7 @@ "name": "New Data Formula", "code": "record.VolumeEnergy", "project": "Foundations", - "id": "cbd93021-ab02-41f7-95ad-2eafe2c23f24", + "id": "ae633e69-e916-46b1-92c2-eb9547335664", "savedPayload": { "position": { "x": 18937.720049531694, @@ -22813,7 +24363,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "f581fc03-c224-4276-b5dc-70f9335fba1b", + "id": "329c9f45-16e0-4ed0-9bfa-b146f6c3958c", "savedPayload": { "position": { "x": 19349.95853765336, @@ -22834,7 +24384,7 @@ "uiObject": {} } }, - "id": "343d42a4-bc31-41be-bcf1-aadd30d6fe91", + "id": "b11ed23b-f904-456a-8432-56f0f781a964", "savedPayload": { "position": { "x": 19052.52507924122, @@ -22858,7 +24408,7 @@ } } ], - "id": "3e677be6-4966-4f2a-bc2d-5459fe2bd1e9", + "id": "d23938f2-f150-444b-81b5-e80ea571598e", "savedPayload": { "position": { "x": 18869.8966505386, @@ -22882,7 +24432,7 @@ } } ], - "id": "67560b6a-1e78-4d72-a52f-02f188a740fe", + "id": "8a24ef7f-a21c-44f9-acc9-6b9de7ff38ab", "savedPayload": { "position": { "x": 18687.268221835984, @@ -22906,11 +24456,11 @@ } } ], - "id": "4bf10021-3ce9-4906-9a35-7d0840e325fe", + "id": "56db9241-7f28-42bd-8a4e-bf97e4af58a4", "savedPayload": { "position": { - "x": 17640.133298533794, - "y": 9329.378190951116 + "x": 17677.784400139793, + "y": 9296.703486414128 }, "targetPosition": { "x": 18051.878281255034, @@ -22959,7 +24509,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.VolumeEnergyB", "project": "Foundations", - "id": "cc079e97-b6c5-47de-b320-ad1082d870a0", + "id": "fec18c0b-685b-495c-aab6-a042e8cc74d7", "savedPayload": { "position": { "x": 19510.587404640937, @@ -22980,7 +24530,7 @@ "uiObject": {} } }, - "id": "372b4abb-d06d-41ed-9c23-6e7716df2681", + "id": "5efde6a4-a2ee-4cb4-bc95-51278b7ebe83", "savedPayload": { "position": { "x": 19323.54046408332, @@ -23012,7 +24562,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.VolumeEnergyB", "project": "Foundations", - "id": "a5530975-b56e-4b27-86d4-696f095506dc", + "id": "7d94a924-9996-479c-a95d-bb86ccd5390d", "savedPayload": { "position": { "x": 19002.98096315191, @@ -23033,7 +24583,7 @@ "uiObject": {} } }, - "id": "9b985964-c2aa-468c-8533-541b5ac9ddb4", + "id": "427f34e2-3846-4898-96d5-40e87c4dd358", "savedPayload": { "position": { "x": 19069.737243338805, @@ -23065,7 +24615,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.TmpB", "project": "Foundations", - "id": "1b6ae7fd-490d-43f9-b753-6bbe708099dc", + "id": "63dd4338-5b2d-440d-9403-c54b514b6fd7", "savedPayload": { "position": { "x": 18595.912202784246, @@ -23086,7 +24636,7 @@ "uiObject": {} } }, - "id": "39673f54-42c4-42bd-82dc-a470aceb048a", + "id": "c66604eb-1878-4acf-a0bc-5809d97ac625", "savedPayload": { "position": { "x": 18866.202863154973, @@ -23118,7 +24668,7 @@ "name": "TmpB End", "code": "x = record.end\ny = record.TmpB", "project": "Foundations", - "id": "ebfdace0-35d4-46c0-b311-34e0106430d9", + "id": "8c2546f9-e961-4266-a13e-7c019a91ee8f", "savedPayload": { "position": { "x": 18595.912202784246, @@ -23139,7 +24689,7 @@ "uiObject": {} } }, - "id": "26375621-a644-41e1-a40b-3d3699045138", + "id": "7adab66e-6f6b-4f10-8884-a33ad119ab10", "savedPayload": { "position": { "x": 18866.202863154973, @@ -23171,7 +24721,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.RelativeAgitation", "project": "Foundations", - "id": "31528f31-3214-4cbb-90ab-d0d7972d00cf", + "id": "11104a65-f9dd-4b38-a809-38e7f5a5eb6f", "savedPayload": { "position": { "x": 19002.98096315191, @@ -23192,7 +24742,7 @@ "uiObject": {} } }, - "id": "99b74454-0578-4c98-8d61-3fdf842aeabf", + "id": "b9ed7251-8692-4a98-9e29-899ad7df93d5", "savedPayload": { "position": { "x": 19069.737243338805, @@ -23224,7 +24774,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.RelativeAgitation", "project": "Foundations", - "id": "7aa90f8b-1694-4e3a-849e-5cbd7f989420", + "id": "eebbef3f-df9d-4ed0-a078-1745c237f34d", "savedPayload": { "position": { "x": 19510.587404640937, @@ -23245,7 +24795,7 @@ "uiObject": {} } }, - "id": "39f61b73-35b1-4e51-a0ce-e6d04f5224cb", + "id": "7ea1c8ac-4321-45cd-b75b-97d79b330bc5", "savedPayload": { "position": { "x": 19323.54046408332, @@ -23269,7 +24819,7 @@ } } ], - "id": "35ae60c5-d3f9-4a75-86f5-b191811ed952", + "id": "76a0169e-bd9c-4068-a571-3e920e8442ce", "savedPayload": { "position": { "x": 18830.08216843255, @@ -23307,7 +24857,7 @@ "name": "New Style", "config": " { \"default\": { \"opacity\": 0.2, \"lineWidth\": 1, \"lineDash\": [0,0], \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\" }, \"atMousePosition\": { \"opacity\": 0.3, \"lineWidth\": 2, \"lineDash\": [0,0], \"paletteColor\": \"UI_COLOR.RUSTED_RED\" }}", "project": "Foundations", - "id": "0029b14a-2554-4ca7-8046-efba509412ff", + "id": "b2959dbf-f2a3-462f-a483-f8482fc4c1e3", "savedPayload": { "position": { "x": 19907.22067503921, @@ -23329,7 +24879,7 @@ } }, "styleConditions": [], - "id": "ff644eca-0223-441d-acb6-ae2131a175ea", + "id": "f44aaf77-cfad-46fe-b2d3-ce099b26c1cf", "savedPayload": { "position": { "x": 19814.515576726728, @@ -23357,7 +24907,7 @@ "type": "Polygon Vertex", "name": " RelativeAgitation End", "project": "Foundations", - "id": "98cacf1f-cf22-4069-9307-4d871c79e26f", + "id": "36ea74c0-4a4b-457a-9985-e6e409219b49", "savedPayload": { "position": { "x": 20007.12743330279, @@ -23379,7 +24929,7 @@ "referenceParent": { "type": "Point", "name": "RelativeAgitation End", - "id": "39f61b73-35b1-4e51-a0ce-e6d04f5224cb" + "id": "7ea1c8ac-4321-45cd-b75b-97d79b330bc5" } } }, @@ -23387,7 +24937,7 @@ "type": "Polygon Vertex", "name": " RelativeAgitation Begin", "project": "Foundations", - "id": "3261c27e-555e-4b78-92d7-df59c9cd0a4f", + "id": "d1e3fc65-3b13-4775-99e3-cc10b1fc147d", "savedPayload": { "position": { "x": 19629.105380101762, @@ -23409,12 +24959,12 @@ "referenceParent": { "type": "Point", "name": "RelativeAgitation Begin", - "id": "99b74454-0578-4c98-8d61-3fdf842aeabf" + "id": "b9ed7251-8692-4a98-9e29-899ad7df93d5" } } } ], - "id": "6d1bea08-d15d-48d2-af43-2651814f8179", + "id": "2fe05e66-69ce-4c72-8848-5f0a5f496f04", "savedPayload": { "position": { "x": 19299.528784892158, @@ -23440,7 +24990,7 @@ ], "images": [], "texts": [], - "id": "fcda8161-0cc8-4508-8732-9c9ecb82bf79", + "id": "a067451b-727c-40a7-b54f-02efaf59fb97", "savedPayload": { "position": { "x": 19129.10936087281, @@ -23480,7 +25030,7 @@ "name": "New Data Formula", "code": "record.VolumeEnergyB", "project": "Foundations", - "id": "79ac63af-e4ce-49a3-ab2f-41d087ef785d", + "id": "161f366f-c1bb-4e92-acab-96713232319b", "savedPayload": { "position": { "x": 19333.98913258091, @@ -23506,7 +25056,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "44ae1587-537e-4399-be12-4aefbf44cc97", + "id": "7a4ce49b-a3a1-4d0b-b8f6-98b009e94373", "savedPayload": { "position": { "x": 19851.919422732124, @@ -23527,7 +25077,7 @@ "uiObject": {} } }, - "id": "68891ce7-a41f-4ac8-80f5-bfa7cc2c3a21", + "id": "2ed2f56b-74a3-49ac-ab31-e12c0b10995f", "savedPayload": { "position": { "x": 19580.88429234901, @@ -23560,7 +25110,7 @@ "name": "New Data Formula", "code": "record.TmpB", "project": "Foundations", - "id": "d88d839d-ce31-416b-92c5-2ad382b7b60a", + "id": "a32bba38-637c-412a-8f72-693b2a7fb52c", "savedPayload": { "position": { "x": 20026.1909381936, @@ -23586,7 +25136,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "9dddb159-f629-4c7e-ba74-4cdb7ff1b799", + "id": "771fb1e3-5fcb-44d9-b44d-853fe699a987", "savedPayload": { "position": { "x": 19984.379282595168, @@ -23607,7 +25157,7 @@ "uiObject": {} } }, - "id": "5a85b60b-1f08-4523-99a4-45663967023f", + "id": "03ae7683-bc79-418d-9a14-83cbd9493a30", "savedPayload": { "position": { "x": 19855.771514174252, @@ -23640,7 +25190,7 @@ "name": "New Data Formula", "code": "record.RelativeAgitation", "project": "Foundations", - "id": "6fecca90-e3d6-4db7-a39e-a4752ad8696e", + "id": "18f585d5-30a9-4482-978a-aea9da2d8b26", "savedPayload": { "position": { "x": 19779.499510887068, @@ -23666,7 +25216,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "bfeae23e-b71e-4f52-857b-b4d05a7e2429", + "id": "efd24a11-c5dc-4a37-99b9-fe6525da7352", "savedPayload": { "position": { "x": 19261.569220735855, @@ -23687,7 +25237,7 @@ "uiObject": {} } }, - "id": "a6151467-ff3d-4f46-8726-c7b8d5f33bd8", + "id": "bbfb5789-c1c4-4342-b934-67fd3725105d", "savedPayload": { "position": { "x": 19532.60435111897, @@ -23711,7 +25261,7 @@ } } ], - "id": "347f37a1-1234-41f2-8e55-e3a14b521d28", + "id": "fdb7845e-35df-45b2-9748-34c9b46b7cd1", "savedPayload": { "position": { "x": 19556.74432173399, @@ -23735,7 +25285,7 @@ } } ], - "id": "8c029029-b2f1-443b-95d9-f79ac4ab9816", + "id": "f19f83c6-b532-46c2-b463-94c062fb002f", "savedPayload": { "position": { "x": 19257.717129293727, @@ -23759,11 +25309,11 @@ } } ], - "id": "2eb06bd6-6daf-4b09-8f5a-6895def1d586", + "id": "9a2af453-9f30-4043-9811-bb349f772c57", "savedPayload": { "position": { - "x": 17751.878281255034, - "y": 9246.187133624282 + "x": 17791.5480377845, + "y": 9225.221055153494 }, "targetPosition": { "x": 18051.878281255034, @@ -23812,7 +25362,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.OBV", "project": "Foundations", - "id": "fd21bf52-5aa2-4ed4-b3eb-f872ab52dce0", + "id": "662850ee-63d1-41a4-bb89-dbe21b2b78ee", "savedPayload": { "position": { "x": 18443.992692637097, @@ -23833,7 +25383,7 @@ "uiObject": {} } }, - "id": "72db71ed-9395-4b08-8029-08977a9bcb13", + "id": "96bc37c5-7047-4f0f-a811-f965d49c936b", "savedPayload": { "position": { "x": 18225.81949099294, @@ -23865,7 +25415,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.OBV", "project": "Foundations", - "id": "61f60169-db19-454b-a7a4-404eea92d571", + "id": "fa5c71ff-5b83-4c20-9836-a8873439a23b", "savedPayload": { "position": { "x": 18597.374950712347, @@ -23886,7 +25436,7 @@ "uiObject": {} } }, - "id": "8967dc4c-76fc-428d-8c46-ba2e2dd40481", + "id": "ef8ee239-a0e9-438d-92ee-343457823fa9", "savedPayload": { "position": { "x": 18302.510620030567, @@ -23918,7 +25468,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.VEma20", "project": "Foundations", - "id": "c236e002-d8b8-4476-8d11-f61f77933fa8", + "id": "4c2918de-11ef-4845-9b96-f6e085604623", "savedPayload": { "position": { "x": 18563.522525628272, @@ -23939,7 +25489,7 @@ "uiObject": {} } }, - "id": "8e785a86-5d60-4929-94bd-19d6c5e6f64c", + "id": "0aa2dd25-c2a9-4ba3-8624-725522aab74e", "savedPayload": { "position": { "x": 18285.584407488528, @@ -23971,7 +25521,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.VEma20", "project": "Foundations", - "id": "8d00763b-54e4-4e5a-8fad-2561886167d8", + "id": "9ee5ba48-f236-4dc7-97a5-a69f5fc10e4a", "savedPayload": { "position": { "x": 18353.18332315926, @@ -23992,7 +25542,7 @@ "uiObject": {} } }, - "id": "4daa7e7f-fa61-49dc-91f7-5d133ed6d111", + "id": "314313ec-4d2c-45fb-8701-964d99ec9062", "savedPayload": { "position": { "x": 18180.414806254023, @@ -24024,7 +25574,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.VEma10", "project": "Foundations", - "id": "75f5e8ee-a528-4520-8eb5-aa159d5f5476", + "id": "a648780b-cbf2-4873-bcfd-90fb50166be5", "savedPayload": { "position": { "x": 18033.138553903438, @@ -24045,7 +25595,7 @@ "uiObject": {} } }, - "id": "74bb02f0-1abc-4bbc-bd9e-24137c17ffb1", + "id": "9cb91dbf-0fa2-4c2c-8276-13f3f1403db6", "savedPayload": { "position": { "x": 18020.39242162611, @@ -24077,7 +25627,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.VEma10", "project": "Foundations", - "id": "d1c9b930-7f2b-461b-8b1c-e12952dd0d73", + "id": "f3ae8cc4-d730-4d9d-b490-16ad5d9e23b4", "savedPayload": { "position": { "x": 17705.000170771244, @@ -24098,7 +25648,7 @@ "uiObject": {} } }, - "id": "16af346d-5466-464b-926b-f81e3086648a", + "id": "7ae159d4-3237-4ebb-819f-a9805b9ff4a3", "savedPayload": { "position": { "x": 17856.323230060014, @@ -24130,7 +25680,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.VEma5", "project": "Foundations", - "id": "44362e4d-57f6-4c40-85b9-7c1d5fc0ee17", + "id": "22f294e3-52a2-4c0a-869b-2a3a2d5ba1f3", "savedPayload": { "position": { "x": 17472.949791892133, @@ -24151,7 +25701,7 @@ "uiObject": {} } }, - "id": "1e41eb46-adfe-4354-a2b6-409e71300547", + "id": "b0ea2167-abf0-4659-85b6-c7f67adae7af", "savedPayload": { "position": { "x": 17740.29804062046, @@ -24183,7 +25733,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.VEma5", "project": "Foundations", - "id": "dc19696b-6583-45d0-af5e-20ea4f3a39c4", + "id": "4b8417de-4b6f-44d9-8b45-cc6338294f40", "savedPayload": { "position": { "x": 17410.66177297059, @@ -24204,7 +25754,7 @@ "uiObject": {} } }, - "id": "448d75f7-241b-447d-ad2a-89817cce90aa", + "id": "1d9c302f-e2b2-4f8d-a66c-beecf92bb6f0", "savedPayload": { "position": { "x": 17709.154031159687, @@ -24236,7 +25786,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.VEma3", "project": "Foundations", - "id": "df1ea897-2373-49ac-9c21-8a48a03fd510", + "id": "cfdd9379-4058-4198-bb6b-404f3bd46161", "savedPayload": { "position": { "x": 17537.9121199081, @@ -24257,7 +25807,7 @@ "uiObject": {} } }, - "id": "024143a7-c437-495e-89f4-f96638a3c218", + "id": "3abdae6a-7a3e-40ce-8968-e37528d158f1", "savedPayload": { "position": { "x": 17772.77920462844, @@ -24289,7 +25839,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.VEma3", "project": "Foundations", - "id": "fddab476-c932-41e9-a15b-3c49a7dffd9a", + "id": "d0c39ac0-024a-4940-baf9-71eb176ec21f", "savedPayload": { "position": { "x": 17814.299746659977, @@ -24310,7 +25860,7 @@ "uiObject": {} } }, - "id": "2c1d9be6-f72f-410a-a0cb-50cb59de7b48", + "id": "c7b78d91-b467-492a-9922-09e69e06a74a", "savedPayload": { "position": { "x": 17910.97301800438, @@ -24334,7 +25884,7 @@ } } ], - "id": "725033eb-0e0a-42a5-8c82-2c3c66f38247", + "id": "0573d805-4dbd-4359-9e71-e377b77cbf49", "savedPayload": { "position": { "x": 18007.646289348784, @@ -24372,7 +25922,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 0.2,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "4bd152d7-8b49-44e6-b7a6-73819aa77749", + "id": "0836cb30-90bc-400d-8192-9a6699860a86", "savedPayload": { "position": { "x": 18513.24329856391, @@ -24394,7 +25944,7 @@ } }, "styleConditions": [], - "id": "bc9326bf-8e7a-4644-9c7b-753469335589", + "id": "1d8ca369-10be-4d43-806a-76c6df763a12", "savedPayload": { "position": { "x": 18792.50542315717, @@ -24422,7 +25972,7 @@ "type": "Polygon Vertex", "name": " OBV Begin", "project": "Foundations", - "id": "e158deb5-9a7e-485b-92f2-ba74120bd46b", + "id": "62ccda17-a46c-466d-8f4a-e5bc5e0f2a14", "savedPayload": { "position": { "x": 18962.16524044051, @@ -24444,7 +25994,7 @@ "referenceParent": { "type": "Point", "name": "OBV Begin", - "id": "72db71ed-9395-4b08-8029-08977a9bcb13" + "id": "96bc37c5-7047-4f0f-a811-f965d49c936b" } } }, @@ -24452,7 +26002,7 @@ "type": "Polygon Vertex", "name": " OBV End", "project": "Foundations", - "id": "974d04da-a752-495d-99ed-5270123f8109", + "id": "d0b41f08-3274-4928-98c5-75ac51a11e9f", "savedPayload": { "position": { "x": 19351.02967234369, @@ -24474,12 +26024,12 @@ "referenceParent": { "type": "Point", "name": "OBV End", - "id": "8967dc4c-76fc-428d-8c46-ba2e2dd40481" + "id": "ef8ee239-a0e9-438d-92ee-343457823fa9" } } } ], - "id": "72b945d9-709e-4c4f-8879-cb64a2359885", + "id": "0f73b7eb-f3bc-427b-b0f8-aa90c0664500", "savedPayload": { "position": { "x": 18691.182568747812, @@ -24515,7 +26065,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_BLUE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "bd3a78f5-5aff-467e-bee1-140ee06ffc49", + "id": "5c6ef0f3-3846-4628-9f21-ad27cc22f193", "savedPayload": { "position": { "x": 18425.657463718428, @@ -24537,7 +26087,7 @@ } }, "styleConditions": [], - "id": "2662cc20-64c3-40e8-b226-019bf64ea138", + "id": "52c05dc6-bf45-4f7b-9568-a5249fddfae5", "savedPayload": { "position": { "x": 18560.85395645841, @@ -24565,7 +26115,7 @@ "type": "Polygon Vertex", "name": " OBV-EMA20 Begin", "project": "Foundations", - "id": "0f2cfa17-f369-425b-94f9-fe87e91b248e", + "id": "8b573ee9-5c98-4cad-9f78-555c80eea776", "savedPayload": { "position": { "x": 18428.24098642531, @@ -24587,7 +26137,7 @@ "referenceParent": { "type": "Point", "name": "OBV-EMA20 Begin", - "id": "8e785a86-5d60-4929-94bd-19d6c5e6f64c" + "id": "0aa2dd25-c2a9-4ba3-8624-725522aab74e" } } }, @@ -24595,7 +26145,7 @@ "type": "Polygon Vertex", "name": " OBV-EMA20 End", "project": "Foundations", - "id": "5e04102d-eeab-4b71-8eb7-206ccd86193e", + "id": "2569b183-d890-4474-8a06-be54e7e1a6df", "savedPayload": { "position": { "x": 18831.246941938374, @@ -24617,12 +26167,12 @@ "referenceParent": { "type": "Point", "name": "OBV-EMA20 End", - "id": "4daa7e7f-fa61-49dc-91f7-5d133ed6d111" + "id": "314313ec-4d2c-45fb-8701-964d99ec9062" } } } ], - "id": "a7c09020-e2e6-41f2-87cb-fe60de7a0932", + "id": "a0ed8fc0-6685-45cf-afd6-a63dd20b3b77", "savedPayload": { "position": { "x": 18696.050449198392, @@ -24658,7 +26208,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.APPLE_GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "f8eb3ad6-c47f-4d7a-8a6e-b09e6728fefb", + "id": "f39c99cd-d033-48ca-8be5-f62c26608632", "savedPayload": { "position": { "x": 18315.233309895986, @@ -24680,7 +26230,7 @@ } }, "styleConditions": [], - "id": "435e5099-33dc-4a47-872a-631b8d419244", + "id": "280ceea0-ab66-4ed3-baeb-d3168e2c9362", "savedPayload": { "position": { "x": 18608.90881366528, @@ -24708,7 +26258,7 @@ "type": "Polygon Vertex", "name": " OBV-EMA10 Begin", "project": "Foundations", - "id": "07fd2b80-997b-471f-94f8-cb3f7d530c92", + "id": "8f0d8716-813f-4e82-8ebe-4316ba8d86da", "savedPayload": { "position": { "x": 18841.30872289767, @@ -24730,7 +26280,7 @@ "referenceParent": { "type": "Point", "name": "OBV-EMA10 Begin", - "id": "74bb02f0-1abc-4bbc-bd9e-24137c17ffb1" + "id": "9cb91dbf-0fa2-4c2c-8276-13f3f1403db6" } } }, @@ -24738,7 +26288,7 @@ "type": "Polygon Vertex", "name": " OBV-EMA10 End", "project": "Foundations", - "id": "a507de81-efa9-490a-87fc-0f41a5bf8bd0", + "id": "32eb20e0-690a-4c35-ad66-bfc5f4cc2fb6", "savedPayload": { "position": { "x": 19196.259821203865, @@ -24760,12 +26310,12 @@ "referenceParent": { "type": "Point", "name": "OBV-EMA10 End", - "id": "16af346d-5466-464b-926b-f81e3086648a" + "id": "7ae159d4-3237-4ebb-819f-a9805b9ff4a3" } } } ], - "id": "aa2538a0-1eb1-464f-ac24-99f0c2918b99", + "id": "5f3af90a-a643-4fb7-9006-08e7e4a1eb95", "savedPayload": { "position": { "x": 18902.584317434572, @@ -24801,7 +26351,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RED_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "cd057602-56cb-4137-a3a7-565b46d7064a", + "id": "63004ea5-ddbd-4850-bd4a-c157a3d9e51b", "savedPayload": { "position": { "x": 18693.23821700782, @@ -24823,7 +26373,7 @@ } }, "styleConditions": [], - "id": "bccfc3b2-48bf-4552-98db-ba7b3888fec7", + "id": "a0b73a7e-30c7-4741-a605-8cf7eba35b67", "savedPayload": { "position": { "x": 18924.2490875796, @@ -24851,7 +26401,7 @@ "type": "Polygon Vertex", "name": " OBV-EMA5 Begin", "project": "Foundations", - "id": "949c8ebc-202f-481a-8f62-14ab42e85d85", + "id": "ffcb3633-93d2-4f3c-b857-faf6e1b6e3be", "savedPayload": { "position": { "x": 19346.660004331283, @@ -24873,7 +26423,7 @@ "referenceParent": { "type": "Point", "name": "OBV-EMA5 Begin", - "id": "1e41eb46-adfe-4354-a2b6-409e71300547" + "id": "b0ea2167-abf0-4659-85b6-c7f67adae7af" } } }, @@ -24881,7 +26431,7 @@ "type": "Polygon Vertex", "name": " OBV-EMA5 End", "project": "Foundations", - "id": "c20c0800-4a4c-43ab-a5df-0994379c3794", + "id": "44f08f87-7e3d-4ef8-8338-8db4568c9bf7", "savedPayload": { "position": { "x": 19386.270828723158, @@ -24903,12 +26453,12 @@ "referenceParent": { "type": "Point", "name": "OBV-EMA5 End", - "id": "448d75f7-241b-447d-ad2a-89817cce90aa" + "id": "1d9c302f-e2b2-4f8d-a66c-beecf92bb6f0" } } } ], - "id": "c2869126-0980-4652-8c41-bd0df50cabaa", + "id": "bb4180a3-71e1-4b54-850b-23f9d1951492", "savedPayload": { "position": { "x": 19155.25995815138, @@ -24944,7 +26494,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.LIGHT_PINK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "d155e3c6-4014-4e34-8ef2-7474d2990638", + "id": "e04fa354-dae8-41dd-9300-abc915a8dec6", "savedPayload": { "position": { "x": 19275.026780103843, @@ -24966,7 +26516,7 @@ } }, "styleConditions": [], - "id": "b51ecfa2-1a33-45c6-9cbc-ac5719ac60f0", + "id": "885d64fb-40dd-4dbf-ab05-d642baecfae0", "savedPayload": { "position": { "x": 19269.41712017457, @@ -24994,7 +26544,7 @@ "type": "Polygon Vertex", "name": " OBV-EMA3 Begin", "project": "Foundations", - "id": "d9a049d3-8b16-45e5-b884-a64148dda787", + "id": "8b781e35-588c-4289-bd15-dcf9db320a29", "savedPayload": { "position": { "x": 19563.75500851912, @@ -25016,7 +26566,7 @@ "referenceParent": { "type": "Point", "name": "OBV-EMA3 Begin", - "id": "024143a7-c437-495e-89f4-f96638a3c218" + "id": "3abdae6a-7a3e-40ce-8968-e37528d158f1" } } }, @@ -25024,7 +26574,7 @@ "type": "Polygon Vertex", "name": " OBV-EMA3 End", "project": "Foundations", - "id": "982451a6-28c7-41a7-b089-7d5628e9c2a6", + "id": "390077a9-3dce-4e54-b5cf-55cc9f7a7e92", "savedPayload": { "position": { "x": 19258.197800316026, @@ -25046,12 +26596,12 @@ "referenceParent": { "type": "Point", "name": "OBV-EMA3 End", - "id": "2c1d9be6-f72f-410a-a0cb-50cb59de7b48" + "id": "c7b78d91-b467-492a-9922-09e69e06a74a" } } } ], - "id": "ee7f2c0f-6b01-499e-b771-f6f8459cee3d", + "id": "1b521bfd-7886-4d97-9a7e-be1ff8049512", "savedPayload": { "position": { "x": 19263.807460245298, @@ -25077,7 +26627,7 @@ ], "images": [], "texts": [], - "id": "bd591435-ef50-4a00-a620-d61778315173", + "id": "d8a8aa34-9517-469c-a610-8cbaa17d5e35", "savedPayload": { "position": { "x": 18963.859911971475, @@ -25117,7 +26667,7 @@ "name": "New Data Formula", "code": "record.OBV", "project": "Foundations", - "id": "655ca70e-598e-4360-9778-a8fceb582655", + "id": "5166bfc7-d54f-488b-bce9-6318d4cd94bc", "savedPayload": { "position": { "x": 18963.859911971475, @@ -25143,7 +26693,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "a845ad0e-749a-4c4a-8ce0-20f3abaa46a8", + "id": "f1be1860-19e2-4426-bfde-a6949411c9b0", "savedPayload": { "position": { "x": 19376.098400093146, @@ -25164,7 +26714,7 @@ "uiObject": {} } }, - "id": "ca60fe2b-700b-4e23-9c3a-8e5707c5cd95", + "id": "412b272a-a170-4dee-9754-f016c73f34b5", "savedPayload": { "position": { "x": 19261.293370383617, @@ -25197,7 +26747,7 @@ "name": "New Data Formula", "code": "record.VEma20", "project": "Foundations", - "id": "29cc3683-be44-4f95-bdb9-112e73d666ff", + "id": "69dcb216-b5b4-4f69-ad86-8b75c61b9d9d", "savedPayload": { "position": { "x": 19923.983686200994, @@ -25223,7 +26773,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.TRUE_BLUE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "49467db0-458f-48db-95c1-b24b7e339df1", + "id": "a84b4672-d7fe-41c3-8199-fd40bc2faae2", "savedPayload": { "position": { "x": 19511.745198079323, @@ -25244,7 +26794,7 @@ "uiObject": {} } }, - "id": "93e3b92b-213b-495b-b131-a71b8f1e2e6b", + "id": "179f5116-0c76-4454-8b52-ae4bd9818e6a", "savedPayload": { "position": { "x": 19558.726828795763, @@ -25277,7 +26827,7 @@ "name": "New Data Formula", "code": "record.VEma10", "project": "Foundations", - "id": "6627abb9-4d47-4277-a66b-c9db66a900fd", + "id": "ec8073d5-7ee7-4d61-a61b-76a8a1cbf1f1", "savedPayload": { "position": { "x": 19760.243516505634, @@ -25303,7 +26853,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.TRUE_BLUE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "1ea94c56-094e-4cf1-9f52-ee3c975e6393", + "id": "068c0784-2e99-4142-b453-c861cf89470f", "savedPayload": { "position": { "x": 19245.073654664877, @@ -25324,7 +26874,7 @@ "uiObject": {} } }, - "id": "fe72e105-0f4a-49ed-bb3a-1d2f095edbc6", + "id": "3bc1e9fa-3678-45b4-b702-c166485f0596", "savedPayload": { "position": { "x": 19741.355257498377, @@ -25357,7 +26907,7 @@ "name": "New Data Formula", "code": "record.VEma5", "project": "Foundations", - "id": "eb000439-f3bb-41dc-abd7-5820f1d2cd83", + "id": "3eeeaa0b-353e-406a-b99b-2e4817f9e12b", "savedPayload": { "position": { "x": 20191.878281255034, @@ -25383,7 +26933,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.TRUE_BLUE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "a25e2074-4260-439a-a528-35432ba588d2", + "id": "a49db844-f5cc-4e00-a7d0-93cef5428e18", "savedPayload": { "position": { "x": 19591.878281255034, @@ -25404,7 +26954,7 @@ "uiObject": {} } }, - "id": "d3b90ae3-66ec-4e56-b449-28846a53d87b", + "id": "a34c8aa9-158a-40ee-a8dd-067341721f47", "savedPayload": { "position": { "x": 19626.55022778885, @@ -25437,7 +26987,7 @@ "name": "New Data Formula", "code": "record.VEma3", "project": "Foundations", - "id": "6e7686f2-7317-41d3-826f-31376be6b410", + "id": "4fcd0888-6d9e-43cb-8d48-4d621396fa66", "savedPayload": { "position": { "x": 19511.745198079323, @@ -25463,7 +27013,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.TRUE_BLUE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "71194c3d-e806-4af6-99e9-77a97a0adf2d", + "id": "b73cf646-543d-4215-b826-4c371a6815a0", "savedPayload": { "position": { "x": 19031.683310964563, @@ -25484,7 +27034,7 @@ "uiObject": {} } }, - "id": "85a02d82-b684-4c0e-b251-2d43c37de7bc", + "id": "b53ba470-f033-41a2-a2b5-cf179c53f1aa", "savedPayload": { "position": { "x": 19329.116769376706, @@ -25508,7 +27058,7 @@ } } ], - "id": "7c956109-6762-41d1-9938-d6a008e869ed", + "id": "002bdd49-376d-4a1d-870a-ecc375dd785c", "savedPayload": { "position": { "x": 19443.921799086234, @@ -25532,7 +27082,7 @@ } } ], - "id": "69514669-a3f1-49a0-a4f0-f4a932481b99", + "id": "6846334a-dd96-4b7c-aca9-da0dc0160a26", "savedPayload": { "position": { "x": 19146.488340674092, @@ -25556,11 +27106,11 @@ } } ], - "id": "bca6cdfe-817a-4899-a8e1-4d89aa11d18d", + "id": "d5be8465-2fb9-4860-aed9-fa6bad1fa109", "savedPayload": { "position": { - "x": 17879.796341628382, - "y": 9191.008668505652 + "x": 17918.365720881247, + "y": 9180.845628585852 }, "targetPosition": { "x": 18051.878281255034, @@ -25609,7 +27159,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.osc", "project": "Foundations", - "id": "20b8a9d0-d2e3-4b07-8ddd-861b92edc833", + "id": "60d17021-13ee-4ef9-9786-3dd5297b203e", "savedPayload": { "position": { "x": 19121.876863091304, @@ -25630,7 +27180,7 @@ "uiObject": {} } }, - "id": "e19d1e1b-3f54-496e-8c03-98647557cfe7", + "id": "b8625772-8bd9-44e3-b5fa-33e1407aed33", "savedPayload": { "position": { "x": 18694.85690797037, @@ -25662,7 +27212,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.osc", "project": "Foundations", - "id": "2b6a1770-7393-4db1-a76f-42480f11433f", + "id": "03e688ed-550f-47ed-ad8d-809428f4bcc9", "savedPayload": { "position": { "x": 19022.30697120627, @@ -25683,7 +27233,7 @@ "uiObject": {} } }, - "id": "c8e7fea2-55b3-4463-9016-151f01b3746d", + "id": "7e6bf528-05b2-4daa-a23a-30523b685d00", "savedPayload": { "position": { "x": 18645.071962027854, @@ -25715,7 +27265,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.oscb", "project": "Foundations", - "id": "b1796408-89eb-497c-a6aa-ed7d3d52145f", + "id": "d468ffd1-b568-4206-8110-26114ab3efab", "savedPayload": { "position": { "x": 18354.60576711488, @@ -25736,7 +27286,7 @@ "uiObject": {} } }, - "id": "d9eb5d92-d792-4cbb-bef5-b21c5378c399", + "id": "27e2d13c-241d-40b8-862c-fdeae3ae1ee7", "savedPayload": { "position": { "x": 18311.22135998216, @@ -25768,7 +27318,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.oscb", "project": "Foundations", - "id": "126a6f4d-6f8c-4e36-b8c6-55b34d55bdd4", + "id": "04ff8129-fced-4835-9b83-faa3c6b18bc5", "savedPayload": { "position": { "x": 17621.56587612036, @@ -25789,7 +27339,7 @@ "uiObject": {} } }, - "id": "1929aa7d-b70c-445c-b4fc-fb1199760cd5", + "id": "57721864-9708-4fab-beff-bd8455c48742", "savedPayload": { "position": { "x": 17944.701414484898, @@ -25821,7 +27371,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.oscs", "project": "Foundations", - "id": "dc77c466-e4f4-4b3c-8643-93c4a5eda000", + "id": "69612172-b9ae-4536-9f82-d2f4500ff192", "savedPayload": { "position": { "x": 17375.181287430307, @@ -25842,7 +27392,7 @@ "uiObject": {} } }, - "id": "9deb920a-c85b-4f82-a10f-f12fbf3ec476", + "id": "3e6c1272-19ca-43ca-b55b-9d7669b98f60", "savedPayload": { "position": { "x": 17821.50912013987, @@ -25874,7 +27424,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.oscs", "project": "Foundations", - "id": "33a31c1c-adb3-4468-a326-8db64f6be05f", + "id": "df448bd3-a12a-4dfb-8fbc-6cb99c3f1650", "savedPayload": { "position": { "x": 17800.98462165802, @@ -25895,7 +27445,7 @@ "uiObject": {} } }, - "id": "1c668e3b-a1a8-4ac0-bad8-cb690eee7cb9", + "id": "e271399e-4f82-4a20-bd22-1578ad97a7ce", "savedPayload": { "position": { "x": 18034.410787253728, @@ -25919,7 +27469,7 @@ } } ], - "id": "7351674f-46c2-4465-992d-ac4b3dfaaee4", + "id": "b434b413-4da2-4b23-a5b0-a397b026fd70", "savedPayload": { "position": { "x": 18267.836952849437, @@ -25957,7 +27507,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_BLUE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "7d7c5dba-fd3c-41e6-bd84-943af524a122", + "id": "5494d63e-d894-4f01-9b9c-f1bf9b20c2e3", "savedPayload": { "position": { "x": 18915.94122093975, @@ -25979,7 +27529,7 @@ } }, "styleConditions": [], - "id": "6f360d78-a466-4c0b-9118-f5b48bca3ea6", + "id": "b307024d-54b9-4140-9262-6e250afa8098", "savedPayload": { "position": { "x": 18933.073039750976, @@ -26007,7 +27557,7 @@ "type": "Polygon Vertex", "name": " Volume Oscillator End", "project": "Foundations", - "id": "3a989f4c-fb32-4b7c-9353-b08cc129ab1a", + "id": "9f24e150-510d-4e05-ba17-bad558e510ca", "savedPayload": { "position": { "x": 18500.53108705199, @@ -26029,7 +27579,7 @@ "referenceParent": { "type": "Point", "name": "Volume Oscillator End", - "id": "c8e7fea2-55b3-4463-9016-151f01b3746d" + "id": "7e6bf528-05b2-4daa-a23a-30523b685d00" } } }, @@ -26037,7 +27587,7 @@ "type": "Polygon Vertex", "name": " Volume Oscillator Begin", "project": "Foundations", - "id": "77466d30-72a8-490f-9ee2-c2674760e450", + "id": "47049e6e-4326-4336-a3af-93b70a66e65c", "savedPayload": { "position": { "x": 18967.33667737343, @@ -26059,12 +27609,12 @@ "referenceParent": { "type": "Point", "name": "Volume Oscillator Begin", - "id": "e19d1e1b-3f54-496e-8c03-98647557cfe7" + "id": "b8625772-8bd9-44e3-b5fa-33e1407aed33" } } } ], - "id": "85054f2e-1118-4fb9-8bf3-a158e92ca20a", + "id": "2cb0b9a5-cc5c-48b9-8cc8-6230ad85ccfd", "savedPayload": { "position": { "x": 18950.204858562203, @@ -26100,7 +27650,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "edba1016-fe53-47c2-8cf7-df974f72f43a", + "id": "665acde7-d6b7-4d87-8a9a-1e58e41a8b67", "savedPayload": { "position": { "x": 19219.160767319798, @@ -26122,7 +27672,7 @@ } }, "styleConditions": [], - "id": "b8df6147-f032-400e-aee4-d323e85b89b2", + "id": "675558ff-ddd1-4914-8f64-9a078ed07c02", "savedPayload": { "position": { "x": 19448.009638878477, @@ -26150,7 +27700,7 @@ "type": "Polygon Vertex", "name": " Volume Oscillator BUY End", "project": "Foundations", - "id": "4a06b83e-ee9c-415a-9b8d-eed391f468f0", + "id": "8e3404c9-1291-48ba-9062-53b5d1353565", "savedPayload": { "position": { "x": 19870.838390801895, @@ -26172,7 +27722,7 @@ "referenceParent": { "type": "Point", "name": "Volume Oscillator BUY End", - "id": "1929aa7d-b70c-445c-b4fc-fb1199760cd5" + "id": "57721864-9708-4fab-beff-bd8455c48742" } } }, @@ -26180,7 +27730,7 @@ "type": "Polygon Vertex", "name": " VOlume Oscillator BUY Begin", "project": "Foundations", - "id": "25a814dd-4643-4c2b-bf30-bd181e2e7465", + "id": "5f211d96-1cd7-4347-a1db-4e79d24b60ea", "savedPayload": { "position": { "x": 19905.707381995835, @@ -26202,12 +27752,12 @@ "referenceParent": { "type": "Point", "name": "VOlume Oscillator BUY Begin", - "id": "d9eb5d92-d792-4cbb-bef5-b21c5378c399" + "id": "27e2d13c-241d-40b8-862c-fdeae3ae1ee7" } } } ], - "id": "c02cef04-6457-48db-a44e-c95d5cab9329", + "id": "20382bd0-7896-4e9f-a7da-4c7325677cc4", "savedPayload": { "position": { "x": 19277.21512066749, @@ -26243,7 +27793,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "9c0a517b-ad57-4411-a89b-6019283378b4", + "id": "3e78db0b-21ff-42a2-92b7-17464ba77317", "savedPayload": { "position": { "x": 19988.00519780637, @@ -26265,7 +27815,7 @@ } }, "styleConditions": [], - "id": "a01f0028-7acc-4254-bec4-dadc213ac1ac", + "id": "6f5ef40c-66e3-47b8-92e7-a87d8d2cb2c0", "savedPayload": { "position": { "x": 19874.237559010493, @@ -26293,7 +27843,7 @@ "type": "Polygon Vertex", "name": " Volume Oscillator SELL End", "project": "Foundations", - "id": "dd61990c-acf7-4de4-81b2-722b079df902", + "id": "81c96bc0-cb2a-4034-9252-6ddb34b315df", "savedPayload": { "position": { "x": 20038.061210356813, @@ -26315,7 +27865,7 @@ "referenceParent": { "type": "Point", "name": "Volume Oscillator SELL End", - "id": "1c668e3b-a1a8-4ac0-bad8-cb690eee7cb9" + "id": "e271399e-4f82-4a20-bd22-1578ad97a7ce" } } }, @@ -26323,7 +27873,7 @@ "type": "Polygon Vertex", "name": " Volume Oscillator SELL Begin", "project": "Foundations", - "id": "84a17675-69c1-44fa-bcba-084fa8cbe78c", + "id": "84aec9df-ad81-4650-ad4d-8cf6be43f64e", "savedPayload": { "position": { "x": 19646.702281418737, @@ -26345,12 +27895,12 @@ "referenceParent": { "type": "Point", "name": "Volume Oscillator SELL Begin", - "id": "9deb920a-c85b-4f82-a10f-f12fbf3ec476" + "id": "3e6c1272-19ca-43ca-b55b-9d7669b98f60" } } } ], - "id": "ee14f228-da70-4b57-8049-72248a63fa77", + "id": "1535017d-1839-4b9a-af9b-f6954d04479b", "savedPayload": { "position": { "x": 19773.742183591043, @@ -26376,7 +27926,7 @@ ], "images": [], "texts": [], - "id": "55791b0b-3bbb-46b4-be19-61b55764ede6", + "id": "eb5fb364-c24d-436a-9d90-da0d9e980869", "savedPayload": { "position": { "x": 19399.878630072417, @@ -26416,7 +27966,7 @@ "name": "New Data Formula", "code": "record.oscb", "project": "Foundations", - "id": "58dcfdab-d27e-44f8-b631-f00090f08e28", + "id": "47846440-2822-4451-b2b2-67b06804d8a6", "savedPayload": { "position": { "x": 18850.05945166466, @@ -26442,7 +27992,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.TRUE_GREEN\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "bb0adf96-9285-4638-889c-e16afe9efa00", + "id": "68aec523-8a40-4740-a3f5-87fdcbed6382", "savedPayload": { "position": { "x": 19573.65064431035, @@ -26463,7 +28013,7 @@ "uiObject": {} } }, - "id": "b36436e2-1922-442c-9a78-3c75c2b9e9cc", + "id": "7c7e427b-84aa-42bb-bb17-7ce315781b8d", "savedPayload": { "position": { "x": 19295.47910051108, @@ -26496,7 +28046,7 @@ "name": "New Data Formula", "code": "record.osc", "project": "Foundations", - "id": "901a6d0e-3ffc-42f9-a44c-c997ebf6f15f", + "id": "54acd3df-5956-4576-b553-505e7b025e78", "savedPayload": { "position": { "x": 19492.400386165333, @@ -26522,7 +28072,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.TRUE_BLUE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "a5597af3-fcd8-484c-8c87-11d25f5bb184", + "id": "35fe86ef-99b9-4642-8166-11d91fa8fa83", "savedPayload": { "position": { "x": 20152.074453127098, @@ -26543,7 +28093,7 @@ "uiObject": {} } }, - "id": "affa1060-55e5-4e32-b818-0b8f845af9df", + "id": "ff67b118-1361-4567-a2ba-0ea2f0292c03", "savedPayload": { "position": { "x": 19880.49277541546, @@ -26576,7 +28126,7 @@ "name": "New Data Formula", "code": "record.oscs", "project": "Foundations", - "id": "48161079-1ffd-4658-876b-004c27e34fcd", + "id": "017135ee-bcaa-4fad-ba43-014cab752cbb", "savedPayload": { "position": { "x": 20075.39495945179, @@ -26602,7 +28152,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.TRUE_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "e8e57a9d-24f7-4446-b6d3-67fecd9e30c5", + "id": "e615113d-badb-475e-9106-35f5457d6493", "savedPayload": { "position": { "x": 19351.8037668061, @@ -26623,7 +28173,7 @@ "uiObject": {} } }, - "id": "733bdfed-3c01-46ad-84d5-716eb50b7d0e", + "id": "981c802c-1622-4287-bb02-f014fe1c3fae", "savedPayload": { "position": { "x": 19629.975310605372, @@ -26647,7 +28197,7 @@ } } ], - "id": "8d38bb43-3971-4f1d-9712-a1dfc9a2bc77", + "id": "3e04fbeb-7f4a-4237-9951-d102e022fc8a", "savedPayload": { "position": { "x": 19462.727205558225, @@ -26671,7 +28221,7 @@ } } ], - "id": "61d4947b-e9a1-4c78-8ebe-5c068fe15a09", + "id": "62d6daa2-109f-4b33-9ea7-96ee1b372988", "savedPayload": { "position": { "x": 19044.96163570099, @@ -26695,11 +28245,11 @@ } } ], - "id": "956f2232-b980-4ef4-84f6-c29c78f42c65", + "id": "96aae2e5-aac2-47e1-8521-6479c533a0bb", "savedPayload": { "position": { - "x": 18016.99138390875, - "y": 9166.817480932184 + "x": 18051.878281255034, + "y": 9165.802375894946 }, "targetPosition": { "x": 18051.878281255034, @@ -26748,7 +28298,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.PastForecast", "project": "Foundations", - "id": "aad42866-d596-41e0-a790-309ca34e0864", + "id": "5c386ba7-724a-487f-b767-da9d506b9621", "savedPayload": { "position": { "x": 19655.423312256804, @@ -26769,7 +28319,7 @@ "uiObject": {} } }, - "id": "18f2877b-7456-4028-97f9-1c23d5a31d37", + "id": "6d4f1c00-94aa-47f0-9d40-00c4bb092bfd", "savedPayload": { "position": { "x": 19249.106370027825, @@ -26801,7 +28351,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.PastForecast", "project": "Foundations", - "id": "c3e45f03-7e3a-46a4-b886-713736f50526", + "id": "ffe827f7-2798-470c-913c-171427edaab5", "savedPayload": { "position": { "x": 19713.943259055566, @@ -26822,7 +28372,7 @@ "uiObject": {} } }, - "id": "235046c9-fb0c-4f2e-9f07-5f28c123e71f", + "id": "70a36c79-5867-4d94-a154-ad3e23cc1333", "savedPayload": { "position": { "x": 19278.366343427206, @@ -26854,7 +28404,7 @@ "name": "New Point Formula", "code": "x = record.T5begin\ny =(1 + record.previous.forecast5 / 100) * record.previous.PastForecast", "project": "Foundations", - "id": "ab4efd43-717c-408e-84d4-3a2faf256538", + "id": "b71d80c1-17dd-489e-a6fa-26f7f930c8ce", "savedPayload": { "position": { "x": 19364.840646412922, @@ -26875,7 +28425,7 @@ "uiObject": {} } }, - "id": "3db76dd8-a050-4617-8ab0-d0595eb440e7", + "id": "64c66d29-3fd5-43f9-9dca-5c70f95f8728", "savedPayload": { "position": { "x": 19103.815037105884, @@ -26907,7 +28457,7 @@ "name": "New Point Formula", "code": "x = record.T5end\ny = (1 + record.forecast5 / 100) * record.PastForecast", "project": "Foundations", - "id": "776190e2-c5ff-43e7-9f35-c9dc20823510", + "id": "1f5dbde6-57f3-4673-82ed-1c54a81e5dca", "savedPayload": { "position": { "x": 18771.464466627738, @@ -26928,7 +28478,7 @@ "uiObject": {} } }, - "id": "a14d4537-f0b4-43af-ac68-d790218be386", + "id": "fbe8330d-dcfc-4eb4-bef6-dfe352ca6ead", "savedPayload": { "position": { "x": 18807.12694721329, @@ -26960,7 +28510,7 @@ "name": "New Point Formula", "code": "x = record.T5begin\ny =(1 + record.previous.minForecast5/ 100) * record.previous.PastForecast", "project": "Foundations", - "id": "63369604-43a8-4141-aa90-ade04e2ca823", + "id": "cc6566d8-51d2-4598-9e24-6919bd0def93", "savedPayload": { "position": { "x": 18211.462028863156, @@ -26981,7 +28531,7 @@ "uiObject": {} } }, - "id": "d8b3bc62-f348-456c-8c77-b8f052063fee", + "id": "3ae6381b-ac4f-4ccd-99af-d046115c9170", "savedPayload": { "position": { "x": 18527.125728331, @@ -27013,7 +28563,7 @@ "name": "New Point Formula", "code": "x = record.T5end\ny =(1 + record.minForecast5/ 100) * record.PastForecast", "project": "Foundations", - "id": "2fc96d96-9e9a-4728-a848-64c870bfaa18", + "id": "cff966c4-3abc-40d4-b751-e809be275faa", "savedPayload": { "position": { "x": 17946.86469748307, @@ -27034,7 +28584,7 @@ "uiObject": {} } }, - "id": "0d2da92c-df50-4502-8c9c-acd3c61e1a52", + "id": "d13652a2-5b91-4f7e-b84b-d03d78137396", "savedPayload": { "position": { "x": 18394.827062640958, @@ -27066,7 +28616,7 @@ "name": "New Point Formula", "code": "x = record.T5begin\ny =(1 + record.previous.maxForecast5/ 100) * record.previous.PastForecast", "project": "Foundations", - "id": "d45d56c7-4b68-4352-a348-2ed97b6e0fbe", + "id": "ee9d840b-aec8-440e-b613-9f8807ce557b", "savedPayload": { "position": { "x": 18101.480504511994, @@ -27087,7 +28637,7 @@ "uiObject": {} } }, - "id": "6ab78b30-a4e2-439a-b24a-cdf8695d03f6", + "id": "3fca8558-7512-4ed6-9f3a-01d6939ffd8c", "savedPayload": { "position": { "x": 18472.13496615542, @@ -27119,7 +28669,7 @@ "name": "New Point Formula", "code": "x = record.T5end\ny =(1 + record.maxForecast5/ 100) * record.PastForecast", "project": "Foundations", - "id": "4b9b6246-af35-4908-b795-b410c1ed04b6", + "id": "1dd16f2e-db8a-4260-b77e-d278b02a34c6", "savedPayload": { "position": { "x": 18602.962995477814, @@ -27140,7 +28690,7 @@ "uiObject": {} } }, - "id": "192a65d2-afeb-432e-a01a-8874125b6e5f", + "id": "19d6dc0d-dcec-4275-983c-91d1d02077e6", "savedPayload": { "position": { "x": 18722.87621163833, @@ -27164,7 +28714,7 @@ } } ], - "id": "7e91927f-c26c-4a87-acfe-58682b6592fe", + "id": "9fedc260-36fa-4779-91c4-866dd0d4e6e0", "savedPayload": { "position": { "x": 18842.789427798845, @@ -27202,7 +28752,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_BLUE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "393a73c7-fc09-498f-8295-c3a6c47f3f6a", + "id": "9dac3e4c-3e78-468c-b75e-2e5fe264513f", "savedPayload": { "position": { "x": 18397.994143681477, @@ -27224,7 +28774,7 @@ } }, "styleConditions": [], - "id": "12db145f-da2d-412c-a772-e9586786c524", + "id": "681cbd00-1e4e-4826-9031-709f070b45fa", "savedPayload": { "position": { "x": 18807.32854159101, @@ -27252,7 +28802,7 @@ "type": "Polygon Vertex", "name": " PastForecast End", "project": "Foundations", - "id": "cee3acf2-7828-45ae-9dc2-5b53c2b05307", + "id": "28094cde-b74f-451a-b355-66f3a2feabae", "savedPayload": { "position": { "x": 19403.599695351393, @@ -27274,7 +28824,7 @@ "referenceParent": { "type": "Point", "name": "PastForecast End", - "id": "235046c9-fb0c-4f2e-9f07-5f28c123e71f" + "id": "70a36c79-5867-4d94-a154-ad3e23cc1333" } } }, @@ -27282,7 +28832,7 @@ "type": "Polygon Vertex", "name": " PastForecast Begin", "project": "Foundations", - "id": "9cb92ab4-5799-4f22-95cb-3a821dd3ae18", + "id": "adfecb56-ca92-4251-b5b6-9e14bb4d8400", "savedPayload": { "position": { "x": 19625.997337410077, @@ -27304,12 +28854,12 @@ "referenceParent": { "type": "Point", "name": "PastForecast Begin", - "id": "18f2877b-7456-4028-97f9-1c23d5a31d37" + "id": "6d4f1c00-94aa-47f0-9d40-00c4bb092bfd" } } } ], - "id": "2456f3f1-8faa-40b2-9bed-1928ca7dffa3", + "id": "a2773675-62bc-4a39-8316-e2ea5f9dd3b7", "savedPayload": { "position": { "x": 18581.763818491807, @@ -27345,7 +28895,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.BROWN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "1af5bce9-6605-4ab2-a93d-62bd5da6ee21", + "id": "f426071d-d91c-4037-a547-3f43b35ee901", "savedPayload": { "position": { "x": 18874.23414345827, @@ -27367,7 +28917,7 @@ } }, "styleConditions": [], - "id": "012ce692-c6f3-47b6-9b81-c954005314b7", + "id": "4c4bf9d2-c88a-4d55-88ac-2b0d6c4ddb33", "savedPayload": { "position": { "x": 19135.25975276531, @@ -27395,7 +28945,7 @@ "type": "Polygon Vertex", "name": " Forecast5 Begin", "project": "Foundations", - "id": "0f12f5be-f872-4224-aa2a-cb9f0ec22893", + "id": "94c5b60c-e9c6-42c7-a270-d2699d735507", "savedPayload": { "position": { "x": 19762.844540494996, @@ -27417,7 +28967,7 @@ "referenceParent": { "type": "Point", "name": "Forecast5 Begin", - "id": "3db76dd8-a050-4617-8ab0-d0595eb440e7" + "id": "64c66d29-3fd5-43f9-9dca-5c70f95f8728" } } }, @@ -27425,7 +28975,7 @@ "type": "Polygon Vertex", "name": " Forecast5 End", "project": "Foundations", - "id": "7cabba42-a94e-4b13-ac2b-e796dfd63b00", + "id": "825e392e-a831-4391-bc9d-8ccc50f597be", "savedPayload": { "position": { "x": 19657.310971379386, @@ -27447,12 +28997,12 @@ "referenceParent": { "type": "Point", "name": "Forecast5 End", - "id": "a14d4537-f0b4-43af-ac68-d790218be386" + "id": "fbe8330d-dcfc-4eb4-bef6-dfe352ca6ead" } } } ], - "id": "c5daf41a-1ac1-457e-83d7-e9a7282aea77", + "id": "37d71aed-ef0d-415b-b75c-34b9b06d87fe", "savedPayload": { "position": { "x": 18768.700574342656, @@ -27488,7 +29038,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RED_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "adb4ad3a-ad9a-4b2c-81e4-508474d690a9", + "id": "e9de4db0-c1f0-4e1d-ac4a-229160ee4228", "savedPayload": { "position": { "x": 18397.994143681477, @@ -27510,7 +29060,7 @@ } }, "styleConditions": [], - "id": "ab3fbef4-a11f-47a1-974d-0a69bb63e708", + "id": "570034bf-2091-49f9-8629-dc42ac87e715", "savedPayload": { "position": { "x": 18807.32854159101, @@ -27538,7 +29088,7 @@ "type": "Polygon Vertex", "name": " Forecast5 min Begin", "project": "Foundations", - "id": "57f3ef76-3970-4e98-a925-e030d6cef18f", + "id": "445dd43b-fe6d-4f45-90c4-933a8f36e0de", "savedPayload": { "position": { "x": 19403.599695351393, @@ -27560,7 +29110,7 @@ "referenceParent": { "type": "Point", "name": "Forecast5 min Begin", - "id": "d8b3bc62-f348-456c-8c77-b8f052063fee" + "id": "3ae6381b-ac4f-4ccd-99af-d046115c9170" } } }, @@ -27568,7 +29118,7 @@ "type": "Polygon Vertex", "name": " Forecast5 min End", "project": "Foundations", - "id": "d5b885f4-d2ba-4da0-b5c1-ff4c84e0c983", + "id": "be524d5e-bba4-4828-bf14-03489c240874", "savedPayload": { "position": { "x": 19625.997337410077, @@ -27590,12 +29140,12 @@ "referenceParent": { "type": "Point", "name": "Forecast5 min End", - "id": "0d2da92c-df50-4502-8c9c-acd3c61e1a52" + "id": "d13652a2-5b91-4f7e-b84b-d03d78137396" } } } ], - "id": "5686d981-a6e2-4659-8187-a74d94cbefbc", + "id": "082f0dcc-869e-4b4a-b4c8-9d65176407d3", "savedPayload": { "position": { "x": 19216.662939500544, @@ -27631,7 +29181,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.MIDNIGHT_GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "ea6eb3b7-6ad9-48eb-bdda-94a8d8170ca4", + "id": "00774ec5-4955-47b1-bc00-c77156ef7d4d", "savedPayload": { "position": { "x": 19392.13810983382, @@ -27653,7 +29203,7 @@ } }, "styleConditions": [], - "id": "ee50ea7b-de78-485d-b638-ad3e84f7a4b8", + "id": "45e7b6ac-ea58-45e1-8335-08c0a1e7ec03", "savedPayload": { "position": { "x": 19434.9133293207, @@ -27681,7 +29231,7 @@ "type": "Polygon Vertex", "name": " Forecast5 max Begin", "project": "Foundations", - "id": "fc2eafe8-4374-49bc-95db-ca8c2cbf6394", + "id": "de6df690-91a4-45d8-83d3-45ee6860775a", "savedPayload": { "position": { "x": 19925.65091396547, @@ -27703,7 +29253,7 @@ "referenceParent": { "type": "Point", "name": "Forecast5 max Begin", - "id": "6ab78b30-a4e2-439a-b24a-cdf8695d03f6" + "id": "3fca8558-7512-4ed6-9f3a-01d6939ffd8c" } } }, @@ -27711,7 +29261,7 @@ "type": "Polygon Vertex", "name": " Forecast5 max End", "project": "Foundations", - "id": "421a6aa3-de99-4a10-aeda-0969091cd1b9", + "id": "ca92e9bc-0d83-4dcd-bd09-7224f661d3ff", "savedPayload": { "position": { "x": 19520.463768294463, @@ -27733,12 +29283,12 @@ "referenceParent": { "type": "Point", "name": "Forecast5 max End", - "id": "192a65d2-afeb-432e-a01a-8874125b6e5f" + "id": "19d6dc0d-dcec-4275-983c-91d1d02077e6" } } } ], - "id": "91e7d9f8-d647-4dcb-87c1-d7f0650acac1", + "id": "2b76e011-9ec0-4a27-9a5f-71cf08240a13", "savedPayload": { "position": { "x": 19477.688548807582, @@ -27764,7 +29314,7 @@ ], "images": [], "texts": [], - "id": "2734d0b0-b44c-4576-9515-ea41a1165ef0", + "id": "7962f691-ae94-4607-9efd-372fd3127cbd", "savedPayload": { "position": { "x": 19029.726183649695, @@ -27804,7 +29354,7 @@ "name": "New Data Formula", "code": "record.PastForecast", "project": "Foundations", - "id": "7bd8f9c0-edde-4e8c-9a56-1d09a4646656", + "id": "7732259c-ff0b-46c3-8f9c-b47a126f4ba2", "savedPayload": { "position": { "x": 20107.51976543949, @@ -27830,7 +29380,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "d0d26cc4-16f1-4751-9535-58000447ec65", + "id": "2214e6cf-d38b-4d68-b3e0-5b0fcc8bfede", "savedPayload": { "position": { "x": 20070.433332361805, @@ -27851,7 +29401,7 @@ "uiObject": {} } }, - "id": "748fd3b1-bf2d-4e40-afe5-45d9f2b5c6e0", + "id": "52018066-a4c8-4757-89a0-cddb95bea997", "savedPayload": { "position": { "x": 20322.174850357602, @@ -27884,7 +29434,7 @@ "name": "New Data Formula", "code": "record.forecast5", "project": "Foundations", - "id": "2546897f-8304-4c63-bb7c-b3e542a696b4", + "id": "0cad5ca3-545c-4e13-9ca3-d53a93a65ff2", "savedPayload": { "position": { "x": 20019.677501527905, @@ -27910,7 +29460,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "81335cfa-01f0-46c9-8340-8118174ac9a5", + "id": "a919ef24-d9aa-46d6-a681-945cad9bd389", "savedPayload": { "position": { "x": 20188.97911557656, @@ -27931,7 +29481,7 @@ "uiObject": {} } }, - "id": "f9ad9a59-249b-4d49-bc3a-97fbe9b0d209", + "id": "921e206a-3a40-4c4c-a6d7-7eddbffd0c52", "savedPayload": { "position": { "x": 20323.956206651215, @@ -27964,7 +29514,7 @@ "name": "New Data Formula", "code": "record.forecast10", "project": "Foundations", - "id": "39c04d2c-56a6-42c5-a723-333915503ea5", + "id": "c29e624d-6484-4024-bb3a-1661136c5408", "savedPayload": { "position": { "x": 20588.381864689934, @@ -27990,7 +29540,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "7e05d8f7-0e69-4de8-b02c-212d8d68bdcb", + "id": "3e6bcc9a-935e-4fdf-818a-ee0a7ec4f7a1", "savedPayload": { "position": { "x": 20272.060147270535, @@ -28011,7 +29561,7 @@ "uiObject": {} } }, - "id": "420e5b3d-e67b-4a7f-b2d1-3749c8bbdbbd", + "id": "1b723590-152f-468f-81bd-48a0247e2371", "savedPayload": { "position": { "x": 20401.688880621088, @@ -28044,7 +29594,7 @@ "name": "New Data Formula", "code": "record.forecast20", "project": "Foundations", - "id": "26ac74c4-c06e-4160-8218-5b873b056da1", + "id": "a664a267-a4c4-4b7d-ac3c-90a30a4d82e0", "savedPayload": { "position": { "x": 20272.060147270535, @@ -28070,7 +29620,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "2211ece5-68b4-4e38-8737-ffbf54a8743e", + "id": "f5e44e19-143f-4fed-b4f8-ff8812ca9382", "savedPayload": { "position": { "x": 19756.890285429778, @@ -28091,7 +29641,7 @@ "uiObject": {} } }, - "id": "78af95dd-12a4-42fb-b63a-df1ee9d54950", + "id": "3cc37031-46cd-4445-9e2c-cfad803d710f", "savedPayload": { "position": { "x": 20541.932186758655, @@ -28124,7 +29674,7 @@ "name": "New Data Formula", "code": "record.forecast30", "project": "Foundations", - "id": "e7673dc3-54b0-47aa-9c4b-0fbac95d3280", + "id": "88b74af8-0152-4fa9-b146-75fcec4bdf37", "savedPayload": { "position": { "x": 20311.102385452763, @@ -28150,7 +29700,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "69d445d2-6b9c-4ee8-a28b-1d80ba0b1d03", + "id": "82256a98-9d61-451f-bff2-aa77645017ea", "savedPayload": { "position": { "x": 21086.995961784945, @@ -28171,7 +29721,7 @@ "uiObject": {} } }, - "id": "beba153f-ccb6-42fe-9f31-76fffb54ab3d", + "id": "efdcf1f0-4f96-464d-93a8-02d38e908168", "savedPayload": { "position": { "x": 20720.436783362296, @@ -28204,7 +29754,7 @@ "name": "New Data Formula", "code": "record.trend", "project": "Foundations", - "id": "640e618c-657d-473b-a47f-0467cab48e76", + "id": "34a074cd-8bf5-4a5e-b27d-a4c910fa1ed0", "savedPayload": { "position": { "x": 19929.36405151103, @@ -28230,7 +29780,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "ba8867e5-b3ed-4be2-bae4-a6378ecb880f", + "id": "42be935c-fe41-4a6f-86d6-4e4e1f0297ee", "savedPayload": { "position": { "x": 19568.87523230481, @@ -28251,7 +29801,7 @@ "uiObject": {} } }, - "id": "80080799-8385-45ef-9eec-b431f5851b19", + "id": "62a107a9-6a63-4a2b-baa3-77826189ad3d", "savedPayload": { "position": { "x": 20906.337604015884, @@ -28284,7 +29834,7 @@ "name": "New Data Formula", "code": "record.minForecast5", "project": "Foundations", - "id": "8ecf746e-f363-44c3-95c2-81dde0866f97", + "id": "d62262d2-3f38-4262-bbcf-9b1eb29c6d07", "savedPayload": { "position": { "x": 21035.59237437013, @@ -28310,7 +29860,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "e3c90b74-f40d-43b5-95f8-89a8de14fd10", + "id": "ce419b5b-885e-49ef-a34b-f0bbe88340dc", "savedPayload": { "position": { "x": 20266.961124234815, @@ -28331,7 +29881,7 @@ "uiObject": {} } }, - "id": "88f36142-65fc-42fa-9090-f39a9dd3a19d", + "id": "6ec46956-671b-40ff-a365-1d140bcd819c", "savedPayload": { "position": { "x": 21067.490707972487, @@ -28364,7 +29914,7 @@ "name": "New Data Formula", "code": "record.maxForecast5", "project": "Foundations", - "id": "610f7323-d007-4c9e-a879-fb2744c71d93", + "id": "0f5e1484-a453-4fcb-babc-40f366523841", "savedPayload": { "position": { "x": 20970.90778573818, @@ -28390,7 +29940,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "5db5696b-0060-4dc3-9033-58513c114ebf", + "id": "83ca58f6-900e-44a7-804b-7ba1733cb71a", "savedPayload": { "position": { "x": 20216.466437265717, @@ -28411,7 +29961,7 @@ "uiObject": {} } }, - "id": "4ba8d022-c02f-4e02-9811-4ee8f7d7f4a7", + "id": "723485ee-b8df-4793-944e-6ac9b99299d9", "savedPayload": { "position": { "x": 21176.031259528012, @@ -28444,7 +29994,7 @@ "name": "New Data Formula", "code": "record.minForecast10", "project": "Foundations", - "id": "2eda6424-e8e3-4919-ba8e-7c27f4f9ff45", + "id": "9070ff33-952c-46e0-a721-f8bc48e89517", "savedPayload": { "position": { "x": 21273.625431232966, @@ -28470,7 +30020,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "ac6f0cca-99a5-4450-afbc-99d5e0263b80", + "id": "95da16ac-690d-4f6a-a7c0-ffa9167ad993", "savedPayload": { "position": { "x": 20508.287754351946, @@ -28491,7 +30041,7 @@ "uiObject": {} } }, - "id": "70958454-4842-420e-bbad-1cc7885ec3e6", + "id": "f8fcceae-3dfb-439c-8126-8ecb00988d4c", "savedPayload": { "position": { "x": 21213.191611258557, @@ -28524,7 +30074,7 @@ "name": "New Data Formula", "code": "record.maxForecast10", "project": "Foundations", - "id": "75e47bbd-5869-49cf-bdd9-2998b5964f23", + "id": "0b92cec3-11d5-44fe-9870-af5c7b03a6b2", "savedPayload": { "position": { "x": 20874.135441601302, @@ -28550,7 +30100,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "5480e9ae-4a8e-405c-93ef-812fe8094ba8", + "id": "f1d12d54-4d1a-4c5d-922d-01928913c502", "savedPayload": { "position": { "x": 20150.54424895561, @@ -28571,7 +30121,7 @@ "uiObject": {} } }, - "id": "1d4f24c0-d120-4442-b93e-2103992fcf6e", + "id": "7db442fc-4b3a-4c64-8f2d-db7739674d06", "savedPayload": { "position": { "x": 21172.54640075871, @@ -28604,7 +30154,7 @@ "name": "New Data Formula", "code": "record.minForecast20", "project": "Foundations", - "id": "d545f8f5-5e62-4e79-b65e-4838550d7f56", + "id": "cf045eb9-23f6-419e-a482-69e10e868b9e", "savedPayload": { "position": { "x": 21162.76741431798, @@ -28630,7 +30180,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "e9338a05-32df-49bd-b736-cef5a7e288f7", + "id": "14d1dcb2-67d2-4fd8-8045-f04a09e4a511", "savedPayload": { "position": { "x": 20383.42814595671, @@ -28651,7 +30201,7 @@ "uiObject": {} } }, - "id": "45890870-f6bc-433a-a532-9df93f86d584", + "id": "d7c46a49-11d7-4464-a023-1b149c752c8b", "savedPayload": { "position": { "x": 21061.123554174046, @@ -28684,7 +30234,7 @@ "name": "New Data Formula", "code": "record.maxForecast20", "project": "Foundations", - "id": "85b9c534-9e97-43e4-ba18-9e6620dc3c60", + "id": "90b7b329-b332-40b1-a7b0-218594a70f5b", "savedPayload": { "position": { "x": 20805.998685833878, @@ -28710,7 +30260,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "d35b2f17-4883-45f6-8206-c2c3fff3e1f0", + "id": "13a518a6-14db-4768-91d9-f5d39bc2f75a", "savedPayload": { "position": { "x": 20110.623167411475, @@ -28731,7 +30281,7 @@ "uiObject": {} } }, - "id": "840c47a7-b8fb-4abc-a2a4-610ae70e2a5d", + "id": "640b68ed-0761-450a-93e2-f7f0e8dbc288", "savedPayload": { "position": { "x": 20898.189093923833, @@ -28764,7 +30314,7 @@ "name": "New Data Formula", "code": "record.minForecast30", "project": "Foundations", - "id": "8536c62a-92ef-4ada-a34e-91d384607ed2", + "id": "0d77efd8-a7df-4cc4-8c84-2c8a0e15b0fc", "savedPayload": { "position": { "x": 21073.438990626524, @@ -28790,7 +30340,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "df1afa15-1cf5-4150-a1b3-179154310401", + "id": "3d8126e0-3965-4db5-bfa6-5ded9e91479b", "savedPayload": { "position": { "x": 20299.0966117196, @@ -28811,7 +30361,7 @@ "uiObject": {} } }, - "id": "0106d53d-0f0f-482a-bbdb-cf6a42438637", + "id": "2b8bf550-b47d-4b4b-ab17-140d77ce5ad3", "savedPayload": { "position": { "x": 20711.915868398435, @@ -28844,7 +30394,7 @@ "name": "New Data Formula", "code": "record.maxForecast30", "project": "Foundations", - "id": "5e474c2d-3e6e-4d32-a9e8-56f55bbb5815", + "id": "7e7a455f-075d-4400-9e49-f63424bf205b", "savedPayload": { "position": { "x": 20755.792026620842, @@ -28870,7 +30420,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "5060fe39-27f6-4d41-847b-ead407b9da7a", + "id": "3e42f8d0-ebaf-4202-a1f3-a455dfd6b6ed", "savedPayload": { "position": { "x": 20084.53260212094, @@ -28891,7 +30441,7 @@ "uiObject": {} } }, - "id": "7d05533d-34c3-4615-8d55-dd1c50822a6b", + "id": "d07c91b8-ddf3-4b4a-ac0a-dbc219927ae7", "savedPayload": { "position": { "x": 20534.51221053032, @@ -28915,7 +30465,7 @@ } } ], - "id": "2cbef921-5a17-41e5-8990-3b8ef03a478d", + "id": "91ccd4d2-cbaf-4e2f-ac87-b9d6562b6838", "savedPayload": { "position": { "x": 20763.212002849177, @@ -28939,7 +30489,7 @@ } } ], - "id": "634c5896-178f-4514-8628-4c8f2fb1e82e", + "id": "c405ec18-3638-4cd0-a510-bdbf1d262434", "savedPayload": { "position": { "x": 19290.751792956733, @@ -28963,11 +30513,11 @@ } } ], - "id": "a22c82a4-0312-446c-bb65-9eb02f381a9d", + "id": "7a44c143-48e8-4d38-a550-73c6c60386bf", "savedPayload": { "position": { - "x": 18156.06718785519, - "y": 9174.917724087622 + "x": 18185.390841628825, + "y": 9180.845628585852 }, "targetPosition": { "x": 18051.878281255034, @@ -29016,7 +30566,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.FastTrend", "project": "Foundations", - "id": "d09fdcf2-906c-41d0-a187-90a03a7a5c01", + "id": "fd2b2976-991a-4e2e-8b56-ebde3d94d773", "savedPayload": { "position": { "x": 19193.245210751335, @@ -29037,7 +30587,7 @@ "uiObject": {} } }, - "id": "d2391390-6cf2-45a5-9911-5685f3ec8f2f", + "id": "77ef1413-9d19-4b4a-9dd6-f5d9364666f0", "savedPayload": { "position": { "x": 18981.11317639537, @@ -29069,7 +30619,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.FastTrend", "project": "Foundations", - "id": "82afd1df-9b7d-432b-b3ff-c0f06b7f1681", + "id": "3b4b824e-d49a-4864-ab0f-c32850024531", "savedPayload": { "position": { "x": 18685.425646265965, @@ -29090,7 +30640,7 @@ "uiObject": {} } }, - "id": "4b241365-cc96-4250-8796-f12dbf8f392d", + "id": "a22c4191-5db8-48d1-847a-f51723e804d9", "savedPayload": { "position": { "x": 18975.203394152686, @@ -29114,7 +30664,7 @@ } } ], - "id": "0a83ceb2-5ee6-4f5f-a8fa-b0a4ead48f8e", + "id": "bd61c57a-c687-46d2-a829-2af9e13d1708", "savedPayload": { "position": { "x": 19302.97497409097, @@ -29152,7 +30702,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "0038e305-886d-4136-9e02-6fc1baf7d552", + "id": "6dfea5cd-cfab-4b72-9ab8-d16de3c69c72", "savedPayload": { "position": { "x": 19802.320290172996, @@ -29184,7 +30734,7 @@ "name": "New Style", "config": "{\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_RED\"\n}", "project": "Foundations", - "id": "794fc0f2-eeee-4cae-8d64-3570a25111a4", + "id": "df7f0910-6ece-4a4b-8d71-ad3c4c113c3b", "savedPayload": { "position": { "x": 19506.877964269333, @@ -29205,7 +30755,7 @@ "uiObject": {} } }, - "id": "8782fd3b-283f-40e7-a388-1c082953fe34", + "id": "2f3df80b-b543-44bb-bbbb-4419b9a40a0a", "savedPayload": { "position": { "x": 19314.04168136337, @@ -29229,7 +30779,7 @@ } } ], - "id": "c12a438d-974c-4871-89ee-12079f573a72", + "id": "a9a99992-ddff-4770-bc4d-424b3c58c9d2", "savedPayload": { "position": { "x": 19712.090050264735, @@ -29257,7 +30807,7 @@ "type": "Polygon Vertex", "name": " FastTrend End", "project": "Foundations", - "id": "51c2d41e-a9fd-40bf-acff-f8eccb4479b0", + "id": "91012703-ed63-4b2b-9c94-cc3f4d47b5e8", "savedPayload": { "position": { "x": 20096.60387949821, @@ -29279,7 +30829,7 @@ "referenceParent": { "type": "Point", "name": "FastTrend End", - "id": "4b241365-cc96-4250-8796-f12dbf8f392d" + "id": "a22c4191-5db8-48d1-847a-f51723e804d9" } } }, @@ -29287,7 +30837,7 @@ "type": "Polygon Vertex", "name": " FastTrend Begin", "project": "Foundations", - "id": "1e79931d-77d5-49bc-a722-a1dce0ca0354", + "id": "ffd88024-4183-465f-ad58-37d5a39b376f", "savedPayload": { "position": { "x": 19917.302136260136, @@ -29309,12 +30859,12 @@ "referenceParent": { "type": "Point", "name": "FastTrend Begin", - "id": "d2391390-6cf2-45a5-9911-5685f3ec8f2f" + "id": "77ef1413-9d19-4b4a-9dd6-f5d9364666f0" } } } ], - "id": "cdff27ae-ba79-425e-bd03-c5a60efcf932", + "id": "193b9619-001b-4811-b99c-dff51338818d", "savedPayload": { "position": { "x": 19814.696093262435, @@ -29340,7 +30890,7 @@ ], "images": [], "texts": [], - "id": "a1f154aa-5b51-4acc-8633-2300d807657c", + "id": "3ba4810f-701c-4f1e-b60f-a001c49742c2", "savedPayload": { "position": { "x": 19532.78830702666, @@ -29380,7 +30930,7 @@ "name": "New Data Formula", "code": "record.NegativeDisorder", "project": "Foundations", - "id": "31bca634-7485-415f-bcb4-8901545a0fd1", + "id": "91fe7572-9e96-4c77-8a88-0f1fd250ba33", "savedPayload": { "position": { "x": 19638.190722089348, @@ -29406,7 +30956,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "4bd0ff48-0069-4dcd-b893-0ca8c63e6a13", + "id": "6d580ff1-64dc-425c-b875-3326110b5141", "savedPayload": { "position": { "x": 20119.969585309518, @@ -29427,7 +30977,7 @@ "uiObject": {} } }, - "id": "60764184-3ae8-43dd-ba53-8b642b96749b", + "id": "c064e3b9-711c-4c2c-9e51-c7fc2f7a9d17", "savedPayload": { "position": { "x": 19822.889164687047, @@ -29460,7 +31010,7 @@ "name": "New Data Formula", "code": "record.PositiveDisorder", "project": "Foundations", - "id": "cbe241cb-61b6-49c7-8b7a-651bba7b3387", + "id": "393771c8-8675-43ec-95a4-450867944e93", "savedPayload": { "position": { "x": 20177.534272781446, @@ -29486,7 +31036,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "617a4ae8-aee1-4d6b-b027-a6ec063a4eb6", + "id": "6bf7533d-d8e2-4a15-8890-a6ed97ca1eac", "savedPayload": { "position": { "x": 20141.287745776946, @@ -29507,7 +31057,7 @@ "uiObject": {} } }, - "id": "cef8d764-3de5-47cc-97ec-fa18338ad11a", + "id": "cf3761b3-7f49-4bfa-bbf7-2e8f3d092aab", "savedPayload": { "position": { "x": 20009.776401740222, @@ -29540,7 +31090,7 @@ "name": "New Data Formula", "code": "record.FastTrend", "project": "Foundations", - "id": "8d2020df-388d-42e9-b2d1-9cace70e40c7", + "id": "9fd30fc4-10e8-498d-a775-866f801d882a", "savedPayload": { "position": { "x": 20071.462264123667, @@ -29566,7 +31116,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "6987014d-7f3f-47fb-af20-e8cc7f94784c", + "id": "efbc0a70-9cb0-4862-a730-89e14240ed48", "savedPayload": { "position": { "x": 19567.281815240578, @@ -29587,7 +31137,7 @@ "uiObject": {} } }, - "id": "9ec7ab53-b941-4358-aad8-9d16dc7e8680", + "id": "650184aa-f44d-44ed-96ba-fd18676caa59", "savedPayload": { "position": { "x": 19783.083755342173, @@ -29620,7 +31170,7 @@ "name": "New Data Formula", "code": "record.intertrend", "project": "Foundations", - "id": "25843d0b-2d0c-4627-adf4-3157ef49be1d", + "id": "99c00b16-532d-4a7e-8796-54e23525637d", "savedPayload": { "position": { "x": 19466.562606826097, @@ -29646,7 +31196,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.BLACK\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "77417e58-54ad-4113-bf23-1076b79d321c", + "id": "a957d6c5-5d0e-43d2-b57e-177fa36e360d", "savedPayload": { "position": { "x": 19191.20847995767, @@ -29667,7 +31217,7 @@ "uiObject": {} } }, - "id": "a947d0d8-c1dc-4d59-85d6-c69313b67445", + "id": "1d66897b-d9b0-48e6-a920-d6b220028d6f", "savedPayload": { "position": { "x": 19456.092757815346, @@ -29691,7 +31241,7 @@ } } ], - "id": "4d6bb6c1-e5dc-4561-9c36-f46fdcd6abb3", + "id": "8fb9f662-ec96-4cab-bba2-c04455d97ecf", "savedPayload": { "position": { "x": 19710.507186662275, @@ -29715,7 +31265,7 @@ } } ], - "id": "bef63eda-a799-4bce-86ad-517848a46a37", + "id": "fcbf71f1-d0d3-4820-9367-e5f2e4fedd9c", "savedPayload": { "position": { "x": 19480.69385372658, @@ -29739,11 +31289,11 @@ } } ], - "id": "09beeb97-b24b-41f1-85f4-ce0b3b0dc020", + "id": "a319b00c-e301-449c-ad3a-c2e3c9bcf83f", "savedPayload": { "position": { - "x": 18289.52614087853, - "y": 9214.872711766782 + "x": 18312.20852472557, + "y": 9225.221055153494 }, "targetPosition": { "x": 18051.878281255034, @@ -29792,7 +31342,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.FastTrend", "project": "Foundations", - "id": "16035c3c-e420-4418-b7b6-98cc4fa2fd50", + "id": "451a34d6-4331-4915-ba88-8bafb5082deb", "savedPayload": { "position": { "x": 18295.83742451556, @@ -29813,7 +31363,7 @@ "uiObject": {} } }, - "id": "d6eafcc9-c104-4912-9883-d5982cfe5f6c", + "id": "28558ec6-ebd8-4e4b-af7a-6055602e625d", "savedPayload": { "position": { "x": 18083.705390159597, @@ -29845,7 +31395,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.FastTrend", "project": "Foundations", - "id": "658400f9-cefb-438a-a3ae-13fc96a60138", + "id": "e0a35afa-f6e7-4dd6-ac79-43be0267a8f9", "savedPayload": { "position": { "x": 17788.01786003019, @@ -29866,7 +31416,7 @@ "uiObject": {} } }, - "id": "ad1215e9-6da5-4c89-bbd8-d23433de5060", + "id": "d3926d3e-1fb8-4318-bdf2-7a168fea5095", "savedPayload": { "position": { "x": 18077.795607916913, @@ -29890,7 +31440,7 @@ } } ], - "id": "60cb057d-5d9f-495d-be58-818799a26a00", + "id": "ccad9a47-de59-4489-bfd5-73b8a24ba9ae", "savedPayload": { "position": { "x": 19531.974235323836, @@ -29928,7 +31478,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "4719077c-d794-44bc-abd3-4b37490fbff4", + "id": "2d4f194f-0e7d-4f95-be96-6943435b4cfa", "savedPayload": { "position": { "x": 20317.358317045517, @@ -29960,7 +31510,7 @@ "name": "New Style", "config": "{\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_RED\"\n}", "project": "Foundations", - "id": "fb3a762d-8949-4be3-bf5d-562569d57217", + "id": "4f0d2b98-0c77-42af-9f0c-ee346020b6f9", "savedPayload": { "position": { "x": 19877.191896715303, @@ -29981,7 +31531,7 @@ "uiObject": {} } }, - "id": "b220ef98-71b4-431b-b041-aa18d8711316", + "id": "0a72cf87-1732-4074-80da-46e86b6227b5", "savedPayload": { "position": { "x": 19576.08312385382, @@ -30005,7 +31555,7 @@ } } ], - "id": "23dff863-b355-4586-b969-134824a15dcf", + "id": "98adfc54-4ea0-4e1e-98a7-79f11c237d5c", "savedPayload": { "position": { "x": 20155.30719165276, @@ -30033,7 +31583,7 @@ "type": "Polygon Vertex", "name": " FastTrend End", "project": "Foundations", - "id": "ffb6e2a3-27ff-46c7-b578-60d1132e1759", + "id": "2902cddb-2118-4cd4-ae43-2dd81683a965", "savedPayload": { "position": { "x": 20722.340271454304, @@ -30055,7 +31605,7 @@ "referenceParent": { "type": "Point", "name": "FastTrend End", - "id": "ad1215e9-6da5-4c89-bbd8-d23433de5060" + "id": "d3926d3e-1fb8-4318-bdf2-7a168fea5095" } } }, @@ -30063,7 +31613,7 @@ "type": "Polygon Vertex", "name": " FastTrend Begin", "project": "Foundations", - "id": "eca7a634-2e72-4ab5-89a6-7277b1059634", + "id": "aa8a09d6-5851-49b4-88f0-7ed217deadf9", "savedPayload": { "position": { "x": 20433.42248659021, @@ -30085,12 +31635,12 @@ "referenceParent": { "type": "Point", "name": "FastTrend Begin", - "id": "d6eafcc9-c104-4912-9883-d5982cfe5f6c" + "id": "28558ec6-ebd8-4e4b-af7a-6055602e625d" } } } ], - "id": "5c63e7cd-b10e-4939-98bf-8a214b71ed8b", + "id": "51b99fc1-42e7-45b3-8389-7833cae3da57", "savedPayload": { "position": { "x": 20294.364839121485, @@ -30116,7 +31666,7 @@ ], "images": [], "texts": [], - "id": "9fc8b5df-8038-4bdb-bc99-56063a1f2f6c", + "id": "7494ccbf-e36d-4006-9b44-d27a0e91ea75", "savedPayload": { "position": { "x": 19866.389406788665, @@ -30156,7 +31706,7 @@ "name": "New Data Formula", "code": "record.NegativeDisorder", "project": "Foundations", - "id": "217b0724-7d12-46a8-ae2f-cfa29f817bc6", + "id": "3754b62d-60ce-462a-991d-8b4a093ae5ef", "savedPayload": { "position": { "x": 20025.772443238, @@ -30182,7 +31732,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "b2029c17-0611-465b-8bd5-e0cc9bbf3d8a", + "id": "187fdf4d-9a4c-4e08-851d-2ca30c1e09a1", "savedPayload": { "position": { "x": 20737.810659685336, @@ -30203,7 +31753,7 @@ "uiObject": {} } }, - "id": "91bfefd1-349b-43c7-a00d-4867f9ce8ce8", + "id": "c9bf2122-db56-4aad-907f-2a514e5e90f3", "savedPayload": { "position": { "x": 20290.275806769612, @@ -30236,7 +31786,7 @@ "name": "New Data Formula", "code": "record.PositiveDisorder", "project": "Foundations", - "id": "de86c5bf-675f-438c-a128-8827b8a149cc", + "id": "c0f76dbd-31d7-4330-bb81-fcd143570d23", "savedPayload": { "position": { "x": 20819.28253383284, @@ -30262,7 +31812,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "a00b719a-5bcd-4b25-b009-6cbba11723f9", + "id": "b66478c6-0638-4e62-ac5d-1d08a82ed804", "savedPayload": { "position": { "x": 20737.810659685336, @@ -30283,7 +31833,7 @@ "uiObject": {} } }, - "id": "51d66bc7-e1e8-4882-b47a-9323fcd01279", + "id": "5fc5e8ba-df12-4262-aa85-dae03c4ffc4d", "savedPayload": { "position": { "x": 20554.779170301226, @@ -30316,7 +31866,7 @@ "name": "New Data Formula", "code": "record.FastTrend", "project": "Foundations", - "id": "d908fccd-c9cc-41ae-9f1f-1234dd750e8a", + "id": "9006765b-724b-47dc-b42d-38ff900efed5", "savedPayload": { "position": { "x": 20628.780010586313, @@ -30342,7 +31892,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "34e5410d-3652-461c-9488-ce0d34be9291", + "id": "1c040188-19c6-4391-9b0d-b263828d5b83", "savedPayload": { "position": { "x": 19866.389406788665, @@ -30363,7 +31913,7 @@ "uiObject": {} } }, - "id": "53c0166c-1ee9-4baf-acd1-8222bdb77386", + "id": "2e7a8d41-4abf-4540-b374-071260177839", "savedPayload": { "position": { "x": 20200.804578253494, @@ -30396,7 +31946,7 @@ "name": "New Data Formula", "code": "record.intertrend", "project": "Foundations", - "id": "bde3e3b8-01ee-46fc-9782-88f18d88434d", + "id": "1b1736e6-4298-403d-9e07-19a906d81c11", "savedPayload": { "position": { "x": 19717.532885682504, @@ -30422,7 +31972,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.BLACK\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "f010916e-a131-425c-9e7a-a82570c0644c", + "id": "60fc9db3-0300-4002-b360-55490b3bb0eb", "savedPayload": { "position": { "x": 19327.821453979504, @@ -30443,7 +31993,7 @@ "uiObject": {} } }, - "id": "be8db0ae-a5d8-48d1-8a48-351557550696", + "id": "b9c74dff-e96f-4587-bcbc-105a01880839", "savedPayload": { "position": { "x": 19717.532885682504, @@ -30467,7 +32017,7 @@ } } ], - "id": "00aa5065-cd64-4ce7-9e71-4e1b7820ef4b", + "id": "80a3794f-5bec-4f13-b559-213bbe5e993f", "savedPayload": { "position": { "x": 20107.244317385503, @@ -30491,7 +32041,7 @@ } } ], - "id": "97cde8c9-67ad-414b-b12e-23330a45d955", + "id": "b48d68ed-7ff0-49f5-b153-c3cf0757e7df", "savedPayload": { "position": { "x": 19772.829145920674, @@ -30515,11 +32065,11 @@ } } ], - "id": "a4fdd716-fadc-42c8-92dc-0daed182c2a3", + "id": "6d0d59c9-ab9f-4ffc-a0c9-f6767cf21ff9", "savedPayload": { "position": { - "x": 18410.173436276706, - "y": 9284.52846024192 + "x": 18425.972162370275, + "y": 9296.703486414128 }, "targetPosition": { "x": 18051.878281255034, @@ -30568,7 +32118,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.FastTrend", "project": "Foundations", - "id": "ab680959-b5e8-4ae6-bac3-150b0017c6e3", + "id": "f9095543-f232-4fa9-8663-3cc15d5f21ab", "savedPayload": { "position": { "x": 18401.899307515512, @@ -30589,7 +32139,7 @@ "uiObject": {} } }, - "id": "21febc99-7e48-414c-9774-31f00549200a", + "id": "a6d5000d-e8b9-4558-a787-b0c00b6651af", "savedPayload": { "position": { "x": 19507.787400850422, @@ -30621,7 +32171,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.FastTrend", "project": "Foundations", - "id": "eec983b9-021c-4397-8175-b7a7b63700af", + "id": "9a54dca2-d218-4ccb-a7ac-2ae4e526720b", "savedPayload": { "position": { "x": 19829.764840892927, @@ -30642,7 +32192,7 @@ "uiObject": {} } }, - "id": "b9ad57bc-0f8d-4035-a095-e753a8a92e47", + "id": "a5573f7a-78dd-4cca-b32c-b861012761e2", "savedPayload": { "position": { "x": 19776.719080403305, @@ -30666,7 +32216,7 @@ } } ], - "id": "00330012-a4a0-46a3-9131-89ba9991080f", + "id": "ea8514ff-f02f-43ea-84f2-5d041ad3e488", "savedPayload": { "position": { "x": 19723.673319913683, @@ -30704,7 +32254,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "ac057838-c0ce-4a94-8258-355cf6f8fe24", + "id": "1a943c08-a0f5-497d-80cf-caa7695185ef", "savedPayload": { "position": { "x": 20375.26157062351, @@ -30736,7 +32286,7 @@ "name": "New Style", "config": "{\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_RED\"\n}", "project": "Foundations", - "id": "a9a61952-b382-4c88-a4fd-66905b50a3a7", + "id": "a76bf946-b3fb-4dfa-9f64-1ec2486808cb", "savedPayload": { "position": { "x": 19937.946364877913, @@ -30757,7 +32307,7 @@ "uiObject": {} } }, - "id": "c2f9bbfb-ea04-499a-9724-f25eb37e0553", + "id": "15e1b9e3-18b1-43ee-89c5-52eeedfee2c2", "savedPayload": { "position": { "x": 19627.410809710964, @@ -30781,7 +32331,7 @@ } } ], - "id": "bd3ba9f7-6c63-4e8e-a2e7-c3587f3042cc", + "id": "628e9ea7-4781-4c4f-bace-3dd983bac0d8", "savedPayload": { "position": { "x": 20191.505666035202, @@ -30809,7 +32359,7 @@ "type": "Polygon Vertex", "name": " FastTrend End", "project": "Foundations", - "id": "078eb965-b288-491f-9228-7e8b92fbdc53", + "id": "240a1b69-d8a3-4ffc-8813-cef0341d6aa5", "savedPayload": { "position": { "x": 20750.057154740367, @@ -30831,7 +32381,7 @@ "referenceParent": { "type": "Point", "name": "FastTrend End", - "id": "b9ad57bc-0f8d-4035-a095-e753a8a92e47" + "id": "a5573f7a-78dd-4cca-b32c-b861012761e2" } } }, @@ -30839,7 +32389,7 @@ "type": "Polygon Vertex", "name": " FastTrend Begin", "project": "Foundations", - "id": "fdd549f8-574c-4103-8c29-73474a7797f8", + "id": "2f3c15da-1528-4a3e-b96d-73a70710115a", "savedPayload": { "position": { "x": 20445.064967192488, @@ -30861,12 +32411,12 @@ "referenceParent": { "type": "Point", "name": "FastTrend Begin", - "id": "21febc99-7e48-414c-9774-31f00549200a" + "id": "a6d5000d-e8b9-4558-a787-b0c00b6651af" } } } ], - "id": "7d558441-ca85-4805-9b1e-384b0cddc72e", + "id": "1dab00e5-d04c-4502-9144-64359110d18e", "savedPayload": { "position": { "x": 20318.285316613845, @@ -30892,7 +32442,7 @@ ], "images": [], "texts": [], - "id": "920d86a1-66f7-4b46-9603-86ea699e030d", + "id": "0a9cbd9a-5105-46ea-8797-744f5fd92e44", "savedPayload": { "position": { "x": 19886.513478487323, @@ -30932,7 +32482,7 @@ "name": "New Data Formula", "code": "record.NegativeDisorder", "project": "Foundations", - "id": "eee7db13-7e36-4200-91c0-2b444c943700", + "id": "46a51c41-fa66-4e44-bc72-80471c882631", "savedPayload": { "position": { "x": 20046.798936716244, @@ -30958,7 +32508,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "1872b66f-477e-4775-94a0-30b2c4c7b625", + "id": "c2d20985-b32b-42c6-b7f9-de44303e1cce", "savedPayload": { "position": { "x": 20749.493944247264, @@ -30979,7 +32529,7 @@ "uiObject": {} } }, - "id": "344894b3-b038-41ce-a62c-908ebeff4eb9", + "id": "84fefed9-cec2-4a26-945c-355c5337531b", "savedPayload": { "position": { "x": 20300.79838520629, @@ -31012,7 +32562,7 @@ "name": "New Data Formula", "code": "record.PositiveDisorder", "project": "Foundations", - "id": "1f00d844-a6aa-471f-a846-72d2a57b9b19", + "id": "b4fb23c3-6b87-4500-8733-8048508da816", "savedPayload": { "position": { "x": 20826.90295143647, @@ -31038,7 +32588,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "8bdc68ef-df0f-4cb3-81e1-bba5a2f24162", + "id": "a53f992f-7ae8-4ffc-be71-2413c738596a", "savedPayload": { "position": { "x": 20723.32899070974, @@ -31059,7 +32609,7 @@ "uiObject": {} } }, - "id": "c29aaaf0-84d4-43f4-a485-0d26f35bbc5b", + "id": "a656b89d-bc2f-4242-8e84-4ee067986d08", "savedPayload": { "position": { "x": 20552.111405600524, @@ -31092,7 +32642,7 @@ "name": "New Data Formula", "code": "record.FastTrend", "project": "Foundations", - "id": "5a732060-e909-49a2-89ec-9731d31aad77", + "id": "6be3a745-cfb7-40f0-b2ca-336a07471f22", "savedPayload": { "position": { "x": 20610.88492995913, @@ -31118,7 +32668,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "cef6f720-ee3f-4a19-89c7-8339f2ef9ea0", + "id": "1a6ab1ba-5d2d-4387-a00c-a927aabd5b4e", "savedPayload": { "position": { "x": 19844.177694349546, @@ -31139,7 +32689,7 @@ "uiObject": {} } }, - "id": "f7d5f20d-624f-492b-b11b-c3c9e03814ba", + "id": "3f6bce99-8620-4a7f-9ce5-1db2209126cc", "savedPayload": { "position": { "x": 20187.054966321346, @@ -31172,7 +32722,7 @@ "name": "New Data Formula", "code": "record.intertrend", "project": "Foundations", - "id": "bc6a1ca3-58fd-4ed5-b307-af6ab74abea1", + "id": "d5da739b-f311-4509-90aa-d364e65a7013", "savedPayload": { "position": { "x": 19697.2744357834, @@ -31198,7 +32748,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.BLACK\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "793a355d-609d-4e57-bbbc-bc6e8f2b7b34", + "id": "9d031f19-8023-4369-89a4-826dd256a602", "savedPayload": { "position": { "x": 19326.997265482933, @@ -31219,7 +32769,7 @@ "uiObject": {} } }, - "id": "6db9137f-5645-4c3f-9fde-bee71daf5e24", + "id": "5efcef10-679f-4dab-a608-d2041e6d0cf5", "savedPayload": { "position": { "x": 19710.124658640565, @@ -31243,7 +32793,7 @@ } } ], - "id": "647a549b-8d19-4639-9f84-8e3f6164b8f5", + "id": "1d27979b-f4c5-4f9c-bfc6-b787a8362e77", "savedPayload": { "position": { "x": 20106.10227465536, @@ -31267,7 +32817,7 @@ } } ], - "id": "11122bc7-c665-4c8b-9418-224a9b6662e1", + "id": "b510f151-0def-40de-b62d-2888fdc6d0fd", "savedPayload": { "position": { "x": 19780.42195750808, @@ -31291,11 +32841,11 @@ } } ], - "id": "490a43ef-583b-4f0f-a2c1-ae86413f7126", + "id": "ffe6cf1d-8165-4feb-b620-c913f72b6396", "savedPayload": { "position": { - "x": 18511.50494712642, - "y": 9380.129810083023 + "x": 18520.977170735852, + "y": 9391.708494779705 }, "targetPosition": { "x": 18051.878281255034, @@ -31344,7 +32894,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.PastForecast", "project": "Foundations", - "id": "94c5c47a-1105-4ca5-9a51-5ae52ddb4d89", + "id": "a3568828-6180-4da7-b17f-094880a6bd03", "savedPayload": { "position": { "x": 20153.894045277786, @@ -31365,7 +32915,7 @@ "uiObject": {} } }, - "id": "284f6f02-3f02-4856-ab2a-54f06cc37e59", + "id": "9aa53d4c-787f-4644-8ebf-fb9ba166b781", "savedPayload": { "position": { "x": 19747.577103048807, @@ -31397,7 +32947,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.PastForecast", "project": "Foundations", - "id": "449d5818-0a0c-4ccb-90fa-94c40f4cb1d4", + "id": "cb6b3515-cec3-4847-81ff-4c34a1c71bba", "savedPayload": { "position": { "x": 20212.41399207655, @@ -31418,7 +32968,7 @@ "uiObject": {} } }, - "id": "f034387d-7f76-4c0d-9b99-155a34b7bcad", + "id": "e8b4d8a1-f268-4862-ac96-ceb4f61cc9b7", "savedPayload": { "position": { "x": 19776.837076448188, @@ -31450,7 +33000,7 @@ "name": "New Point Formula", "code": "x = record.T5begin\ny =(1 + record.previous.forecast5 / 100) * record.previous.PastForecast", "project": "Foundations", - "id": "a6a0bf78-659d-46a8-bf28-6378853fb38e", + "id": "e23ffff1-5a9c-4979-96da-ec1ab19a7232", "savedPayload": { "position": { "x": 19863.311379433904, @@ -31471,7 +33021,7 @@ "uiObject": {} } }, - "id": "54517de1-5c5b-4369-ac53-7a547a908c71", + "id": "18bb8a4e-534e-43fe-90f8-9242ac1a32ec", "savedPayload": { "position": { "x": 19602.285770126866, @@ -31503,7 +33053,7 @@ "name": "New Point Formula", "code": "x = record.T5end\ny = (1 + record.forecast5 / 100) * record.PastForecast", "project": "Foundations", - "id": "acf1fb5a-452d-483f-853d-d23114bcc490", + "id": "fa323d70-1c4e-4d63-8dca-16459558f9bc", "savedPayload": { "position": { "x": 19269.93519964872, @@ -31524,7 +33074,7 @@ "uiObject": {} } }, - "id": "031df7fb-d3d2-42c3-8187-bf2baf3f147e", + "id": "25608668-2b29-41c2-943d-0cbe8acde5ce", "savedPayload": { "position": { "x": 19305.597680234274, @@ -31556,7 +33106,7 @@ "name": "New Point Formula", "code": "x = record.T5begin\ny =(1 + record.previous.minForecast5/ 100) * record.previous.PastForecast", "project": "Foundations", - "id": "1a688009-01b7-4f03-9abf-193ca30d499f", + "id": "1d1b7732-a1a5-445c-88c0-fbe75b8ba075", "savedPayload": { "position": { "x": 18709.932761884138, @@ -31577,7 +33127,7 @@ "uiObject": {} } }, - "id": "94c88bc2-7442-4f72-a4bb-48707efdcfe6", + "id": "09f87420-729e-489c-b25c-db9ae51cdc2d", "savedPayload": { "position": { "x": 19025.596461351983, @@ -31609,7 +33159,7 @@ "name": "New Point Formula", "code": "x = record.T5end\ny =(1 + record.minForecast5/ 100) * record.PastForecast", "project": "Foundations", - "id": "5130a3c6-1df1-47d0-bf08-70c4dec10aa4", + "id": "79a1421a-75c5-4f3c-9383-a0f9fe9d7b69", "savedPayload": { "position": { "x": 18445.335430504052, @@ -31630,7 +33180,7 @@ "uiObject": {} } }, - "id": "abd74282-37f9-42b5-8a84-a9fd22f74ef6", + "id": "117a1fc9-23f9-4af1-b78b-f85ed5437a9f", "savedPayload": { "position": { "x": 18893.29779566194, @@ -31662,7 +33212,7 @@ "name": "New Point Formula", "code": "x = record.T5begin\ny =(1 + record.previous.maxForecast5/ 100) * record.previous.PastForecast", "project": "Foundations", - "id": "f6fa0546-2c24-4e6e-bc9c-253a02085297", + "id": "191614b9-9764-4c69-bbac-2b2646d06f99", "savedPayload": { "position": { "x": 18599.951237532976, @@ -31683,7 +33233,7 @@ "uiObject": {} } }, - "id": "f5070089-4ca0-4277-804f-aa4024e7f44d", + "id": "ce3d5293-b44d-46d2-a7d5-e781f3206519", "savedPayload": { "position": { "x": 18970.6056991764, @@ -31715,7 +33265,7 @@ "name": "New Point Formula", "code": "x = record.T5end\ny =(1 + record.maxForecast5/ 100) * record.PastForecast", "project": "Foundations", - "id": "dcb26e75-e408-4828-a606-7ffa5a4c8186", + "id": "c6fd8f08-332b-4746-82b2-7fe060051d1c", "savedPayload": { "position": { "x": 19101.433728498796, @@ -31736,7 +33286,7 @@ "uiObject": {} } }, - "id": "f427fb8f-18ff-45ad-8ab6-bda8a8bebbba", + "id": "dd8ab4d3-6289-4fca-a26a-54debdb78d17", "savedPayload": { "position": { "x": 19221.34694465931, @@ -31760,7 +33310,7 @@ } } ], - "id": "cc90308b-1c4a-43b8-9884-27208cbbaac5", + "id": "43c68a48-1aac-4595-a00d-bb4fee0383b5", "savedPayload": { "position": { "x": 19651.725204089988, @@ -31798,7 +33348,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.TRUE_BLUE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "cbd920bc-bdd2-4318-992b-6bd7806ba79b", + "id": "6dd112e0-eafc-4e39-a827-417f382a31bd", "savedPayload": { "position": { "x": 18896.46487670246, @@ -31820,7 +33370,7 @@ } }, "styleConditions": [], - "id": "0668602f-125f-40a7-bee1-b165c33aa261", + "id": "87301f40-8d66-407b-9eb3-c80d8ae14272", "savedPayload": { "position": { "x": 19305.799274611993, @@ -31848,7 +33398,7 @@ "type": "Polygon Vertex", "name": " PastForecast End", "project": "Foundations", - "id": "23e83745-4c94-43db-9d7e-dca30316dd5a", + "id": "29e076dc-71a9-4c29-a7d0-bff0806ff6e6", "savedPayload": { "position": { "x": 19902.070428372375, @@ -31870,7 +33420,7 @@ "referenceParent": { "type": "Point", "name": "PastForecast End", - "id": "f034387d-7f76-4c0d-9b99-155a34b7bcad" + "id": "e8b4d8a1-f268-4862-ac96-ceb4f61cc9b7" } } }, @@ -31878,7 +33428,7 @@ "type": "Polygon Vertex", "name": " PastForecast Begin", "project": "Foundations", - "id": "1b06185d-5180-48c2-b70e-d1d7f12ae7d0", + "id": "93474f03-caf7-4a7e-8ae4-03c23be5d67e", "savedPayload": { "position": { "x": 20124.46807043106, @@ -31900,12 +33450,12 @@ "referenceParent": { "type": "Point", "name": "PastForecast Begin", - "id": "284f6f02-3f02-4856-ab2a-54f06cc37e59" + "id": "9aa53d4c-787f-4644-8ebf-fb9ba166b781" } } } ], - "id": "5fa1150e-45b6-44e9-acbd-4d06f1e7e9a1", + "id": "cc2c21c9-6f57-47f6-a2e4-2df5631c845e", "savedPayload": { "position": { "x": 19807.016631151502, @@ -31941,7 +33491,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.BROWN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "d0757436-ce38-40be-994f-8b1db04a8733", + "id": "3140ee05-5c7c-4ca7-b5a7-dd3517bd580d", "savedPayload": { "position": { "x": 19372.704876479253, @@ -31963,7 +33513,7 @@ } }, "styleConditions": [], - "id": "21bb82a4-f203-4a3a-a412-6f9eb54c8339", + "id": "a1271de8-73ea-4924-ad94-4874f2009955", "savedPayload": { "position": { "x": 19633.73048578629, @@ -31991,7 +33541,7 @@ "type": "Polygon Vertex", "name": " Forecast5 Begin", "project": "Foundations", - "id": "40228f18-1ead-4d75-b8b2-6f877fc1acd0", + "id": "e651c72b-242f-4e7f-b33d-0f4332a770e9", "savedPayload": { "position": { "x": 20261.31527351598, @@ -32013,7 +33563,7 @@ "referenceParent": { "type": "Point", "name": "Forecast5 Begin", - "id": "54517de1-5c5b-4369-ac53-7a547a908c71" + "id": "18bb8a4e-534e-43fe-90f8-9242ac1a32ec" } } }, @@ -32021,7 +33571,7 @@ "type": "Polygon Vertex", "name": " Forecast5 End", "project": "Foundations", - "id": "c0e09c6e-0f31-4196-8f51-ccd2e3517988", + "id": "363e0e36-f67a-4e6b-b780-a963614a7873", "savedPayload": { "position": { "x": 20155.781704400368, @@ -32043,12 +33593,12 @@ "referenceParent": { "type": "Point", "name": "Forecast5 End", - "id": "031df7fb-d3d2-42c3-8187-bf2baf3f147e" + "id": "25608668-2b29-41c2-943d-0cbe8acde5ce" } } } ], - "id": "7c8cde5a-9562-48d1-806a-38f842076465", + "id": "bd9986bd-90c2-44cb-9699-83640c999299", "savedPayload": { "position": { "x": 20386.57212692494, @@ -32084,7 +33634,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RED_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "34c19e2b-d16f-49ca-9ac0-74848bcfa606", + "id": "49a2eafd-9766-4986-bc33-09424c5f5521", "savedPayload": { "position": { "x": 18896.46487670246, @@ -32106,7 +33656,7 @@ } }, "styleConditions": [], - "id": "b7d1f765-6b62-4a84-9781-a424ac90db1f", + "id": "6cd17f1b-f9b2-4699-b9da-e6a6f49cb655", "savedPayload": { "position": { "x": 19305.799274611993, @@ -32134,7 +33684,7 @@ "type": "Polygon Vertex", "name": " Forecast5 min Begin", "project": "Foundations", - "id": "53bd7ca6-ba0f-458d-aef8-47b4f5320688", + "id": "3b70f271-8fd1-4690-9ed1-1bc9eada95a5", "savedPayload": { "position": { "x": 19902.070428372375, @@ -32156,7 +33706,7 @@ "referenceParent": { "type": "Point", "name": "Forecast5 min Begin", - "id": "94c88bc2-7442-4f72-a4bb-48707efdcfe6" + "id": "09f87420-729e-489c-b25c-db9ae51cdc2d" } } }, @@ -32164,7 +33714,7 @@ "type": "Polygon Vertex", "name": " Forecast5 min End", "project": "Foundations", - "id": "b9c37aba-0d3e-4d0c-84eb-41190fa81f22", + "id": "b54c8ce7-f516-40a9-a467-6132781afb3a", "savedPayload": { "position": { "x": 20124.46807043106, @@ -32186,12 +33736,12 @@ "referenceParent": { "type": "Point", "name": "Forecast5 min End", - "id": "abd74282-37f9-42b5-8a84-a9fd22f74ef6" + "id": "117a1fc9-23f9-4af1-b78b-f85ed5437a9f" } } } ], - "id": "b5a9d6d9-7e29-46e2-8ac4-79002e00e9ac", + "id": "5dcb1fc4-9067-47df-93b9-88b5a50613cb", "savedPayload": { "position": { "x": 20810.83619563687, @@ -32227,7 +33777,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.MIDNIGHT_GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "6a4fea28-96b7-4b73-9912-67cc2b9afc71", + "id": "5508a340-581e-49b7-8775-befa0b56d1ad", "savedPayload": { "position": { "x": 19890.608842854803, @@ -32249,7 +33799,7 @@ } }, "styleConditions": [], - "id": "8abef238-ef2c-444b-8e22-6abc2853eba3", + "id": "b527c9fe-ac22-4e32-9490-f2b3090dddfe", "savedPayload": { "position": { "x": 19933.384062341684, @@ -32277,7 +33827,7 @@ "type": "Polygon Vertex", "name": " Forecast5 max Begin", "project": "Foundations", - "id": "3df91938-0167-444e-84ac-76ba562d458b", + "id": "364f538b-372f-4095-89a2-7670669173c0", "savedPayload": { "position": { "x": 20424.121646986452, @@ -32299,7 +33849,7 @@ "referenceParent": { "type": "Point", "name": "Forecast5 max Begin", - "id": "f5070089-4ca0-4277-804f-aa4024e7f44d" + "id": "ce3d5293-b44d-46d2-a7d5-e781f3206519" } } }, @@ -32307,7 +33857,7 @@ "type": "Polygon Vertex", "name": " Forecast5 max End", "project": "Foundations", - "id": "58aa5fa8-e5ab-49f0-945c-7c15adba18eb", + "id": "a83793b8-d117-4cde-9409-054b002940d2", "savedPayload": { "position": { "x": 20018.934501315445, @@ -32329,12 +33879,12 @@ "referenceParent": { "type": "Point", "name": "Forecast5 max End", - "id": "f427fb8f-18ff-45ad-8ab6-bda8a8bebbba" + "id": "dd8ab4d3-6289-4fca-a26a-54debdb78d17" } } } ], - "id": "780615eb-c5e2-43b9-995b-43ddaf464712", + "id": "ce3f1b0c-1eb0-4da6-b609-061f5f93132a", "savedPayload": { "position": { "x": 20655.544768575357, @@ -32360,7 +33910,7 @@ ], "images": [], "texts": [], - "id": "68f75cc3-d605-467c-a192-1a72ecd7aa3f", + "id": "666e9854-a10c-4e74-a83f-5825f2c72bff", "savedPayload": { "position": { "x": 20231.28069986343, @@ -32400,7 +33950,7 @@ "name": "New Data Formula", "code": "record.PastForecast", "project": "Foundations", - "id": "8277d408-15bc-483b-8b20-a4f7f9569df3", + "id": "40ffe5bf-e560-4dd2-83c7-0d3c169ee67d", "savedPayload": { "position": { "x": 20605.990498460473, @@ -32426,7 +33976,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "1912ae1f-3976-4a2d-97be-53fa36b6c6a5", + "id": "3b65662e-8b2b-44a9-9f00-078b1d874641", "savedPayload": { "position": { "x": 20568.904065382787, @@ -32447,7 +33997,7 @@ "uiObject": {} } }, - "id": "f7e8652e-afac-4efd-9aac-c4802993c39a", + "id": "37107852-179f-4427-b201-d90bf8071cb4", "savedPayload": { "position": { "x": 20820.645583378584, @@ -32480,7 +34030,7 @@ "name": "New Data Formula", "code": "record.forecast5", "project": "Foundations", - "id": "efe73f9e-3961-4a16-8e84-ebcc9bde010a", + "id": "882a4332-0931-400f-929c-613d00d73870", "savedPayload": { "position": { "x": 20518.148234548888, @@ -32506,7 +34056,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "b46a00eb-547f-41df-b2d8-010ca58cf068", + "id": "314d300e-d82f-4b0b-8a75-0ff38a52b4c2", "savedPayload": { "position": { "x": 20687.449848597542, @@ -32527,7 +34077,7 @@ "uiObject": {} } }, - "id": "a7dedb2a-6938-4292-8d65-60429da5bdb4", + "id": "08e5dba1-f227-4595-ab6d-2878809cbf18", "savedPayload": { "position": { "x": 20822.426939672197, @@ -32560,7 +34110,7 @@ "name": "New Data Formula", "code": "record.forecast10", "project": "Foundations", - "id": "f23bedd3-1bb4-45d4-84e5-167871ba88dc", + "id": "116c5f23-21f4-4888-939c-6fe3765000f9", "savedPayload": { "position": { "x": 21086.852597710917, @@ -32586,7 +34136,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "11a86517-af3a-45c5-b5d9-dd33d687f3d2", + "id": "5fafab28-2525-4a06-9f2d-20895012bc2e", "savedPayload": { "position": { "x": 20770.530880291517, @@ -32607,7 +34157,7 @@ "uiObject": {} } }, - "id": "f812af81-45cd-4231-8afd-9c9c9388d692", + "id": "5c4c1fde-cbdd-453f-b958-dfff6963f35d", "savedPayload": { "position": { "x": 20900.15961364207, @@ -32640,7 +34190,7 @@ "name": "New Data Formula", "code": "record.forecast20", "project": "Foundations", - "id": "b7695e4c-1553-4c16-91a8-d6ec3e6e2093", + "id": "7b028e1f-7897-42f6-a303-19497fb6f71b", "savedPayload": { "position": { "x": 20770.530880291517, @@ -32666,7 +34216,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "d3c40a98-550e-4fd6-b4ac-1b12a9ea25d2", + "id": "3b924f84-f0d2-4fcd-8896-b6d3f4909ee3", "savedPayload": { "position": { "x": 20255.36101845076, @@ -32687,7 +34237,7 @@ "uiObject": {} } }, - "id": "21d096ee-6342-4fe4-a552-57c5a9a10014", + "id": "5f9a8d6c-7d1c-4b88-925c-9a34fb0d9b2f", "savedPayload": { "position": { "x": 21040.402919779637, @@ -32720,7 +34270,7 @@ "name": "New Data Formula", "code": "record.forecast30", "project": "Foundations", - "id": "d34baf10-46c8-4db0-bdee-66d39209e488", + "id": "45318843-a26d-4732-b51f-e2139c6543c2", "savedPayload": { "position": { "x": 20809.573118473745, @@ -32746,7 +34296,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "79845a6b-607d-4c4a-ac7d-9a891c5aa205", + "id": "5aea9a59-9590-4e26-ba5c-beca6e53cea2", "savedPayload": { "position": { "x": 21585.466694805928, @@ -32767,7 +34317,7 @@ "uiObject": {} } }, - "id": "7af391c4-0d56-46eb-8dcd-fcb0b3b8d158", + "id": "cd352ef7-3aaf-492f-ac07-cd2f5324dc40", "savedPayload": { "position": { "x": 21218.90751638328, @@ -32800,7 +34350,7 @@ "name": "New Data Formula", "code": "record.trend", "project": "Foundations", - "id": "f92fea7e-3e66-4cc0-8764-4075852eabb5", + "id": "ba71d688-84a0-49bf-9d1c-bcc62ff7a7e8", "savedPayload": { "position": { "x": 20427.834784532013, @@ -32826,7 +34376,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "439582fe-04da-4174-b563-fff330737f42", + "id": "074944db-5814-45cb-89e9-7561589a28cb", "savedPayload": { "position": { "x": 20067.345965325792, @@ -32847,7 +34397,7 @@ "uiObject": {} } }, - "id": "649cf14e-c5b2-42a5-bff9-c747ee0cdd1f", + "id": "af900e79-27cd-4377-b7b6-b63b823c525b", "savedPayload": { "position": { "x": 21404.808337036866, @@ -32880,7 +34430,7 @@ "name": "New Data Formula", "code": "record.minForecast5", "project": "Foundations", - "id": "9e092504-e155-4ce2-b17b-e64825e993e1", + "id": "513546b0-c5c3-4c93-a9cb-ef151209c374", "savedPayload": { "position": { "x": 21534.063107391114, @@ -32906,7 +34456,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "0ab9467d-1e5e-4821-b65b-2014f78a1c16", + "id": "1a8b4d19-7548-42f9-b806-d6a3755f8e7d", "savedPayload": { "position": { "x": 20765.431857255797, @@ -32927,7 +34477,7 @@ "uiObject": {} } }, - "id": "eec28ee4-cf58-406b-b153-4e3e47211fcf", + "id": "a017508c-c20d-46bc-8db4-6a0db5dd5a98", "savedPayload": { "position": { "x": 21565.96144099347, @@ -32960,7 +34510,7 @@ "name": "New Data Formula", "code": "record.maxForecast5", "project": "Foundations", - "id": "16c77551-4c54-442b-85c1-1cf6045dafdd", + "id": "f90ba1ba-8583-4024-99d6-962d6e1180ef", "savedPayload": { "position": { "x": 21469.378518759164, @@ -32986,7 +34536,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "b5803481-f6a4-4511-b098-ec51011ad99a", + "id": "3f8847ac-3eb3-4feb-a179-3b1bd257e33d", "savedPayload": { "position": { "x": 20714.9371702867, @@ -33007,7 +34557,7 @@ "uiObject": {} } }, - "id": "3d233428-4e7b-42fe-b1f7-f45b8f672d15", + "id": "07ab8509-bb14-420a-a32a-c0b761281b2a", "savedPayload": { "position": { "x": 21674.501992548994, @@ -33040,7 +34590,7 @@ "name": "New Data Formula", "code": "record.minForecast10", "project": "Foundations", - "id": "960d73b9-7bb1-4278-a269-df6d32509a1d", + "id": "24259222-5f6a-4250-bf50-1649f9badaed", "savedPayload": { "position": { "x": 21772.096164253948, @@ -33066,7 +34616,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "6c8787e4-ff80-43f4-a7eb-de394ab7ec37", + "id": "40805069-e980-4301-a22c-c12723e1ed8b", "savedPayload": { "position": { "x": 21006.75848737293, @@ -33087,7 +34637,7 @@ "uiObject": {} } }, - "id": "f50fec71-3157-4f1d-9a50-e59bb0edecb6", + "id": "c3452706-f4fa-4b83-aa0c-f8a8efe7be03", "savedPayload": { "position": { "x": 21711.66234427954, @@ -33120,7 +34670,7 @@ "name": "New Data Formula", "code": "record.maxForecast10", "project": "Foundations", - "id": "5177493d-0a97-4943-b9c1-4753cce7dab7", + "id": "7663efc6-61f3-4998-9737-d552e2f5eae1", "savedPayload": { "position": { "x": 21372.606174622284, @@ -33146,7 +34696,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "c4111176-04db-435f-a4b5-e1a1199a33da", + "id": "98c02f13-7eae-40db-be6d-1f46c7f304a8", "savedPayload": { "position": { "x": 20649.014981976594, @@ -33167,7 +34717,7 @@ "uiObject": {} } }, - "id": "b45645e1-bab4-4b30-9ff3-8dea0784bc55", + "id": "f2348866-e461-4595-b5cd-c6bc7efe2c61", "savedPayload": { "position": { "x": 21671.017133779693, @@ -33200,7 +34750,7 @@ "name": "New Data Formula", "code": "record.minForecast20", "project": "Foundations", - "id": "3d63cac2-156a-4ff6-9f56-7dbc57413414", + "id": "fa636339-eb98-4714-a16f-8afd82279f5f", "savedPayload": { "position": { "x": 21661.23814733896, @@ -33226,7 +34776,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "8e7ab84d-a97e-45db-b601-b95eb4912e11", + "id": "8bfc7009-51e8-46a1-8a13-83b375120a8e", "savedPayload": { "position": { "x": 20881.898878977692, @@ -33247,7 +34797,7 @@ "uiObject": {} } }, - "id": "fee7d0fb-c69b-4c55-a02a-34f55a330405", + "id": "fabdfdf1-f6cc-443a-bd1a-57c05bc0a378", "savedPayload": { "position": { "x": 21559.59428719503, @@ -33280,7 +34830,7 @@ "name": "New Data Formula", "code": "record.maxForecast20", "project": "Foundations", - "id": "6059c31b-9b65-4c11-b83c-63c78def2d81", + "id": "7815ed7e-d564-422f-aa47-9dd0c85b5f97", "savedPayload": { "position": { "x": 21304.46941885486, @@ -33306,7 +34856,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "07d41096-3c6c-4bd0-9f37-58df88dfc4e2", + "id": "154687f0-b77a-4f82-80a0-0ce9a8e6d5c9", "savedPayload": { "position": { "x": 20609.093900432457, @@ -33327,7 +34877,7 @@ "uiObject": {} } }, - "id": "6284fe43-6e98-4e8f-8bd7-45e8cff38689", + "id": "85a3dc69-9d11-44f7-b919-ef02cad3bc14", "savedPayload": { "position": { "x": 21396.659826944815, @@ -33360,7 +34910,7 @@ "name": "New Data Formula", "code": "record.minForecast30", "project": "Foundations", - "id": "0f86b0f4-b402-4c3e-b608-a843677ec1cd", + "id": "150892ad-ce15-4ac2-83b9-890e22fb4a7e", "savedPayload": { "position": { "x": 21571.909723647506, @@ -33386,7 +34936,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "0bafcc82-3fce-44ef-85f5-63df9b49237e", + "id": "2b08af7a-76ff-4f65-a577-f7f45a512705", "savedPayload": { "position": { "x": 20797.567344740582, @@ -33407,7 +34957,7 @@ "uiObject": {} } }, - "id": "715e2d9f-808a-498f-87b1-2c248512a3a5", + "id": "d46def04-1b15-4cf8-9a64-821b400e7138", "savedPayload": { "position": { "x": 21210.386601419417, @@ -33440,7 +34990,7 @@ "name": "New Data Formula", "code": "record.maxForecast30", "project": "Foundations", - "id": "daeb91d0-88fa-451a-9b23-7e3163be4f1d", + "id": "b9099f56-95bc-4b0c-b796-ae53abc73289", "savedPayload": { "position": { "x": 21254.262759641824, @@ -33466,7 +35016,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "6fb624b8-cdda-46f6-9c04-c65b935de8fe", + "id": "0b5f4f7d-fb5d-4eb5-abb6-8039bbe9698a", "savedPayload": { "position": { "x": 20583.003335141922, @@ -33487,7 +35037,7 @@ "uiObject": {} } }, - "id": "23d0f84c-f1a1-49db-b263-2f81e643b717", + "id": "78a43118-97f4-404d-8853-55424788d35b", "savedPayload": { "position": { "x": 21032.982943551302, @@ -33511,7 +35061,7 @@ } } ], - "id": "bd84f77d-7e60-41e0-8e52-0895c11655f1", + "id": "1686f7fc-0a5b-4d4a-acf3-230c214f7444", "savedPayload": { "position": { "x": 21261.68273587016, @@ -33535,7 +35085,7 @@ } } ], - "id": "28d3bf0a-f89f-4234-bbb3-30c73af05ba3", + "id": "f003ac87-ac7e-4ae2-a185-c44a91ab1748", "savedPayload": { "position": { "x": 20075.98927280192, @@ -33559,11 +35109,11 @@ } } ], - "id": "3d5ec199-b43c-49a9-90f6-aff7bcae3165", + "id": "1aef4181-2109-4a15-8a48-04db32e0ee41", "savedPayload": { "position": { - "x": 18588.057865449082, - "y": 9496.522867774669 + "x": 18592.459601996485, + "y": 9505.472132424411 }, "targetPosition": { "x": 18051.878281255034, @@ -33584,7 +35134,7 @@ }, { "type": "Plotter", - "name": "OBV-Integral", + "name": "OBV-Extras", "config": "{\n \"codeName\": \"OBVIntegral\"\n}", "project": "Foundations", "modules": [ @@ -33612,7 +35162,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.OBVInt", "project": "Foundations", - "id": "cb73dee2-dc3c-45d6-a207-b6f82f12fb9b", + "id": "805e5af9-efb7-4e85-b93c-de301c3749bb", "savedPayload": { "position": { "x": 18893.0172207858, @@ -33633,7 +35183,7 @@ "uiObject": {} } }, - "id": "1f4d3f76-b692-44f6-a331-401853db027f", + "id": "ef9f62a4-44eb-488a-b4c6-02aef40331e2", "savedPayload": { "position": { "x": 19034.569427624545, @@ -33665,7 +35215,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.OBVInt", "project": "Foundations", - "id": "f0362c01-bdec-4e73-8ef0-a2fd2ede440f", + "id": "fecb1c39-aa87-4662-92b8-0f5cb54a8705", "savedPayload": { "position": { "x": 18585.518872339733, @@ -33686,7 +35236,7 @@ "uiObject": {} } }, - "id": "2d166c47-bc68-4ff7-b01b-87180a20e8de", + "id": "e95166bd-f8be-4b88-b052-a4cffc07a807", "savedPayload": { "position": { "x": 18880.82025340151, @@ -33718,7 +35268,7 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.OBVInt3", "project": "Foundations", - "id": "4c3bf67f-297d-46de-bfc5-907dc6fcb1f9", + "id": "e1bec31b-a6fe-4ee5-b76e-99402bda83fb", "savedPayload": { "position": { "x": 19094.21346729885, @@ -33739,7 +35289,7 @@ "uiObject": {} } }, - "id": "7277805f-60b6-48f4-bb9f-92979fde9ea5", + "id": "ec86edb7-590e-41dd-92e7-490971684d83", "savedPayload": { "position": { "x": 19135.16755088107, @@ -33771,7 +35321,7 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.OBVInt3", "project": "Foundations", - "id": "d17a987c-ef0f-49cd-b0a7-745390427749", + "id": "8a81ac53-1942-424a-b900-0c7a5475209b", "savedPayload": { "position": { "x": 19716.10236532302, @@ -33792,7 +35342,7 @@ "uiObject": {} } }, - "id": "c31a234b-b0a1-4677-ac19-b51cfe56c520", + "id": "b256e4da-9937-443a-9c54-666bcdc97297", "savedPayload": { "position": { "x": 19446.111999893154, @@ -33816,7 +35366,7 @@ } } ], - "id": "c9f0cd59-ee58-40dc-9e55-9f9497c8eb11", + "id": "0434e6d5-ba59-4e7e-8642-c810eba4a9f2", "savedPayload": { "position": { "x": 19176.12163446329, @@ -33854,7 +35404,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.BLACK\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "9c2e95a9-c76e-49e9-9283-96dea29bcc76", + "id": "b49e0ece-75f8-4e46-ad34-81ea11ddb48f", "savedPayload": { "position": { "x": 19679.32523382673, @@ -33876,7 +35426,7 @@ } }, "styleConditions": [], - "id": "f7b2f198-83bb-4309-b0f9-76cb2c53e4c2", + "id": "365d9d19-4526-4140-8599-acf9415d2105", "savedPayload": { "position": { "x": 19822.914632399265, @@ -33904,7 +35454,7 @@ "type": "Polygon Vertex", "name": " OBV Integral End", "project": "Foundations", - "id": "6c79c76e-cbdc-43b3-a331-e0b48639e448", + "id": "f595ca6b-6583-4d32-ae01-c313609a5f5d", "savedPayload": { "position": { "x": 20549.06912142743, @@ -33926,7 +35476,7 @@ "referenceParent": { "type": "Point", "name": "OBV Integral End", - "id": "2d166c47-bc68-4ff7-b01b-87180a20e8de" + "id": "e95166bd-f8be-4b88-b052-a4cffc07a807" } } }, @@ -33934,7 +35484,7 @@ "type": "Polygon Vertex", "name": " OBV Integral Begin", "project": "Foundations", - "id": "a884977d-d419-48b0-9218-d8fb57157794", + "id": "ef63a6af-330a-4180-bfd2-2f271b025cb5", "savedPayload": { "position": { "x": 20110.093429544333, @@ -33956,12 +35506,12 @@ "referenceParent": { "type": "Point", "name": "OBV Integral Begin", - "id": "1f4d3f76-b692-44f6-a331-401853db027f" + "id": "ef9f62a4-44eb-488a-b4c6-02aef40331e2" } } } ], - "id": "6646dcd1-10cc-46d8-9510-fe7188568fed", + "id": "c99ed7f7-2dda-4963-8990-d5e725d4fb45", "savedPayload": { "position": { "x": 19966.5040309718, @@ -33987,7 +35537,7 @@ ], "images": [], "texts": [], - "id": "19fafe0b-91da-46d9-85b0-2808e2235e01", + "id": "fc11322f-614b-4f08-bf4c-a244854485d0", "savedPayload": { "position": { "x": 19383.938940516167, @@ -34027,7 +35577,7 @@ "name": "New Data Formula", "code": "record.OBVInt", "project": "Foundations", - "id": "92278ce7-f63c-42a3-a08a-0b82b1d0b788", + "id": "57630a47-22f4-4665-81bd-87dd2ad701b7", "savedPayload": { "position": { "x": 20382.138643077556, @@ -34053,7 +35603,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "02871297-7efd-43fd-8014-b70183ef9f4f", + "id": "ac26055e-3d8f-4fcc-8fc4-73acf5a1b3b0", "savedPayload": { "position": { "x": 20630.842776833444, @@ -34074,7 +35624,7 @@ "uiObject": {} } }, - "id": "40a50c72-e82a-4760-9e78-0966e05f12b7", + "id": "5b996291-6830-4379-8207-5df1b0c67304", "savedPayload": { "position": { "x": 20215.208164727686, @@ -34107,7 +35657,7 @@ "name": "New Data Formula", "code": "record.OBVInt3", "project": "Foundations", - "id": "e305bdd8-8596-4a8c-be60-f527af25ba1f", + "id": "47a5a6d6-b3a5-4df4-9ec1-a7b91c30cec8", "savedPayload": { "position": { "x": 19881.347208027943, @@ -34133,7 +35683,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "89ad876c-4909-45c4-b95a-bd09bb195855", + "id": "ff714dea-bc04-421f-8b9c-59e4029c4242", "savedPayload": { "position": { "x": 18883.147505466553, @@ -34154,7 +35704,7 @@ "uiObject": {} } }, - "id": "b143ad83-3fde-458b-bf98-adc0f10c31c0", + "id": "6af472c2-3c89-4a6c-a080-31797a5a861a", "savedPayload": { "position": { "x": 19465.712595922185, @@ -34178,7 +35728,7 @@ } } ], - "id": "8bf2bef0-050e-4df7-b0d7-0ede1a7d40ae", + "id": "56ce8b8a-a3f3-44ec-a959-f3fe3c00b213", "savedPayload": { "position": { "x": 19632.643074272055, @@ -34202,15 +35752,15 @@ } } ], - "id": "84165e58-8cd5-4f61-8739-327f30162db0", + "id": "76cf6093-057e-4055-816f-9d6b5fdc2c15", "savedPayload": { "position": { - "x": 18807.787143229583, - "y": 9052.639146060188 + "x": 18503.322468190338, + "y": 9047.333068212063 }, "targetPosition": { - "x": 18635.705203602927, - "y": 9627.432853449482 + "x": 18636.835028564128, + "y": 9632.289815521157 }, "floatingObject": { "isPinned": false, @@ -34249,15 +35799,15 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.PosSpan", "project": "Foundations", - "id": "e2098098-d3f0-4965-a2a7-66c4a2345808", + "id": "50fc7386-ed00-4635-88b2-6452d2029d11", "savedPayload": { "position": { - "x": 19051.167613912872, - "y": 9936.64664839203 + "x": 19120.948682993083, + "y": 9436.939880438575 }, "targetPosition": { - "x": 19306.00799444933, - "y": 9778.35457516019 + "x": 19116.460860888503, + "y": 9136.973449895493 }, "floatingObject": { "isPinned": false, @@ -34270,15 +35820,15 @@ "uiObject": {} } }, - "id": "cac874b2-8eeb-4f28-9715-b83d5fa9ebf5", + "id": "74cc2648-5a0c-498c-bab8-2d098955a577", "savedPayload": { "position": { - "x": 19306.00799444933, - "y": 9778.35457516019 + "x": 19116.460860888503, + "y": 9136.973449895493 }, "targetPosition": { - "x": 19560.848374985788, - "y": 9620.06250192835 + "x": 19111.973038783923, + "y": 8837.007019352412 }, "floatingObject": { "isPinned": false, @@ -34302,15 +35852,15 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.PosSpan", "project": "Foundations", - "id": "cf2e7836-4c80-4a2f-8a1b-1cc4694192af", + "id": "96d89bba-c13f-4e5a-8ee5-40ab6938374d", "savedPayload": { "position": { - "x": 19102.25894265828, - "y": 9233.157174286647 + "x": 18544.176608504422, + "y": 9030.93281382509 }, "targetPosition": { - "x": 19331.553658822035, - "y": 9426.609838107499 + "x": 18828.074823644172, + "y": 8933.96991658875 }, "floatingObject": { "isPinned": false, @@ -34323,15 +35873,15 @@ "uiObject": {} } }, - "id": "f28b3719-241d-4a50-9c2a-935d566e6ba6", + "id": "37c29e86-0c2a-4cce-8417-7a08d29074d8", "savedPayload": { "position": { - "x": 19331.553658822035, - "y": 9426.609838107499 + "x": 18828.074823644172, + "y": 8933.96991658875 }, "targetPosition": { - "x": 19560.848374985788, - "y": 9620.06250192835 + "x": 19111.973038783923, + "y": 8837.007019352412 }, "floatingObject": { "isPinned": false, @@ -34355,15 +35905,15 @@ "name": "New Point Formula", "code": "x = record.begin\ny = record.previous.NegSpan", "project": "Foundations", - "id": "e4cbf751-a220-4405-9419-f76bcef89f09", + "id": "733b98b7-fb17-4118-a97d-7f9be838b987", "savedPayload": { "position": { - "x": 19787.105279998777, - "y": 9064.357712553687 + "x": 18752.079901971178, + "y": 8356.926890545688 }, "targetPosition": { - "x": 19673.976827492283, - "y": 9342.210107241019 + "x": 18932.02647037755, + "y": 8596.96695494905 }, "floatingObject": { "isPinned": false, @@ -34376,15 +35926,15 @@ "uiObject": {} } }, - "id": "14b3951d-da8a-40b0-941e-7e5a3a7b2733", + "id": "e95ee7a8-0149-46c9-970e-ad12257c9860", "savedPayload": { "position": { - "x": 19673.976827492283, - "y": 9342.210107241019 + "x": 18932.02647037755, + "y": 8596.96695494905 }, "targetPosition": { - "x": 19560.848374985788, - "y": 9620.06250192835 + "x": 19111.973038783923, + "y": 8837.007019352412 }, "floatingObject": { "isPinned": false, @@ -34408,15 +35958,15 @@ "name": "New Point Formula", "code": "x = record.end\ny = record.NegSpan", "project": "Foundations", - "id": "1edd0b02-24f7-4a55-8122-ff080123ea56", + "id": "925be07f-6871-4dc4-b123-df7414d2c0de", "savedPayload": { "position": { - "x": 20159.272264800686, - "y": 9663.523382025407 + "x": 19457.343278195323, + "y": 8346.37538795375 }, "targetPosition": { - "x": 19860.060319893237, - "y": 9641.792941976879 + "x": 19284.658158489623, + "y": 8591.691203653081 }, "floatingObject": { "isPinned": false, @@ -34429,15 +35979,15 @@ "uiObject": {} } }, - "id": "82f072f5-57cf-4312-a16a-69dbb488e1a0", + "id": "568a8245-c4be-4a89-9213-f6d748e14639", "savedPayload": { "position": { - "x": 19860.060319893237, - "y": 9641.792941976879 + "x": 19284.658158489623, + "y": 8591.691203653081 }, "targetPosition": { - "x": 19560.848374985788, - "y": 9620.06250192835 + "x": 19111.973038783923, + "y": 8837.007019352412 }, "floatingObject": { "isPinned": false, @@ -34453,20 +36003,20 @@ } } ], - "id": "3b20d5b2-e008-4e73-a5f9-c96d3babf968", + "id": "943eb2bf-8e7d-42d7-8515-770f2fb9f68a", "savedPayload": { "position": { - "x": 19560.848374985788, - "y": 9620.06250192835 + "x": 19111.973038783923, + "y": 8837.007019352412 }, "targetPosition": { - "x": 19632.643074272055, - "y": 9911.345047156166 + "x": 19398.644880519765, + "y": 8925.433571675683 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 1, "distanceToParent": 2, "arrangementStyle": 0 @@ -34491,7 +36041,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.BOTTLE_GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "9d424945-2847-4203-9376-0d0bfb3c8627", + "id": "52323bbb-8625-4a71-8e91-d8be49acf785", "savedPayload": { "position": { "x": 19928.029367582618, @@ -34513,7 +36063,7 @@ } }, "styleConditions": [], - "id": "158420db-7538-4696-8b84-42f5cbe65c71", + "id": "14eb3229-ab2b-4936-a442-e3394b29430c", "savedPayload": { "position": { "x": 20071.618766155152, @@ -34541,7 +36091,7 @@ "type": "Polygon Vertex", "name": " OBV PosSpan End", "project": "Foundations", - "id": "6c79b293-1947-4bc0-b1a2-469741ee1efe", + "id": "17a7b618-357d-4e3e-b185-3fe550cd8533", "savedPayload": { "position": { "x": 20797.773255183318, @@ -34563,7 +36113,7 @@ "referenceParent": { "type": "Point", "name": "OBV PosSpan End", - "id": "f28b3719-241d-4a50-9c2a-935d566e6ba6" + "id": "37c29e86-0c2a-4cce-8417-7a08d29074d8" } } }, @@ -34571,7 +36121,7 @@ "type": "Polygon Vertex", "name": " OBV PosSpan Begin", "project": "Foundations", - "id": "e39eb5c8-35d0-4dae-92af-d269e482a578", + "id": "31d35fda-a6c9-4499-a354-93a01b400266", "savedPayload": { "position": { "x": 20358.79756330022, @@ -34593,20 +36143,20 @@ "referenceParent": { "type": "Point", "name": "OBV PosSpan Begin", - "id": "cac874b2-8eeb-4f28-9715-b83d5fa9ebf5" + "id": "74cc2648-5a0c-498c-bab8-2d098955a577" } } } ], - "id": "02df3be3-6f5c-49dc-ae2a-e800ccbac7cf", + "id": "2eeb18b4-fd79-46e6-9527-02b254d3e955", "savedPayload": { "position": { - "x": 20215.208164727686, - "y": 9767.755648583632 + "x": 19575.49798516631, + "y": 8352.089888203998 }, "targetPosition": { - "x": 19632.643074272055, - "y": 9911.345047156166 + "x": 19398.644880519765, + "y": 8925.433571675683 }, "floatingObject": { "isPinned": false, @@ -34634,7 +36184,7 @@ "name": "New Style", "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RED_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", "project": "Foundations", - "id": "558185d0-f9b7-489e-b28f-54839fe65ac8", + "id": "3fd61487-5bb9-4d4d-a004-fc96856b6985", "savedPayload": { "position": { "x": 20941.362653755852, @@ -34656,7 +36206,7 @@ } }, "styleConditions": [], - "id": "ce65cbbd-8a6b-4d86-a3cb-74c780028c19", + "id": "22166415-f1ee-48a4-89c8-48e821f24b4b", "savedPayload": { "position": { "x": 20358.79756330022, @@ -34684,7 +36234,7 @@ "type": "Polygon Vertex", "name": " OBV NegSpan End", "project": "Foundations", - "id": "3c7852ac-fa77-44cc-ac28-6171a17a8278", + "id": "2116da78-964a-4d41-a351-406f67f84f8b", "savedPayload": { "position": { "x": 19919.821871417123, @@ -34706,7 +36256,7 @@ "referenceParent": { "type": "Point", "name": "OBV NegSpan End", - "id": "82f072f5-57cf-4312-a16a-69dbb488e1a0" + "id": "568a8245-c4be-4a89-9213-f6d748e14639" } } }, @@ -34714,7 +36264,7 @@ "type": "Polygon Vertex", "name": " OBV NegSpan Begin", "project": "Foundations", - "id": "a119e89e-e794-408d-aa61-b042b1d1a471", + "id": "895901bb-4b53-4cb4-8ca4-0840706335f5", "savedPayload": { "position": { "x": 19193.667382388958, @@ -34736,20 +36286,20 @@ "referenceParent": { "type": "Point", "name": "OBV NegSpan Begin", - "id": "14b3951d-da8a-40b0-941e-7e5a3a7b2733" + "id": "e95ee7a8-0149-46c9-970e-ad12257c9860" } } } ], - "id": "a5ccbebf-cab3-477b-a058-9f1657fa06a8", + "id": "49a25084-783a-4fb1-a254-f68581437af4", "savedPayload": { "position": { - "x": 19776.23247284459, - "y": 10493.910137611798 + "x": 19971.98856399145, + "y": 9102.286676322225 }, "targetPosition": { - "x": 19632.643074272055, - "y": 9911.345047156166 + "x": 19398.644880519765, + "y": 8925.433571675683 }, "floatingObject": { "isPinned": false, @@ -34767,15 +36317,15 @@ ], "images": [], "texts": [], - "id": "3d318644-ee45-4d3e-9922-a26bcc690d72", + "id": "cc555779-86cb-4439-a067-93e999356865", "savedPayload": { "position": { - "x": 19632.643074272055, - "y": 9911.345047156166 + "x": 19398.644880519765, + "y": 8925.433571675683 }, "targetPosition": { - "x": 19050.077983816424, - "y": 10054.9344457287 + "x": 19221.791775873222, + "y": 9498.777255147368 }, "floatingObject": { "isPinned": false, @@ -34807,7 +36357,7 @@ "name": "New Data Formula", "code": "record.PosSpan", "project": "Foundations", - "id": "90fe0ccb-9407-4273-9cee-82c325c640ba", + "id": "d4b6ad04-09e7-47f6-b471-765ac788f010", "savedPayload": { "position": { "x": 19881.347208027943, @@ -34833,7 +36383,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "d25e5417-643f-431a-833c-afde59e92486", + "id": "06b09767-f0fe-434c-9fe4-4a0ab33e95f8", "savedPayload": { "position": { "x": 19131.85163922244, @@ -34854,7 +36404,7 @@ "uiObject": {} } }, - "id": "1f164d62-4361-4d41-a208-bac3b57e0bd4", + "id": "551e0f33-3357-42b9-8e1c-1ed91d1d1a4d", "savedPayload": { "position": { "x": 19298.78211757231, @@ -34887,7 +36437,7 @@ "name": "New Data Formula", "code": "record.NegSpan", "project": "Foundations", - "id": "81638a50-d08b-4c65-8595-f1dc02ab8641", + "id": "2ae0076d-a353-46eb-97c8-403ccfcc2a45", "savedPayload": { "position": { "x": 18133.651936661052, @@ -34913,7 +36463,7 @@ "name": "New Text Style", "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", "project": "Foundations", - "id": "01be0065-b3c2-4b7f-a560-95c4608d6a14", + "id": "9e3cd208-3845-4953-ac23-6c96cc22db35", "savedPayload": { "position": { "x": 17884.947802905164, @@ -34934,7 +36484,7 @@ "uiObject": {} } }, - "id": "af7b36b4-b35d-493a-b2e2-f435d007fa28", + "id": "6c7304e0-3bb5-48f1-95ab-a9e0c62e031e", "savedPayload": { "position": { "x": 18300.582415010922, @@ -34958,15 +36508,15 @@ } } ], - "id": "c1f149b9-3cad-4c3c-94a1-7736783a497d", + "id": "fb6ec8d9-c8c7-415c-be7a-f651ab780476", "savedPayload": { "position": { - "x": 18883.147505466553, - "y": 10631.245312707524 + "x": 19629.895418535772, + "y": 9938.608378245264 }, "targetPosition": { - "x": 19050.077983816424, - "y": 10054.9344457287 + "x": 19221.791775873222, + "y": 9498.777255147368 }, "floatingObject": { "isPinned": false, @@ -34982,15 +36532,15 @@ } } ], - "id": "c20a9038-1d36-4e4a-9ee4-d819e45ebcc8", + "id": "4290d32f-09ae-41c2-a1c9-e8de5f9e4009", "savedPayload": { "position": { - "x": 19047.450186324168, - "y": 10063.857038393311 + "x": 19221.791775873222, + "y": 9498.777255147368 }, "targetPosition": { - "x": 18635.705203602927, - "y": 9627.432853449482 + "x": 18636.835028564128, + "y": 9632.289815521157 }, "floatingObject": { "isPinned": false, @@ -35004,13 +36554,873 @@ "isRunning": false } } + }, + { + "type": "Plotter Module", + "name": "OBV-Trend Span", + "config": "{\n \"codeName\": \"OBSTrendSpan\",\n \"icon\": \"trend\"\n}", + "project": "Foundations", + "shapes": { + "type": "Shapes", + "name": "New Shapes", + "project": "Foundations", + "chartPoints": [ + { + "type": "Chart Points", + "name": "New Chart Points", + "project": "Foundations", + "points": [ + { + "type": "Point", + "name": "OBV P Begin", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.xbegin\ny = record.pbegin", + "project": "Foundations", + "id": "f9b8674b-faaa-4f53-a82e-9108adf52437", + "savedPayload": { + "position": { + "x": 18832.184963646712, + "y": 10116.40346995011 + }, + "targetPosition": { + "x": 19132.151394189794, + "y": 10111.91564784553 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "99b940a0-f0f0-42f7-b20e-6f0dbf01c9e6", + "savedPayload": { + "position": { + "x": 19132.151394189794, + "y": 10111.91564784553 + }, + "targetPosition": { + "x": 19432.117824732875, + "y": 10107.42782574095 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "OBV P End", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.xend\ny = record.pend", + "project": "Foundations", + "id": "e015d2ee-e35a-49aa-ada4-8dccec6e82d5", + "savedPayload": { + "position": { + "x": 19238.192030260197, + "y": 9539.631395461452 + }, + "targetPosition": { + "x": 19335.154927496536, + "y": 9823.529610601201 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "203316d3-f606-4279-a9b4-dea90d608921", + "savedPayload": { + "position": { + "x": 19335.154927496536, + "y": 9823.529610601201 + }, + "targetPosition": { + "x": 19432.117824732875, + "y": 10107.42782574095 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "OBV N Begin", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.xbegin\ny = record.nbegin", + "project": "Foundations", + "id": "4dabf554-91d8-47d1-a929-7c5c0c3e1b5f", + "savedPayload": { + "position": { + "x": 19912.1979535396, + "y": 9747.534688928201 + }, + "targetPosition": { + "x": 19672.157889136237, + "y": 9927.481257334575 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b62571c2-74a7-448b-b5bf-4137141ccff2", + "savedPayload": { + "position": { + "x": 19672.157889136237, + "y": 9927.481257334575 + }, + "targetPosition": { + "x": 19432.117824732875, + "y": 10107.42782574095 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "OBV N End", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.xend\ny = record.nend", + "project": "Foundations", + "id": "871a3ded-3f8e-4fe7-8414-5de7975b7f6b", + "savedPayload": { + "position": { + "x": 19922.749456131536, + "y": 10452.798065152354 + }, + "targetPosition": { + "x": 19677.433640432206, + "y": 10280.112945446652 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "947637a4-3736-4118-a6dc-1c06d62c2f23", + "savedPayload": { + "position": { + "x": 19677.433640432206, + "y": 10280.112945446652 + }, + "targetPosition": { + "x": 19432.117824732875, + "y": 10107.42782574095 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "fdd73460-3b70-4bba-a996-a90596ad444c", + "savedPayload": { + "position": { + "x": 19432.117824732875, + "y": 10107.42782574095 + }, + "targetPosition": { + "x": 19343.691272409604, + "y": 10394.099667476792 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "OBV P", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.BOTTLE_GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", + "project": "Foundations", + "id": "2142a608-5a33-4206-8467-c5863303e2db", + "savedPayload": { + "position": { + "x": 20186.64693348732, + "y": 8252.8609295924 + }, + "targetPosition": { + "x": 20330.236332059856, + "y": 8835.426020048031 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 1 + }, + "uiObject": {} + } + }, + "styleConditions": [], + "id": "e6651002-8730-4198-bbbc-33a036ba9588", + "savedPayload": { + "position": { + "x": 20330.236332059856, + "y": 8835.426020048031 + }, + "targetPosition": { + "x": 20473.82573063239, + "y": 9417.991110503663 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " OBV P End", + "project": "Foundations", + "id": "5ba7140b-0f06-4139-93b0-88b3412f7e57", + "savedPayload": { + "position": { + "x": 21056.39082108802, + "y": 9274.401711931128 + }, + "targetPosition": { + "x": 20473.82573063239, + "y": 9417.991110503663 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {}, + "referenceParent": { + "type": "Point", + "name": "OBV P End", + "id": "203316d3-f606-4279-a9b4-dea90d608921" + } + } + }, + { + "type": "Polygon Vertex", + "name": " OBV P Begin", + "project": "Foundations", + "id": "3876e03e-01e2-41e3-91ee-357e5a76994e", + "savedPayload": { + "position": { + "x": 20617.415129204925, + "y": 10000.556200959294 + }, + "targetPosition": { + "x": 20473.82573063239, + "y": 9417.991110503663 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {}, + "referenceParent": { + "type": "Point", + "name": "OBV P Begin", + "id": "99b940a0-f0f0-42f7-b20e-6f0dbf01c9e6" + } + } + } + ], + "id": "df72863c-dbe8-4e6a-a2c0-6b546166cfa1", + "savedPayload": { + "position": { + "x": 19917.03495588129, + "y": 10570.952772123333 + }, + "targetPosition": { + "x": 19343.691272409604, + "y": 10394.099667476792 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "OBV N", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RED_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [\n 0,\n 0\n ],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}", + "project": "Foundations", + "id": "f9e9a7cd-6e47-4af7-a48f-0e9c29aafdf8", + "savedPayload": { + "position": { + "x": 21199.980219660556, + "y": 9856.96680238676 + }, + "targetPosition": { + "x": 20617.415129204925, + "y": 10000.556200959294 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 1 + }, + "uiObject": {} + } + }, + "styleConditions": [], + "id": "0d4d3a07-47bc-45da-8dc6-6da7ada0e9b2", + "savedPayload": { + "position": { + "x": 20617.415129204925, + "y": 10000.556200959294 + }, + "targetPosition": { + "x": 20034.850038749293, + "y": 10144.145599531828 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " OBV N End", + "project": "Foundations", + "id": "1f7d93b4-eaf9-47d4-a59e-288298f4bf3b", + "savedPayload": { + "position": { + "x": 20178.439437321827, + "y": 10726.71068998746 + }, + "targetPosition": { + "x": 20034.850038749293, + "y": 10144.145599531828 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {}, + "referenceParent": { + "type": "Point", + "name": "OBV N End", + "id": "947637a4-3736-4118-a6dc-1c06d62c2f23" + } + } + }, + { + "type": "Polygon Vertex", + "name": " OBV N Begin", + "project": "Foundations", + "id": "6a1cfca9-636c-46ed-8240-c7cd1f413968", + "savedPayload": { + "position": { + "x": 19452.28494829366, + "y": 10287.734998104363 + }, + "targetPosition": { + "x": 20034.850038749293, + "y": 10144.145599531828 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {}, + "referenceParent": { + "type": "Point", + "name": "OBV N Begin", + "id": "b62571c2-74a7-448b-b5bf-4137141ccff2" + } + } + } + ], + "id": "fcc39ec9-28da-4ac1-9b46-52b555bb887c", + "savedPayload": { + "position": { + "x": 19166.83816776306, + "y": 10967.443350948477 + }, + "targetPosition": { + "x": 19343.691272409604, + "y": 10394.099667476792 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [], + "texts": [], + "id": "93aa6225-f174-47f3-8b76-a5c7aa3a46cf", + "savedPayload": { + "position": { + "x": 19343.691272409604, + "y": 10394.099667476792 + }, + "targetPosition": { + "x": 18770.34758893792, + "y": 10217.24656283025 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "OBV Trend Span", + "config": "{\n \"codeName\": \"OBVTrendSpan\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "OBV N", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.nend", + "project": "Foundations", + "id": "080a2d1e-1d01-414f-926c-603649e5047b", + "savedPayload": { + "position": { + "x": 19323.57685581167, + "y": 10931.66876821691 + }, + "targetPosition": { + "x": 18738.620108502575, + "y": 11065.1813285907 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", + "project": "Foundations", + "id": "31c7f672-3b67-41b9-b5e3-857fc05e1173", + "savedPayload": { + "position": { + "x": 18561.76700385603, + "y": 11638.525012062384 + }, + "targetPosition": { + "x": 18738.620108502575, + "y": 11065.1813285907 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ede3f8a5-9ed1-44c5-b488-58b5148a9555", + "savedPayload": { + "position": { + "x": 18738.620108502575, + "y": 11065.1813285907 + }, + "targetPosition": { + "x": 18330.516465840024, + "y": 10625.350205492803 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "OBV P", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.pend", + "project": "Foundations", + "id": "ea0141e8-f464-46f9-b53f-59d165ca26e9", + "savedPayload": { + "position": { + "x": 18024.19790311592, + "y": 11618.41059546445 + }, + "targetPosition": { + "x": 17890.68534274213, + "y": 11033.453848155355 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", + "project": "Foundations", + "id": "819cf4c9-f870-4d65-b27a-fcf747c4ad00", + "savedPayload": { + "position": { + "x": 17317.341659270445, + "y": 10856.600743508814 + }, + "targetPosition": { + "x": 17890.68534274213, + "y": 11033.453848155355 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "282288f2-aaa2-42f6-80aa-fa2d39ea6c56", + "savedPayload": { + "position": { + "x": 17890.68534274213, + "y": 11033.453848155355 + }, + "targetPosition": { + "x": 18330.516465840024, + "y": 10625.350205492803 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "OBV Trend Span", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.trendspan", + "project": "Foundations", + "id": "6f322e2a-def2-4dff-8400-583fa82431d8", + "savedPayload": { + "position": { + "x": 17323.45607586838, + "y": 10705.031642768698 + }, + "targetPosition": { + "x": 17908.412823177474, + "y": 10571.519082394909 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}", + "project": "Foundations", + "id": "9e3b20fc-5d72-42e7-bc2f-789248033894", + "savedPayload": { + "position": { + "x": 18085.265927824017, + "y": 9998.175398923224 + }, + "targetPosition": { + "x": 17908.412823177474, + "y": 10571.519082394909 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "8cd2e097-ffcb-4519-b1e6-dfd59438fb95", + "savedPayload": { + "position": { + "x": 17908.412823177474, + "y": 10571.519082394909 + }, + "targetPosition": { + "x": 18330.516465840024, + "y": 10625.350205492803 + }, + "floatingObject": { + "isPinned": true, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "13118763-2021-4b4b-8b6d-315ef85a9de4", + "savedPayload": { + "position": { + "x": 18330.516465840024, + "y": 10625.350205492803 + }, + "targetPosition": { + "x": 18770.34758893792, + "y": 10217.24656283025 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f77c2621-879e-4abd-8e23-26ad533f0d9c", + "savedPayload": { + "position": { + "x": 18770.34758893792, + "y": 10217.24656283025 + }, + "targetPosition": { + "x": 18636.835028564128, + "y": 9632.289815521157 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } } ], - "id": "6f5b9096-eb99-44e0-b16d-a079dd4ac24a", + "id": "71030e31-7c2e-4652-9343-9d104e081203", "savedPayload": { "position": { - "x": 18635.705203602927, - "y": 9627.432853449482 + "x": 18636.835028564128, + "y": 9632.289815521157 }, "targetPosition": { "x": 18051.878281255034, @@ -35030,7 +37440,7 @@ } } ], - "id": "72c20c97-6799-478f-b48b-a524dc724170", + "id": "7d05a35d-edb4-47ea-9e23-a8220bf4869f", "savedPayload": { "position": { "x": 18051.878281255034, @@ -35043,7 +37453,7 @@ "floatingObject": { "isPinned": true, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 1, "distanceToParent": 5, "arrangementStyle": 0